Documentation ¶
Index ¶
- Constants
- Variables
- type AddConfig
- type AddNamespace
- type AddProject
- type AddProjectGroup
- type AddPublish
- type AddStaff
- type Config
- type ConfigContent
- type ConfigCopy
- type ConfigHistory
- type ConfigHistoryList
- type ConfigHistoryOpType
- type ConfigInfo
- type ConfigLink
- type ConfigNode
- type ConfigType
- type EditConfig
- type EditNamespace
- type EditProject
- type EditProjectGroup
- type EditStaff
- type GrantStaff
- type LoginParams
- type LoginResponse
- type Namespace
- type NamespaceList
- type Project
- type ProjectGroup
- type ProjectGroupList
- type ProjectList
- type ProjectTree
- type Publish
- type PublishConfig
- type PublishConfigList
- type PublishStrategy
- type Role
- type RollbackConfig
- type RollbackPublish
- type Staff
- type StaffGroup
- type StaffGroupRel
- type StaffList
- type StaffRole
Constants ¶
const ( PublishStatusRelease = iota + 1 // 发布期 PublishStatusLock // 锁定期 PublishStatusEnd // 已结束 )
const (
StaffGroupRelKey = "StaffGroupRelKey"
)
Variables ¶
var ConfigColumns = struct { ID string Name string ProjectID string ProjectGroupID string NamespaceID string IsPublic string IsLinkPublic string IsEncrypt string ConfigType string }{ ID: "id", Name: "name", ProjectID: "project_id", ProjectGroupID: "project_group_id", NamespaceID: "namespace_id", IsPublic: "is_public", IsLinkPublic: "is_link_public", IsEncrypt: "is_encrypt", ConfigType: "config_type", }
ConfigColumns get sql column name.获取数据库列名
var ConfigHistoryColumns = struct { ID string ConfigID string Reversion string OpType string CreateTime string CreateBy string }{ ID: "id", ConfigID: "config_id", Reversion: "reversion", OpType: "op_type", CreateTime: "create_time", CreateBy: "create_by", }
ConfigHistoryColumns get sql column name.获取数据库列名
var ConfigLinkColumns = struct { ID string ConfigID string PublicConfigID string }{ ID: "id", ConfigID: "config_id", PublicConfigID: "public_config_id", }
ConfigLinkColumns get sql column name.获取数据库列名
var ErrNotEncryptNamespace = errors.New("ErrNotEncryptNamespace")
var NamespaceColumns = struct { ID string ProjectGroupID string Name string RealTime string SecretKey string CreateTime string CreateBy string DeleteTime string }{ ID: "id", ProjectGroupID: "project_group_id", Name: "name", RealTime: "real_time", SecretKey: "secret_key", CreateTime: "create_time", CreateBy: "create_by", DeleteTime: "delete_time", }
NamespaceColumns get sql column name.获取数据库列名
var ProjectColumns = struct { ID string ProjectGroupID string Key string Name string CreateTime string CreateBy string DeleteTime string }{ ID: "id", ProjectGroupID: "project_group_id", Key: "key", Name: "name", CreateTime: "create_time", CreateBy: "create_by", DeleteTime: "delete_time", }
ProjectColumns get sql column name.获取数据库列名
var ProjectGroupColumns = struct { ID string Name string CreateTime string CreateBy string DeleteTime string }{ ID: "id", Name: "name", CreateTime: "create_time", CreateBy: "create_by", DeleteTime: "delete_time", }
ProjectGroupColumns get sql column name.获取数据库列名
var PublishColumns = struct { ID string ProjectID string NamespaceID string PublishToken string Status string CreateTime string UpdateTime string }{ ID: "id", ProjectID: "project_id", NamespaceID: "namespace_id", PublishToken: "publish_token", Status: "status", CreateTime: "create_time", UpdateTime: "update_time", }
PublishColumns get sql column name.获取数据库列名
var PublishConfigColumns = struct { ID string PublishID string ConfigID string ConfigPreReversion string Status string CreateTime string UpdateTime string }{ ID: "id", PublishID: "publish_id", ConfigID: "config_id", ConfigPreReversion: "config_pre_reversion", Status: "status", CreateTime: "create_time", UpdateTime: "update_time", }
PublishConfigColumns get sql column name.获取数据库列名
var PublishStatusText = map[int]string{ 0: "", PublishStatusRelease: "待发布", PublishStatusLock: "锁定中", PublishStatusEnd: "发布结束", }
var PublishStrategyColumns = struct { ID string PublishID string Type string Data string Status string Result string CreateTime string UpdateTime string }{ ID: "id", PublishID: "publish_id", Type: "type", Data: "data", Status: "status", Result: "result", CreateTime: "create_time", UpdateTime: "update_time", }
PublishStrategyColumns get sql column name.获取数据库列名
var StaffColumns = struct { ID string Name string Password string RefreshToken string CreateTime string CreateBy string }{ ID: "id", Name: "name", Password: "password", RefreshToken: "refresh_token", CreateTime: "create_time", CreateBy: "create_by", }
StaffColumns get sql column name.获取数据库列名
var StaffGroupRelColumns = struct { ID string ProjectGroupID string StaffID string RoleType string }{ ID: "id", ProjectGroupID: "project_group_id", StaffID: "staff_id", RoleType: "role_type", }
StaffGroupRelColumns get sql column name.获取数据库列名
Functions ¶
This section is empty.
Types ¶
type AddConfig ¶
type AddConfig struct { Name string `json:"name" v:"required|regex:^[a-zA-Z][\\w_\\-.]{1,9}"` ProjectGroupID int `json:"project_group_id" v:"required"` ProjectID int `json:"project_id" ` // 公共配置可以不传projectID NamespaceID int `json:"namespace_id" v:"required"` IsPublic bool `json:"is_public"` IsLinkPublic bool `json:"is_link_public"` IsEncrypt bool `json:"is_encrypt"` Type ConfigType `json:"type" v:"required"` Content ConfigContent `json:"content" ` PublicConfigID int `json:"public_config_id"` }
type AddNamespace ¶
type AddProject ¶
type AddProjectGroup ¶
type AddProjectGroup struct {
Name string `json:"name" v:"required|length:3,10"`
}
type AddPublish ¶
type AddStaff ¶
type AddStaff struct {
Name string `json:"name" v:"required|regex:^[a-zA-Z][\\w]{2,9}"` // 员工标识
}
type Config ¶
type Config struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` Name string `gorm:"uniqueIndex:project_id;column:name;type:varchar(50);not null"` ProjectID int `gorm:"uniqueIndex:project_id;column:project_id;type:int(11);not null"` ProjectGroupID int `gorm:"uniqueIndex:project_id;column:project_group_id;type:int(11);not null"` // 公共配置只有project_group_id NamespaceID int `gorm:"uniqueIndex:project_id;column:namespace_id;type:int(11);not null"` IsPublic bool `gorm:"column:is_public;type:tinyint(1);not null"` IsLinkPublic bool `gorm:"column:is_link_public;type:tinyint(1);not null"` IsEncrypt bool `gorm:"column:is_encrypt;type:tinyint(1);not null"` ConfigType string `gorm:"uniqueIndex:project_id;column:config_type;type:varchar(10);not null"` }
Config [...]
type ConfigContent ¶
type ConfigContent string
func (ConfigContent) Valid ¶
func (c ConfigContent) Valid(t ConfigType) bool
type ConfigCopy ¶
type ConfigHistory ¶
type ConfigHistory struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` ConfigID int `gorm:"uniqueIndex:config_id;column:config_id;type:int(11);not null"` Reversion int `gorm:"uniqueIndex:config_id;column:reversion;type:int(11);not null"` OpType int8 `gorm:"column:op_type;type:tinyint(4);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` CreateBy int `gorm:"column:create_by;type:int(11);not null"` }
ConfigHistory [...]
type ConfigHistoryList ¶
type ConfigHistoryOpType ¶
type ConfigHistoryOpType int
const ( OpTypeAdd ConfigHistoryOpType = iota + 1 OpTypeEdit OpTypeRollback OpTypeLink )
func (ConfigHistoryOpType) String ¶
func (o ConfigHistoryOpType) String() string
type ConfigInfo ¶
type ConfigInfo struct { ConfigID int `json:"config_id"` ConfigKey string `json:"config_key"` Name string `json:"name"` Type string `json:"type"` Content string `json:"content"` IsPublic bool `json:"is_public"` IsLinkPublic bool `json:"is_link_public"` IsEncrypt bool `json:"is_encrypt"` PublishStatus string `json:"publish_status"` // 发布状态 }
type ConfigLink ¶
type ConfigLink struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` ConfigID int `gorm:"uniqueIndex:config_id;column:config_id;type:int(11);not null"` PublicConfigID int `gorm:"uniqueIndex:config_id;index:public_config_id;column:public_config_id;type:int(11);not null"` }
ConfigLink [...]
type ConfigNode ¶
type ConfigType ¶
type ConfigType string
const ( ConfigTypeCustom ConfigType = "custom" ConfigTypeToml ConfigType = "toml" ConfigTypeYaml ConfigType = "yaml" ConfigTypeJson ConfigType = "json" ConfigTypeIni ConfigType = "ini" ConfigTypeProperties ConfigType = "properties" )
func (ConfigType) AllConfigType ¶
func (c ConfigType) AllConfigType() []ConfigType
func (ConfigType) Valid ¶
func (c ConfigType) Valid() bool
type EditConfig ¶
type EditConfig struct { ConfigID int `json:"config_id" v:"required"` Content ConfigContent `json:"content" v:"required"` }
type EditNamespace ¶
type EditProject ¶
type EditProjectGroup ¶
type GrantStaff ¶
type LoginParams ¶
type LoginResponse ¶
type Namespace ¶
type Namespace struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` ProjectGroupID int `gorm:"uniqueIndex:project_group_id;column:project_group_id;type:int(11);not null"` Name string `gorm:"uniqueIndex:project_group_id;column:name;type:varchar(50);not null"` RealTime bool `gorm:"column:real_time;type:tinyint(1);not null"` // 是否是实时发布 SecretKey string `gorm:"column:secret_key;type:varchar(100);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` CreateBy int `gorm:"column:create_by;type:int(11);not null"` DeleteTime int `gorm:"column:delete_time;type:int(11);not null;default:0"` }
Namespace [...]
type NamespaceList ¶
type NamespaceList struct { NamespaceID int `json:"namespace_id"` ProjectGroupID int `json:"project_group_id"` ProjectGroupName string `json:"project_group_name"` Name string `json:"name"` RealTime bool `json:"real_time"` // 是否灰度 SecretKey string `json:"secret_key"` CreateBy int `json:"create_by"` CreateByName string `json:"create_by_name"` CreateTime int64 `json:"create_time"` }
type Project ¶
type Project struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` ProjectGroupID int `gorm:"index:project_group_id;column:project_group_id;type:int(11);not null"` Key string `gorm:"unique;column:key;type:varchar(50);not null"` Name string `gorm:"column:name;type:varchar(50);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` CreateBy int `gorm:"column:create_by;type:int(11);not null"` DeleteTime int `gorm:"column:delete_time;type:int(11);not null;default:0"` }
Project [...]
type ProjectGroup ¶
type ProjectGroup struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` Name string `gorm:"unique;column:name;type:varchar(50);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` CreateBy int `gorm:"column:create_by;type:int(11);not null"` DeleteTime int `gorm:"column:delete_time;type:int(11);not null;default:0"` }
ProjectGroup [...]
type ProjectGroupList ¶
type ProjectList ¶
type ProjectList struct { ProjectID int `json:"project_id"` ProjectGroupID int `json:"project_group_id"` ProjectGroupName string `json:"project_group_name"` Key string `json:"key"` Name string `json:"name"` CreateBy int `json:"create_by"` CreateByName string `json:"create_by_name"` CreateTime int64 `json:"create_time"` Managed bool `json:"managed"` }
type ProjectTree ¶
type Publish ¶ added in v0.6.0
type Publish struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` ProjectID int `gorm:"index:project_id;column:project_id;type:int(11);not null"` NamespaceID int `gorm:"index:project_id;column:namespace_id;type:int(11);not null"` PublishToken string `gorm:"column:publish_token;type:varchar(50);not null"` Status int8 `gorm:"index:project_id;column:status;type:tinyint(4);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` UpdateTime time.Time `gorm:"column:update_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` }
Publish [...]
type PublishConfig ¶
type PublishConfig struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` PublishID int `gorm:"index:publish_id;column:publish_id;type:int(11);not null"` ConfigID int `gorm:"index:config_id;column:config_id;type:int(11);not null"` ConfigPreReversion int `gorm:"column:config_pre_reversion;type:int(11);not null"` Status int `gorm:"column:status;type:int(11);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` UpdateTime time.Time `gorm:"column:update_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` }
PublishConfig [...]
type PublishConfigList ¶
type PublishConfigList struct { PublishID int `json:"publish_id"` NamespaceID int `json:"namespace_id"` NamespaceName string `json:"namespace_name"` PublishType int `json:"publish_type"` PublishTypeStr string `json:"publish_type_str"` PublishConfigs []string `json:"publish_configs"` CreateBy int `json:"create_by"` CreateByName string `json:"create_by_name"` CreateTime int64 `json:"create_time"` Status int `json:"status"` StatusStr string `json:"status_str"` }
type PublishStrategy ¶ added in v0.6.0
type PublishStrategy struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` PublishID int `gorm:"index:publish_id;column:publish_id;type:int(11);not null"` Type int8 `gorm:"column:type;type:tinyint(4);not null"` // 发布类型 Data datatypes.JSON `gorm:"column:data;type:json;not null"` Status int8 `gorm:"column:status;type:tinyint(4);not null"` Result string `gorm:"column:result;type:varchar(500);not null"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` UpdateTime time.Time `gorm:"column:update_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` }
PublishStrategy [...]
type RollbackConfig ¶
type RollbackPublish ¶
type RollbackPublish struct {
PublishID int `json:"publish_id"`
}
type Staff ¶
type Staff struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` Name string `gorm:"unique;column:name;type:varchar(30);not null"` Password string `gorm:"column:password;type:varchar(100);not null"` RefreshToken string `gorm:"column:refresh_token;type:varchar(200);not null;default:''"` CreateTime time.Time `gorm:"column:create_time;type:timestamp;not null;default:CURRENT_TIMESTAMP"` CreateBy int `gorm:"column:create_by;type:int(11);not null"` }
Staff [...]
type StaffGroup ¶
type StaffGroupRel ¶
type StaffGroupRel struct { ID int `gorm:"primaryKey;column:id;type:int(11);not null"` ProjectGroupID int `gorm:"index:project_group_id;column:project_group_id;type:int(11);not null"` StaffID int `gorm:"index:staff_id;column:staff_id;type:int(11);not null"` RoleType int8 `gorm:"column:role_type;type:tinyint(4);not null"` // 权限角色 }
StaffGroupRel [...]