mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-01-31 07:19:39 +00:00
Update: podcast opml endpoints
This commit is contained in:
parent
7af02ad2e2
commit
eb0f5b2e1b
4 changed files with 129 additions and 33 deletions
|
|
@ -1589,23 +1589,19 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"/api/podcasts/opml": {
|
||||
"/api/podcasts/opml/parse": {
|
||||
"post": {
|
||||
"summary": "Get feeds from OPML text",
|
||||
"description": "Parse OPML text and return an array of feeds",
|
||||
"operationId": "getFeedsFromOPMLText",
|
||||
"tags": [
|
||||
"Podcasts"
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"opmlText": {
|
||||
"type": "string",
|
||||
"description": "The OPML text containing podcast feeds"
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1614,23 +1610,82 @@
|
|||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successfully retrieved feeds from OPML text",
|
||||
"description": "Successfully parsed OPML text and returned feeds",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Podcast"
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"feeds": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"title": {
|
||||
"type": "string"
|
||||
},
|
||||
"feedUrl": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad request"
|
||||
"description": "Bad request, OPML text not provided"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
"description": "Forbidden, user is not admin"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/api/podcasts/opml/create": {
|
||||
"post": {
|
||||
"summary": "Bulk create podcasts from OPML feed URLs",
|
||||
"operationId": "bulkCreatePodcastsFromOpmlFeedUrls",
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"feeds": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"libraryId": {
|
||||
"$ref": "#/components/schemas/libraryId"
|
||||
},
|
||||
"folderId": {
|
||||
"$ref": "#/components/schemas/folderId"
|
||||
},
|
||||
"autoDownloadEpisodes": {
|
||||
"$ref": "#/components/schemas/autoDownloadEpisodes"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successfully created podcasts from feed URLs"
|
||||
},
|
||||
"400": {
|
||||
"description": "Bad request, invalid request body"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden, user is not admin"
|
||||
},
|
||||
"404": {
|
||||
"description": "Folder not found"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -3856,6 +3911,10 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"autoDownloadEpisodes": {
|
||||
"type": "boolean",
|
||||
"description": "Whether episodes are automatically downloaded."
|
||||
},
|
||||
"Podcast": {
|
||||
"type": "object",
|
||||
"description": "A podcast containing multiple episodes.",
|
||||
|
|
@ -3889,8 +3948,7 @@
|
|||
}
|
||||
},
|
||||
"autoDownloadEpisodes": {
|
||||
"type": "boolean",
|
||||
"description": "Whether episodes are automatically downloaded."
|
||||
"$ref": "#/components/schemas/autoDownloadEpisodes"
|
||||
},
|
||||
"autoDownloadSchedule": {
|
||||
"type": "string",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue