feat: complete pet SOP governance workflow
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"git.iwork-ai.com/xdc/iqudo-top1/internal/auth"
|
||||
"git.iwork-ai.com/xdc/iqudo-top1/internal/dashboard"
|
||||
"git.iwork-ai.com/xdc/iqudo-top1/internal/knowledge"
|
||||
"git.iwork-ai.com/xdc/iqudo-top1/internal/member"
|
||||
"git.iwork-ai.com/xdc/iqudo-top1/internal/middleware"
|
||||
runhandler "git.iwork-ai.com/xdc/iqudo-top1/internal/run"
|
||||
"git.iwork-ai.com/xdc/iqudo-top1/internal/scenario"
|
||||
@@ -31,6 +32,7 @@ func New(db *gorm.DB, authService *auth.Service, frontend fs.FS, log *zap.Logger
|
||||
sopHandler := sop.NewHandler(db)
|
||||
runHandler := runhandler.NewHandler(db)
|
||||
knowledgeHandler := knowledge.NewHandler(db)
|
||||
memberHandler := member.NewHandler(db)
|
||||
dashboardHandler := dashboard.NewHandler(db)
|
||||
|
||||
api := router.Group("/api/v1")
|
||||
@@ -43,39 +45,45 @@ func New(db *gorm.DB, authService *auth.Service, frontend fs.FS, log *zap.Logger
|
||||
protected := api.Group("")
|
||||
protected.Use(middleware.Authenticate(authService))
|
||||
protected.GET("/auth/me", authHandler.Me)
|
||||
protected.GET("/dashboard/summary", dashboardHandler.Summary)
|
||||
protected.GET("/members", middleware.RequirePermission("member.manage"), memberHandler.List)
|
||||
protected.POST("/members", middleware.RequirePermission("member.manage"), memberHandler.Create)
|
||||
protected.PUT("/members/:id", middleware.RequirePermission("member.manage"), memberHandler.Update)
|
||||
protected.GET("/dashboard/summary", middleware.RequirePermission("dashboard.view"), dashboardHandler.Summary)
|
||||
|
||||
protected.GET("/scenarios", scenarioHandler.List)
|
||||
protected.POST("/scenarios", scenarioHandler.Create)
|
||||
protected.GET("/scenarios/:id", scenarioHandler.Get)
|
||||
protected.PUT("/scenarios/:id", scenarioHandler.Update)
|
||||
protected.DELETE("/scenarios/:id", scenarioHandler.Archive)
|
||||
protected.POST("/scenarios/:id/fields", scenarioHandler.CreateField)
|
||||
protected.PUT("/scenario-fields/:fieldId", scenarioHandler.UpdateField)
|
||||
protected.DELETE("/scenario-fields/:fieldId", scenarioHandler.DeleteField)
|
||||
protected.GET("/scenarios", middleware.RequirePermission("scenario.view"), scenarioHandler.List)
|
||||
protected.POST("/scenarios", middleware.RequirePermission("scenario.edit"), scenarioHandler.Create)
|
||||
protected.GET("/scenarios/:id", middleware.RequirePermission("scenario.view"), scenarioHandler.Get)
|
||||
protected.PUT("/scenarios/:id", middleware.RequirePermission("scenario.edit"), scenarioHandler.Update)
|
||||
protected.DELETE("/scenarios/:id", middleware.RequirePermission("scenario.edit"), scenarioHandler.Archive)
|
||||
protected.POST("/scenarios/:id/fields", middleware.RequirePermission("scenario.edit"), scenarioHandler.CreateField)
|
||||
protected.PUT("/scenario-fields/:fieldId", middleware.RequirePermission("scenario.edit"), scenarioHandler.UpdateField)
|
||||
protected.DELETE("/scenario-fields/:fieldId", middleware.RequirePermission("scenario.edit"), scenarioHandler.DeleteField)
|
||||
|
||||
protected.GET("/sops", sopHandler.List)
|
||||
protected.GET("/scenarios/:id/sops", sopHandler.List)
|
||||
protected.POST("/scenarios/:id/sops", sopHandler.Create)
|
||||
protected.GET("/sops/:id", sopHandler.Get)
|
||||
protected.PUT("/sops/:id/draft", sopHandler.SaveGraph)
|
||||
protected.POST("/sops/:id/validate", sopHandler.Validate)
|
||||
protected.POST("/sops/:id/submit-review", sopHandler.SubmitReview)
|
||||
protected.POST("/sops/:id/publish", sopHandler.Publish)
|
||||
protected.POST("/sops/:id/offline", sopHandler.Offline)
|
||||
protected.POST("/sops/:id/versions", sopHandler.CreateVersion)
|
||||
protected.GET("/sops", middleware.RequirePermission("sop.view"), sopHandler.List)
|
||||
protected.GET("/scenarios/:id/sops", middleware.RequirePermission("sop.view"), sopHandler.List)
|
||||
protected.POST("/scenarios/:id/sops", middleware.RequirePermission("sop.edit"), sopHandler.Create)
|
||||
protected.GET("/sops/:id", middleware.RequirePermission("sop.view"), sopHandler.Get)
|
||||
protected.PUT("/sops/:id/draft", middleware.RequirePermission("sop.edit"), sopHandler.SaveGraph)
|
||||
protected.POST("/sops/:id/validate", middleware.RequireAnyPermission("sop.view", "sop.edit"), sopHandler.Validate)
|
||||
protected.POST("/sops/:id/submit-review", middleware.RequirePermission("sop.submit_review"), sopHandler.SubmitReview)
|
||||
protected.POST("/sops/:id/publish", middleware.RequirePermission("sop.publish"), sopHandler.Publish)
|
||||
protected.POST("/sops/:id/reject", middleware.RequirePermission("sop.review"), sopHandler.Reject)
|
||||
protected.POST("/sops/:id/offline", middleware.RequirePermission("sop.publish"), sopHandler.Offline)
|
||||
protected.POST("/sops/:id/versions", middleware.RequirePermission("sop.edit"), sopHandler.CreateVersion)
|
||||
protected.GET("/reviews", middleware.RequirePermission("sop.review"), sopHandler.Reviews)
|
||||
|
||||
protected.GET("/published-sops", runHandler.PublishedSOPs)
|
||||
protected.GET("/runs", runHandler.List)
|
||||
protected.POST("/runs", runHandler.Start)
|
||||
protected.GET("/runs/:id", runHandler.Get)
|
||||
protected.POST("/runs/:id/answer", runHandler.Answer)
|
||||
protected.POST("/runs/:id/finish", runHandler.Finish)
|
||||
protected.POST("/runs/:id/feedback", runHandler.Feedback)
|
||||
protected.GET("/published-sops", middleware.RequirePermission("sop.execute"), runHandler.PublishedSOPs)
|
||||
protected.GET("/runs", middleware.RequireAnyPermission("runs.view_all", "runs.view_own"), runHandler.List)
|
||||
protected.POST("/runs", middleware.RequirePermission("sop.execute"), runHandler.Start)
|
||||
protected.GET("/runs/:id", middleware.RequireAnyPermission("runs.view_all", "runs.view_own"), runHandler.Get)
|
||||
protected.GET("/runs/:id/detail", middleware.RequireAnyPermission("runs.view_all", "runs.view_own"), runHandler.Detail)
|
||||
protected.POST("/runs/:id/answer", middleware.RequirePermission("sop.execute"), runHandler.Answer)
|
||||
protected.POST("/runs/:id/finish", middleware.RequirePermission("sop.execute"), runHandler.Finish)
|
||||
protected.POST("/runs/:id/feedback", middleware.RequirePermission("runs.feedback"), runHandler.Feedback)
|
||||
|
||||
protected.GET("/knowledge-cards", knowledgeHandler.List)
|
||||
protected.POST("/knowledge-cards", knowledgeHandler.Create)
|
||||
protected.DELETE("/knowledge-cards/:id", knowledgeHandler.Delete)
|
||||
protected.GET("/knowledge-cards", middleware.RequirePermission("knowledge.view"), knowledgeHandler.List)
|
||||
protected.POST("/knowledge-cards", middleware.RequirePermission("knowledge.edit"), knowledgeHandler.Create)
|
||||
protected.DELETE("/knowledge-cards/:id", middleware.RequirePermission("knowledge.edit"), knowledgeHandler.Delete)
|
||||
|
||||
router.NoRoute(spaHandler(frontend))
|
||||
return router
|
||||
|
||||
Reference in New Issue
Block a user