From b1e5e8005965dc0402dcbcd5c544ca2a1d110e5a Mon Sep 17 00:00:00 2001 From: Carlos Santos <4a.santos@gmail.com> Date: Mon, 17 Mar 2025 11:43:16 +0100 Subject: [PATCH] backend: Remove OpenViduWebhookEvent model and update references to use new typings --- backend/src/services/openvidu-webhook.service.ts | 10 +++++----- typings/src/index.ts | 1 + {backend/src/models => typings/src}/webhook.model.ts | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) rename {backend/src/models => typings/src}/webhook.model.ts (87%) diff --git a/backend/src/services/openvidu-webhook.service.ts b/backend/src/services/openvidu-webhook.service.ts index 9802df9..81a1e25 100644 --- a/backend/src/services/openvidu-webhook.service.ts +++ b/backend/src/services/openvidu-webhook.service.ts @@ -3,7 +3,7 @@ import { inject, injectable } from '../config/dependency-injector.config.js'; import { Room } from 'livekit-server-sdk'; import { LoggerService } from './logger.service.js'; import { MEET_API_KEY, MEET_WEBHOOK_ENABLED, MEET_WEBHOOK_URL } from '../environment.js'; -import { OpenViduWebhookEvent, OpenViduWebhookEventType } from '../models/webhook.model.js'; +import { OpenViduWebhookEvent, OpenViduWebhookEventType } from '@typings-ce'; import { RecordingInfo } from '../models/recording.model.js'; @injectable() @@ -13,7 +13,7 @@ export class OpenViduWebhookService { async sendRoomFinishedWebhook(room: Room) { const data: OpenViduWebhookEvent = { event: OpenViduWebhookEventType.ROOM_FINISHED, - createdAt: Date.now(), + creationDate: Date.now(), data: { roomName: room.name } @@ -24,7 +24,7 @@ export class OpenViduWebhookService { async sendRecordingStartedWebhook(recordingInfo: RecordingInfo) { const data: OpenViduWebhookEvent = { event: OpenViduWebhookEventType.RECORDING_STARTED, - createdAt: Date.now(), + creationDate: Date.now(), data: { recordingId: recordingInfo.id, filename: recordingInfo.filename, @@ -38,7 +38,7 @@ export class OpenViduWebhookService { async sendRecordingStoppedWebhook(recordingInfo: RecordingInfo) { const data: OpenViduWebhookEvent = { event: OpenViduWebhookEventType.RECORDING_STOPPED, - createdAt: Date.now(), + creationDate: Date.now(), data: { recordingId: recordingInfo.id, filename: recordingInfo.filename, @@ -52,7 +52,7 @@ export class OpenViduWebhookService { private async sendWebhookEvent(data: OpenViduWebhookEvent) { if (!this.isWebhookEnabled()) return; - const timestamp = data.createdAt; + const timestamp = data.creationDate; const signature = this.generateWebhookSignature(timestamp, data); this.logger.info(`Sending webhook event ${data.event}`); diff --git a/typings/src/index.ts b/typings/src/index.ts index 2ee3be4..81a1bf4 100644 --- a/typings/src/index.ts +++ b/typings/src/index.ts @@ -3,6 +3,7 @@ export * from './room-preferences.js'; export * from './participant.js'; export * from './token.js'; export * from './room.js'; +export * from './webhook.model.js'; export * from './permissions/livekit-permissions.js'; export * from './permissions/openvidu-permissions.js'; diff --git a/backend/src/models/webhook.model.ts b/typings/src/webhook.model.ts similarity index 87% rename from backend/src/models/webhook.model.ts rename to typings/src/webhook.model.ts index c73dd2e..e222e39 100644 --- a/backend/src/models/webhook.model.ts +++ b/typings/src/webhook.model.ts @@ -1,12 +1,12 @@ import { RecordingStatus } from './recording.model.js'; export interface OpenViduWebhookEvent { - createdAt: number; + creationDate: number; event: OpenViduWebhookEventType; data: RoomWebhookData | RecordingWebhookData; } -export enum OpenViduWebhookEventType { +export const enum OpenViduWebhookEventType { RECORDING_STARTED = 'recording_started', RECORDING_STOPPED = 'recording_stopped', ROOM_FINISHED = 'room_finished'