in src/extension/src/azure/azure-cosmosDB/cosmosDbModule.ts [297:315]
private async validateUniqueCosmosDBAccountName(name: string): Promise<string | undefined> {
if (this.SubscriptionItemCosmosClient === undefined) {
throw new AuthorizationError(MESSAGES.ERRORS.COSMOS_CLIENT_NOT_DEFINED);
}
name = name ? name.trim() : "";
const min = CONSTANTS.COSMOS_DB_NAME.MIN_LENGTH;
const max = CONSTANTS.COSMOS_DB_NAME.MAX_LENGTH;
if (name.length < min || name.length > max) {
return MESSAGES.ERRORS.NAME_MIN_MAX(min, max);
} else if (name.match(/[^a-z0-9-]/)) {
return MESSAGES.ERRORS.COSMOS_VALID_CHARACTERS;
} else if ((await this.SubscriptionItemCosmosClient.databaseAccounts.checkNameExists(name)).body) {
return MESSAGES.ERRORS.COSMOS_ACCOUNT_NOT_AVAILABLE(name);
} else {
return undefined;
}
}