| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 | // @flow
import { SET_DETAILS } from './actionTypes';
import { getVpaasTenant, sendGetDetailsRequest } from './functions';
import logger from './logger';
/**
 * Action used to set the jaas customer details in store.
 *
 * @param {Object} details - The customer details object.
 * @returns {Object}
 */
function setCustomerDetails(details) {
    return {
        type: SET_DETAILS,
        payload: details
    };
}
/**
 * Sends a request for retrieving jaas customer details.
 *
 * @returns {Function}
 */
export function getCustomerDetails() {
    return async function(dispatch: Function, getState: Function) {
        const state = getState();
        const baseUrl = state['features/base/config'].jaasActuatorUrl || 'https://api-vo-pilot.jitsi.net/jaas-actuator';
        const appId = getVpaasTenant(state);
        const shouldSendRequest = Boolean(baseUrl && appId);
        if (shouldSendRequest) {
            try {
                const details = await sendGetDetailsRequest({
                    appId,
                    baseUrl
                });
                dispatch(setCustomerDetails(details));
            } catch (err) {
                logger.error('Could not send request', err);
            }
        }
    };
}
 |