25 lines
1.2 KiB
Go
25 lines
1.2 KiB
Go
|
|
package entity
|
||
|
|
|
||
|
|
import (
|
||
|
|
"github.com/google/uuid"
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
type ArticleApprovalStepLogs struct {
|
||
|
|
ID uint `json:"id" gorm:"primaryKey;type:int4;autoIncrement"`
|
||
|
|
ApprovalFlowId uint `json:"approval_flow_id" gorm:"type:int4;not null"`
|
||
|
|
StepOrder int `json:"step_order" gorm:"type:int4;not null"`
|
||
|
|
StepName string `json:"step_name" gorm:"type:varchar;not null"`
|
||
|
|
ApprovedById *uint `json:"approved_by_id" gorm:"type:int4"`
|
||
|
|
Action string `json:"action" gorm:"type:varchar;not null"` // approve, reject, request_revision
|
||
|
|
Message *string `json:"message" gorm:"type:text"`
|
||
|
|
ProcessedAt time.Time `json:"processed_at" gorm:"default:now()"`
|
||
|
|
UserLevelId uint `json:"user_level_id" gorm:"type:int4;not null"`
|
||
|
|
ClientId *uuid.UUID `json:"client_id" gorm:"type:UUID"`
|
||
|
|
CreatedAt time.Time `json:"created_at" gorm:"default:now()"`
|
||
|
|
|
||
|
|
// Relations
|
||
|
|
ApprovalFlow ArticleApprovalFlows `json:"approval_flow" gorm:"foreignKey:ApprovalFlowId;constraint:OnDelete:CASCADE"`
|
||
|
|
ApprovedBy Users `json:"approved_by" gorm:"foreignKey:ApprovedById"`
|
||
|
|
UserLevel UserLevels `json:"user_level" gorm:"foreignKey:UserLevelId"`
|
||
|
|
}
|