Files
EchoChat/backend/go-service/app/meeting/provider.go
2026-05-18 19:42:55 +08:00

40 lines
1.9 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package meeting
import (
"github.com/echochat/backend/app/meeting/controller"
"github.com/echochat/backend/app/meeting/dao"
"github.com/echochat/backend/app/meeting/service"
"github.com/echochat/backend/app/meeting/task"
"github.com/google/wire"
)
// MeetingSet 会议模块 Wire Provider Set
// 对外暴露:
// - *service.MeetingService —— REST 业务服务Task 5
// - *service.MeetingBroadcaster —— WS 广播中枢Task 6 新增,供 SignalService 复用)
// - *service.MeetingSignalService —— WS 信令事件业务逻辑Task 6
// - *controller.MeetingController —— REST API 控制器
// - *controller.MeetingWSHandler —— WS 事件 HandlerTask 6启动时自动注册到 Hub
// 依赖的接口 NotifyPusher / UserInfoResolver / OnlineChecker 由上游 wire.Bind 绑定具体实现
var MeetingSet = wire.NewSet(
dao.NewMeetingRoomDAO,
dao.NewMeetingParticipantDAO,
dao.NewMeetingChatDAO,
dao.NewMeetingRecordingDAO, // Phase B 新增:录制记录 DAO
service.NewMeetingBroadcaster,
service.NewMeetingLifecycleService, // Task 8 新增:会议生命周期状态机
service.NewMeetingService,
service.NewMeetingSignalService,
service.NewMeetingRecordingService, // Phase B 新增:录制业务服务
controller.NewMeetingController,
controller.NewMeetingRecordingController, // Phase B 新增:录制 REST 控制器
controller.NewMeetingWSHandler,
task.NewMeetingCleanupTask, // Task 8 新增:生命周期兜底定时任务
// MediaOrchestrator 使用真实 HTTP 实现Task 7 落地)
// 注入 *config.Config通过 cfg.MediaServer 获取 base_url / internal_token / timeout 等配置
// 如需回退到本地 stub 调试,可临时改为 service.NewNoopMediaOrchestrator 并调整 wire.Bind
service.NewHTTPMediaOrchestrator,
wire.Bind(new(service.MediaOrchestrator), new(*service.HTTPMediaOrchestrator)),
)