diff --git a/build-docs/swagger-output.json b/build-docs/swagger-output.json index a111e0bb5..ee357cb6b 100644 --- a/build-docs/swagger-output.json +++ b/build-docs/swagger-output.json @@ -1863,13 +1863,34 @@ } } }, + "oldLibraryItemId": { + "description": "The ID of library items on server version 2.2.23 and before.", + "type": "string", + "format": "li_[a-z0-9]{18}", + "example": "li_o78uaoeuh78h6aoeif" + }, + "newLibraryItemId": { + "type": "string", + "description": "The ID of library items after 2.3.0.", + "format": "uuid", + "example": "e4bb1afb-4a4f-4dd6-8be0-e615d233185b" + }, + "libraryItemId": { + "type": "string", + "anyOf": [ + { + "$ref": "#/components/schemas/oldLibraryItemId" + }, + { + "$ref": "#/components/schemas/newLibraryItemId" + } + ] + }, "libraryItemBase": { "type": "object", "properties": { "id": { - "description": "The ID of the library item.", - "type": "string", - "format": "uuid" + "$ref": "#/components/schemas/libraryItemId" }, "ino": { "description": "The inode of the library item.", @@ -2230,17 +2251,9 @@ } ] }, - "podcast": { + "podcastBase": { "type": "object", "properties": { - "libraryItemId": { - "description": "The ID of the library item that contains the podcast.", - "type": "string", - "example": "li_bufnnmp4y5o2gbbxfm" - }, - "metadata": { - "$ref": "#/components/schemas/podcastMetadata" - }, "coverPath": { "description": "The absolute path on the server of the cover file. Will be null if there is no cover.", "type": [ @@ -2252,13 +2265,6 @@ "tags": { "$ref": "#/components/schemas/tags" }, - "episodes": { - "description": "The downloaded episodes of the podcast.", - "type": "array", - "items": { - "$ref": "#/components/schemas/podcastEpisode" - } - }, "autoDownloadEpisodes": { "description": "Whether the server will automatically download podcast episodes according to the schedule.", "type": "boolean", @@ -2286,16 +2292,38 @@ } } }, + "podcast": { + "type": "object", + "description": "A podcast on the server", + "allOf": [ + { + "$ref": "#/components/schemas/podcastBase" + }, + { + "type": "object", + "properties": { + "libraryItemId": { + "$ref": "#/components/schemas/libraryItemId" + }, + "metadata": { + "$ref": "#/components/schemas/podcastMetadata" + }, + "episodes": { + "description": "The downloaded episodes of the podcast.", + "type": "array", + "items": { + "$ref": "#/components/schemas/podcastEpisode" + } + } + } + } + ] + }, "podcastMinified": { "type": "object", "properties": { - "libraryItemId": { - "description": "The ID of the library item that contains the podcast.", - "type": "string", - "example": "li_bufnnmp4y5o2gbbxfm" - }, "metadata": { - "$ref": "#/components/schemas/podcastMetadata" + "$ref": "#/components/schemas/podcastMetadataMinified" }, "coverPath": { "description": "The absolute path on the server of the cover file. Will be null if there is no cover.",