From 955f6ffcff0c09febe4f1b18506e1efdc3f971ed Mon Sep 17 00:00:00 2001 From: Nicholas Wallace Date: Sat, 18 May 2024 22:50:44 +0000 Subject: [PATCH] Add: library items endpoint --- docs/controllers/LibraryController.yaml | 97 +++++++++++++++++++++++++ docs/root.yaml | 4 + 2 files changed, 101 insertions(+) diff --git a/docs/controllers/LibraryController.yaml b/docs/controllers/LibraryController.yaml index 5967b9928..6c78ba2fc 100644 --- a/docs/controllers/LibraryController.yaml +++ b/docs/controllers/LibraryController.yaml @@ -269,3 +269,100 @@ paths: example: 'Issues deleted.' '404': $ref: '#/components/responses/library404' + /api/libraries/{id}/items: + parameters: + - name: id + in: path + description: The ID of the library. + required: true + schema: + $ref: '../objects/Library.yaml#/components/schemas/libraryId' + get: + operationId: getLibraryItems + summary: Get items in a library + description: Get items in a library by ID on server. + tags: + - Libraries + requestBody: + required: false + description: The filters to apply to the requested library items. + content: + application/json: + schema: + type: object + properties: + limit: + $ref: '../schemas.yaml#/components/schemas/limit' + page: + $ref: '../schemas.yaml#/components/schemas/page' + sort: + $ref: '#/components/schemas/librarySort' + desc: + $ref: '../schemas.yaml#/components/schemas/sortDesc' + filter: + $ref: '#/components/schemas/libraryFilter' + minified: + $ref: '../schemas.yaml#/components/schemas/minified' + collapseSeries: + $ref: '#/components/schemas/libraryCollapseSeries' + include: + $ref: '#/components/schemas/libraryInclude' + responses: + '200': + description: getLibraryItems OK + content: + application/json: + schema: + type: object + properties: + results: + type: array + items: + $ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItem' + total: + $ref: '../schemas.yaml#/components/schemas/total' + limit: + $ref: '../schemas.yaml#/components/schemas/limit' + page: + $ref: '../schemas.yaml#/components/schemas/page' + sortBy: + $ref: '#/components/schemas/sortBy' + sortDesc: + $ref: '#/components/schemas/sortDesc' + filterBy: + $ref: '#/components/schemas/filterBy' + mediaType: + $ref: '../objects/mediaTypes/media.yaml#/components/schemas/mediaType' + minified: + $ref: '../schemas.yaml#/components/schemas/minified' + collapseSeries: + $ref: '#/components/schemas/collapseSeries' + include: + $ref: '#/components/schemas/libraryInclude' + '404': + $ref: '#/components/responses/library404' + /api/libraries/{id}/authors: + parameters: + - name: id + in: path + description: The ID of the library. + required: true + schema: + $ref: '../objects/Library.yaml#/components/schemas/libraryId' + get: + operationId: getLibraryAuthors + summary: Get all authors in a library + description: Get all authors in a library by ID on server. + tags: + - Libraries + responses: + '200': + description: getLibraryAuthors OK + content: + application/json: + schema: + type: array + items: + $ref: '../objects/entities/Author.yaml#/components/schemas/authorExpanded' + '404': + $ref: '#/components/responses/library404' diff --git a/docs/root.yaml b/docs/root.yaml index 4bc9c11d8..9a8003692 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -25,6 +25,10 @@ paths: $ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries' /api/libraries/{id}: $ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}' + /api/libraries/{id}/authors: + $ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}~1authors' + /api/libraries/{id}/items: + $ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}~1items' /api/libraries/{id}/issues: $ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}~1issues' tags: