public async listOrganizations()

in src/configure/clients/devOps/organizationsClient.ts [46:76]


    public async listOrganizations(forceRefresh?: boolean): Promise<Organization[]> {
        if (this.organizations && !forceRefresh) {
            return this.organizations;
        }

        const connectionData = await this.getUserData();
        const response = await this.sendRequest<{ value: Organization[] }>({
            url: "https://app.vssps.visualstudio.com/_apis/accounts",
            headers: {
                "Content-Type": "application/json"
            },
            method: "GET",
            queryParameters: {
                "memberId": connectionData.authenticatedUser.id,
                "api-version": "5.0",
            },
        });

        this.organizations = response.value.sort((org1, org2) => {
            const account1 = org1.accountName.toLowerCase();
            const account2 = org2.accountName.toLowerCase();
            if (account1 < account2) {
                return -1;
            } else if (account1 > account2) {
                return 1;
            }
            return 0;
        });

        return this.organizations;
    }