public static generateAadApplicationName()

in src/configure/helper/graphHelper.ts [51:75]


    public static generateAadApplicationName(accountName: string, projectName: string): string {
        var spnLengthAllowed = 92;
        var guid = uuid();
        var projectName = projectName.replace(/[^a-zA-Z0-9_-]/g, "");
        var accountName = accountName.replace(/[^a-zA-Z0-9_-]/g, "");
        var spnName = accountName + "-" + projectName + "-" + guid;
        if (spnName.length <= spnLengthAllowed) {
            return spnName;
        }

        // 2 is subtracted for delimiter '-'
        spnLengthAllowed = spnLengthAllowed - guid.length - 2;
        if (accountName.length > spnLengthAllowed / 2 && projectName.length > spnLengthAllowed / 2) {
            accountName = accountName.substr(0, spnLengthAllowed / 2);
            projectName = projectName.substr(0, spnLengthAllowed - accountName.length);
        }
        else if (accountName.length > spnLengthAllowed / 2 && accountName.length + projectName.length > spnLengthAllowed) {
            accountName = accountName.substr(0, spnLengthAllowed - projectName.length);
        }
        else if (projectName.length > spnLengthAllowed / 2 && accountName.length + projectName.length > spnLengthAllowed) {
            projectName = projectName.substr(0, spnLengthAllowed - accountName.length);
        }

        return accountName + "-" + projectName + "-" + guid;
    }