diff --git a/cmd/server/wire_gen.go b/cmd/server/wire_gen.go index a13770f..8d9c820 100644 --- a/cmd/server/wire_gen.go +++ b/cmd/server/wire_gen.go @@ -47,8 +47,10 @@ func InitializeApp() (*App, error) { postAIService := wire.ProvidePostAIService(openaiClient) transactionManager := wire.ProvideTransactionManager(db) manager := wire.ProvideHookManager() - postService := wire.ProvidePostService(postRepository, systemMessageService, gorseClient, postAIService, cache, transactionManager, manager) commentRepository := repository.NewCommentRepository(db) + moderationHooks := wire.ProvideModerationHooks(manager, postAIService, postRepository, commentRepository, config) + builtinHooks := wire.ProvideBuiltinHooks(manager) + postService := wire.ProvidePostService(postRepository, systemMessageService, gorseClient, postAIService, cache, transactionManager, manager, moderationHooks, builtinHooks) commentService := wire.ProvideCommentService(commentRepository, postRepository, systemMessageService, gorseClient, postAIService, cache, manager) operationLogRepository := repository.NewOperationLogRepository(db) loginLogRepository := repository.NewLoginLogRepository(db) diff --git a/internal/pkg/hook/moderation_hooks.go b/internal/pkg/hook/moderation_hooks.go index 06e24a6..26fca59 100644 --- a/internal/pkg/hook/moderation_hooks.go +++ b/internal/pkg/hook/moderation_hooks.go @@ -80,6 +80,10 @@ func (h *PostModerationHook) Execute(ctx *HookContext) error { result.Approved = false result.Error = err result.ReviewedBy = "ai" + zap.L().Error("AI post moderation failed in strict mode, reject post", + zap.String("post_id", data.PostID), + zap.Error(err), + ) return nil } @@ -164,6 +168,10 @@ func (h *CommentModerationHook) Execute(ctx *HookContext) error { result.Approved = false result.Error = err result.ReviewedBy = "ai" + zap.L().Error("AI comment moderation failed in strict mode, reject comment", + zap.String("comment_id", data.CommentID), + zap.Error(err), + ) return nil } diff --git a/internal/wire/service.go b/internal/wire/service.go index a4126f3..084dd6f 100644 --- a/internal/wire/service.go +++ b/internal/wire/service.go @@ -111,6 +111,8 @@ func ProvidePostService( cacheBackend cache.Cache, txManager repository.TransactionManager, hookManager *hook.Manager, + _ *hook.ModerationHooks, + _ *hook.BuiltinHooks, ) service.PostService { return service.NewPostService(postRepo, systemMessageService, gorseClient, postAIService, cacheBackend, txManager, hookManager) }