feat: integrate LiveKit services into Collaboration and Meeting Room modules

- Added LiveKitModule to CollaborationSession and MeetingRoom modules for enhanced real-time collaboration features.
- Updated CollaborationSessionSchema to include LiveKit services for managing participant access and room permissions.
- Implemented a new cron job in CronService to disable services without schedules for over 30 days, improving service management.
- Enhanced GraphQL schema generation with improved filtering logic for better performance and readability.
- Refactored LiveKit services to streamline access token creation and room management functionalities.
This commit is contained in:
2024-12-01 19:18:20 +07:00
parent 111acacf2d
commit 561823225d
10 changed files with 206 additions and 96 deletions

View File

@@ -1,11 +1,15 @@
// import { Injectable, OnModuleInit } from '@nestjs/common'
// import { LiveKitRoomService } from './livekit.room.service'
import { Injectable } from '@nestjs/common'
import { LiveKitRoomService } from './livekit.room.service'
import { LiveKitParticipantService } from './livekit.participant.service'
// @Injectable()
// export class LiveKitService implements OnModuleInit {
// private liveKitRoomService: LiveKitRoomService
// async onModuleInit() {
// // init livekit room service
// this.liveKitRoomService = new LiveKitRoomService()
// }
// }
@Injectable()
export class LiveKitService {
constructor(
private liveKitRoomService: LiveKitRoomService,
private liveKitParticipantService: LiveKitParticipantService,
) {}
async createAccessToken(participantId: string) {
return await this.liveKitParticipantService.createAccessToken(participantId)
}
}