From 7ae904ccbba7c8a667368bf2f9385170861b003e Mon Sep 17 00:00:00 2001 From: Vito0912 <86927734+Vito0912@users.noreply.github.com> Date: Sun, 28 Jul 2024 18:24:12 +0200 Subject: [PATCH] Added some smaller fixes and the getaitem endpoint --- docs/controllers/AuthController.yaml | 2 + docs/controllers/LibraryController.yaml | 1 + docs/controllers/LibraryItemController.yaml | 41 ++++++++++++++++++++ docs/objects/LibraryItem.yaml | 4 +- docs/objects/mediaTypes/Book.yaml | 2 + docs/openapi.json | Bin 283908 -> 288218 bytes docs/root.yaml | 2 + 7 files changed, 49 insertions(+), 3 deletions(-) create mode 100644 docs/controllers/LibraryItemController.yaml 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 c75e29d62fd62a21bf8db452a3da1adf15fa57d7..a911f58ef093f4f4454db5c40ff8c33615f31249 100644 GIT binary patch delta 978 zcmZWoUr19?7(eHpo10U|RPtn2m<#TM8q$LmLHH06J=A?EC_;R)KbZ90D}p7Ld+z1?e&6r+eZOM1MHeHBxkQNez$)hw2D)MM4_qxkumqIHkNco~3Y(J<0ybdv!D?=w?+94Le zaxL{hw4Uj~rzSnWn0543y?kPgDv2s-;wEVa=?3!+;eT3Lp~5X4_eQL`pw?|${LgSU z9W@$YD4E%~a<-f=PW8eB6_eq*j#;^hkHX3r%8eR?OjtcmQz811>bZ4eH-B@_1k1Th z&--te^Hpl&74nWmCww1chInyOly189EIALJ&M}kQNhCC@3!i4REr7PE5kKk1##+%C zH75}}X4QX*T*Pk&xr|WDNF`Fu$W2<{DCo zDV!JA7OanGbqwqHqUdylPLJ=KpDeYWt8%j7pse$8dGwwKLf zJQ6vriP2(mfUVW0xh{;;A8@efOipN$nEqi3qs{aSmMk38d#qTLCSNcWn0`T?Q4geh zy2BnOmg(=fSh%+9d}s9If*G*gfQji6$K*Xs9NXteGsOi@PH1MC{^1t0*5m~~W|JRm zHJLu4lv!x|nMCHK%;{@FnDwSFIL%}+UBREZVETf4Ol^}DTv@goon~HVJAHx%lh}5F ze5NyklMlojO?Hq|gE&YanTcz}7WwCXB 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