go-common/app/admin/main/aegis/model/net/params.go
2019-04-22 18:49:16 +08:00

333 lines
11 KiB
Go

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"`
}