fix(api): upgrade openapi schema and add playlist description

This commit is contained in:
Petitminion 2025-04-03 09:54:40 +02:00
parent 8190a67444
commit 76aa05dd59
2 changed files with 235 additions and 10 deletions

View File

@ -9291,16 +9291,25 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
application/x-www-form-urlencoded: application/x-www-form-urlencoded:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
multipart/form-data: multipart/form-data:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
application/activity+json: application/activity+json:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
required: true
security: security:
- oauth2: [] - oauth2: []
- ApplicationToken: [] - ApplicationToken: []
@ -12927,7 +12936,7 @@ paths:
description: '' description: ''
/api/v2/instance/nodeinfo/2.1/: /api/v2/instance/nodeinfo/2.1/:
get: get:
operationId: getNodeInfo20_2 operationId: getNodeInfo21
tags: tags:
- instance - instance
responses: responses:
@ -12935,7 +12944,7 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/NodeInfo20' $ref: '#/components/schemas/NodeInfo21'
description: '' description: ''
/api/v2/instance/settings/: /api/v2/instance/settings/:
get: get:
@ -18957,16 +18966,25 @@ paths:
content: content:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
application/x-www-form-urlencoded: application/x-www-form-urlencoded:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
multipart/form-data: multipart/form-data:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
application/activity+json: application/activity+json:
schema: schema:
$ref: '#/components/schemas/PatchedUploadForOwnerRequest' type: array
items:
$ref: '#/components/schemas/UploadBulkUpdateRequest'
required: true
security: security:
- oauth2: [] - oauth2: []
- ApplicationToken: [] - ApplicationToken: []
@ -20270,12 +20288,16 @@ components:
downloads_count: downloads_count:
type: integer type: integer
readOnly: true readOnly: true
subscriptions_count:
type: integer
readOnly: true
required: required:
- actor - actor
- artist - artist
- attributed_to - attributed_to
- downloads_count - downloads_count
- rss_url - rss_url
- subscriptions_count
- url - url
ChannelCreate: ChannelCreate:
type: object type: object
@ -23124,6 +23146,124 @@ components:
- shortDescription - shortDescription
- supportedUploadExtensions - supportedUploadExtensions
- terms - terms
Metadata21:
type: object
properties:
actorId:
type: string
private:
type: boolean
readOnly: true
shortDescription:
type: string
readOnly: true
longDescription:
type: string
readOnly: true
contactEmail:
type: string
readOnly: true
nodeName:
type: string
readOnly: true
banner:
type: string
readOnly: true
defaultUploadQuota:
type: integer
readOnly: true
supportedUploadExtensions:
type: array
items:
type: string
allowList:
allOf:
- $ref: '#/components/schemas/AllowListStat'
readOnly: true
funkwhaleSupportMessageEnabled:
type: boolean
readOnly: true
instanceSupportMessage:
type: string
readOnly: true
usage:
$ref: '#/components/schemas/MetadataUsage'
languages:
type: array
items:
type: string
location:
type: string
content:
$ref: '#/components/schemas/MetadataContent'
features:
type: array
items:
type: string
codeOfConduct:
type: string
readOnly: true
required:
- actorId
- allowList
- banner
- codeOfConduct
- contactEmail
- content
- defaultUploadQuota
- features
- funkwhaleSupportMessageEnabled
- instanceSupportMessage
- languages
- location
- longDescription
- nodeName
- private
- shortDescription
- supportedUploadExtensions
MetadataContent:
type: object
properties:
local:
$ref: '#/components/schemas/MetadataContentLocal'
topMusicCategories:
type: array
items:
$ref: '#/components/schemas/MetadataContentCategory'
topPodcastCategories:
type: array
items:
$ref: '#/components/schemas/MetadataContentCategory'
required:
- local
- topMusicCategories
- topPodcastCategories
MetadataContentCategory:
type: object
properties:
name:
type: string
count:
type: integer
required:
- count
- name
MetadataContentLocal:
type: object
properties:
artists:
type: integer
releases:
type: integer
recordings:
type: integer
hoursOfContent:
type: integer
required:
- artists
- hoursOfContent
- recordings
- releases
MetadataUsage: MetadataUsage:
type: object type: object
properties: properties:
@ -23248,6 +23388,42 @@ components:
- software - software
- usage - usage
- version - version
NodeInfo21:
type: object
properties:
version:
type: string
readOnly: true
software:
$ref: '#/components/schemas/SoftwareSerializer_v2'
protocols:
type: array
items: {}
readOnly: true
services:
allOf:
- $ref: '#/components/schemas/Services'
default:
inbound: []
outbound: []
openRegistrations:
type: boolean
readOnly: true
usage:
allOf:
- $ref: '#/components/schemas/Usage'
readOnly: true
metadata:
allOf:
- $ref: '#/components/schemas/Metadata21'
readOnly: true
required:
- metadata
- openRegistrations
- protocols
- software
- usage
- version
NodeInfoLibrary: NodeInfoLibrary:
type: object type: object
properties: properties:
@ -24425,6 +24601,10 @@ components:
maxLength: 100 maxLength: 100
privacy_level: privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum' $ref: '#/components/schemas/PrivacyLevelEnum'
description:
type: string
nullable: true
maxLength: 5000
PatchedRadioRequest: PatchedRadioRequest:
type: object type: object
properties: properties:
@ -24455,6 +24635,8 @@ components:
allOf: allOf:
- $ref: '#/components/schemas/ImportStatusEnum' - $ref: '#/components/schemas/ImportStatusEnum'
default: pending default: pending
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
import_metadata: {} import_metadata: {}
import_reference: import_reference:
type: string type: string
@ -24546,6 +24728,10 @@ components:
is_playable: is_playable:
type: boolean type: boolean
readOnly: true readOnly: true
description:
type: string
nullable: true
maxLength: 5000
required: required:
- actor - actor
- album_covers - album_covers
@ -24576,6 +24762,10 @@ components:
maxLength: 100 maxLength: 100
privacy_level: privacy_level:
$ref: '#/components/schemas/PrivacyLevelEnum' $ref: '#/components/schemas/PrivacyLevelEnum'
description:
type: string
nullable: true
maxLength: 5000
required: required:
- name - name
PlaylistTrack: PlaylistTrack:
@ -25056,6 +25246,25 @@ components:
required: required:
- name - name
- version - version
SoftwareSerializer_v2:
type: object
properties:
name:
type: string
readOnly: true
version:
type: string
repository:
type: string
readOnly: true
homepage:
type: string
readOnly: true
required:
- homepage
- name
- repository
- version
SpaManifest: SpaManifest:
type: object type: object
properties: properties:
@ -25494,6 +25703,17 @@ components:
- mimetype - mimetype
- size - size
- uuid - uuid
UploadBulkUpdateRequest:
type: object
properties:
uuid:
type: string
format: uuid
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
required:
- privacy_level
- uuid
UploadForOwner: UploadForOwner:
type: object type: object
properties: properties:
@ -25540,6 +25760,8 @@ components:
allOf: allOf:
- $ref: '#/components/schemas/ImportStatusEnum' - $ref: '#/components/schemas/ImportStatusEnum'
default: pending default: pending
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
import_details: import_details:
readOnly: true readOnly: true
import_metadata: {} import_metadata: {}
@ -25580,6 +25802,8 @@ components:
allOf: allOf:
- $ref: '#/components/schemas/ImportStatusEnum' - $ref: '#/components/schemas/ImportStatusEnum'
default: pending default: pending
privacy_level:
$ref: '#/components/schemas/LibraryPrivacyLevelEnum'
import_metadata: {} import_metadata: {}
import_reference: import_reference:
type: string type: string

View File

@ -49,6 +49,7 @@ class PlaylistSerializer(serializers.ModelSerializer):
"duration", "duration",
"is_playable", "is_playable",
"actor", "actor",
"description",
) )
read_only_fields = ["id", "modification_date", "creation_date"] read_only_fields = ["id", "modification_date", "creation_date"]