From 5fdfc9e454dff8650aba11fc5034c447a5896762 Mon Sep 17 00:00:00 2001 From: Nicholas Wallace Date: Mon, 6 May 2024 02:35:15 +0000 Subject: [PATCH] Initial library schema --- docs/objects/Library.yaml | 67 +++++++++++++++++++++++++++++++++++++- docs/openapi.json | Bin 75826 -> 37647 bytes docs/root.yaml | 34 ++++++++++++++----- 3 files changed, 92 insertions(+), 9 deletions(-) diff --git a/docs/objects/Library.yaml b/docs/objects/Library.yaml index 7d2a7833c..c5bf1ecfc 100644 --- a/docs/objects/Library.yaml +++ b/docs/objects/Library.yaml @@ -3,10 +3,75 @@ components: oldLibraryId: type: string description: The ID of the libraries created on server version 2.2.23 and before. - format: "lib_[a-z0-9]{18}" + format: 'lib_[a-z0-9]{18}' example: lib_o78uaoeuh78h6aoeif libraryId: type: string description: The ID of the library. format: uuid example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b + libraryName: + description: The name of the library. + type: string + example: My Audiobooks + librarySettings: + description: The settings for the library. + allOf: + - type: object + properties: + coverAspectRatio: + description: Whether the library should use square book covers. Must be 0 (for false) or 1 (for true). + type: integer + example: 1 + disableWatcher: + description: Whether to disable the folder watcher for the library. + type: boolean + example: false + skipMatchingMediaWithAsin: + description: Whether to skip matching books that already have an ASIN. + type: boolean + example: false + skipMatchingMediaWithIsbn: + description: Whether to skip matching books that already have an ISBN. + type: boolean + example: false + autoScanCronExpression: + description: The cron expression for when to automatically scan the library folders. If null, automatic scanning will be disabled. + type: string + nullable: true + example: '0 0 0 * * *' + library: + description: A library object which includes either books or podcasts. + type: object + properties: + id: + $ref: '#/components/schemas/libraryId' + name: + $ref: '#/components/schemas/libraryName' + folders: + description: The folders that belong to the library. + type: array + items: + $ref: './Folder.yaml#/components/schemas/folder' + displayOrder: + description: Display position of the library in the list of libraries. Must be >= 1. + type: integer + example: 1 + icon: + description: The selected icon for the library. See Library Icons for a list of possible icons. + type: string + example: 'audiobookshelf' + mediaType: + description: The type of media that the library contains. Will be `book` or `podcast`. (Read Only) + type: string + example: 'book' + provider: + description: Preferred metadata provider for the library. See Metadata Providers for a list of possible providers. + type: string + example: 'audible' + settings: + $ref: '#/components/schemas/librarySettings' + createdAt: + $ref: './../schemas.yaml#/components/schemas/createdAt' + lastUpdate: + $ref: './../schemas.yaml#/components/schemas/updatedAt' diff --git a/docs/openapi.json b/docs/openapi.json index 93c7b27adde742fbd558d44dd7fd2b64b7b2d03a..f33b72472db8f2f2d41f03b51c77263d514cead5 100644 GIT binary patch literal 37647 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 E11}iS4FCWD literal 75826 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 diff --git a/docs/root.yaml b/docs/root.yaml index f31ccf67c..314099fd6 100644 --- a/docs/root.yaml +++ b/docs/root.yaml @@ -7,15 +7,16 @@ servers: - url: http://localhost:3000 description: Development server components: - securitySchemes: - BearerAuth: - type: http - scheme: bearer - responses: - ok200: - description: OK + securitySchemes: + BearerAuth: + description: Bearer authentication + type: http + scheme: bearer + responses: + ok200: + description: OK security: - - BearerAuth: [] + - BearerAuth: [] paths: /api/authors/{id}: get: @@ -152,6 +153,23 @@ paths: - $ref: './controllers/AuthorController.yaml#/components/schemas/authorUpdated' 404: $ref: './controllers/AuthorController.yaml#/components/responses/author404' + /api/libraries: + get: + operationId: getLibraries + summary: Get all libraries on server + tags: + - Libraries + responses: + 200: + description: getLibraries OK + content: + application/json: + schema: + type: array + items: + $ref: './objects/Library.yaml#/components/schemas/library' tags: - name: Authors description: Author endpoints + - name: Libraries + description: Library endpoints