feat(grpc): add gRPC server infrastructure and schedule sync service
Add gRPC server support with configurable TLS, environment-based settings, and Wire injection. Implement schedule synchronization service with task runner integration for external course data fetching. - Add gRPC configuration with env var overrides (APP_GRPC_ENABLED, APP_GRPC_PORT, etc.) - Create gRPC server infrastructure with runner task management - Implement ScheduleSyncService for course data synchronization - Add sync endpoint to schedule handler for external system integration - Update repository with context-aware batch delete operation - Wire all dependencies including zap logger for structured logging
This commit is contained in:
@@ -22,7 +22,6 @@ var HandlerSet = wire.NewSet(
|
||||
handler.NewPushHandler,
|
||||
handler.NewStickerHandler,
|
||||
handler.NewVoteHandler,
|
||||
handler.NewScheduleHandler,
|
||||
|
||||
// 需要特殊处理的 Handler
|
||||
ProvidePostHandler,
|
||||
@@ -30,6 +29,7 @@ var HandlerSet = wire.NewSet(
|
||||
ProvideSystemMessageHandler,
|
||||
ProvideGroupHandler,
|
||||
ProvideGorseHandler,
|
||||
ProvideScheduleHandler,
|
||||
)
|
||||
|
||||
// ProvidePostHandler 提供帖子处理器
|
||||
@@ -72,3 +72,11 @@ func ProvideGroupHandler(
|
||||
func ProvideGorseHandler(cfg *config.Config, db *gorm.DB) *handler.GorseHandler {
|
||||
return handler.NewGorseHandler(cfg.Gorse, db)
|
||||
}
|
||||
|
||||
// ProvideScheduleHandler 提供课表处理器
|
||||
func ProvideScheduleHandler(
|
||||
scheduleService service.ScheduleService,
|
||||
scheduleSyncService service.ScheduleSyncService,
|
||||
) *handler.ScheduleHandler {
|
||||
return handler.NewScheduleHandler(scheduleService, scheduleSyncService)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user