@schibsted/sourcepoint
Version:
Package containing scripts used by Schibsteds' sites to integrate with Sourcepoint CMP
43 lines (35 loc) • 1.3 kB
JavaScript
import { handleLoginFlow } from '../schibsted-account/index.js';
import { pulseObject } from '../pulse/helpers.js';
import { handleRedirect, isUrl } from '../utils.js';
export const setUserId = function (id) {
if (typeof id === 'number' || id === undefined) {
return config.userId = id;
}
throw new Error(`Id value ${id} is invalid`);
};
export const openPrivacySettings = function (url) {
if (!isUrl(url)) {
return console.error('The URL passed to the configuration is invalid. Please, correct it.');
}
if (!window.psi.isLoggedInUser) {
return pulseObject(window, (sdk) => {
sdk.getEnvironmentId().then((environmentId) => {
handleRedirect(
url,
environmentId,
window.psi.clientId,
window.psi.referrer,
window.psi.state
);
});
});
}
return handleRedirect(url, null, window.psi.clientId, window.psi.referrer, window.psi.state);
};
export const triggerLogin = function () {
return handleLoginFlow(window);
};
export const setTargetingParams = function (config, key, val) {
config.targetingParams = config.targetingParams || {};
config.targetingParams[key] = val;
}