feat(compliance): add content compliance detection across tenant, ops, and clients
Implements the Revision 8/9 compliance design: tenant + ops backends, ops-web content-safety pages, admin-web editor/publish gate integration, desktop publish block surfacing, and supporting migrations / shared types / config plumbing. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -76,6 +76,12 @@ func RegisterRoutes(app *bootstrap.App) {
|
||||
tenantProtected.POST("/tasks/:id/cancel", desktopTaskHandler.TenantCancel)
|
||||
tenantProtected.POST("/publish-jobs", publishJobHandler.Create)
|
||||
|
||||
complianceHandler := NewComplianceHandler(app)
|
||||
compliance := tenantProtected.Group("/compliance")
|
||||
compliance.GET("/runtime-status", complianceHandler.RuntimeStatus)
|
||||
compliance.POST("/check", complianceHandler.CheckPlain)
|
||||
compliance.POST("/check-records/:id/ack", complianceHandler.CreateAck)
|
||||
|
||||
media := tenantProtected.Group("/media")
|
||||
media.GET("/platforms", mediaHandler.ListPlatforms)
|
||||
|
||||
@@ -157,6 +163,11 @@ func RegisterRoutes(app *bootstrap.App) {
|
||||
articles.PUT("/:id", artHandler.Update)
|
||||
articles.GET("/:id/stream", artHandler.Stream)
|
||||
articles.GET("/:id/versions", artHandler.Versions)
|
||||
articles.POST("/:id/compliance/check", complianceHandler.CheckArticle)
|
||||
articles.GET("/:id/compliance/latest", complianceHandler.LatestCheck)
|
||||
articles.POST("/:id/compliance/manual-reviews", complianceHandler.SubmitManualReview)
|
||||
articles.GET("/:id/compliance/manual-reviews/latest", complianceHandler.LatestManualReview)
|
||||
articles.POST("/:id/compliance/manual-reviews/:review_id/cancel", complianceHandler.CancelManualReview)
|
||||
articles.GET("/:id/publish-records", mediaHandler.ListPublishRecords)
|
||||
articles.DELETE("/:id", artHandler.Delete)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user