openapi: add endpoints and schemas for managing global preferences in OpenVidu Meet
This commit is contained in:
parent
2b7e2ecf7e
commit
9618ec6f29
@ -0,0 +1,6 @@
|
|||||||
|
description: Security preferences
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../schemas/internal/security-preferences.yaml'
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
description: Webhooks preferences
|
||||||
|
required: true
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../schemas/internal/webhooks-preferences.yaml'
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
description: Successfully retrieved security preferences
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../schemas/internal/security-preferences.yaml'
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
description: Successfully retrieved webhooks preferences
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../../schemas/internal/webhooks-preferences.yaml'
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
description: Successfully updated security preferences
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
example: 'Security preferences updated successfully'
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
description: Successfully updated webhooks preferences
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
message:
|
||||||
|
type: string
|
||||||
|
example: 'Webhooks preferences updated successfully'
|
||||||
@ -0,0 +1,8 @@
|
|||||||
|
description: PRO Feature Error
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
$ref: '../schemas/error.yaml'
|
||||||
|
example:
|
||||||
|
error: Pro Feature Error
|
||||||
|
message: 'This operation is a PRO feature. Please, upgrade to OpenVidu PRO'
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
authentication:
|
||||||
|
$ref: '#/AuthenticationPreferences'
|
||||||
|
description: Preferences for authentication.
|
||||||
|
roomCreationPolicy:
|
||||||
|
$ref: '#/RoomCreationPolicy'
|
||||||
|
description: Preferences for room creation policy.
|
||||||
|
|
||||||
|
AuthenticationPreferences:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
authMode:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- none
|
||||||
|
- moderators_only
|
||||||
|
- all_users
|
||||||
|
default: none
|
||||||
|
example: none
|
||||||
|
description: The authentication mode to enter a room.
|
||||||
|
method:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
type:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- single-user
|
||||||
|
default: single-user
|
||||||
|
example: single-user
|
||||||
|
description: The authentication method to use.
|
||||||
|
|
||||||
|
RoomCreationPolicy:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
allowRoomCreation:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
example: true
|
||||||
|
description: If true, users will be allowed to create rooms.
|
||||||
|
requireAuthentication:
|
||||||
|
type: boolean
|
||||||
|
default: true
|
||||||
|
example: true
|
||||||
|
description: If true, users will be required to authenticate before creating rooms.
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
enabled:
|
||||||
|
type: boolean
|
||||||
|
example: true
|
||||||
|
description: Indicates whether webhooks are enabled or disabled.
|
||||||
|
url:
|
||||||
|
type: string
|
||||||
|
example: 'https://example.com/webhook'
|
||||||
|
description: The URL to which webhooks will be sent. This is only mandatory if webhooks are enabled.
|
||||||
@ -26,6 +26,15 @@ MeetRecordingPreferences:
|
|||||||
default: true
|
default: true
|
||||||
example: true
|
example: true
|
||||||
description: If true, the room will be allowed to record the video of the participants.
|
description: If true, the room will be allowed to record the video of the participants.
|
||||||
|
allowAccessTo:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- admin
|
||||||
|
- admin-moderator
|
||||||
|
- admin-moderator-publisher
|
||||||
|
- public
|
||||||
|
default: admin-moderator-publisher
|
||||||
|
example: admin-moderator-publisher
|
||||||
MeetVirtualBackgroundPreferences:
|
MeetVirtualBackgroundPreferences:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|||||||
@ -16,6 +16,12 @@ paths:
|
|||||||
$ref: './paths/internal/auth.yaml#/~1auth~1refresh'
|
$ref: './paths/internal/auth.yaml#/~1auth~1refresh'
|
||||||
/auth/profile:
|
/auth/profile:
|
||||||
$ref: './paths/internal/auth.yaml#/~1auth~1profile'
|
$ref: './paths/internal/auth.yaml#/~1auth~1profile'
|
||||||
|
/preferences/webhooks:
|
||||||
|
$ref: './paths/internal/global-preferences.yaml#/~1preferences~1webhooks'
|
||||||
|
/preferences/security:
|
||||||
|
$ref: './paths/internal/global-preferences.yaml#/~1preferences~1security'
|
||||||
|
/preferences/appearance:
|
||||||
|
$ref: './paths/internal/global-preferences.yaml#/~1preferences~1appearance'
|
||||||
/rooms/{roomId}:
|
/rooms/{roomId}:
|
||||||
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}'
|
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}'
|
||||||
/rooms/{roomId}/recording-token:
|
/rooms/{roomId}/recording-token:
|
||||||
@ -43,6 +49,10 @@ components:
|
|||||||
schemas:
|
schemas:
|
||||||
User:
|
User:
|
||||||
$ref: components/schemas/internal/user.yaml
|
$ref: components/schemas/internal/user.yaml
|
||||||
|
WebhooksPreferences:
|
||||||
|
$ref: components/schemas/internal/webhooks-preferences.yaml
|
||||||
|
SecurityPreferences:
|
||||||
|
$ref: components/schemas/internal/security-preferences.yaml
|
||||||
MeetRoom:
|
MeetRoom:
|
||||||
$ref: components/schemas/meet-room.yaml
|
$ref: components/schemas/meet-room.yaml
|
||||||
MeetRoomOptions:
|
MeetRoomOptions:
|
||||||
|
|||||||
103
backend/openapi/paths/internal/global-preferences.yaml
Normal file
103
backend/openapi/paths/internal/global-preferences.yaml
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
/preferences/webhooks:
|
||||||
|
get:
|
||||||
|
operationId: getWebhooksPreferences
|
||||||
|
summary: Get webhooks preferences
|
||||||
|
description: >
|
||||||
|
Retrieves the webhooks preferences for the OpenVidu Meet application.
|
||||||
|
tags:
|
||||||
|
- Internal API - Global Preferences
|
||||||
|
security:
|
||||||
|
- accessTokenCookie: []
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
$ref: '../../components/responses/internal/success-get-webhooks-preferences.yaml'
|
||||||
|
'401':
|
||||||
|
$ref: '../../components/responses/unauthorized-error.yaml'
|
||||||
|
'403':
|
||||||
|
$ref: '../../components/responses/forbidden-error.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
|
put:
|
||||||
|
operationId: updateWebhooksPreferences
|
||||||
|
summary: Update webhooks preferences
|
||||||
|
description: >
|
||||||
|
Updates the webhooks preferences for the OpenVidu Meet application.
|
||||||
|
tags:
|
||||||
|
- Internal API - Global Preferences
|
||||||
|
security:
|
||||||
|
- accessTokenCookie: []
|
||||||
|
requestBody:
|
||||||
|
$ref: '../../components/requestBodies/internal/update-webhooks-preferences.yaml'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
$ref: '../../components/responses/internal/success-update-webhooks-preferences.yaml'
|
||||||
|
'401':
|
||||||
|
$ref: '../../components/responses/unauthorized-error.yaml'
|
||||||
|
'403':
|
||||||
|
$ref: '../../components/responses/forbidden-error.yaml'
|
||||||
|
'422':
|
||||||
|
$ref: '../../components/responses/validation-error.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
|
|
||||||
|
/preferences/security:
|
||||||
|
get:
|
||||||
|
operationId: getSecurityPreferences
|
||||||
|
summary: Get security preferences
|
||||||
|
description: >
|
||||||
|
Retrieves the security preferences for the OpenVidu Meet application.
|
||||||
|
tags:
|
||||||
|
- Internal API - Global Preferences
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
$ref: '../../components/responses/internal/success-get-security-preferences.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
|
put:
|
||||||
|
operationId: updateSecurityPreferences
|
||||||
|
summary: Update security preferences
|
||||||
|
description: >
|
||||||
|
Updates the security preferences for the OpenVidu Meet application.
|
||||||
|
tags:
|
||||||
|
- Internal API - Global Preferences
|
||||||
|
security:
|
||||||
|
- accessTokenCookie: []
|
||||||
|
requestBody:
|
||||||
|
$ref: '../../components/requestBodies/internal/update-security-preferences.yaml'
|
||||||
|
responses:
|
||||||
|
'200':
|
||||||
|
$ref: '../../components/responses/internal/success-update-security-preferences.yaml'
|
||||||
|
'401':
|
||||||
|
$ref: '../../components/responses/unauthorized-error.yaml'
|
||||||
|
'403':
|
||||||
|
$ref: '../../components/responses/forbidden-error.yaml'
|
||||||
|
'422':
|
||||||
|
$ref: '../../components/responses/validation-error.yaml'
|
||||||
|
'500':
|
||||||
|
$ref: '../../components/responses/internal-server-error.yaml'
|
||||||
|
|
||||||
|
/preferences/appearance:
|
||||||
|
get:
|
||||||
|
operationId: getAppearancePreferences
|
||||||
|
summary: Get appearance preferences
|
||||||
|
description: >
|
||||||
|
Retrieves the appearance preferences for the OpenVidu Meet application.
|
||||||
|
tags:
|
||||||
|
- Internal API - Global Preferences
|
||||||
|
security:
|
||||||
|
- accessTokenCookie: []
|
||||||
|
responses:
|
||||||
|
'202':
|
||||||
|
$ref: '../../components/responses/pro-feature-error.yaml'
|
||||||
|
put:
|
||||||
|
operationId: updateAppearancePreferences
|
||||||
|
summary: Update appearance preferences
|
||||||
|
description: >
|
||||||
|
Updates the appearance preferences for the OpenVidu Meet application.
|
||||||
|
tags:
|
||||||
|
- Internal API - Global Preferences
|
||||||
|
security:
|
||||||
|
- accessTokenCookie: []
|
||||||
|
responses:
|
||||||
|
'202':
|
||||||
|
$ref: '../../components/responses/pro-feature-error.yaml'
|
||||||
@ -4,6 +4,8 @@
|
|||||||
description: Operations related to managing OpenVidu Meet recordings
|
description: Operations related to managing OpenVidu Meet recordings
|
||||||
- name: Internal API - Authentication
|
- name: Internal API - Authentication
|
||||||
description: Authentication operations
|
description: Authentication operations
|
||||||
|
- name: Internal API - Global Preferences
|
||||||
|
description: Operations related to managing global preferences in OpenVidu Meet
|
||||||
- name: Internal API - Rooms
|
- name: Internal API - Rooms
|
||||||
description: Operations related to managing OpenVidu Meet rooms
|
description: Operations related to managing OpenVidu Meet rooms
|
||||||
- name: Internal API - Participant
|
- name: Internal API - Participant
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user