Files
backend/cmd/server/wire.go
lafay ef9a30ee54
Some checks failed
Build Backend / build-docker (push) Has been cancelled
Build Backend / build (push) Has been cancelled
feat(verification): enforce user verification requirement for posts, comments, and WebSocket connections
Add verification status checks to protected routes including post creation, updates, deletion, likes, favorites, voting, and WebSocket connections. Also rename RequireVerification middleware to RequireVerified and update error response format with string error codes.
2026-04-08 02:28:10 +08:00

98 lines
2.4 KiB
Go

//go:build wireinject
// +build wireinject
package main
import (
"carrot_bbs/internal/handler"
"carrot_bbs/internal/repository"
"carrot_bbs/internal/router"
"carrot_bbs/internal/service"
appwire "carrot_bbs/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,
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,
logService *service.LogService,
activityService service.UserActivityService,
casbinService service.CasbinService,
wsHandler *handler.WSHandler,
) *router.Router {
return router.New(
userRepo,
userHandler,
postHandler,
commentHandler,
messageHandler,
notificationHandler,
uploadHandler,
jwtService,
pushHandler,
systemMessageHandler,
groupHandler,
stickerHandler,
voteHandler,
channelHandler,
scheduleHandler,
roleHandler,
adminUserHandler,
adminPostHandler,
adminCommentHandler,
adminGroupHandler,
adminDashboardHandler,
adminLogHandler,
qrcodeHandler,
materialHandler,
callHandler,
reportHandler,
adminReportHandler,
verificationHandler,
adminVerificationHandler,
logService,
activityService,
casbinService,
wsHandler,
)
}