package base

type FsmTransition struct {
	Uuid                   string              `db:"uuid"`
	FsmUuid                string              `db:"fsm_uuid"`
	Name                   string              `db:"name"`
	Code                   string              `db:"code"`
	From                   string              `db:"from"`
	To                     string              `db:"to"`
	ResourceUuid           string              `db:"resource_uuid"`
	FsmName                string              `db:"fsm_name"`
	PrimaryKey             string              `db:"primaryKey"`
	StatusField            string              `db:"statusField"`
	StatusOptions          []map[string]string `db:"statusOptions"`
	IsPopConfirm           bool                `db:"isPopConfirm"`
	PopTitle               string              `db:"popTitle"`
	PopOkText              string              `db:"popOkText"`
	PopCancelText          string              `db:"popCancelText"`
	PopOkType              string              `db:"popOkType"`
	PopPlacement           string              `db:"popPlacement"`
	WidgetContainerSetting map[string]any      `db:"widgetContainerSetting"`
	Roles                  []string            `db:"roles"`
	OperationRoles         []string            `db:"operationRoles"`
	IsWithLayoutForm       bool                `db:"isWithLayoutForm"`
	UpdatedAt              string              `db:"updated_at"`
	CreatedAt              string              `db:"created_at"`
}

type GetFsmTransition func(uuid string) (FsmTransition, bool)

type GetFsmTransitions func(code string) []FsmTransition