Fixed #1171: invalid swagger syntax

This commit is contained in:
Agate 2020-07-11 15:11:56 +02:00
parent 389a30a1e7
commit d33d084943
5 changed files with 135 additions and 128 deletions

View File

@ -824,7 +824,9 @@ def rss_serialize_item(upload):
"enclosure": [ "enclosure": [
{ {
# we enforce MP3, since it's the only format supported everywhere # we enforce MP3, since it's the only format supported everywhere
"url": federation_utils.full_url(upload.get_listen_url(to="mp3")), "url": federation_utils.full_url(
upload.get_listen_url(to="mp3", download=False)
),
"length": upload.size or 0, "length": upload.size or 0,
"type": "audio/mpeg", "type": "audio/mpeg",
} }

View File

@ -899,10 +899,12 @@ class Upload(models.Model):
def listen_url(self): def listen_url(self):
return self.track.listen_url + "?upload={}".format(self.uuid) return self.track.listen_url + "?upload={}".format(self.uuid)
def get_listen_url(self, to=None): def get_listen_url(self, to=None, download=None):
url = self.listen_url url = self.listen_url
if to: if to:
url += "&to={}".format(to) url += "&to={}".format(to)
if download is not None:
url += "&download={}".format(str(download).lower())
return url return url
@property @property

View File

@ -312,7 +312,9 @@ def test_rss_item_serializer(factories):
"link": [{"value": federation_utils.full_url(upload.track.get_absolute_url())}], "link": [{"value": federation_utils.full_url(upload.track.get_absolute_url())}],
"enclosure": [ "enclosure": [
{ {
"url": federation_utils.full_url(upload.get_listen_url("mp3")), "url": federation_utils.full_url(
upload.get_listen_url("mp3", download=False)
),
"length": upload.size, "length": upload.size,
"type": "audio/mpeg", "type": "audio/mpeg",
} }

View File

@ -0,0 +1 @@
Ensure compatibility with Apple Podcasts (#1176)

View File

@ -204,8 +204,8 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#OAuthApplication" - $ref: "./api/definitions.yml#/OAuthApplication"
- $ref: "./api/definitions.yml#OAuthApplicationCreation" - $ref: "./api/definitions.yml#/OAuthApplicationCreation"
requestBody: requestBody:
required: true required: true
content: content:
@ -322,7 +322,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Me" $ref: "./api/definitions.yml#/Me"
/api/v1/rate-limit/: /api/v1/rate-limit/:
get: get:
@ -335,7 +335,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#RateLimitStatus" $ref: "./api/definitions.yml#/RateLimitStatus"
/api/v1/artists/: /api/v1/artists/:
get: get:
@ -347,9 +347,9 @@ paths:
- "read:libraries" - "read:libraries"
parameters: parameters:
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- allOf: - allOf:
- $ref: "./api/parameters.yml#Ordering" - $ref: "./api/parameters.yml#/Ordering"
- default: "-creation_date" - default: "-creation_date"
schema: schema:
required: false required: false
@ -359,10 +359,10 @@ paths:
- creation_date - creation_date
- id - id
- name - name
- $ref: "./api/parameters.yml#Playable" - $ref: "./api/parameters.yml#/Playable"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
responses: responses:
200: 200:
@ -370,19 +370,19 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#Artist" $ref: "./api/definitions.yml#/Artist"
/api/v1/artists/{id}/: /api/v1/artists/{id}/:
get: get:
summary: Retrieve a single artist summary: Retrieve a single artist
parameters: parameters:
- $ref: "./api/parameters.yml#ObjectId" - $ref: "./api/parameters.yml#/ObjectId"
- $ref: "./api/parameters.yml#Refresh" - $ref: "./api/parameters.yml#/Refresh"
security: security:
- oauth2: - oauth2:
- "read:libraries" - "read:libraries"
@ -393,12 +393,12 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Artist" $ref: "./api/definitions.yml#/Artist"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/artists/{id}/libraries/: /api/v1/artists/{id}/libraries/:
get: get:
summary: List available user libraries containing work from this artist summary: List available user libraries containing work from this artist
@ -406,9 +406,9 @@ paths:
- oauth2: - oauth2:
- "read:libraries" - "read:libraries"
parameters: parameters:
- $ref: "./api/parameters.yml#ObjectId" - $ref: "./api/parameters.yml#/ObjectId"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
tags: tags:
- "Library and metadata" - "Library and metadata"
@ -417,12 +417,12 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#LibraryPage" $ref: "./api/definitions.yml#/LibraryPage"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/albums/: /api/v1/albums/:
get: get:
@ -435,7 +435,7 @@ paths:
- "read:libraries" - "read:libraries"
parameters: parameters:
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- name: "artist" - name: "artist"
in: "query" in: "query"
default: null default: null
@ -445,7 +445,7 @@ paths:
type: "integer" type: "integer"
format: "int64" format: "int64"
- allOf: - allOf:
- $ref: "./api/parameters.yml#Ordering" - $ref: "./api/parameters.yml#/Ordering"
- default: "-creation_date" - default: "-creation_date"
schema: schema:
required: false required: false
@ -455,10 +455,10 @@ paths:
- creation_date - creation_date
- release_date - release_date
- title - title
- $ref: "./api/parameters.yml#Playable" - $ref: "./api/parameters.yml#/Playable"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
responses: responses:
200: 200:
@ -466,19 +466,19 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#Album" $ref: "./api/definitions.yml#/Album"
/api/v1/albums/{id}/: /api/v1/albums/{id}/:
get: get:
summary: Retrieve a single album summary: Retrieve a single album
parameters: parameters:
- $ref: "./api/parameters.yml#ObjectId" - $ref: "./api/parameters.yml#/ObjectId"
- $ref: "./api/parameters.yml#Refresh" - $ref: "./api/parameters.yml#/Refresh"
security: security:
- oauth2: - oauth2:
@ -490,20 +490,20 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Album" $ref: "./api/definitions.yml#/Album"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/albums/{id}/libraries/: /api/v1/albums/{id}/libraries/:
get: get:
summary: List available user libraries containing tracks from this album summary: List available user libraries containing tracks from this album
parameters: parameters:
- $ref: "./api/parameters.yml#ObjectId" - $ref: "./api/parameters.yml#/ObjectId"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
security: security:
- oauth2: - oauth2:
@ -515,12 +515,12 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#LibraryPage" $ref: "./api/definitions.yml#/LibraryPage"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/tracks/: /api/v1/tracks/:
get: get:
@ -533,7 +533,7 @@ paths:
- "read:libraries" - "read:libraries"
parameters: parameters:
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- name: "artist" - name: "artist"
in: "query" in: "query"
default: null default: null
@ -566,7 +566,7 @@ paths:
required: false required: false
type: "string" type: "string"
- allOf: - allOf:
- $ref: "./api/parameters.yml#Ordering" - $ref: "./api/parameters.yml#/Ordering"
- default: "-creation_date" - default: "-creation_date"
schema: schema:
required: false required: false
@ -576,10 +576,10 @@ paths:
- creation_date - creation_date
- release_date - release_date
- title - title
- $ref: "./api/parameters.yml#Playable" - $ref: "./api/parameters.yml#/Playable"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
responses: responses:
200: 200:
@ -587,18 +587,18 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#Track" $ref: "./api/definitions.yml#/Track"
/api/v1/tracks/{id}/: /api/v1/tracks/{id}/:
get: get:
parameters: parameters:
- $ref: "./api/parameters.yml#ObjectId" - $ref: "./api/parameters.yml#/ObjectId"
- $ref: "./api/parameters.yml#Refresh" - $ref: "./api/parameters.yml#/Refresh"
summary: Retrieve a single track summary: Retrieve a single track
security: security:
@ -611,20 +611,20 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Track" $ref: "./api/definitions.yml#/Track"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/tracks/{id}/libraries/: /api/v1/tracks/{id}/libraries/:
get: get:
summary: List available user libraries containing given track summary: List available user libraries containing given track
parameters: parameters:
- $ref: "./api/parameters.yml#ObjectId" - $ref: "./api/parameters.yml#/ObjectId"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
security: security:
- oauth2: - oauth2:
- "read:libraries" - "read:libraries"
@ -635,12 +635,12 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#LibraryPage" $ref: "./api/definitions.yml#/LibraryPage"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/listen/{uuid}/: /api/v1/listen/{uuid}/:
get: get:
summary: Download the audio file matching the given track uuid summary: Download the audio file matching the given track uuid
@ -672,7 +672,7 @@ paths:
This endpoint support bytess-range requests. This endpoint support bytess-range requests.
schema: schema:
$ref: "./api/properties.yml#transcode_options" $ref: "./api/properties.yml#/transcode_options"
- name: upload - name: upload
in: query in: query
required: false required: false
@ -710,7 +710,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/licenses/: /api/v1/licenses/:
get: get:
@ -721,21 +721,21 @@ paths:
tags: tags:
- "Library and metadata" - "Library and metadata"
parameters: parameters:
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
responses: responses:
200: 200:
content: content:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#License" $ref: "./api/definitions.yml#/License"
/api/v1/licenses/{code}/: /api/v1/licenses/{code}/:
get: get:
@ -759,12 +759,12 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#License" $ref: "./api/definitions.yml#/License"
404: 404:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ResourceNotFound" $ref: "./api/definitions.yml#/ResourceNotFound"
/api/v1/libraries/: /api/v1/libraries/:
get: get:
@ -772,23 +772,23 @@ paths:
tags: tags:
- "Uploads and audio content" - "Uploads and audio content"
parameters: parameters:
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
responses: responses:
200: 200:
content: content:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#OwnedLibrary" $ref: "./api/definitions.yml#/OwnedLibrary"
post: post:
tags: tags:
- "Uploads and audio content" - "Uploads and audio content"
@ -804,7 +804,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#OwnedLibraryCreate" $ref: "./api/definitions.yml#/OwnedLibraryCreate"
/api/v1/libraries/{uuid}/: /api/v1/libraries/{uuid}/:
parameters: parameters:
@ -823,7 +823,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#OwnedLibrary" $ref: "./api/definitions.yml#/OwnedLibrary"
post: post:
summary: Update a library summary: Update a library
tags: tags:
@ -833,13 +833,13 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#OwnedLibraryCreate" $ref: "./api/definitions.yml#/OwnedLibraryCreate"
responses: responses:
201: 201:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#OwnedLibrary" $ref: "./api/definitions.yml#/OwnedLibrary"
delete: delete:
summary: Delete a library and all associated uploads summary: Delete a library and all associated uploads
description: | description: |
@ -857,14 +857,14 @@ paths:
tags: tags:
- "Channels and subscriptions" - "Channels and subscriptions"
parameters: parameters:
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- $ref: "./api/parameters.yml#Tags" - $ref: "./api/parameters.yml#/Tags"
- $ref: "./api/parameters.yml#Subscribed" - $ref: "./api/parameters.yml#/Subscribed"
- $ref: "./api/parameters.yml#External" - $ref: "./api/parameters.yml#/External"
- $ref: "./api/parameters.yml#ChannelOrdering" - $ref: "./api/parameters.yml#/ChannelOrdering"
responses: responses:
200: 200:
@ -872,13 +872,13 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#Channel" $ref: "./api/definitions.yml#/Channel"
post: post:
summary: Create a new channel summary: Create a new channel
tags: tags:
@ -893,7 +893,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ChannelCreate" $ref: "./api/definitions.yml#/ChannelCreate"
/api/v1/channels/metadata-choices: /api/v1/channels/metadata-choices:
summary: List metadata (locales, itunes categories) for creating and editing channels. summary: List metadata (locales, itunes categories) for creating and editing channels.
@ -959,7 +959,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Channel" $ref: "./api/definitions.yml#/Channel"
post: post:
summary: Update a channel summary: Update a channel
tags: tags:
@ -969,13 +969,13 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#ChannelUpdate" $ref: "./api/definitions.yml#/ChannelUpdate"
responses: responses:
201: 201:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Channel" $ref: "./api/definitions.yml#/Channel"
delete: delete:
summary: Delete a channel and all associated uploads summary: Delete a channel and all associated uploads
description: | description: |
@ -1009,7 +1009,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Subscription" $ref: "./api/definitions.yml#/Subscription"
/api/v1/channels/{uuid}/rss/: /api/v1/channels/{uuid}/rss/:
parameters: parameters:
@ -1045,7 +1045,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Subscription" $ref: "./api/definitions.yml#/Subscription"
/api/v1/channels/{uuid}/unsubscribe/: /api/v1/channels/{uuid}/unsubscribe/:
parameters: parameters:
@ -1069,23 +1069,23 @@ paths:
- "Uploads and audio content" - "Uploads and audio content"
parameters: parameters:
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
responses: responses:
200: 200:
content: content:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#OwnedUpload" $ref: "./api/definitions.yml#/OwnedUpload"
post: post:
tags: tags:
- "Uploads and audio content" - "Uploads and audio content"
@ -1126,7 +1126,7 @@ paths:
- "pending" - "pending"
import_metadata: import_metadata:
required: false required: false
$ref: "./api/definitions.yml#ImportMetadata" $ref: "./api/definitions.yml#/ImportMetadata"
/api/v1/subscriptions/{uuid}/: /api/v1/subscriptions/{uuid}/:
@ -1146,7 +1146,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Subscription" $ref: "./api/definitions.yml#/Subscription"
/api/v1/subscriptions/: /api/v1/subscriptions/:
get: get:
@ -1159,13 +1159,13 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#Subscription" $ref: "./api/definitions.yml#/Subscription"
/api/v1/subscriptions/all/: /api/v1/subscriptions/all/:
get: get:
@ -1182,7 +1182,7 @@ paths:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#SubscriptionsAll" $ref: "./api/definitions.yml#/SubscriptionsAll"
/api/v1/uploads/{uuid}/: /api/v1/uploads/{uuid}/:
parameters: parameters:
@ -1201,7 +1201,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#OwnedUpload" $ref: "./api/definitions.yml#/OwnedUpload"
patch: patch:
summary: Update a draft upload summary: Update a draft upload
description: | description: |
@ -1219,7 +1219,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#OwnedUpload" $ref: "./api/definitions.yml#/OwnedUpload"
delete: delete:
summary: Delete an upload summary: Delete an upload
description: | description: |
@ -1256,10 +1256,10 @@ paths:
tags: tags:
- "Content curation" - "Content curation"
parameters: parameters:
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
- $ref: "./api/parameters.yml#Scope" - $ref: "./api/parameters.yml#/Scope"
responses: responses:
200: 200:
@ -1267,13 +1267,13 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#TrackFavorite" $ref: "./api/definitions.yml#/TrackFavorite"
post: post:
summary: Mark the given track as favorite summary: Mark the given track as favorite
tags: tags:
@ -1305,7 +1305,7 @@ paths:
format: "int64" format: "int64"
example: 98 example: 98
creation_date: creation_date:
$ref: "./api/properties.yml#creation_date" $ref: "./api/properties.yml#/creation_date"
/api/v1/favorites/tracks/remove/: /api/v1/favorites/tracks/remove/:
post: post:
summary: Remove the given track from favorites summary: Remove the given track from favorites
@ -1365,7 +1365,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Attachment" $ref: "./api/definitions.yml#/Attachment"
delete: delete:
summary: Delete an attachment summary: Delete an attachment
tags: tags:
@ -1379,9 +1379,9 @@ paths:
tags: tags:
- "Content curation" - "Content curation"
parameters: parameters:
- $ref: "./api/parameters.yml#Search" - $ref: "./api/parameters.yml#/Search"
- allOf: - allOf:
- $ref: "./api/parameters.yml#Ordering" - $ref: "./api/parameters.yml#/Ordering"
- default: "-creation_date" - default: "-creation_date"
schema: schema:
required: false required: false
@ -1410,22 +1410,22 @@ paths:
schema: schema:
type: "integer" type: "integer"
format: "int64" format: "int64"
- $ref: "./api/parameters.yml#Playable" - $ref: "./api/parameters.yml#/Playable"
- $ref: "./api/parameters.yml#PageNumber" - $ref: "./api/parameters.yml#/PageNumber"
- $ref: "./api/parameters.yml#PageSize" - $ref: "./api/parameters.yml#/PageSize"
responses: responses:
200: 200:
content: content:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#Playlist" $ref: "./api/definitions.yml#/Playlist"
post: post:
tags: tags:
- "Content curation" - "Content curation"
@ -1440,7 +1440,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#PlaylistCreate" $ref: "./api/definitions.yml#/PlaylistCreate"
/api/v1/playlists/{id}/: /api/v1/playlists/{id}/:
parameters: parameters:
- name: id - name: id
@ -1458,7 +1458,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Playlist" $ref: "./api/definitions.yml#/Playlist"
post: post:
summary: Update a playlist summary: Update a playlist
tags: tags:
@ -1468,13 +1468,13 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#PlaylistCreate" $ref: "./api/definitions.yml#/PlaylistCreate"
responses: responses:
201: 201:
content: content:
application/json: application/json:
schema: schema:
$ref: "./api/definitions.yml#Playlist" $ref: "./api/definitions.yml#/Playlist"
delete: delete:
description: Delete the playlist description: Delete the playlist
tags: tags:
@ -1500,13 +1500,13 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#PlaylistTrack" $ref: "./api/definitions.yml#/PlaylistTrack"
/api/v1/playlists/{id}/add: /api/v1/playlists/{id}/add:
parameters: parameters:
- name: id - name: id
@ -1545,13 +1545,13 @@ paths:
application/json: application/json:
schema: schema:
allOf: allOf:
- $ref: "./api/definitions.yml#ResultPage" - $ref: "./api/definitions.yml#/ResultPage"
- type: "object" - type: "object"
properties: properties:
results: results:
type: "array" type: "array"
items: items:
$ref: "./api/definitions.yml#PlaylistTrack" $ref: "./api/definitions.yml#/PlaylistTrack"
/api/v1/playlists/{id}/clear: /api/v1/playlists/{id}/clear:
parameters: parameters:
- name: id - name: id