mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-10-29 17:58:36 +08:00
fix(region): show project mapping managers info
This commit is contained in:
@@ -153,6 +153,9 @@ type ProjectMappingDetails struct {
|
||||
|
||||
// 所绑定的云账号列表
|
||||
Accounts []SProjectMappingAccount `json:"accounts"`
|
||||
|
||||
// 所绑定的云订阅列表
|
||||
Managers []SProjectMappingAccount `json:"managers"`
|
||||
}
|
||||
|
||||
type ProjectMappingCreateInput struct {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user