Skip to content

Commit

Permalink
refactor(api) simplify getBulkDomainsRecursively()
Browse files Browse the repository at this point in the history
  • Loading branch information
Cedrok committed Aug 6, 2024
1 parent 31ea224 commit 17def7d
Showing 1 changed file with 19 additions and 18 deletions.
37 changes: 19 additions & 18 deletions API/controllers/entity.go
Original file line number Diff line number Diff line change
Expand Up @@ -267,31 +267,32 @@ func getBulkDomainsRecursively(parent string, listDomains []map[string]interface
domainsToCreate = append(domainsToCreate, domainObj)

// Add children domain, if any
if children, ok := domain["domains"].([]interface{}); ok {
if len(children) > 0 {
// Convert from interface to map
dChildren := listAnyTolistMap(children)

// Set parentId for children
var parentId string
if parent == "" {
parentId = domain["name"].(string)
} else {
parentId = parent + "." + domain["name"].(string)
}
if children, ok := domain["domains"].([]interface{}); ok && len(children) > 0 {
// Convert from interface to map
dChildren := listAnyTolistMap(children)

// Add children
childDomains, e := getBulkDomainsRecursively(parentId, dChildren)
if e != nil {
return nil, e
}
domainsToCreate = append(domainsToCreate, childDomains...)
parentId := setParentId(parent, domain)

// Add children
childDomains, e := getBulkDomainsRecursively(parentId, dChildren)
if e != nil {
return nil, e
}
domainsToCreate = append(domainsToCreate, childDomains...)
}
}
return domainsToCreate, nil
}

// Set parentId from parent & domain name
func setParentId(parent string, domain map[string]interface{}) string {
if parent == "" {
return domain["name"].(string)
} else {
return parent + "." + domain["name"].(string)
}
}

func setDomainAttributes(parent string, domain map[string]any) (map[string]any, error) {
domainObj := map[string]any{}
// Name is the only required attribute
Expand Down

0 comments on commit 17def7d

Please sign in to comment.