refactor(di): migrate from setter to constructor injection for logService
- Remove SetLogService methods from user, post, comment, and admin post services - Add logService as constructor parameter to all dependent services - Centralize call-related and message error definitions in app_errors.go - Add ConversationID field to WSEventResponse for improved message tracking - Simplify wire provider functions by removing manual setter calls
This commit is contained in:
@@ -30,8 +30,8 @@ var HandlerSet = wire.NewSet(
|
||||
handler.NewCallHandler,
|
||||
|
||||
// 需要特殊处理的 Handler
|
||||
ProvideUserHandler,
|
||||
ProvidePostHandler,
|
||||
handler.NewUserHandler,
|
||||
handler.NewPostHandler,
|
||||
ProvideMessageHandler,
|
||||
ProvideSystemMessageHandler,
|
||||
ProvideGroupHandler,
|
||||
@@ -39,54 +39,6 @@ var HandlerSet = wire.NewSet(
|
||||
ProvideWSHandler,
|
||||
)
|
||||
|
||||
// ProvideUserHandler 提供用户处理器
|
||||
func ProvideUserHandler(
|
||||
userService service.UserService,
|
||||
activityService service.UserActivityService,
|
||||
postService service.PostService,
|
||||
commentService *service.CommentService,
|
||||
logService *service.LogService,
|
||||
) *handler.UserHandler {
|
||||
h := handler.NewUserHandler(userService, activityService)
|
||||
h.SetLogService(logService)
|
||||
|
||||
// 同时设置到其他服务
|
||||
if ps, ok := postService.(interface{ SetLogService(*service.LogService) }); ok {
|
||||
ps.SetLogService(logService)
|
||||
}
|
||||
if commentService != nil {
|
||||
commentService.SetLogService(logService)
|
||||
}
|
||||
|
||||
return h
|
||||
}
|
||||
|
||||
// ProvidePostHandler 提供帖子处理器
|
||||
func ProvidePostHandler(
|
||||
postService service.PostService,
|
||||
userService service.UserService,
|
||||
channelService service.ChannelService,
|
||||
logService *service.LogService,
|
||||
) *handler.PostHandler {
|
||||
h := handler.NewPostHandler(postService, userService, channelService)
|
||||
if ps, ok := postService.(interface{ SetLogService(*service.LogService) }); ok {
|
||||
ps.SetLogService(logService)
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
// ProvideAdminPostHandler 提供管理端帖子处理器
|
||||
func ProvideAdminPostHandler(
|
||||
postService service.AdminPostService,
|
||||
logService *service.LogService,
|
||||
) *handler.AdminPostHandler {
|
||||
h := handler.NewAdminPostHandler(postService)
|
||||
if ps, ok := postService.(interface{ SetLogService(*service.LogService) }); ok {
|
||||
ps.SetLogService(logService)
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
// ProvideMessageHandler 提供消息处理器
|
||||
func ProvideMessageHandler(
|
||||
chatService service.ChatService,
|
||||
|
||||
@@ -115,8 +115,9 @@ func ProvidePostService(
|
||||
hookManager *hook.Manager,
|
||||
_ *hook.ModerationHooks,
|
||||
_ *hook.BuiltinHooks,
|
||||
logService *service.LogService,
|
||||
) service.PostService {
|
||||
return service.NewPostService(postRepo, systemMessageService, postAIService, cacheBackend, txManager, hookManager)
|
||||
return service.NewPostService(postRepo, systemMessageService, postAIService, cacheBackend, txManager, hookManager, logService)
|
||||
}
|
||||
|
||||
func ProvideCommentService(
|
||||
@@ -126,8 +127,9 @@ func ProvideCommentService(
|
||||
postAIService *service.PostAIService,
|
||||
cacheBackend cache.Cache,
|
||||
hookManager *hook.Manager,
|
||||
logService *service.LogService,
|
||||
) *service.CommentService {
|
||||
return service.NewCommentService(commentRepo, postRepo, systemMessageService, postAIService, cacheBackend, hookManager)
|
||||
return service.NewCommentService(commentRepo, postRepo, systemMessageService, postAIService, cacheBackend, hookManager, logService)
|
||||
}
|
||||
|
||||
// ProvideMessageService 提供消息服务
|
||||
@@ -153,8 +155,9 @@ func ProvideUserService(
|
||||
systemMessageService service.SystemMessageService,
|
||||
emailService service.EmailService,
|
||||
cacheBackend cache.Cache,
|
||||
logService *service.LogService,
|
||||
) service.UserService {
|
||||
return service.NewUserService(userRepo, systemMessageService, emailService, cacheBackend)
|
||||
return service.NewUserService(userRepo, systemMessageService, emailService, cacheBackend, logService)
|
||||
}
|
||||
|
||||
// ProvideStickerService 提供表情服务
|
||||
@@ -247,8 +250,8 @@ func ProvideAdminUserService(userRepo repository.UserRepository) service.AdminUs
|
||||
}
|
||||
|
||||
// ProvideAdminPostService 提供管理端帖子服务
|
||||
func ProvideAdminPostService(postRepo repository.PostRepository, cacheBackend cache.Cache) service.AdminPostService {
|
||||
return service.NewAdminPostService(postRepo, cacheBackend)
|
||||
func ProvideAdminPostService(postRepo repository.PostRepository, cacheBackend cache.Cache, logService *service.LogService) service.AdminPostService {
|
||||
return service.NewAdminPostService(postRepo, cacheBackend, logService)
|
||||
}
|
||||
|
||||
// ProvideAdminCommentService 提供管理端评论服务
|
||||
|
||||
Reference in New Issue
Block a user