connect-transfer-react-native-sdk
Version:
Connect Transfer React Native SDK for Mastercard Open Banking Connect
85 lines (83 loc) • 2.75 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.requestHeaders = exports.generateRoute = exports.createApiActions = void 0;
var _toolkit = require("@reduxjs/toolkit");
var _constants = require("../../constants");
const FINICITY_BASE_URL = 'https://www.finicity.com/';
const CONNECT_BASE_URL = 'https://connect2.finicity.com';
const API_VERSION = 'v2';
const APPLICATION_ID = 'connect-transfer-sdk';
// Generate route based on the provided key
const generateRoute = (key, state) => {
const {
baseURL = '',
queryParams = '',
language = _constants.DEFAULT_LANGUAGE_EN,
data,
queryParamsObject
} = state?.user || {};
const {
endpoint = ''
} = data?.auditServiceDetails || {};
const {
partnerId = '',
customerId = ''
} = queryParamsObject || {};
switch (key) {
case _constants.API_KEYS.authenticateUser:
return `${baseURL}/server/authenticate/${API_VERSION}/transfer/deposit-switch${queryParams}`;
case _constants.API_KEYS.errorTranslation:
return `${baseURL}/transfer/assets/i18n/errors/${language}.json`;
case _constants.API_KEYS.auditEvents:
return `${endpoint}/partners/${partnerId}/customers/${customerId}/events`;
case _constants.API_KEYS.termsAndPolicies:
return `${baseURL}/server/terms-and-policies`;
case _constants.API_KEYS.complete:
return `${baseURL}/server/auto/${API_VERSION}/complete`;
case _constants.WEBPAGE_API_KEYS.privacy_EN:
return `${FINICITY_BASE_URL}/privacy`;
case _constants.WEBPAGE_API_KEYS.privacy_ES:
return `${FINICITY_BASE_URL}/privacy/es/`;
case _constants.WEBPAGE_API_KEYS.termsOfUse_EN:
return `${CONNECT_BASE_URL}/assets/html/connect-eula.html`;
case _constants.WEBPAGE_API_KEYS.termsOfUse_ES:
return `${CONNECT_BASE_URL}/assets/html/connect-eula_es.html`;
default:
return null;
}
};
exports.generateRoute = generateRoute;
const requestHeaders = (key, state) => {
let headers = {
..._constants.HEADERS
};
const {
token = '',
auditServiceDetails = {}
} = state.user?.data || {};
switch (key) {
case _constants.API_KEYS.termsAndPolicies:
case _constants.API_KEYS.complete:
headers = {
...headers,
authorization: `Bearer ${token}`
};
break;
case _constants.API_KEYS.auditEvents:
headers = {
...headers,
Token: auditServiceDetails?.token,
'application-id': APPLICATION_ID
};
break;
default:
break;
}
return headers;
};
exports.requestHeaders = requestHeaders;
const createApiActions = key => (0, _toolkit.createAsyncThunk)(key);
exports.createApiActions = createApiActions;
//# sourceMappingURL=routes.js.map