* Adds default team to the remote cluster entity A new DefaultTeamId field is added to the RemoteCluster entity and its endpoints, and used when receiving channel invites to choose in which team to create a new channel. This will be later extended with the ability for the system admin to manually accept invites, choosing which team to create the channel on each. This use case will be triggered when the DefaultTeamId field is empty, which now simply chooses the first team it finds in the database as a fallback. * Fix migrations list * Fixes channelinvite test case * Fix i18n * Fix migration list
293 строки
8.5 KiB
YAML
293 строки
8.5 KiB
YAML
"/api/v4/remotecluster":
|
|
get:
|
|
tags:
|
|
- remote clusters
|
|
summary: Get a list of remote clusters.
|
|
description: |
|
|
Get a list of remote clusters.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: GetRemoteClusters
|
|
parameters:
|
|
- name: page
|
|
in: query
|
|
description: The page to select
|
|
schema:
|
|
type: integer
|
|
- name: per_page
|
|
in: query
|
|
description: The number of remote clusters per page
|
|
schema:
|
|
type: integer
|
|
- name: exclude_offline
|
|
in: query
|
|
description: Exclude offline remote clusters
|
|
schema:
|
|
type: boolean
|
|
- name: in_channel
|
|
in: query
|
|
description: Select remote clusters in channel
|
|
schema:
|
|
type: string
|
|
- name: not_in_channel
|
|
in: query
|
|
description: Select remote clusters not in this channel
|
|
schema:
|
|
type: string
|
|
- name: only_confirmed
|
|
in: query
|
|
description: Select only remote clusters already confirmed
|
|
schema:
|
|
type: boolean
|
|
- name: only_plugins
|
|
in: query
|
|
description: Select only remote clusters that belong to a plugin
|
|
schema:
|
|
type: boolean
|
|
- name: exclude_plugins
|
|
in: query
|
|
description: Select only remote clusters that don't belong to a plugin
|
|
schema:
|
|
type: boolean
|
|
responses:
|
|
"200":
|
|
description: Remote clusters fetch successful. Result might be empty.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: array
|
|
items:
|
|
$ref: "#/components/schemas/RemoteCluster"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
post:
|
|
tags:
|
|
- remote clusters
|
|
summary: Create a new remote cluster.
|
|
description: |
|
|
Create a new remote cluster and generate an invite code.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: CreateRemoteCluster
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
display_name:
|
|
type: string
|
|
password:
|
|
type: string
|
|
description: |
|
|
The password to use in the invite code. If empty,
|
|
the server will generate one and it will be part
|
|
of the response
|
|
responses:
|
|
"201":
|
|
description: Remote cluster creation successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
remote_cluster:
|
|
$ref: "#/components/schemas/RemoteCluster"
|
|
invite:
|
|
type: string
|
|
description: The encrypted invite for the newly created remote cluster
|
|
password:
|
|
type: string
|
|
description: |
|
|
The password generated by the server if none was
|
|
sent on the create request
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
"/api/v4/remotecluster/{remote_id}":
|
|
get:
|
|
tags:
|
|
- remote clusters
|
|
summary: Get a remote cluster.
|
|
description: |
|
|
Get the Remote Cluster details from the provided id string.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: GetRemoteCluster
|
|
parameters:
|
|
- name: remote_id
|
|
in: path
|
|
description: Remote Cluster GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"200":
|
|
description: Remote Cluster retrieval successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RemoteCluster"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
patch:
|
|
tags:
|
|
- remote clusters
|
|
summary: Patch a remote cluster.
|
|
description: |
|
|
Partially update a Remote Cluster by providing only the fields you want to update. Ommited fields will not be updated.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: PatchRemoteCluster
|
|
parameters:
|
|
- name: remote_id
|
|
in: path
|
|
description: Remote Cluster GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
display_name:
|
|
type: string
|
|
default_team_id:
|
|
type: string
|
|
description: The team where channels from invites are created
|
|
responses:
|
|
"200":
|
|
description: Remote Cluster patch successful
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/RemoteCluster"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
delete:
|
|
tags:
|
|
- remote clusters
|
|
summary: Delete a remote cluster.
|
|
description: |
|
|
Deletes a Remote Cluster.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: DeleteRemoteCluster
|
|
parameters:
|
|
- name: remote_id
|
|
in: path
|
|
description: Remote Cluster GUID
|
|
required: true
|
|
schema:
|
|
type: string
|
|
responses:
|
|
"204":
|
|
description: Remote Cluster deletion successful
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
"404":
|
|
$ref: "#/components/responses/NotFound"
|
|
|
|
"/api/v4/remotecluster/{remote_id}/generate_invite":
|
|
post:
|
|
tags:
|
|
- remote clusters
|
|
summary: Generate invite code.
|
|
description: |
|
|
Generates an invite code for a given remote cluster.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: GenerateRemoteClusterInvite
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- password
|
|
properties:
|
|
password:
|
|
type: string
|
|
description: The password to encrypt the invite code with.
|
|
responses:
|
|
"201":
|
|
description: Invite code generated
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: string
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|
|
|
|
"/api/v4/remotecluster/accept_invite":
|
|
post:
|
|
tags:
|
|
- remote clusters
|
|
summary: Accept a remote cluster invite code.
|
|
description: |
|
|
Accepts a remote cluster invite code.
|
|
|
|
##### Permissions
|
|
`manage_secure_connections`
|
|
operationId: AcceptRemoteClusterInvite
|
|
requestBody:
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
required:
|
|
- invite
|
|
- name
|
|
- password
|
|
properties:
|
|
invite:
|
|
type: string
|
|
name:
|
|
type: string
|
|
display_name:
|
|
type: string
|
|
password:
|
|
type: string
|
|
description: The password to decrypt the invite code.
|
|
responses:
|
|
"201":
|
|
description: Invite successfully accepted
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
$ref: "#/components/schemas/RemoteCluster"
|
|
"401":
|
|
$ref: "#/components/responses/Unauthorized"
|
|
"403":
|
|
$ref: "#/components/responses/Forbidden"
|