//go:build wireinject // +build wireinject package main import ( "with_you/internal/handler" "with_you/internal/repository" "with_you/internal/router" "with_you/internal/service" appwire "with_you/internal/wire" "github.com/google/wire" ) // InitializeApp 初始化应用程序 func InitializeApp() (*App, error) { wire.Build( appwire.AllSet, NewApp, ProvideRouter, ) return nil, nil } // ProvideRouter 提供路由 func ProvideRouter( userRepo repository.UserRepository, userHandler *handler.UserHandler, postHandler *handler.PostHandler, commentHandler *handler.CommentHandler, messageHandler *handler.MessageHandler, notificationHandler *handler.NotificationHandler, uploadHandler *handler.UploadHandler, jwtService *service.JWTService, pushHandler *handler.PushHandler, systemMessageHandler *handler.SystemMessageHandler, groupHandler *handler.GroupHandler, stickerHandler *handler.StickerHandler, voteHandler *handler.VoteHandler, channelHandler *handler.ChannelHandler, scheduleHandler *handler.ScheduleHandler, gradeHandler *handler.GradeHandler, examHandler *handler.ExamHandler, roleHandler *handler.RoleHandler, adminUserHandler *handler.AdminUserHandler, adminPostHandler *handler.AdminPostHandler, adminCommentHandler *handler.AdminCommentHandler, adminGroupHandler *handler.AdminGroupHandler, adminDashboardHandler *handler.AdminDashboardHandler, adminLogHandler *handler.AdminLogHandler, qrcodeHandler *handler.QRCodeHandler, materialHandler *handler.MaterialHandler, callHandler *handler.CallHandler, reportHandler *handler.ReportHandler, adminReportHandler *handler.AdminReportHandler, verificationHandler *handler.VerificationHandler, adminVerificationHandler *handler.AdminVerificationHandler, adminProfileAuditHandler *handler.AdminProfileAuditHandler, setupHandler *handler.SetupHandler, tradeHandler *handler.TradeHandler, logService *service.LogService, activityService service.UserActivityService, casbinService service.CasbinService, wsHandler *handler.WSHandler, ) *router.Router { return router.New(router.RouterDeps{ UserRepo: userRepo, UserHandler: userHandler, PostHandler: postHandler, CommentHandler: commentHandler, MessageHandler: messageHandler, NotificationHandler: notificationHandler, UploadHandler: uploadHandler, JWTService: jwtService, PushHandler: pushHandler, SystemMessageHandler: systemMessageHandler, GroupHandler: groupHandler, StickerHandler: stickerHandler, VoteHandler: voteHandler, ChannelHandler: channelHandler, ScheduleHandler: scheduleHandler, GradeHandler: gradeHandler, ExamHandler: examHandler, RoleHandler: roleHandler, AdminUserHandler: adminUserHandler, AdminPostHandler: adminPostHandler, AdminCommentHandler: adminCommentHandler, AdminGroupHandler: adminGroupHandler, AdminDashboardHandler: adminDashboardHandler, AdminLogHandler: adminLogHandler, QRCodeHandler: qrcodeHandler, MaterialHandler: materialHandler, CallHandler: callHandler, ReportHandler: reportHandler, AdminReportHandler: adminReportHandler, VerificationHandler: verificationHandler, AdminVerificationHandler: adminVerificationHandler, AdminProfileAuditHandler: adminProfileAuditHandler, SetupHandler: setupHandler, TradeHandler: tradeHandler, LogService: logService, ActivityService: activityService, CasbinService: casbinService, WSHandler: wsHandler, }) }