You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
332 lines
11 KiB
332 lines
11 KiB
package net |
|
|
|
import ( |
|
"go-common/app/admin/main/aegis/model/common" |
|
xtime "go-common/library/time" |
|
) |
|
|
|
const ( |
|
//StateAvailable . |
|
StateAvailable = "available" |
|
//StateDisable . |
|
StateDisable = "disable" |
|
) |
|
|
|
// ListNetParam . |
|
type ListNetParam struct { |
|
BusinessID int64 `json:"business_id" form:"business_id" validte:"omitempty,gt=0"` |
|
ID []int64 `json:"id" form:"id,split" validate:"omitempty,dive,gt=0"` |
|
State string `json:"state" form:"state"` |
|
Sort string `json:"sort" form:"sort" default:"desc"` |
|
Pn int64 `json:"pn" form:"pn" default:"1" validate:"gt=0"` |
|
Ps int64 `json:"ps" form:"ps" default:"30" validate:"gt=0"` |
|
} |
|
|
|
// ListNetItem . |
|
type ListNetItem struct { |
|
ID int64 `json:"id"` |
|
BusinessID int64 `json:"business_id"` |
|
ChName string `json:"ch_name"` |
|
Description string `json:"description"` |
|
StartFlowID int64 `json:"start_flow_id"` |
|
PID int64 `json:"pid" gorm:"column:pid"` |
|
UID int64 `json:"uid" gorm:"column:uid"` |
|
DisableTime xtime.Time `json:"disable_time"` |
|
Ctime common.FormatTime `json:"ctime"` |
|
Mtime common.FormatTime `json:"mtime"` |
|
BusinessName string `json:"business_name"` |
|
Username string `json:"username"` |
|
} |
|
|
|
// ListNetRes . |
|
type ListNetRes struct { |
|
Result []*ListNetItem `json:"result"` |
|
Pager Pager `json:"pager"` |
|
} |
|
|
|
// NetEditParam . |
|
type NetEditParam struct { |
|
ID int64 `form:"id" validate:"required,gt=0"` |
|
ChName string `form:"ch_name" validate:"required,max=32"` |
|
Description string `form:"description" validate:"max=60"` |
|
} |
|
|
|
// ListTokenParam . |
|
type ListTokenParam struct { |
|
NetID int64 `json:"net_id" form:"net_id" validate:"required,gt=0"` |
|
Name string `json:"name" form:"name" validate:"omitempty,max=10"` |
|
ID []int64 `json:"id" form:"id,split" validate:"omitempty,dive,gt=0"` |
|
Sort string `json:"sort" form:"sort" default:"desc"` |
|
Pn int64 `json:"pn" form:"pn" default:"1" validate:"gt=0"` |
|
Ps int64 `json:"ps" form:"ps" default:"30" validate:"gt=0"` |
|
Assign bool `json:"assign" form:"assign"` |
|
} |
|
|
|
// GroupTokenParam . |
|
type GroupTokenParam struct { |
|
BusinessID int64 `json:"business_id" form:"business_id" validate:"omitempty,gt=0"` |
|
NetID int64 `json:"net_id" form:"net_id" validate:"omitempty,gt=0"` |
|
GroupName string `json:"group_name" form:"group_name" validate:"omitempty,max=10"` |
|
} |
|
|
|
// ListTokenItem . |
|
type ListTokenItem struct { |
|
ID int64 `json:"id"` |
|
NetID int64 `json:"net_id"` |
|
ChName string `json:"ch_name"` |
|
Name string `json:"name"` |
|
Compare int8 `json:"compare"` |
|
Value string `json:"value"` |
|
Type int8 `json:"type"` |
|
UID int64 `json:"uid" gorm:"column:uid"` |
|
Ctime common.FormatTime `json:"ctime"` |
|
Mtime common.FormatTime `json:"mtime"` |
|
Username string `json:"username"` |
|
} |
|
|
|
// ListTokenRes . |
|
type ListTokenRes struct { |
|
Result []*ListTokenItem `json:"result"` |
|
Pager Pager `json:"pager"` |
|
} |
|
|
|
// ListNetElementParam . |
|
type ListNetElementParam struct { |
|
NetID int64 `json:"net_id" form:"net_id" validate:"required,gt=0"` |
|
Name string `json:"name" form:"name" validate:"omitempty,max=10"` |
|
ID []int64 `json:"id" form:"id,split" validate:"omitempty,dive,gt=0"` |
|
State string `json:"state" form:"state"` |
|
Sort string `json:"sort" form:"sort" default:"desc"` |
|
Pn int64 `json:"pn" form:"pn" default:"1" validate:"gt=0"` |
|
Ps int64 `json:"ps" form:"ps" default:"30" validate:"gt=0"` |
|
} |
|
|
|
// ListFlowItem . |
|
type ListFlowItem struct { |
|
ID int64 `json:"id"` |
|
NetID int64 `json:"net_id"` |
|
Name string `json:"name"` |
|
ChName string `json:"ch_name"` |
|
Description string `json:"description"` |
|
UID int64 `json:"uid" gorm:"column:uid"` |
|
DisableTime xtime.Time `json:"disable_time"` |
|
Ctime common.FormatTime `json:"ctime"` |
|
Mtime common.FormatTime `json:"mtime"` |
|
Username string `json:"username"` |
|
Tokens []string `json:"tokens"` |
|
IsStart bool `json:"is_start"` |
|
} |
|
|
|
// ListFlowRes . |
|
type ListFlowRes struct { |
|
Result []*ListFlowItem `json:"result"` |
|
Pager Pager `json:"pager"` |
|
} |
|
|
|
// ListTransitionItem . |
|
type ListTransitionItem struct { |
|
ID int64 `json:"id"` |
|
NetID int64 `json:"net_id"` |
|
Trigger int8 `json:"trigger"` |
|
Limit int64 `json:"limit"` |
|
Name string `json:"name"` |
|
ChName string `json:"ch_name"` |
|
Description string `json:"description"` |
|
UID int64 `json:"uid" gorm:"column:uid"` |
|
DisableTime xtime.Time `json:"disable_time"` |
|
Ctime common.FormatTime `json:"ctime"` |
|
Mtime common.FormatTime `json:"mtime"` |
|
Username string `json:"username"` |
|
Tokens []string `json:"tokens"` |
|
} |
|
|
|
// ListTransitionRes . |
|
type ListTransitionRes struct { |
|
Result []*ListTransitionItem `json:"result"` |
|
Pager Pager `json:"pager"` |
|
} |
|
|
|
// ListDirectionParam . |
|
type ListDirectionParam struct { |
|
NetID int64 `json:"net_id" form:"net_id" validate:"required,gt=0"` |
|
FlowID int64 `json:"flow_id" form:"flow_id" validate:"omitempty,gt=0"` |
|
TransitionID int64 `json:"transition_id" form:"transition_id" validate:"omitempty,gt=0"` |
|
Direction int8 `json:"direction" form:"direction"` |
|
ID []int64 `json:"id" form:"id,split" validate:"omitempty,dive,gt=0"` |
|
State string `json:"state" form:"state"` |
|
Sort string `json:"sort" form:"sort" default:"desc"` |
|
Pn int64 `json:"pn" form:"pn" default:"1" validate:"gt=0"` |
|
Ps int64 `json:"ps" form:"ps" default:"30" validate:"gt=0"` |
|
} |
|
|
|
// ListDirectionItem . |
|
type ListDirectionItem struct { |
|
ID int64 `json:"id"` |
|
NetID int64 `json:"net_id"` |
|
FlowID int64 `json:"flow_id"` |
|
TransitionID int64 `json:"transition_id"` |
|
Direction int8 `json:"direction"` |
|
Order int8 `json:"order"` |
|
Guard string `json:"guard"` |
|
Output string `json:"output"` |
|
UID int64 `json:"uid" gorm:"column:uid"` |
|
DisableTime xtime.Time `json:"disable_time"` |
|
Ctime common.FormatTime `json:"ctime"` |
|
Mtime common.FormatTime `json:"mtime"` |
|
FlowName string `json:"flow_name"` |
|
TransitionName string `json:"transition_name"` |
|
UserName string `json:"user_name"` |
|
NetName string `json:"net_name"` |
|
} |
|
|
|
// ListDirectionRes . |
|
type ListDirectionRes struct { |
|
Result []*ListDirectionItem `json:"result"` |
|
Pager Pager `json:"pager"` |
|
} |
|
|
|
// SwitchParam . |
|
type SwitchParam struct { |
|
ID int64 `json:"id" form:"id" validate:"required,gt=0"` |
|
Disable bool `json:"disable" form:"disable"` |
|
} |
|
|
|
// FlowEditParam . |
|
type FlowEditParam struct { |
|
NetID int64 `form:"net_id" validate:"omitempty,gt=0"` |
|
ID int64 `form:"id" validate:"omitempty,gt=0"` |
|
Name string `form:"name" validate:"required,max=32"` |
|
ChName string `form:"ch_name" validate:"required,max=16"` |
|
Description string `form:"description" validate:"max=60"` |
|
IsStart bool `form:"is_start" default:"false"` |
|
TokenIDList []int64 `form:"token_id_list,split" validate:"omitempty,dive,gt=0"` |
|
} |
|
|
|
// TokenBindParam . |
|
type TokenBindParam struct { |
|
ID int64 `json:"id,omitemtpy"` |
|
ChName string `json:"ch_name,omitempty"` |
|
TokenID string `json:"token_id"` |
|
Type int8 `json:"type"` |
|
} |
|
|
|
// TransitionEditParam . |
|
type TransitionEditParam struct { |
|
NetID int64 `json:"net_id" validate:"omitempty,gt=0"` |
|
ID int64 `json:"id" validate:"omitempty,gt=0"` |
|
Trigger int8 `json:"trigger" validate:"omitempty,min=1,max=1"` |
|
Limit int64 `json:"limit"` |
|
Name string `json:"name" validate:"required,max=32"` |
|
ChName string `json:"ch_name" validate:"required,max=16"` |
|
Description string `json:"description" validate:"max=60"` |
|
TokenList []*TokenBindParam `json:"token_list" validate:"required,gt=0" ` |
|
} |
|
|
|
// DirEditParam . |
|
type DirEditParam struct { |
|
ID int64 `form:"id" validate:"omitempty,gt=0"` |
|
NetID int64 `form:"net_id" validate:"omitempty,gt=0"` |
|
FlowID int64 `form:"flow_id" validate:"required,gt=0"` |
|
TransitionID int64 `form:"transition_id" validate:"required,gt=0"` |
|
Direction int8 `form:"direction" validate:"required,min=1,max=2"` |
|
Order int8 `form:"order" validate:"min=0,max=0"` |
|
Output string |
|
Guard string |
|
} |
|
|
|
// Pager . |
|
type Pager struct { |
|
Num int64 `json:"num"` |
|
Size int64 `json:"size"` |
|
Total int64 `json:"total"` |
|
} |
|
|
|
// ShowFlowResult . |
|
type ShowFlowResult struct { |
|
Flow *Flow `json:"flow"` |
|
Tokens []*TokenBind `json:"tokens"` |
|
IsStart bool `json:"is_start"` |
|
} |
|
|
|
// ShowTransitionResult . |
|
type ShowTransitionResult struct { |
|
Transition *Transition `json:"transition"` |
|
Tokens []*TokenBind `json:"tokens"` |
|
} |
|
|
|
// ShowDirectionResult . |
|
type ShowDirectionResult struct { |
|
Direction *Direction `json:"direction"` |
|
FlowName string `json:"flow_name"` |
|
TransitionName string `json:"transition_name"` |
|
} |
|
|
|
// TokenPackage . |
|
type TokenPackage struct { |
|
Values map[string]interface{} `json:"values"` |
|
TokenIDList []int64 `json:"token_id_list"` |
|
ChName string `json:"ch_name"` |
|
HitAudit bool `json:"hit_audit"` |
|
} |
|
|
|
// TriggerResult . |
|
type TriggerResult struct { |
|
RID int64 `json:"rid"` |
|
NetID int64 `json:"net_id"` |
|
SubmitToken *TokenPackage `json:"submit_token"` |
|
ResultToken *TokenPackage `json:"result_token"` |
|
NewFlowID int64 `json:"new_flow_id"` |
|
OldFlowID string `json:"old_flow_id"` //可能有多个旧节点 |
|
TransitionID []int64 `json:"transition_id"` |
|
From string `json:"from"` |
|
} |
|
|
|
// TranOperation . |
|
type TranOperation struct { |
|
BindIDList string `json:"bind_id_list"` |
|
ChName string `json:"ch_name"` |
|
} |
|
|
|
// TranOperationArr . |
|
type TranOperationArr []*TranOperation |
|
|
|
func (a TranOperationArr) Len() int { |
|
return len(a) |
|
} |
|
|
|
func (a TranOperationArr) Less(i, j int) bool { |
|
return a[i].BindIDList < a[j].BindIDList |
|
} |
|
|
|
func (a TranOperationArr) Swap(i, j int) { |
|
a[i], a[j] = a[j], a[i] |
|
} |
|
|
|
// TransitionInfo . |
|
type TransitionInfo struct { |
|
RID int64 `json:"rid"` |
|
FlowID int64 `json:"flow_id"` |
|
Operations []*TranOperation `json:"operations"` |
|
} |
|
|
|
// JumpFlowResult . |
|
type JumpFlowResult struct { |
|
RID int64 `json:"rid"` |
|
NetID int64 `json:"net_id"` |
|
SubmitToken *TokenPackage `json:"submit_token"` |
|
ResultToken *TokenPackage `json:"result_token"` |
|
NewFlowID int64 `json:"new_flow_id"` |
|
OldFlowID string `json:"old_flow_id"` |
|
} |
|
|
|
// SimpleInfo . |
|
type SimpleInfo struct { |
|
ID int64 `json:"id"` |
|
ChName string `json:"ch_name"` |
|
} |
|
|
|
// JumpInfo . |
|
type JumpInfo struct { |
|
Flows []*SimpleInfo `json:"flows"` |
|
Operations []*TranOperation `json:"operations"` |
|
}
|
|
|