async function getSalesforceBearerInformation()

in src/libs/salesforce.ts [70:98]


async function getSalesforceBearerInformation(
    saleforceSSMConfig: SalesforceSSMConfig,
): Promise<SalesforceBearerInformation> {
    console.log('Querying bearer token from Salesforce');

    const requestBody =
        `grant_type=password` +
        `&client_id=${saleforceSSMConfig.clientId}` +
        `&client_secret=${saleforceSSMConfig.clientSecret}` +
        `&username=${saleforceSSMConfig.username}` +
        `&password=${saleforceSSMConfig.password}${saleforceSSMConfig.token}`;

    const url = `${saleforceSSMConfig.authenticationBaseUrl}/services/oauth2/token`;

    try {
        const response = await fetch(url, {
            method: 'POST',
            body: new URLSearchParams(requestBody),
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded',
            },
        });
        return (await response.json()) as SalesforceBearerInformation;
    } catch (error) {
        throw new Error(
            `error while retrieving salesforce bearer token: ${error}`,
        );
    }
}