Skip to content

Commit

Permalink
[Controller] domain api support user
Browse files Browse the repository at this point in the history
  • Loading branch information
askyrie authored and SongZhen0704 committed May 15, 2024
1 parent d7a8351 commit 526c8d9
Show file tree
Hide file tree
Showing 22 changed files with 546 additions and 225 deletions.
6 changes: 4 additions & 2 deletions server/controller/cloud/aliyun/aliyun.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ var log = logging.MustGetLogger("cloud.aliyun")

type Aliyun struct {
orgID int
teamID int
uuid string
uuidGenerate string
regionUuid string
Expand Down Expand Up @@ -93,8 +94,9 @@ func NewAliyun(orgID int, domain mysql.Domain, cfg cloudconfig.CloudConfig) (*Al
}

return &Aliyun{
orgID: orgID,
uuid: domain.Lcuuid,
orgID: orgID,
teamID: domain.TeamID,
uuid: domain.Lcuuid,
// TODO: display_name后期需要修改为uuid_generate
uuidGenerate: domain.DisplayName,
regionUuid: config.Get("region_uuid").MustString(),
Expand Down
1 change: 1 addition & 0 deletions server/controller/cloud/aliyun/sub_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ func (a *Aliyun) getSubDomains(region model.Region) ([]model.SubDomain, error) {
}
configJson, _ := json.Marshal(config)
retSubDomains = append(retSubDomains, model.SubDomain{
TeamID: a.teamID,
Lcuuid: common.GenerateUUIDByOrgID(a.orgID, clusterID),
Name: cluster.Get("name").MustString(),
DisplayName: clusterID,
Expand Down
2 changes: 2 additions & 0 deletions server/controller/cloud/aws/aws.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ const (

type Aws struct {
orgID int
teamID int
name string
lcuuid string
regionUUID string
Expand Down Expand Up @@ -117,6 +118,7 @@ func NewAws(orgID int, domain mysql.Domain, cfg cloudconfig.CloudConfig) (*Aws,
return &Aws{
// TODO: display_name后期需要修改为uuid_generate
orgID: orgID,
teamID: domain.TeamID,
name: domain.Name,
lcuuid: domain.Lcuuid,
uuidGenerate: domain.DisplayName,
Expand Down
1 change: 1 addition & 0 deletions server/controller/cloud/aws/sub_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ func (a *Aws) getSubDomains(region awsRegion) ([]model.SubDomain, error) {
}
configJson, _ := json.Marshal(config)
retSubDomains = append(retSubDomains, model.SubDomain{
TeamID: a.teamID,
Lcuuid: common.GetUUIDByOrgID(a.orgID, name),
Name: name,
DisplayName: name,
Expand Down
1 change: 1 addition & 0 deletions server/controller/cloud/baidubce/sub_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ func (b *BaiduBce) getSubDomains(region model.Region, vpcIdToLcuuid map[string]s
}
configJson, _ := json.Marshal(config)
retSubDomains = append(retSubDomains, model.SubDomain{
TeamID: b.teamID,
Lcuuid: common.GenerateUUIDByOrgID(b.orgID, cluster.ClusterUuid),
Name: cluster.ClusterName,
DisplayName: cluster.ClusterUuid,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,7 @@ func NewKubernetesGather(db *mysql.DB, domain *mysql.Domain, subDomain *mysql.Su
log.Error("subdomain model is nil")
return nil
}
teamID = subDomain.TeamID
name = subDomain.Name
lcuuid = subDomain.Lcuuid
displayName = subDomain.DisplayName
Expand Down
1 change: 1 addition & 0 deletions server/controller/cloud/model/model.go
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ type RDSInstance struct {
}

type SubDomain struct {
TeamID int `json:"team_id" binding:"required"`
Lcuuid string `json:"lcuuid" binding:"required"`
Name string `json:"name" binding:"required"`
DisplayName string `json:"display_name" binding:"required"`
Expand Down
1 change: 1 addition & 0 deletions server/controller/cloud/qingcloud/sub_domain.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ func (q *QingCloud) GetSubDomains() ([]model.SubDomain, error) {
}
configJson, _ := json.Marshal(config)
retSubDomains = append(retSubDomains, model.SubDomain{
TeamID: q.teamID,
Lcuuid: common.GenerateUUIDByOrgID(q.orgID, clusterId),
Name: cluster.Get("name").MustString(),
DisplayName: clusterId,
Expand Down
7 changes: 7 additions & 0 deletions server/controller/common/const.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ const (
DEFAULT_USER_TYPE = 1
DEFAULT_USER_ID = 1
DEFAULT_TEAM_ID = 1
DEFAULT_APP_KEY = "8c434f9a48bf1b7e729bde006e0409f8"
ORG_ID_MAX = 1024
)

Expand Down Expand Up @@ -683,4 +684,10 @@ const (
INGESTER_BODY_ORG_ID = "org-id"
HEADER_KEY_X_USER_TYPE = "X-User-Type"
HEADER_KEY_X_USER_ID = "X-User-Id"
HEADER_X_APP_KEY = "X-App-Key"
)

const (
SET_RESOURCE_TYPE_DOMAIN = "domain"
SET_RESOURCE_TYPE_SUB_DOMAIN = "sub_domain"
)
2 changes: 2 additions & 0 deletions server/controller/db/mysql/migration/rawsql/init.sql
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,7 @@ INSERT INTO az (id, name, lcuuid, region, domain) values(1, '系统默认', 'fff
CREATE TABLE IF NOT EXISTS domain (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
team_id INTEGER DEFAULT 1,
user_id INTEGER DEFAULT 1,
name VARCHAR(64),
icon_id INTEGER,
display_name VARCHAR(64) DEFAULT '',
Expand All @@ -473,6 +474,7 @@ TRUNCATE TABLE domain;

CREATE TABLE IF NOT EXISTS sub_domain (
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
team_id INTEGER DEFAULT 1,
domain CHAR(64) DEFAULT '',
name VARCHAR(64) DEFAULT '',
display_name VARCHAR(64) DEFAULT '',
Expand Down
36 changes: 36 additions & 0 deletions server/controller/db/mysql/migration/rawsql/issu/6.5.1.32.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
-- modify start, add upgrade sql
DROP PROCEDURE IF EXISTS AddColumnIfNotExists;

CREATE PROCEDURE AddColumnIfNotExists(
IN tableName VARCHAR(255),
IN colName VARCHAR(255),
IN afterCol VARCHAR(255)
)
BEGIN
DECLARE column_count INT;

-- 检查列是否存在
SELECT COUNT(*)
INTO column_count
FROM information_schema.columns
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = tableName
AND column_name = colName;

-- 如果列不存在,则添加列
IF column_count = 0 THEN
SET @sql = CONCAT('ALTER TABLE ', tableName, ' ADD COLUMN ', colName, ' INTEGER DEFAULT 1 AFTER ', afterCol);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END IF;
END;

CALL AddColumnIfNotExists('domain', 'user_id', 'team_id');
CALL AddColumnIfNotExists('sub_domain', 'team_id', 'id');

DROP PROCEDURE AddColumnIfNotExists;

-- update db_version to latest, remeber update DB_VERSION_EXPECT in migrate/init.go
UPDATE db_version SET version='6.5.1.32';
-- modify end
2 changes: 1 addition & 1 deletion server/controller/db/mysql/migration/version.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ package migration

const (
DB_VERSION_TABLE = "db_version"
DB_VERSION_EXPECTED = "6.5.1.31"
DB_VERSION_EXPECTED = "6.5.1.32"
)
2 changes: 2 additions & 0 deletions server/controller/db/mysql/platform_rsc_model.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ type Domain struct {
OperatedTime `gorm:"embedded" mapstructure:",squash"`
SyncedAt *time.Time `gorm:"column:synced_at" json:"SYNCED_AT" mapstructure:"SYNCED_AT"`
TeamID int `gorm:"column:team_id;type:int;default:1" json:"TEAM_ID" mapstructure:"TEAM_ID"`
UserID int `gorm:"column:user_id;type:int;default:1" json:"USER_ID" mapstructure:"USER_ID"`
Name string `gorm:"column:name;type:varchar(64)" json:"NAME" mapstructure:"NAME"`
IconID int `gorm:"column:icon_id;type:int" json:"ICON_ID" mapstructure:"ICON_ID"`
DisplayName string `gorm:"column:display_name;type:varchar(64);default:''" json:"DISPLAY_NAME" mapstructure:"DISPLAY_NAME"`
Expand All @@ -110,6 +111,7 @@ type Domain struct {
type SubDomain struct {
Base `gorm:"embedded" mapstructure:",squash"`
OperatedTime `gorm:"embedded" mapstructure:",squash"`
TeamID int `gorm:"column:team_id;type:int;default:1" json:"TEAM_ID" mapstructure:"TEAM_ID"`
SyncedAt *time.Time `gorm:"column:synced_at" json:"SYNCED_AT" mapstructure:"SYNCED_AT"`
Domain string `gorm:"column:domain;type:char(64);default:''" json:"DOMAIN" mapstructure:"DOMAIN"`
Name string `gorm:"column:name;type:varchar(64);default:''" json:"NAME" mapstructure:"NAME"`
Expand Down
2 changes: 2 additions & 0 deletions server/controller/http/common/const.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ const (
GET_ORG_DB_FAIL = "GET_ORG_DB_FAIL"
K8S_SET_VTAP_FAIL = "K8S_SET_VTAP_FAIL"
ORG_ID_INVALID = "ORG_ID_INVALID"
CHECK_SCOPE_TEAMS_FAIL = "CHECK_SCOPE_TEAMS_FAIL"
SET_RESOUORCE_FAIL = "SET_RESOUORCE_FAIL"

// http status codes
STATUES_PARTIAL_CONTENT = "STATUES_PARTIAL_CONTENT" // 206
Expand Down

0 comments on commit 526c8d9

Please sign in to comment.