private async requestTypingCredentials()

in src/bll/commands/signin.ts [118:143]


    private async requestTypingCredentials(fromPersistence: Credentials): Promise<Credentials> {
        let serverUrl: string;
        let username: string;
        let password: string;
        let suggestedUrl = Constants.DEFAULT_URL;
        let suggestedUsername = "";

        if (fromPersistence) {
            suggestedUrl = fromPersistence.serverURL;
            suggestedUsername = fromPersistence.user;
        } else {
            const targetNameSettings = this.settings.lastLogin;
            const targetName: { url, username } = Utils.tryParseTargetName(targetNameSettings);
            suggestedUrl = targetName ? targetName.url : suggestedUrl;
            suggestedUsername = targetName ? targetName.username : suggestedUsername;
        }

        try {
            serverUrl = await this.requestServerUrl(suggestedUrl);
            username = await SignIn.requestUsername(suggestedUsername, serverUrl);
            password = await SignIn.requestPassword(username);
        } catch (err) {
            return Promise.resolve(undefined);
        }
        return this.validateAndGenerateUserCredentials(serverUrl, username, password);
    }