backend: Add internal API endpoints for starting and stopping recordings

This commit is contained in:
Carlos Santos 2025-04-07 18:40:20 +02:00
parent 89f70dc928
commit 355d773dd1
3 changed files with 59 additions and 52 deletions

View File

@ -20,6 +20,10 @@ paths:
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}'
/rooms/{roomId}/participant-role:
$ref: './paths/internal/rooms.yaml#/~1rooms~1{roomId}~1participant-role'
/recordings:
$ref: './paths/internal/recordings.yaml#/~1recordings'
/recordings/{recordingId}:
$ref: './paths/internal/recordings.yaml#/~1recordings~1{recordingId}'
/participants/token:
$ref: './paths/internal/participants.yaml#/~1participants~1token'
/participants/token/refresh:

View File

@ -0,0 +1,55 @@
/recordings:
post:
operationId: startRecording
summary: Start a recording
description: >
Start a new recording for an OpenVidu Meet room with the specified room ID.
tags:
- Internal API - Recordings
security:
- participantTokenCookie: []
requestBody:
$ref: '../../components/requestBodies/start-recording-request.yaml'
responses:
'200':
$ref: '../../components/responses/success-start-recording.yaml'
'401':
$ref: '../../components/responses/unauthorized-error.yaml'
'403':
$ref: '../../components/responses/forbidden-error.yaml'
'404':
$ref: '../../components/responses/error-room-not-found.yaml'
'409':
$ref: '../../components/responses/error-recording-already-started.yaml'
'422':
$ref: '../../components/responses/validation-error.yaml'
'500':
$ref: '../../components/responses/internal-server-error.yaml'
/recordings/{recordingId}:
put:
operationId: stopRecording
summary: Stop a recording
description: >
Stops a recording with the specified recording ID.
The recording must be in an `ACTIVE` state; otherwise, a 409 error is returned.
tags:
- Internal API - Recordings
security:
- participantTokenCookie: []
parameters:
- $ref: '../../components/parameters/recording-id.yaml'
responses:
'200':
$ref: '../../components/responses/success-stop-recording.yaml'
'401':
$ref: '../../components/responses/unauthorized-error.yaml'
'403':
$ref: '../../components/responses/forbidden-error.yaml'
'404':
$ref: '../../components/responses/error-recording-not-found.yaml'
'409':
$ref: '../../components/responses/error-recording-in-progress.yaml'
'500':
$ref: '../../components/responses/internal-server-error.yaml'

View File

@ -1,30 +1,4 @@
/recordings:
post:
operationId: createRecording
summary: Start a recording
description: >
Start a new recording for an OpenVidu Meet room with the specified room ID.
tags:
- OpenVidu Meet - Recordings
security:
- participantTokenCookie: []
requestBody:
$ref: '../components/requestBodies/start-recording-request.yaml'
responses:
'200':
$ref: '../components/responses/success-start-recording.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-room-not-found.yaml'
'409':
$ref: '../components/responses/error-recording-already-started.yaml'
'422':
$ref: '../components/responses/validation-error.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
get:
operationId: getRecordings
summary: Get all recordings
@ -103,32 +77,6 @@
$ref: '../components/responses/internal-server-error.yaml'
/recordings/{recordingId}:
put:
operationId: stopRecording
summary: Stop a recording
description: >
Stops a recording with the specified recording ID.
The recording must be in an `ACTIVE` state; otherwise, a 409 error is returned.
tags:
- OpenVidu Meet - Recordings
security:
- participantTokenCookie: []
parameters:
- $ref: '../components/parameters/recording-id.yaml'
responses:
'200':
$ref: '../components/responses/success-stop-recording.yaml'
'401':
$ref: '../components/responses/unauthorized-error.yaml'
'403':
$ref: '../components/responses/forbidden-error.yaml'
'404':
$ref: '../components/responses/error-recording-not-found.yaml'
'409':
$ref: '../components/responses/error-recording-in-progress.yaml'
'500':
$ref: '../components/responses/internal-server-error.yaml'
get:
operationId: getRecording
summary: Get a recording