Upload files to "/"
This commit is contained in:
parent
1fd2a147c2
commit
873be173f2
2 changed files with 3086 additions and 140 deletions
2999
openapi.json
Normal file
2999
openapi.json
Normal file
File diff suppressed because it is too large
Load diff
227
openapi.yaml
227
openapi.yaml
|
|
@ -7,6 +7,9 @@ info:
|
|||
All routes are served from the same origin as the web client. Runtime security
|
||||
is handled via bearer tokens (`Authorization: Bearer <token>`) or the
|
||||
`auth_token` HTTP-only cookie set by the OpenID Connect login flow.
|
||||
license:
|
||||
name: MIT
|
||||
url: https://opensource.org/licenses/MIT
|
||||
servers:
|
||||
- url: http://localhost:3000
|
||||
description: Local development server
|
||||
|
|
@ -1098,34 +1101,6 @@ paths:
|
|||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ErrorResponse'
|
||||
/api/admin/database/table/{tableName}/data:
|
||||
get:
|
||||
tags: [Admin]
|
||||
summary: Read table data
|
||||
operationId: adminGetTableData
|
||||
parameters:
|
||||
- name: tableName
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
description: Rows stored in the table
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
'500':
|
||||
description: Unable to fetch data
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ErrorResponse'
|
||||
/api/admin/database/table/{tableName}:
|
||||
post:
|
||||
tags: [Admin]
|
||||
summary: Insert a new row
|
||||
|
|
@ -1156,6 +1131,33 @@ paths:
|
|||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ErrorResponse'
|
||||
/api/admin/database/table/{tableName}/data:
|
||||
get:
|
||||
tags: [Admin]
|
||||
summary: Read table data
|
||||
operationId: adminGetTableData
|
||||
parameters:
|
||||
- name: tableName
|
||||
in: path
|
||||
required: true
|
||||
schema:
|
||||
type: string
|
||||
responses:
|
||||
'200':
|
||||
description: Rows stored in the table
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
'500':
|
||||
description: Unable to fetch data
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ErrorResponse'
|
||||
/api/admin/database/table/{tableName}/{id}:
|
||||
put:
|
||||
tags: [Admin]
|
||||
|
|
@ -1248,11 +1250,9 @@ components:
|
|||
username:
|
||||
type: string
|
||||
display_name:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
email:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
role:
|
||||
type: string
|
||||
description: Either `user` or `admin`.
|
||||
|
|
@ -1266,9 +1266,8 @@ components:
|
|||
token:
|
||||
type: string
|
||||
expires_at:
|
||||
type: string
|
||||
type: [string, 'null']
|
||||
format: date-time
|
||||
nullable: true
|
||||
MediaItem:
|
||||
type: object
|
||||
properties:
|
||||
|
|
@ -1280,18 +1279,15 @@ components:
|
|||
type: string
|
||||
enum: [movie, series]
|
||||
sub_type:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
genres:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
parental_rating:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
ratings:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
|
@ -1301,14 +1297,11 @@ components:
|
|||
tmdb_id:
|
||||
type: integer
|
||||
tvdb_id:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
imdb_id:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
arr_id:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
hidden:
|
||||
type: boolean
|
||||
required:
|
||||
|
|
@ -1331,8 +1324,7 @@ components:
|
|||
season_number:
|
||||
type: integer
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
metadata:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
|
@ -1363,8 +1355,7 @@ components:
|
|||
episode_number:
|
||||
type: integer
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
metadata:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
|
@ -1386,22 +1377,18 @@ components:
|
|||
media_id:
|
||||
type: string
|
||||
season_id:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
type:
|
||||
type: string
|
||||
enum: [episode, movie, season]
|
||||
name:
|
||||
type: string
|
||||
season_number:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
episode_number:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
metadata:
|
||||
type: object
|
||||
additionalProperties: true
|
||||
|
|
@ -1418,10 +1405,9 @@ components:
|
|||
- type: object
|
||||
properties:
|
||||
episodes:
|
||||
type: array
|
||||
type: [array, 'null']
|
||||
items:
|
||||
$ref: '#/components/schemas/EpisodeItem'
|
||||
nullable: true
|
||||
MediaWithLibrary:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/MediaItem'
|
||||
|
|
@ -1446,13 +1432,12 @@ components:
|
|||
type: string
|
||||
enum: [movie, series]
|
||||
sub_type:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
seasons:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
nullable: true
|
||||
default: []
|
||||
status:
|
||||
type: string
|
||||
requester_id:
|
||||
|
|
@ -1463,17 +1448,13 @@ components:
|
|||
title:
|
||||
type: string
|
||||
year:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
poster_path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
backdrop_path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
required:
|
||||
- id
|
||||
- tmdb_id
|
||||
|
|
@ -1491,8 +1472,7 @@ components:
|
|||
type: string
|
||||
enum: [movie, series]
|
||||
sub_type:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
seasons:
|
||||
type: array
|
||||
items:
|
||||
|
|
@ -1502,16 +1482,13 @@ components:
|
|||
type: object
|
||||
properties:
|
||||
poster_path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
backdrop_path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
title:
|
||||
type: string
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
required:
|
||||
- tmdb_id
|
||||
- type
|
||||
|
|
@ -1521,39 +1498,29 @@ components:
|
|||
id:
|
||||
type: integer
|
||||
title:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
name:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
media_type:
|
||||
type: string
|
||||
overview:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
poster_path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
backdrop_path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
vote_average:
|
||||
type: number
|
||||
type: [number, 'null']
|
||||
format: float
|
||||
nullable: true
|
||||
vote_count:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
popularity:
|
||||
type: number
|
||||
type: [number, 'null']
|
||||
format: float
|
||||
nullable: true
|
||||
release_date:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
first_air_date:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
genre_ids:
|
||||
type: array
|
||||
items:
|
||||
|
|
@ -1581,8 +1548,7 @@ components:
|
|||
type: object
|
||||
additionalProperties: true
|
||||
credits:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
recommendations:
|
||||
type: array
|
||||
|
|
@ -1595,12 +1561,10 @@ components:
|
|||
type: object
|
||||
additionalProperties: true
|
||||
score:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
localdata:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
keywords:
|
||||
type: array
|
||||
|
|
@ -1614,8 +1578,7 @@ components:
|
|||
type: object
|
||||
additionalProperties: true
|
||||
credits:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
recommendations:
|
||||
type: array
|
||||
|
|
@ -1628,12 +1591,10 @@ components:
|
|||
type: object
|
||||
additionalProperties: true
|
||||
score:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
localdata:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
keywords:
|
||||
type: array
|
||||
|
|
@ -1675,13 +1636,11 @@ components:
|
|||
enabled:
|
||||
type: boolean
|
||||
lastRun:
|
||||
type: string
|
||||
type: [string, 'null']
|
||||
format: date-time
|
||||
nullable: true
|
||||
nextRun:
|
||||
type: string
|
||||
type: [string, 'null']
|
||||
format: date-time
|
||||
nullable: true
|
||||
running:
|
||||
type: boolean
|
||||
TaskActionRequest:
|
||||
|
|
@ -1698,11 +1657,9 @@ components:
|
|||
seriesId:
|
||||
type: integer
|
||||
seasonNumber:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
episodeNumber:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
type:
|
||||
type: string
|
||||
enum: [season, episode, series, all]
|
||||
|
|
@ -1736,36 +1693,27 @@ components:
|
|||
type: boolean
|
||||
example: true
|
||||
message:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
result:
|
||||
type: object
|
||||
nullable: true
|
||||
type: [object, 'null']
|
||||
additionalProperties: true
|
||||
path:
|
||||
type: string
|
||||
nullable: true
|
||||
type: [string, 'null']
|
||||
DatabaseStats:
|
||||
type: object
|
||||
properties:
|
||||
userCount:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
mediaCount:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
requestCount:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
activeRequests:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
completedRequests:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
userTokens:
|
||||
type: integer
|
||||
nullable: true
|
||||
type: [integer, 'null']
|
||||
TableColumn:
|
||||
type: object
|
||||
properties:
|
||||
|
|
@ -1774,10 +1722,9 @@ components:
|
|||
allowNull:
|
||||
type: boolean
|
||||
defaultValue:
|
||||
nullable: true
|
||||
type: [string, number, boolean, object, 'null']
|
||||
primaryKey:
|
||||
type: boolean
|
||||
autoIncrement:
|
||||
type: boolean
|
||||
nullable: true
|
||||
type: [boolean, 'null']
|
||||
additionalProperties: true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue