"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const config_1 = require("@skava/request/dist/config");
const tracing_1 = require("@skava/tracing");
const config_2 = require("../../bootstrapper/config");
// Todo isTruish is not available in uxui-module
const isTruish = x => x === true || x === 'true' || /^["|']?true["|']?$/.test(x);
const storeKey = isTruish(process.env.SHOULD_USE_LOWERCASE_STORE_ID)
? 'storeid'
: 'storeId';
function fromRequestToLocale(store) {
const { req = exports.DEFAULT_EXPRESS_REQ, res } = store.get('context');
const localeValue = req.headers.locale;
const localeFromContext = store.get('context').req
? store.get('context').req.get('locale') || config_2.locale
: config_2.locale;
return localeValue || localeFromContext || 'en_US';
}
const constantAndDefault = {
// Orchestration wont require these params
// partnerId,
// [storeKey]: storeId,
// appid,
// locale,
// === issue with "Unprocessable" ===
// @todo
locale(store) {
return fromRequestToLocale(store);
},
};
exports.DEFAULT_EXPRESS_REQ = Object.freeze({
headers: {},
get(key) {
return undefined;
},
});
const constantHeaders = {
/**
* @todo !!! SEEMINGLY AN ISSUE WHEN USING THIS
*/
// get skcid() {
// return toCorrelationId() || '@@EMPTY'
// },
// const { context, ...rest } = fromMapToObj(store)
// 'x-sk-session-id'(store: OneRequestStore) {
// const { req = DEFAULT_EXPRESS_REQ, res } = store.get('context')
// const existingSession = req.headers['x-sk-session-id']
// if (existingSession) {
// return existingSession
// } else {
// logger.debug('[x-sk-session-id] bad apis will always be bad')
// // return 'eeh'
// return checkAndGetSessionId(store)
// }
// },
// locale(store: OneRequestStore) {
// return fromRequestToLocale(store)
// },
[tracing_1.TRACING_HEADERS.openTraceId](store) {
const { req = exports.DEFAULT_EXPRESS_REQ, res } = store.get('context');
return tracing_1.toTraceId(req);
},
[tracing_1.TRACING_HEADERS.requestId](store) {
const { req = exports.DEFAULT_EXPRESS_REQ, res } = store.get('context');
return tracing_1.toTraceId(req);
},
[tracing_1.TRACING_HEADERS.openTraceSpanId](store) {
const { req = exports.DEFAULT_EXPRESS_REQ, res } = store.get('context');
// for SFO we need to pass unique 16 digit alpha numeric as span id so using same trace id as span id
return tracing_1.toTraceId(req);
},
// Orchestration API layer requires storeId, contentType and SessionId to be header params
'x-store-id': config_2.storeId,
'content-type': 'json',
'x-version': '8.0.0',
'x-skava': config_2.skavaHeaderSecret,
};
if (isTruish(config_2.shouldIncludeCampaignId)) {
constantAndDefault.campaignId = config_2.campaignId;
}
config_1.setConfig(Object.assign({}, constantHeaders, constantAndDefault));
config_1.config.set('constantParams', constantAndDefault);
config_1.config.set('constantHeaders', constantHeaders);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdE1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYm9vdHN0cmFwcGVyL3NldHVwL3JlcXVlc3RNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsdURBQThEO0FBRzlELDRDQUFxRTtBQUNyRSxzREFTa0M7QUFJbEMsZ0RBQWdEO0FBQ2hELE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUVoRixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztJQUNsRSxDQUFDLENBQUMsU0FBUztJQUNYLENBQUMsQ0FBQyxTQUFTLENBQUE7QUFFYixTQUFTLG1CQUFtQixDQUFDLEtBQXNCO0lBQ2pELE1BQU0sRUFBRSxHQUFHLEdBQUcsMkJBQW1CLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMvRCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQTtJQUN0QyxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRztRQUNoRCxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLGVBQU07UUFDbEQsQ0FBQyxDQUFDLGVBQU0sQ0FBQTtJQUVWLE9BQU8sV0FBVyxJQUFJLGlCQUFpQixJQUFJLE9BQU8sQ0FBQTtBQUNwRCxDQUFDO0FBRUQsTUFBTSxrQkFBa0IsR0FBRztJQUN6QiwwQ0FBMEM7SUFDMUMsYUFBYTtJQUNiLHVCQUF1QjtJQUN2QixTQUFTO0lBQ1QsVUFBVTtJQUNWLHFDQUFxQztJQUNyQyxRQUFRO0lBQ1IsTUFBTSxDQUFDLEtBQXNCO1FBQzNCLE9BQU8sbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDbkMsQ0FBQztDQUNGLENBQUE7QUFFWSxRQUFBLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDL0MsT0FBTyxFQUFFLEVBQUU7SUFDWCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7Q0FDRixDQUFDLENBQUE7QUFFRixNQUFNLGVBQWUsR0FBRztJQUN0Qjs7T0FFRztJQUNILGdCQUFnQjtJQUNoQiwwQ0FBMEM7SUFDMUMsS0FBSztJQUVMLG1EQUFtRDtJQUNuRCw4Q0FBOEM7SUFDOUMsb0VBQW9FO0lBQ3BFLDJEQUEyRDtJQUMzRCwyQkFBMkI7SUFDM0IsNkJBQTZCO0lBQzdCLGFBQWE7SUFDYixvRUFBb0U7SUFDcEUsc0JBQXNCO0lBQ3RCLHlDQUF5QztJQUN6QyxNQUFNO0lBQ04sS0FBSztJQUVMLG1DQUFtQztJQUNuQyxzQ0FBc0M7SUFDdEMsS0FBSztJQUVMLENBQUMseUJBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFzQjtRQUNsRCxNQUFNLEVBQUUsR0FBRyxHQUFHLDJCQUFtQixFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDL0QsT0FBTyxtQkFBUyxDQUFDLEdBQVUsQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFDRCxDQUFDLHlCQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0I7UUFDaEQsTUFBTSxFQUFFLEdBQUcsR0FBRywyQkFBbUIsRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQy9ELE9BQU8sbUJBQVMsQ0FBQyxHQUFVLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBQ0QsQ0FBQyx5QkFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQXNCO1FBQ3RELE1BQU0sRUFBRSxHQUFHLEdBQUcsMkJBQW1CLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUUvRCxxR0FBcUc7UUFDckcsT0FBTyxtQkFBUyxDQUFDLEdBQVUsQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFFRCwwRkFBMEY7SUFDMUYsWUFBWSxFQUFFLGdCQUFPO0lBQ3JCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLFNBQVMsRUFBRSwwQkFBaUI7Q0FDN0IsQ0FBQTtBQUVELElBQUksUUFBUSxDQUFDLGdDQUF1QixDQUFDLEVBQUU7SUFDckMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLG1CQUFVLENBQUE7Q0FDM0M7QUFFRCxrQkFBUyxtQkFVSixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ3JCLENBQUE7QUFFRixlQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUE7QUFDaEQsZUFBTSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQSJ9