openapi: update webhook and recording schemas for improved clarity and structure

This commit is contained in:
juancarmore 2025-09-04 11:06:28 +02:00
parent 32055b98c4
commit e0a305bff3
4 changed files with 49 additions and 59 deletions

View File

@ -3,37 +3,33 @@ MeetWebhookEvent:
properties: properties:
creationDate: creationDate:
type: number type: number
description: The timestamp when the webhook event was created. description: The date when the event was created (milliseconds since the Unix epoch).
example: 1620000000000
event: event:
$ref: '#/MeetWebhookEventType' type: string
description: The type of event. description: Event type identifier.
enum:
- recordingStarted
- recordingUpdated
- recordingEnded
- meetingStarted
- meetingEnded
example: recordingStarted
data: data:
oneOf: oneOf:
- allOf: - allOf:
- title: Recording Event Data - title: Recording Event Data
- description: Data for recording-related events (started, updated, ended) - description: Data for recording-related events (started, updated, ended)
- $ref: './meet-recording.yaml' - $ref: './meet-recording.yaml'
# - allOf: - allOf:
# - title: Room Event Data - title: Room Event Data
# - description: Data for room-related events (created, updated, deleted) - description: Data for room-related events (meeting started, meeting ended)
# - $ref: './meet-room.yaml' - $ref: './meet-room.yaml'
discriminator: discriminator:
propertyName: eventType propertyName: eventType
mapping: mapping:
recordingStarted: './meet-recording.yaml' recordingStarted: './meet-recording.yaml'
recordingUpdated: './meet-recording.yaml' recordingUpdated: './meet-recording.yaml'
recordingEnded: './meet-recording.yaml' recordingEnded: './meet-recording.yaml'
# roomCreated: './meet-room.yaml' meetingStarted: './meet-room.yaml'
# roomUpdated: './meet-room.yaml' meetingEnded: './meet-room.yaml'
# roomDeleted: './meet-room.yaml'
description: The event payload data, determined by the event type.
MeetWebhookEventType:
type: string
enum:
- recordingStarted
- recordingUpdated
- recordingEnded
# - roomCreated
# - roomUpdated
# - roomDeleted

View File

@ -1,23 +1,32 @@
type: object type: object
required: required:
- recordingId - recordingId
- roomId - roomId
- filename - roomName
- startDate - status
- filename
- startDate
properties: properties:
recordingId: recordingId:
type: string type: string
description: The unique identifier of the recording. description: The unique identifier of the recording.
example: room-123--EG_XYZ--XX445 example: room-123--EG_XYZ--XX445
roomId: roomId:
type: string type: string
description: The ID of the room where the recording was made. description: The ID of the room where the recording was made.
example: room-123 example: room-123
filename: roomName:
type: string type: string
description: The name of the recording file. description: The name of the room where the recording was made.
example: room-123--XX445.mp4 example: 'room'
startDate: status:
type: number type: string
description: The date when the recording started (milliseconds since the Unix epoch). description: The status of the recording.
example: 1620000000000 filename:
type: string
description: The name of the recording file.
example: room-123--XX445.mp4
startDate:
type: number
description: The date when the recording started (milliseconds since the Unix epoch).
example: 1620000000000

View File

@ -11,7 +11,6 @@ properties:
event: event:
type: string type: string
description: Event type identifier. description: Event type identifier.
example: webhookEvent
data: data:
type: object type: object
description: The data associated with the event. description: The data associated with the event.

View File

@ -22,17 +22,11 @@ recordingStarted:
example: recordingStarted example: recordingStarted
data: data:
type: object type: object
required:
- recordingId
- roomId
- status
allOf: allOf:
- $ref: ../components/schemas/recording-base.yaml - $ref: ../components/schemas/recording-base.yaml
- properties: - properties:
status: status:
type: string
enum: [STARTING, ACTIVE] enum: [STARTING, ACTIVE]
description: The status of the recording.
example: STARTING example: STARTING
responses: responses:
'200': '200':
@ -62,17 +56,11 @@ recordingUpdated:
example: recordingUpdated example: recordingUpdated
data: data:
type: object type: object
required:
- recordingId
- roomId
- status
allOf: allOf:
- $ref: ../components/schemas/recording-base.yaml - $ref: ../components/schemas/recording-base.yaml
- properties: - properties:
status: status:
type: string
enum: [ACTIVE, ENDING] enum: [ACTIVE, ENDING]
description: The status of the recording.
example: ACTIVE example: ACTIVE
responses: responses:
'200': '200':
@ -104,17 +92,15 @@ recordingEnded:
data: data:
type: object type: object
required: required:
- recordingId
- roomId
- status
- endDate - endDate
- duration
- size
- details
allOf: allOf:
- $ref: ../components/schemas/recording-base.yaml - $ref: ../components/schemas/recording-base.yaml
- properties: - properties:
status: status:
type: string
enum: [COMPLETE, FAILED, ABORTED, LIMIT_REACHED] enum: [COMPLETE, FAILED, ABORTED, LIMIT_REACHED]
description: The status of the recording.
example: COMPLETE example: COMPLETE
endDate: endDate:
type: number type: number