in tui/post_processors.go [170:244]
func registerDomain(consent string, q *Queue) tea.Cmd {
return func() tea.Msg {
userMsg := "There was a problem registering the domain."
c := strings.ToLower(consent)
if c != "y" && c != "yes" {
q.stack.DeleteSetting("domain_consent")
return errMsg{
usermsg: userMsg,
err: fmt.Errorf("did not consent to being charged"),
target: "quit",
}
}
d := gcloud.ContactData{}
contact := q.Get("contact")
if contact != nil {
tmp := contact.(gcloud.ContactData)
if tmp.AllContacts.Email != "" {
d = tmp
}
}
if d.AllContacts.Email == "" {
d = gcloud.ContactData{
AllContacts: gcloud.DomainRegistrarContact{
Email: q.stack.GetSetting("domain_email"),
Phone: q.stack.GetSetting("domain_phone"),
PostalAddress: gcloud.PostalAddress{
RegionCode: q.stack.GetSetting(
"domain_country",
),
PostalCode: q.stack.GetSetting(
"domain_postalcode",
),
AdministrativeArea: q.stack.GetSetting("domain_state"),
Locality: q.stack.GetSetting("domain_city"),
AddressLines: []string{
q.stack.GetSetting("domain_address"),
},
Recipients: []string{
q.stack.GetSetting("domain_name"),
},
},
},
}
}
q.Save("contact", d)
raw := q.Get("domainInfo")
domainInfo := raw.(*domainspb.RegisterParameters)
projectID := q.Get("currentProject").(string)
err := q.client.DomainRegister(projectID, domainInfo, d)
if err != nil {
q.stack.AddSetting("domain_consent", "")
return errMsg{
usermsg: userMsg,
err: fmt.Errorf("registerDomain: error registering domain: %w", err),
target: "domain",
}
}
domainSettings := q.stack.Settings.Search("domain_")
for _, v := range domainSettings {
q.stack.DeleteSetting(v.Name)
}
return successMsg{}
}
}