fix(region): show project mapping managers info

This commit is contained in:
Qu Xuan
2021-06-16 17:31:41 +08:00
parent bf26f445a6
commit ad5d667587
2 changed files with 24 additions and 2 deletions
+3
View File
@@ -153,6 +153,9 @@ type ProjectMappingDetails struct {
// 所绑定的云账号列表
Accounts []SProjectMappingAccount `json:"accounts"`
// 所绑定的云订阅列表
Managers []SProjectMappingAccount `json:"managers"`
}
type ProjectMappingCreateInput struct {
+21 -2
View File
@@ -141,16 +141,22 @@ func (manager *SProjectMappingManager) FetchCustomizeColumns(
mp := objs[i].(*SProjectMapping)
mpIds[i] = mp.Id
}
accounts := []struct {
type sBind struct {
Id string
Name string
ProjectMappingId string
}{}
}
accounts, managers := []sBind{}, []sBind{}
q := CloudaccountManager.Query().In("project_mapping_id", mpIds)
err := q.All(&accounts)
if err != nil {
return rows
}
q = CloudproviderManager.Query().In("project_mapping_id", mpIds)
err = q.All(&managers)
if err != nil {
return rows
}
accountMapping := map[string][]api.SProjectMappingAccount{}
for i := range accounts {
_, ok := accountMapping[accounts[i].ProjectMappingId]
@@ -163,9 +169,22 @@ func (manager *SProjectMappingManager) FetchCustomizeColumns(
}
accountMapping[accounts[i].ProjectMappingId] = append(accountMapping[accounts[i].ProjectMappingId], account)
}
managerMapping := map[string][]api.SProjectMappingAccount{}
for i := range managers {
_, ok := managerMapping[managers[i].ProjectMappingId]
if !ok {
managerMapping[managers[i].ProjectMappingId] = []api.SProjectMappingAccount{}
}
manager := api.SProjectMappingAccount{
Id: managers[i].Id,
Name: managers[i].Name,
}
managerMapping[managers[i].ProjectMappingId] = append(managerMapping[managers[i].ProjectMappingId], manager)
}
for i := range rows {
rows[i].Accounts, _ = accountMapping[mpIds[i]]
rows[i].Managers, _ = managerMapping[mpIds[i]]
}
return rows
}