mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-20 19:06:06 +01:00
baf5f7fbc3
* Fix: extra type in `Author.yaml` * Fix: formatting * Initial library schema * Additional debugging * Fix: spec relative paths * Add: ebook file spec * Fix: response type should be string * Linting updates * Add: missing librarySettings * Temporary fix: Library cron can be null or false * Author controller updates * Add: `/api/libraries/{id}` endpoint * Update library responses * Add: descriptions * Fix: queries should be in body * Fix: `body` should be `requestBody` * Move: `libraryController` paths, clean up `requestBody` * Clean up libraryController parameters * Move: author endpoints to controller * Add `get` for author images * Simplify author schema with items * Remove: unused response type * Update: formatting * Update json * Update requestBody on LibraryController * LibrarySettings update * Replace: generic parameter with path specific parameter * Fix: requestBody descriptions * Fix: match post operation * Temporary: nullable Author schemas * LibraryController items endpoint * Add: delete library items with issues * Massive cleanup and violation fixing * Update bundled spec * Add: remove library items with issues * Add: library items endpoint * Fix: errors * Fix: base schemas * Add: series schemas * Add: library series endpoint * Fix: oneOf and array issues * Add: author search region for matching * Add: series endpoints * Fix: series issues * Add library series endpoint and update deprecation * Fix: series endpoint deprecation * Fix: `name` in `sortDesc` schema * Add: workflow for linting spec * Update OpenAPI readme
87 lines
3.5 KiB
YAML
87 lines
3.5 KiB
YAML
components:
|
||
schemas:
|
||
authorId:
|
||
type: string
|
||
description: The ID of the author.
|
||
format: uuid
|
||
example: e4bb1afb-4a4f-4dd6-8be0-e615d233185b
|
||
authorAsin:
|
||
description: The Audible identifier (ASIN) of the author. Will be null if unknown. Not the Amazon identifier.
|
||
type: string
|
||
nullable: true
|
||
example: B000APZOQA
|
||
authorName:
|
||
description: The name of the author.
|
||
type: string
|
||
example: Terry Goodkind
|
||
authorDescription:
|
||
description: The new description of the author.
|
||
type: string
|
||
nullable: true
|
||
example: Terry Goodkind is a #1 New York Times Bestselling Author and creator of the critically acclaimed masterwork, ‘The Sword of Truth’. He has written 30+ major, bestselling novels, has been published in more than 20 languages world-wide, and has sold more than 26 Million books. ‘The Sword of Truth’ is a revered literary tour de force, comprised of 17 volumes, borne from over 25 years of dedicated writing.
|
||
authorImagePath:
|
||
description: The absolute path for the author image. This will be in the `metadata/` directory. Will be null if there is no image.
|
||
type: string
|
||
nullable: true
|
||
example: /metadata/authors/aut_z3leimgybl7uf3y4ab.jpg
|
||
authorSeries:
|
||
type: object
|
||
description: Series and the included library items that an author has written.
|
||
properties:
|
||
id:
|
||
$ref: './Series.yaml#/components/schemas/seriesId'
|
||
name:
|
||
$ref: './Series.yaml#/components/schemas/seriesName'
|
||
items:
|
||
description: The items in the series. Each library item's media's metadata will have a `series` attribute, a `Series Sequence`, which is the matching series.
|
||
type: array
|
||
items:
|
||
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemMinified'
|
||
author:
|
||
description: An author object which includes a description and image path. The library items and series associated with the author are optionally included.
|
||
type: object
|
||
properties:
|
||
id:
|
||
$ref: '#/components/schemas/authorId'
|
||
asin:
|
||
$ref: '#/components/schemas/authorAsin'
|
||
name:
|
||
$ref: '#/components/schemas/authorName'
|
||
description:
|
||
$ref: '#/components/schemas/authorDescription'
|
||
imagePath:
|
||
$ref: '#/components/schemas/authorImagePath'
|
||
addedAt:
|
||
$ref: '../../schemas.yaml#/components/schemas/addedAt'
|
||
updatedAt:
|
||
$ref: '../../schemas.yaml#/components/schemas/updatedAt'
|
||
libraryItems:
|
||
description: The items associated with the author
|
||
type: array
|
||
items:
|
||
$ref: '../LibraryItem.yaml#/components/schemas/libraryItemMinified'
|
||
series:
|
||
description: The series associated with the author
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/authorSeries'
|
||
authorMinified:
|
||
type: object
|
||
description: Minified author object which only contains the author name and ID.
|
||
properties:
|
||
id:
|
||
$ref: '#/components/schemas/authorId'
|
||
name:
|
||
$ref: '#/components/schemas/authorName'
|
||
authorExpanded:
|
||
type: object
|
||
description: The author schema with the total number of books in the library.
|
||
allOf:
|
||
- $ref: '#/components/schemas/author'
|
||
- type: object
|
||
properties:
|
||
numBooks:
|
||
description: The number of books associated with the author in the library.
|
||
type: integer
|
||
example: 1
|