Added some smaller fixes and the getaitem endpoint

This commit is contained in:
Vito0912 2024-07-28 18:24:12 +02:00
parent 3e944974e2
commit 7ae904ccbb
7 changed files with 49 additions and 3 deletions

View file

@ -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:

View file

@ -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'

View file

@ -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'

View file

@ -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.

View file

@ -9,6 +9,8 @@ components:
type: object
description: Base book schema
properties:
id:
description: TODO
libraryItemId:
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemId'
coverPath:

Binary file not shown.

View file

@ -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