refactor: update LiveKit integration and clean up unused services

- Changed the base image in Dockerfile to use a lighter node:alpine version.
- Removed unused dependencies from package-lock.json and package.json, including @turbodocx/html-to-docx and jsdom.
- Simplified LiveKit module by removing unnecessary services (LiveKitParticipantService, LiveKitRoomService) and adjusting related schemas and services for better maintainability.
- Updated CollaborationSessionSchema to streamline access token creation and room management.
- Commented out unused imports and services in various modules to enhance code clarity and reduce complexity.
This commit is contained in:
2024-12-02 17:29:07 +07:00
parent 174290c9fb
commit b10d0cdde7
13 changed files with 444 additions and 2656 deletions

View File

@@ -1,35 +1,26 @@
import { v4 as uuidv4 } from 'uuid'
import { forwardRef, Injectable } from '@nestjs/common'
// @ts-expect-error
import { Room, RoomServiceClient } from 'livekit-server-sdk'
@Injectable()
export class LiveKitRoomService {
// biome-ignore lint/suspicious/noExplicitAny: <explanation>
private roomServiceClient: any
constructor() {
this.initializeRoomServiceClient()
}
constructor(private readonly roomServiceClient: RoomServiceClient) {}
private async initializeRoomServiceClient() {
const { RoomServiceClient } = await import('livekit-server-sdk')
this.roomServiceClient = new RoomServiceClient(
process.env.LIVEKIT_URL as string,
process.env.LIVEKIT_API_KEY as string,
process.env.LIVEKIT_API_SECRET as string,
)
}
async createServiceMeetingRoom(chattingRoomId: string) {
async createServiceMeetingRoom(roomId: string) {
const room = await this.roomServiceClient.createRoom({
maxParticipants: 3,
name: chattingRoomId,
name: roomId,
maxParticipants: 2,
})
return room
}
async createWorkshopMeetingRoom(workshopId: string, maxParticipants: number) {
async createWorkshopRoom(roomId: string, maxParticipants: number) {
const room = await this.roomServiceClient.createRoom({
maxParticipants: maxParticipants,
name: workshopId,
name: roomId,
maxParticipants,
})
return room
}
}
export const roomServiceClient = forwardRef(() => LiveKitRoomService)