async exec()

in src/bll/commands/OpenInBrowser.ts [17:34]


    async exec(args?: any[]): Promise<void> {
        if (!args || args.length !== 1 || !(args[0] instanceof BuildConfigItem || args[0] instanceof ChangeItem)) {
            return Promise.reject("Illegal argument");
        }
        const credentials = await this.credentialsStore.getCredentials();
        let targetUrl = "";
        if (args[0] instanceof BuildConfigItem) {
            const buildConfigItem: BuildConfigItem = args[0];
            const buildConfig: BuildConfig = buildConfigItem.entity;
            targetUrl = `${credentials.serverURL}/viewType.html?buildTypeId=${buildConfig.externalId}`;
        } else if (args[0] instanceof ChangeItem) {
            const changeItem: ChangeItem = args[0];
            const change: Change = changeItem.item;
            targetUrl = `${credentials.serverURL}/viewModification.html?modId=${change.id}&personal=${change.isPersonal}`;
        }

        commands.executeCommand("vscode.open", Uri.parse(targetUrl));
    }