mirror of https://github.com/Chocobozzz/PeerTube
add plugins to the openapi spec
parent
04b703f6fc
commit
7461d440c2
|
@ -72,6 +72,9 @@ tags:
|
||||||
Manage the list of instances you wish to help by seeding their videos according
|
Manage the list of instances you wish to help by seeding their videos according
|
||||||
to the policy of video selection of your choice. Note that you have a similar functionality
|
to the policy of video selection of your choice. Note that you have a similar functionality
|
||||||
to mirror individual videos, see `Video Mirroring`.
|
to mirror individual videos, see `Video Mirroring`.
|
||||||
|
- name: Plugins
|
||||||
|
description: >
|
||||||
|
Managign plugins installed from a local path or from NPM.
|
||||||
- name: Video Abuses
|
- name: Video Abuses
|
||||||
description: |
|
description: |
|
||||||
Video abuses deal with reports of local or remote videos alike.
|
Video abuses deal with reports of local or remote videos alike.
|
||||||
|
@ -141,6 +144,7 @@ x-tagGroups:
|
||||||
- Config
|
- Config
|
||||||
- Instance Follows
|
- Instance Follows
|
||||||
- Instance Redundancy
|
- Instance Redundancy
|
||||||
|
- Plugins
|
||||||
- name: Jobs
|
- name: Jobs
|
||||||
tags:
|
tags:
|
||||||
- Job
|
- Job
|
||||||
|
@ -2606,6 +2610,253 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
'406':
|
'406':
|
||||||
description: accept header unsupported
|
description: accept header unsupported
|
||||||
|
/plugins:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: List plugins
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
parameters:
|
||||||
|
- name: pluginType
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
- name: uninstalled
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
type: boolean
|
||||||
|
- $ref: '#/components/parameters/start'
|
||||||
|
- $ref: '#/components/parameters/count'
|
||||||
|
- $ref: '#/components/parameters/sort'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successful operation
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/PluginResponse'
|
||||||
|
/plugins/available:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: List available plugins
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
parameters:
|
||||||
|
- name: search
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
- name: pluginType
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
type: integer
|
||||||
|
- name: currentPeerTubeEngine
|
||||||
|
in: query
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
- $ref: '#/components/parameters/start'
|
||||||
|
- $ref: '#/components/parameters/count'
|
||||||
|
- $ref: '#/components/parameters/sort'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successful operation
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/PluginResponse'
|
||||||
|
'503':
|
||||||
|
description: plugin index unavailable
|
||||||
|
/plugins/install:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Install a plugin
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
oneOf:
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
npmName:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- npmName
|
||||||
|
additionalProperties: false
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- path
|
||||||
|
additionalProperties: false
|
||||||
|
responses:
|
||||||
|
'204':
|
||||||
|
description: successful operation
|
||||||
|
'400':
|
||||||
|
description: should have either `npmName` or `path` set
|
||||||
|
/plugins/update:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Update a plugin
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
oneOf:
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
npmName:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- npmName
|
||||||
|
additionalProperties: false
|
||||||
|
- type: object
|
||||||
|
properties:
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- path
|
||||||
|
additionalProperties: false
|
||||||
|
responses:
|
||||||
|
'204':
|
||||||
|
description: successful operation
|
||||||
|
'400':
|
||||||
|
description: should have either `npmName` or `path` set
|
||||||
|
'404':
|
||||||
|
description: existing plugin not found
|
||||||
|
/plugins/uninstall:
|
||||||
|
post:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Uninstall a plugin
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
npmName:
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- npmName
|
||||||
|
responses:
|
||||||
|
'204':
|
||||||
|
description: successful operation
|
||||||
|
'404':
|
||||||
|
description: existing plugin not found
|
||||||
|
/plugins/{npmName}:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Get a plugin
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
parameters:
|
||||||
|
- name: npmName
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successful operation
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '#/components/schemas/Plugin'
|
||||||
|
'404':
|
||||||
|
description: plugin not found
|
||||||
|
/plugins/{npmName}/settings:
|
||||||
|
put:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Set a plugin's settings
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
parameters:
|
||||||
|
- name: npmName
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
requestBody:
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
settings:
|
||||||
|
type: object
|
||||||
|
additionalProperties: true
|
||||||
|
responses:
|
||||||
|
'204':
|
||||||
|
description: successful operation
|
||||||
|
'404':
|
||||||
|
description: plugin not found
|
||||||
|
/plugins/{npmName}/public-settings:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Get a plugin's public settings
|
||||||
|
security:
|
||||||
|
- OAuth2: []
|
||||||
|
parameters:
|
||||||
|
- name: npmName
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successful operation
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
additionalProperties: true
|
||||||
|
'404':
|
||||||
|
description: plugin not found
|
||||||
|
/plugins/{npmName}/registered-settings:
|
||||||
|
get:
|
||||||
|
tags:
|
||||||
|
- Plugins
|
||||||
|
summary: Get a plugin's registered settings
|
||||||
|
security:
|
||||||
|
- OAuth2:
|
||||||
|
- admin
|
||||||
|
parameters:
|
||||||
|
- name: npmName
|
||||||
|
in: path
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
description: successful operation
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
additionalProperties: true
|
||||||
|
'404':
|
||||||
|
description: plugin not found
|
||||||
servers:
|
servers:
|
||||||
- url: 'https://peertube2.cpy.re/api/v1'
|
- url: 'https://peertube2.cpy.re/api/v1'
|
||||||
description: Live Test Server (live data - latest nightly version)
|
description: Live Test Server (live data - latest nightly version)
|
||||||
|
@ -4497,4 +4748,44 @@ components:
|
||||||
data:
|
data:
|
||||||
type: array
|
type: array
|
||||||
items:
|
items:
|
||||||
$ref: '#/components/schemas/Notification'
|
$ref: '#/components/schemas/Notification'
|
||||||
|
Plugin:
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
type:
|
||||||
|
type: integer
|
||||||
|
enum:
|
||||||
|
- 1
|
||||||
|
- 2
|
||||||
|
latestVersion:
|
||||||
|
type: string
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
enabled:
|
||||||
|
type: boolean
|
||||||
|
uninstalled:
|
||||||
|
type: boolean
|
||||||
|
peertubeEngine:
|
||||||
|
type: string
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
homepage:
|
||||||
|
type: string
|
||||||
|
settings:
|
||||||
|
type: object
|
||||||
|
additionalProperties: true
|
||||||
|
createdAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
updatedAt:
|
||||||
|
type: string
|
||||||
|
format: date-time
|
||||||
|
PluginResponse:
|
||||||
|
properties:
|
||||||
|
total:
|
||||||
|
type: integer
|
||||||
|
data:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: '#/components/schemas/Plugin'
|
Loading…
Reference in New Issue