in src/configure/clients/devOps/organizationsClient.ts [78:106]
public async validateOrganizationName(organizationName: string): Promise<string> {
let accountNameRegex = new RegExp(/^[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]$|^[a-zA-Z]$/);
if (!organizationName || /^\\s/.test(organizationName) || /\\s$/.test(organizationName) || organizationName.indexOf("-") === 0 || !accountNameRegex.test(organizationName)) {
return Messages.organizationNameStaticValidationMessage;
} else if (ReservedHostNames.indexOf(organizationName) >= 0) {
return util.format(Messages.organizationNameReservedMessage, organizationName);
} else {
const url = `https://app.vsaex.visualstudio.com/_apis/HostAcquisition/NameAvailability/${organizationName}`;
try {
const response = await this.sendRequest<OrganizationAvailability>({
url,
headers: {
"Content-Type": "application/json",
"Accept": "api-version=5.0-preview.1"
},
method: "GET",
});
if (response.name === organizationName && !response.isAvailable) {
return util.format(Messages.organizationNameReservedMessage, organizationName);
}
return "";
} catch (e) {
return "";
}
}
}