qudoco-be/app/module/client_approval_settings/response/client_approval_settings.re...

83 lines
2.9 KiB
Go

package response
import (
"time"
)
type ClientApprovalSettingsResponse struct {
ID uint `json:"id"`
ClientId string `json:"clientId"`
RequiresApproval bool `json:"requiresApproval"`
DefaultWorkflowId *uint `json:"defaultWorkflowId,omitempty"`
AutoPublishArticles bool `json:"autoPublishArticles"`
ApprovalExemptUsers []uint `json:"approvalExemptUsers"`
ApprovalExemptRoles []uint `json:"approvalExemptRoles"`
ApprovalExemptCategories []uint `json:"approvalExemptCategories"`
RequireApprovalFor []string `json:"requireApprovalFor"`
SkipApprovalFor []string `json:"skipApprovalFor"`
IsActive bool `json:"isActive"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
type ClientApprovalSettingsDetailResponse struct {
ID uint `json:"id"`
ClientId string `json:"clientId"`
RequiresApproval bool `json:"requiresApproval"`
DefaultWorkflowId *uint `json:"defaultWorkflowId,omitempty"`
AutoPublishArticles bool `json:"autoPublishArticles"`
ApprovalExemptUsers []uint `json:"approvalExemptUsers"`
ApprovalExemptRoles []uint `json:"approvalExemptRoles"`
ApprovalExemptCategories []uint `json:"approvalExemptCategories"`
RequireApprovalFor []string `json:"requireApprovalFor"`
SkipApprovalFor []string `json:"skipApprovalFor"`
IsActive bool `json:"isActive"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
// Relations
Client *ClientResponse `json:"client,omitempty"`
Workflow *WorkflowResponse `json:"workflow,omitempty"`
}
type ClientResponse struct {
ID uint `json:"id"`
Name string `json:"name"`
IsActive bool `json:"isActive"`
}
type WorkflowResponse struct {
ID uint `json:"id"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
IsActive bool `json:"isActive"`
}
type ApprovalStatusResponse struct {
RequiresApproval bool `json:"requiresApproval"`
AutoPublishArticles bool `json:"autoPublishArticles"`
IsActive bool `json:"isActive"`
Message string `json:"message,omitempty"`
}
type ExemptUserResponse struct {
UserId uint `json:"userId"`
Reason string `json:"reason,omitempty"`
}
type ExemptRoleResponse struct {
RoleId uint `json:"roleId"`
Reason string `json:"reason,omitempty"`
}
type ExemptCategoryResponse struct {
CategoryId uint `json:"categoryId"`
Reason string `json:"reason,omitempty"`
}
type ApprovalTransitionResponse struct {
Success bool `json:"success"`
Message string `json:"message"`
AffectedArticles int `json:"affectedArticles,omitempty"`
}