feat(moderation): add user profile content moderation for avatars, covers, and bios
This commit is contained in:
@@ -32,10 +32,11 @@ var HandlerSet = wire.NewSet(
|
||||
handler.NewReportHandler,
|
||||
handler.NewAdminReportHandler,
|
||||
handler.NewVerificationHandler,
|
||||
handler.NewAdminProfileAuditHandler,
|
||||
handler.NewPostHandler,
|
||||
|
||||
// 需要特殊处理的 Handler
|
||||
handler.NewUserHandler,
|
||||
handler.NewPostHandler,
|
||||
ProvideUserHandler,
|
||||
ProvideMessageHandler,
|
||||
ProvideSystemMessageHandler,
|
||||
ProvideGroupHandler,
|
||||
@@ -44,7 +45,17 @@ var HandlerSet = wire.NewSet(
|
||||
ProvideAdminVerificationHandler,
|
||||
)
|
||||
|
||||
// ProvideMessageHandler 提供消息处理器
|
||||
func ProvideUserHandler(
|
||||
userService service.UserService,
|
||||
activityService service.UserActivityService,
|
||||
logService *service.LogService,
|
||||
profileAuditService service.UserProfileAuditService,
|
||||
) *handler.UserHandler {
|
||||
h := handler.NewUserHandler(userService, activityService, logService)
|
||||
h.SetProfileAuditService(profileAuditService)
|
||||
return h
|
||||
}
|
||||
|
||||
func ProvideMessageHandler(
|
||||
chatService service.ChatService,
|
||||
messageService *service.MessageService,
|
||||
|
||||
@@ -137,15 +137,18 @@ func ProvideModerationHooks(
|
||||
postAIService *service.PostAIService,
|
||||
postRepo repository.PostRepository,
|
||||
commentRepo repository.CommentRepository,
|
||||
userRepo repository.UserRepository,
|
||||
sensitiveService service.SensitiveService,
|
||||
cfg *config.Config,
|
||||
) *hook.ModerationHooks {
|
||||
strictMode := cfg.OpenAI.StrictModeration
|
||||
|
||||
moderationHooks := hook.NewModerationHooks(
|
||||
postAIService,
|
||||
nil,
|
||||
sensitiveService,
|
||||
postRepo,
|
||||
commentRepo,
|
||||
userRepo,
|
||||
strictMode,
|
||||
"***",
|
||||
)
|
||||
|
||||
@@ -40,6 +40,9 @@ var RepositorySet = wire.NewSet(
|
||||
|
||||
// 敏感词相关仓储
|
||||
repository.NewSensitiveWordRepository,
|
||||
|
||||
// 用户资料审核相关仓储
|
||||
repository.NewUserProfileAuditRepository,
|
||||
)
|
||||
|
||||
// ProvideUserActivityRepository 提供用户活跃数据仓储
|
||||
|
||||
@@ -61,6 +61,7 @@ var ServiceSet = wire.NewSet(
|
||||
ProvideVerificationService,
|
||||
ProvideAdminVerificationService,
|
||||
ProvideSensitiveService,
|
||||
ProvideUserProfileAuditService,
|
||||
|
||||
// 日志服务
|
||||
ProvideAsyncLogManager,
|
||||
@@ -465,3 +466,12 @@ func ProvideSensitiveService(
|
||||
}
|
||||
return service.NewSensitiveService(sensitiveWordRepo, redisClient, sensitiveCfg)
|
||||
}
|
||||
|
||||
func ProvideUserProfileAuditService(
|
||||
auditRepo repository.UserProfileAuditRepository,
|
||||
userRepo repository.UserRepository,
|
||||
hookManager *hook.Manager,
|
||||
moderationHooks *hook.ModerationHooks,
|
||||
) service.UserProfileAuditService {
|
||||
return service.NewUserProfileAuditService(auditRepo, userRepo, hookManager, moderationHooks)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user