func validateDomain()

in tui/post_processors.go [137:168]


func validateDomain(domain string, q *Queue) tea.Cmd {
	return func() tea.Msg {
		projectID := q.Get("currentProject").(string)

		domainInfo, err := q.client.DomainIsAvailable(projectID, domain)
		if err != nil {
			return errMsg{err: fmt.Errorf("validateDomain: error checking domain availability %w", err)}
		}

		q.Save("domainInfo", domainInfo)
		q.Save("domain", domain)

		if domainInfo.Availability == domainspb.RegisterParameters_UNAVAILABLE {
			isVerified, err := q.client.DomainIsVerified(projectID, domain)
			if err != nil {
				return errMsg{
					usermsg: "Trying to validate that you own this domain failed due to an error",
					err:     fmt.Errorf("validateDomain: error verifying domain: %s", err),
				}
			}
			if !isVerified {
				return errMsg{
					usermsg: "Domain is owned by someone other than the requestor",
					err:     fmt.Errorf("validateDomain: not owned by requestor: %w", err),
				}
			}

			return successMsg{}
		}
		return successMsg{}
	}
}