Add new functionality for managing and synchronizing academic grades and exam schedules. This includes new models, repositories, services, and HTTP handlers, along with updated gRPC definitions and dependency injection configuration. Additionally, improve the reliability of unread message count tracking by implementing an atomic Lua script for Redis operations in the conversation cache.
108 lines
3.7 KiB
Go
108 lines
3.7 KiB
Go
//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,
|
|
})
|
|
}
|