feat(series): add placeholder creation endpoint and reuse existing cover flow

This commit is contained in:
Jens Bickel 2026-02-09 17:19:20 +01:00
parent dc52a6b2d3
commit c0d9dc4e77
9 changed files with 662 additions and 2 deletions

View file

@ -477,3 +477,51 @@ paths:
$ref: '../objects/entities/Series.yaml#/components/schemas/seriesWithProgressAndRSS'
'404':
$ref: '#/components/responses/library404'
/api/libraries/{id}/series/{seriesId}/placeholders:
parameters:
- name: id
in: path
description: The ID of the library.
required: true
schema:
$ref: '../objects/Library.yaml#/components/schemas/libraryId'
- name: seriesId
in: path
description: The ID of the series.
required: true
schema:
$ref: '../objects/entities/Series.yaml#/components/schemas/seriesId'
post:
operationId: createSeriesPlaceholder
summary: Create series placeholder
description: Create a placeholder book item within a series for a library. If `folderId` is omitted, the server uses the library folder from an existing series item; if the series has no items, it falls back to the library's first folder.
tags:
- Libraries
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
title:
description: The placeholder title to use.
type: string
sequence:
$ref: '../objects/entities/Series.yaml#/components/schemas/sequence'
folderId:
description: Optional library folder to create the placeholder in.
$ref: '../objects/Folder.yaml#/components/schemas/folderId'
responses:
'200':
description: createSeriesPlaceholder OK
content:
application/json:
schema:
$ref: '../objects/LibraryItem.yaml#/components/schemas/libraryItemMinified'
'400':
description: Bad request
'403':
description: Forbidden
'404':
$ref: '#/components/responses/library404'

View file

@ -53,6 +53,9 @@ components:
isInvalid:
description: Whether the library item was scanned and no longer has media files.
type: boolean
isPlaceholder:
description: Whether the library item is a placeholder without media files yet.
type: boolean
mediaType:
$ref: './mediaTypes/media.yaml#/components/schemas/mediaType'
libraryItemMinified:

View file

@ -43,6 +43,8 @@ paths:
$ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}~1series'
/api/libraries/{id}/series/{seriesId}:
$ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}~1series~1{seriesId}'
/api/libraries/{id}/series/{seriesId}/placeholders:
$ref: './controllers/LibraryController.yaml#/paths/~1api~1libraries~1{id}~1series~1{seriesId}~1placeholders'
/api/notifications:
$ref: './controllers/NotificationController.yaml#/paths/~1api~1notifications'
/api/notificationdata: