mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-12-24 04:39:40 +00:00
Initial library endpoints (#3012)
* Fix: extra type in `Author.yaml`
* Fix: formatting
* Initial library schema
* Additional debugging
* Fix: spec relative paths
* Add: ebook file spec
* Fix: response type should be string
* Linting updates
* Add: missing librarySettings
* Temporary fix: Library cron can be null or false
* Author controller updates
* Add: `/api/libraries/{id}` endpoint
* Update library responses
* Add: descriptions
* Fix: queries should be in body
* Fix: `body` should be `requestBody`
* Move: `libraryController` paths, clean up `requestBody`
* Clean up libraryController parameters
* Move: author endpoints to controller
* Add `get` for author images
* Simplify author schema with items
* Remove: unused response type
* Update: formatting
* Update json
* Update requestBody on LibraryController
* LibrarySettings update
* Replace: generic parameter with path specific parameter
* Fix: requestBody descriptions
* Fix: match post operation
* Temporary: nullable Author schemas
* LibraryController items endpoint
* Add: delete library items with issues
* Massive cleanup and violation fixing
* Update bundled spec
* Add: remove library items with issues
* Add: library items endpoint
* Fix: errors
* Fix: base schemas
* Add: series schemas
* Add: library series endpoint
* Fix: oneOf and array issues
* Add: author search region for matching
* Add: series endpoints
* Fix: series issues
* Add library series endpoint and update deprecation
* Fix: series endpoint deprecation
* Fix: `name` in `sortDesc` schema
* Add: workflow for linting spec
* Update OpenAPI readme
This commit is contained in:
parent
e6a2555f05
commit
baf5f7fbc3
15 changed files with 1135 additions and 325 deletions
|
|
@ -8,4 +8,110 @@ components:
|
|||
seriesName:
|
||||
description: The name of the series.
|
||||
type: string
|
||||
example: Sword of Truth
|
||||
example: Sword of Truth
|
||||
seriesDescription:
|
||||
description: A description for the series. Will be null if there is none.
|
||||
type: string
|
||||
nullable: true
|
||||
example: The Sword of Truth is a series of twenty one epic fantasy novels written by Terry Goodkind.
|
||||
sequence:
|
||||
description: The position in the series the book is.
|
||||
type: string
|
||||
nullable: true
|
||||
seriesProgress:
|
||||
type: object
|
||||
description: The user's progress of a series.
|
||||
properties:
|
||||
libraryItemIds:
|
||||
description: The IDs of the library items in the series.
|
||||
type: array
|
||||
items:
|
||||
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemId'
|
||||
libraryItemIdsFinished:
|
||||
description: The IDs of the library items in the series that are finished.
|
||||
type: array
|
||||
items:
|
||||
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemId'
|
||||
isFinished:
|
||||
description: Whether the series is finished.
|
||||
type: boolean
|
||||
series:
|
||||
type: object
|
||||
description: A series object which includes the name and description of the series.
|
||||
properties:
|
||||
id:
|
||||
$ref: '#/components/schemas/seriesId'
|
||||
name:
|
||||
$ref: '#/components/schemas/seriesName'
|
||||
description:
|
||||
$ref: '#/components/schemas/seriesDescription'
|
||||
addedAt:
|
||||
$ref: '../../schemas.yaml#/components/schemas/addedAt'
|
||||
updatedAt:
|
||||
$ref: '../../schemas.yaml#/components/schemas/updatedAt'
|
||||
seriesNumBooks:
|
||||
type: object
|
||||
description: A series object which includes the name and number of books in the series.
|
||||
properties:
|
||||
id:
|
||||
$ref: '#/components/schemas/seriesId'
|
||||
name:
|
||||
$ref: '#/components/schemas/seriesName'
|
||||
numBooks:
|
||||
description: The number of books in the series.
|
||||
type: integer
|
||||
libraryItemIds:
|
||||
description: The IDs of the library items in the series.
|
||||
type: array
|
||||
items:
|
||||
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemId'
|
||||
seriesBooks:
|
||||
type: object
|
||||
description: A series object which includes the name and books in the series.
|
||||
properties:
|
||||
id:
|
||||
$ref: '#/components/schemas/seriesId'
|
||||
name:
|
||||
$ref: '#/components/schemas/seriesName'
|
||||
addedAt:
|
||||
$ref: '../../schemas.yaml#/components/schemas/addedAt'
|
||||
nameIgnorePrefix:
|
||||
description: The name of the series with any prefix moved to the end.
|
||||
type: string
|
||||
nameIgnorePrefixSort:
|
||||
description: The name of the series with any prefix removed.
|
||||
type: string
|
||||
type:
|
||||
description: Will always be `series`.
|
||||
type: string
|
||||
books:
|
||||
description: The library items that contain the books in the series. A sequence attribute that denotes the position in the series the book is in, is tacked on.
|
||||
type: array
|
||||
items:
|
||||
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemSequence'
|
||||
totalDuration:
|
||||
description: The combined duration (in seconds) of all books in the series.
|
||||
type: number
|
||||
seriesSequence:
|
||||
type: object
|
||||
description: A series object which includes the name and sequence of the series.
|
||||
properties:
|
||||
id:
|
||||
$ref: '#/components/schemas/seriesId'
|
||||
name:
|
||||
$ref: '#/components/schemas/seriesName'
|
||||
sequence:
|
||||
$ref: '#/components/schemas/sequence'
|
||||
seriesWithProgressAndRSS:
|
||||
type: object
|
||||
description: A series object which includes the name and progress of the series.
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/series'
|
||||
- type: object
|
||||
properties:
|
||||
progress:
|
||||
$ref: '#/components/schemas/seriesProgress'
|
||||
rssFeed:
|
||||
description: The RSS feed for the series.
|
||||
type: string
|
||||
example: 'TBD'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue