diff --git a/docs/objects/LibraryItem.yaml b/docs/objects/LibraryItem.yaml index e72f8e14b..496ec2aaa 100644 --- a/docs/objects/LibraryItem.yaml +++ b/docs/objects/LibraryItem.yaml @@ -64,3 +64,9 @@ components: properties: media: $ref: './mediaTypes/media.yaml#/components/schemas/mediaMinified' + libraryItemSequence: + type: object + description: A single item on the server, like a book or podcast. Includes series sequence information. + allOf: + - $ref: '#/components/schemas/libraryItemBase' + - $ref: '../entities/Series.yaml#/components/schemas/sequence' diff --git a/docs/objects/entities/Series.yaml b/docs/objects/entities/Series.yaml index af818477c..a1998260d 100644 --- a/docs/objects/entities/Series.yaml +++ b/docs/objects/entities/Series.yaml @@ -8,4 +8,80 @@ components: seriesName: description: The name of the series. type: string - example: Sword of Truth \ No newline at end of file + 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 + 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'