Commit 1ab73704 authored by m-idler's avatar m-idler
Browse files

#1171 fix validity issues in openapi/swagger spec files

parent 08f54b1f
Pipeline #20477 failed with stage
in 9 seconds
......@@ -118,9 +118,14 @@ Actor:
BaseArtist:
type: "object"
required:
- id
- fid
- name
- creation_date
- is_local
properties:
mbid:
required: false
$ref: "./properties.yml#/mbid"
id:
type: "integer"
......@@ -157,9 +162,16 @@ Artist:
BaseAlbum:
type: "object"
required:
- id
- fid
- artist
- title
- creation_date
- is_playable
- is_local
properties:
mbid:
required: false
$ref: "./properties.yml#/mbid"
id:
type: "integer"
......@@ -181,7 +193,6 @@ BaseAlbum:
format: "date-time"
release_date:
type: "string"
required: false
format: "date"
example: "2001-01-01"
is_playable:
......@@ -258,7 +269,7 @@ ChannelCreate:
type: string
format: uuid
metadata:
$ref: "#ChannelMetadata"
$ref: "#/ChannelMetadata"
ChannelUpdate:
type: "object"
properties:
......@@ -399,9 +410,18 @@ License:
BaseTrack:
type: "object"
required:
- id
- fid
- artist
- album
- title
- listen_url
- copyright
- license
- is_local
properties:
mbid:
required: false
$ref: "./properties.yml#/mbid"
id:
type: "integer"
......@@ -423,13 +443,11 @@ BaseTrack:
type: "string"
example: "Chop Suey!"
position:
required: false
description: "Position of the track in the album"
type: "number"
minimum: 1
example: 1
disc_number:
required: false
type: "number"
minimum: 1
example: 1
......@@ -547,12 +565,14 @@ Upload:
OwnedLibraryCreate:
type: "object"
required:
- name
- privacy_level
properties:
name:
type: "string"
example: "My new library"
description:
required: false
type: "string"
example: "Lots of interesting content"
privacy_level:
......@@ -668,28 +688,26 @@ PlaylistTrack:
ImportMetadata:
type: "object"
required:
- title
- position
description: "Import metadata to override values from ID3/embedded audio tags"
properties:
title:
type: "string"
example: "My Track"
required: true
mbid:
$ref: "./properties.yml#/mbid"
required: false
copyright:
type: "string"
example: "Alice, 2018"
description: "Copyright information"
required: false
license:
type: "string"
example: "cc-by-sa-4.0"
required: false
description: A license code, as returned by /api/v1/licenses
tags:
$ref: "./properties.yml#/tags"
required: false
position:
description: "Position of the track in the album or channel"
type: "number"
......
ChannelOrdering:
- $ref: "#/Ordering"
- default: "-creation_date"
schema:
required: false
type: "string"
example: "-creation_date"
enum:
- creation_date
- artist__modification_date
$ref: "#/Ordering"
required: false
schema:
type: "string"
default: "creation_date"
example: "creation_date"
enum:
- creation_date
- artist__modification_date
PlaylistOrdering:
$ref: "#/Ordering"
required: false
schema:
type: "string"
default: "creation_date"
example: "creation_date"
enum:
- creation_date
- modification_date
- id
- name
ArtistOrdering:
$ref: "#/Ordering"
required: false
schema:
type: "string"
default: "creation_date"
example: "creation_date"
enum:
- creation_date
- id
- name
- random
AlbumOrdering:
$ref: "#/Ordering"
required: false
schema:
type: "string"
default: "creation_date"
example: "creation_date"
enum:
- creation_date
- release_date
- title
- random
TrackOrdering:
$ref: "#/Ordering"
required: false
schema:
type: "string"
default: "creation_date"
example: "creation_date"
enum:
- creation_date
- release_date
- title
- random
External:
name: "external"
in: "query"
default: null
required: false
description: "Filter/exclude channels created from a third-party, non-Funkwhale RSS feed"
schema:
required: false
default: null
type: "boolean"
......@@ -62,26 +114,26 @@ PageSize:
Playable:
name: "playable"
in: "query"
default: null
required: false
description: "Filter/exclude resources with playable tracks"
schema:
required: false
default: null
type: "boolean"
HasAlbums:
name: "has_albums"
in: "query"
default: null
required: false
description: "Filter/exclude artists with no associated albums"
schema:
required: false
default: null
type: "boolean"
Refresh:
name: "refresh"
in: "query"
default: false
required: false
description: "Trigger an ActivityPub fetch to refresh local data"
schema:
required: false
default: false
type: "boolean"
......@@ -97,7 +149,7 @@ Related:
Scope:
name: "scope"
in: "query"
default: "all"
required: false
description: |
Limit the results to a given user or pod:
- Use `all` (or do not specify the property to disable scope filtering)
......@@ -109,7 +161,7 @@ Scope:
You can specify multiple coma separated scopes, e.g `scope=me,subscribed` to retrieve content matching either scopes.
schema:
required: false
default: "all"
type: "string"
enum:
- "me"
......@@ -124,8 +176,8 @@ ContentCategory:
description: |
Limits the results to those whose artist content type matches the query.
required: false
schema:
required: false
type: "string"
enum:
- "podcast"
......@@ -134,10 +186,10 @@ ContentCategory:
Search:
name: "q"
in: "query"
default: "all"
required: false
description: "Limit the results to the corresponding search query"
schema:
required: false
default: "all"
type: "string"
example: "Bonobo"
......@@ -145,18 +197,19 @@ Subscribed:
name: "subscribed"
in: "query"
description: "Limit or exclude results with a matching subsription from the current user"
required: false
schema:
required: false
type: boolean
Tags:
name: "tag"
in: "query"
description: "Limit the results to the corresponding tags. May be used multiple times, to retrieve objects matching al provided tags"
required: false
schema:
required: false
type: array
collectionFormat: csv
items:
type: string
example:
- rock
- metal
\ No newline at end of file
- metal
This diff is collapsed.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment