feat(call): implement group calling and enhance call management
Introduces group calling capabilities, including group invites and participant lifecycle management. Enhances the existing call system with support for media types (voice/video) and improved participant tracking. - Add `GroupInvite` and `ParticipantJoin/Leave` to `CallService`. - Implement WebSocket handlers for `call_group_invite` and `call_participant_join`. - Update `CallSession` model to support group IDs, media types, and tracking who ended the call. - Integrate `GroupService` into `CallService` via dependency injection. - Add error constants for group call limitations and participant capacity. - Update LiveKit webhook handling to process participant leave events. Refactor grade synchronization to remove semester-based filtering in favor of a more flexible user-based approach and improve GPA summary updates.
This commit is contained in:
@@ -137,7 +137,7 @@ func InitializeApp() (*App, error) {
|
||||
materialService := wire.ProvideMaterialService(materialSubjectRepository, materialFileRepository)
|
||||
materialHandler := handler.NewMaterialHandler(materialService)
|
||||
callRepository := repository.NewCallRepository(db)
|
||||
callService := wire.ProvideCallService(callRepository, messagePublisher, config, db, client)
|
||||
callService := wire.ProvideCallService(callRepository, messagePublisher, config, db, client, groupService)
|
||||
callHandler := handler.NewCallHandler(callService)
|
||||
reportRepository := repository.NewReportRepository(db)
|
||||
reportService := wire.ProvideReportService(reportRepository, postRepository, commentRepository, messageRepository, userRepository, systemNotificationRepository, pushService, transactionManager, operationLogService, config)
|
||||
|
||||
Reference in New Issue
Block a user