diff --git a/docs/controllers/AuthController.yaml b/docs/controllers/AuthController.yaml index 76b9085aa..62c71b1c1 100644 --- a/docs/controllers/AuthController.yaml +++ b/docs/controllers/AuthController.yaml @@ -3,6 +3,7 @@ paths: post: summary: Login to the server description: Logs in a client to the server, returning information about the user and server. + operationId: login requestBody: required: true content: @@ -38,6 +39,7 @@ paths: post: summary: Logout from the server description: Logs out a client from the server. If the socketId parameter is provided, the server removes the socket from the client list. + operationId: logout requestBody: required: true content: diff --git a/docs/controllers/LibraryController.yaml b/docs/controllers/LibraryController.yaml index b985c05ec..f1a8a3630 100644 --- a/docs/controllers/LibraryController.yaml +++ b/docs/controllers/LibraryController.yaml @@ -167,6 +167,7 @@ paths: parameters: - in: query name: include + description: A comma separated list of what to include with the library item. The only current option is filterdata. schema: type: string - $ref: '../schemas.yaml#/components/parameters/minified' diff --git a/docs/controllers/LibraryItemController.yaml b/docs/controllers/LibraryItemController.yaml new file mode 100644 index 000000000..0bfa62280 --- /dev/null +++ b/docs/controllers/LibraryItemController.yaml @@ -0,0 +1,41 @@ +paths: + /api/items/{id}: + parameters: + - name: id + in: path + description: The ID of the library item. + required: true + schema: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemId' + get: + operationId: getLibraryItem + summary: Get a single library item by ID on server. + description: Get a single library item by ID on server. + tags: + - LibraryItem + parameters: + - in: query + name: include + description: A comma separated list of what to include with the library item. The options are progress, rssfeed, authors (for books), and downloads (for podcasts). expanded must be 1 for include to have an effect. + schema: + type: string + - in: query + name: expanded + description: Whether to return Library Item Expanded instead. 0 for false, 1 for true. + schema: + type: integer + example: 1 + - in: query + name: episode + description: If requesting progress for a podcast, the episode ID to get progress for. + schema: + $ref: '../objects/mediaTypes/Podcast.yaml#/components/schemas/podcastId' + responses: + '200': + description: OK + content: + application/json: + schema: + oneOf: + - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified' + - $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemBase' diff --git a/docs/objects/LibraryItem.yaml b/docs/objects/LibraryItem.yaml index 0e9ade14d..f6dbd4b56 100644 --- a/docs/objects/LibraryItem.yaml +++ b/docs/objects/LibraryItem.yaml @@ -56,9 +56,7 @@ components: mediaType: $ref: './mediaTypes/media.yaml#/components/schemas/mediaType' media: - oneOf: - - $ref: './mediaTypes/Book.yaml#/components/schemas/bookMinified' - - $ref: './mediaTypes/Podcast.yaml#/components/schemas/Podcast' + $ref: './mediaTypes/Book.yaml#/components/schemas/bookMinified' libraryItemMinified: type: object description: A single item on the server, like a book or podcast. Minified media format. diff --git a/docs/objects/mediaTypes/Book.yaml b/docs/objects/mediaTypes/Book.yaml index a4191d5a7..2793393c0 100644 --- a/docs/objects/mediaTypes/Book.yaml +++ b/docs/objects/mediaTypes/Book.yaml @@ -9,6 +9,8 @@ components: type: object description: Base book schema properties: + id: + description: TODO libraryItemId: $ref: '../LibraryItem.yaml#/components/schemas/libraryItemId' coverPath: diff --git a/docs/openapi.json b/docs/openapi.json index c75e29d62..a911f58ef 100644 Binary files a/docs/openapi.json and b/docs/openapi.json differ diff --git a/docs/root.yaml b/docs/root.yaml index 395923641..cc6cf7e11 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -81,6 +81,8 @@ paths: $ref: './controllers/AuthController.yaml#/paths/~1login' /logout: $ref: './controllers/AuthController.yaml#/paths/~1logout' + /api/items/{id}: + $ref: './controllers/LibraryItemController.yaml#/paths/~1api~1items~1{id}' tags: - name: Authors description: Author endpoints