feat(assignment-policies): align chatwoot payloads

This commit is contained in:
2026-06-06 10:44:24 +08:00
parent c111926f56
commit 8712358a8f
8 changed files with 551 additions and 206 deletions
+13 -7
View File
@@ -1683,23 +1683,29 @@ func registerV1Routes(g *gin.RouterGroup, h *Handlers) {
// Reference: Chatwoot resources :assignment_policies
assignmentPolicies := accountScoped.Group("/assignment_policies")
{
assignmentPolicies.GET("/", h.AssignmentPolicy.GetAccountPolicy)
assignmentPolicies.GET("", h.AssignmentPolicy.ListAccountPolicies)
assignmentPolicies.GET("/", h.AssignmentPolicy.ListAccountPolicies)
assignmentPolicies.POST("", h.AssignmentPolicy.CreateAccountPolicy)
assignmentPolicies.POST("/", h.AssignmentPolicy.CreateAccountPolicy)
assignmentPolicies.GET("/:policy_id", h.AssignmentPolicy.GetAccountPolicy)
assignmentPolicies.PUT("/:policy_id", h.AssignmentPolicy.UpdateAccountPolicy)
assignmentPolicies.PATCH("/:policy_id", h.AssignmentPolicy.UpdateAccountPolicy)
assignmentPolicies.DELETE("/:policy_id", h.AssignmentPolicy.DeleteAccountPolicy)
// Nested inboxes (Chatwoot: resources :assignment_policy_inboxes)
assignmentPolicies.GET("/:policy_id/inboxes", h.AssignmentPolicy.GetInboxPolicy)
assignmentPolicies.POST("/:policy_id/inboxes", h.AssignmentPolicy.CreateInboxPolicy)
assignmentPolicies.DELETE("/:policy_id/inboxes/:inbox_id", h.AssignmentPolicy.DeleteInboxPolicy)
assignmentPolicies.GET("/:policy_id/inboxes", h.AssignmentPolicy.ListPolicyInboxes)
assignmentPolicies.POST("/:policy_id/inboxes", h.AssignmentPolicy.AddPolicyInbox)
assignmentPolicies.DELETE("/:policy_id/inboxes/:inbox_id", h.AssignmentPolicy.RemovePolicyInbox)
}
// Inbox-level assignment policy overrides (nested under inboxes)
inboxAssignment := accountScoped.Group("/inboxes/:inbox_id/assignment_policy")
{
inboxAssignment.GET("/", h.AssignmentPolicyV2.GetInboxPolicy)
inboxAssignment.POST("/", h.AssignmentPolicyV2.SetInboxPolicy)
inboxAssignment.DELETE("/", h.AssignmentPolicyV2.DeleteInboxPolicy)
inboxAssignment.GET("", h.AssignmentPolicy.GetInboxPolicy)
inboxAssignment.GET("/", h.AssignmentPolicy.GetInboxPolicy)
inboxAssignment.POST("", h.AssignmentPolicy.CreateInboxPolicy)
inboxAssignment.POST("/", h.AssignmentPolicy.CreateInboxPolicy)
inboxAssignment.DELETE("", h.AssignmentPolicy.DeleteCurrentInboxPolicy)
inboxAssignment.DELETE("/", h.AssignmentPolicy.DeleteCurrentInboxPolicy)
inboxAssignment.PUT("/:policy_id", h.AssignmentPolicy.UpdateInboxPolicy)
inboxAssignment.DELETE("/:policy_id", h.AssignmentPolicy.DeleteInboxPolicy)
}