fix(region): dns recordset details

This commit is contained in:
ioito
2023-02-02 10:55:11 +08:00
parent 407c90ccfb
commit 4f3b18037f
2 changed files with 9 additions and 0 deletions
+2
View File
@@ -66,6 +66,8 @@ type DnsRecordSetDetails struct {
SDnsRecordSet
TrafficPolicies []DnsRecordPolicy
DnsZone string `json:"dns_zone"`
}
type DnsRecordSetListInput struct {
+7
View File
@@ -289,12 +289,14 @@ func (manager *SDnsRecordSetManager) FetchCustomizeColumns(
rows := make([]api.DnsRecordSetDetails, len(objs))
enRows := manager.SEnabledStatusStandaloneResourceBaseManager.FetchCustomizeColumns(ctx, userCred, query, objs, fields, isList)
recordIds := make([]string, len(objs))
zoneIds := make([]string, len(objs))
for i := range rows {
rows[i] = api.DnsRecordSetDetails{
EnabledStatusStandaloneResourceDetails: enRows[i],
}
record := objs[i].(*SDnsRecordSet)
recordIds[i] = record.Id
zoneIds[i] = record.DnsZoneId
}
q := DnsRecordSetTrafficPolicyManager.Query().In("dns_recordset_id", recordIds)
@@ -330,6 +332,8 @@ func (manager *SDnsRecordSetManager) FetchCustomizeColumns(
PolicyOptions: policies[i].Options,
}
}
zoneMap := map[string]SDnsZone{}
db.FetchModelObjectsByIds(DnsZoneManager, "id", zoneIds, &zoneMap)
for i := range rows {
rows[i].TrafficPolicies = []api.DnsRecordPolicy{}
policyIds, ok := recordMaps[recordIds[i]]
@@ -341,6 +345,9 @@ func (manager *SDnsRecordSetManager) FetchCustomizeColumns(
}
}
}
if zone, ok := zoneMap[zoneIds[i]]; ok {
rows[i].DnsZone = zone.Name
}
}
return rows