react-native-gigya-sdk
Version:
SAP CDC/Gigya SDK for your React Native applications
48 lines (41 loc) • 2.9 kB
JavaScript
import getAccountInfo from './getAccountInfo';
import getRequiredConsentSchemas from './getRequiredConsentSchemas';
export default function () {
return new Promise(async (resolve, reject) => {
try {
var _await$getAccountInfo;
const mandatoryConsentSchemas = await getRequiredConsentSchemas();
const acceptanceRequiredConsentIds = mandatoryConsentSchemas.acceptanceRequired.map(schema => schema.key);
const instantiationRequiredConsentIds = mandatoryConsentSchemas.instantiationRequired.map(schema => schema.key);
const preferences = (_await$getAccountInfo = await getAccountInfo({
noUID: true
})) === null || _await$getAccountInfo === void 0 ? void 0 : _await$getAccountInfo.preferences;
if (acceptanceRequiredConsentIds.length < 1 && instantiationRequiredConsentIds.length < 1 || !preferences) return resolve(null);
const output = {
instantiationRequired: [],
acceptanceRequired: []
};
acceptanceRequiredConsentIds.forEach(consentId => {
var _preferences$consentI, _preferences$consentT, _preferences$consentT2;
const [consentTypeOrId, subConsentId] = consentId.split('.');
if (!(preferences !== null && preferences !== void 0 && (_preferences$consentI = preferences[consentId]) !== null && _preferences$consentI !== void 0 && _preferences$consentI.isConsentGranted) && !(preferences !== null && preferences !== void 0 && (_preferences$consentT = preferences[consentTypeOrId]) !== null && _preferences$consentT !== void 0 && (_preferences$consentT2 = _preferences$consentT[subConsentId]) !== null && _preferences$consentT2 !== void 0 && _preferences$consentT2.isConsentGranted)) {
output.acceptanceRequired = [...output.acceptanceRequired, consentId];
}
});
instantiationRequiredConsentIds.forEach(consentId => {
var _preferences$consentI2, _preferences$consentT3, _preferences$consentT4;
const [consentTypeOrId, subConsentId] = consentId.split('.');
if (!(preferences !== null && preferences !== void 0 && (_preferences$consentI2 = preferences[consentId]) !== null && _preferences$consentI2 !== void 0 && _preferences$consentI2.isConsentGranted) && !(preferences !== null && preferences !== void 0 && (_preferences$consentT3 = preferences[consentTypeOrId]) !== null && _preferences$consentT3 !== void 0 && (_preferences$consentT4 = _preferences$consentT3[subConsentId]) !== null && _preferences$consentT4 !== void 0 && _preferences$consentT4.isConsentGranted)) {
output.instantiationRequired = [...output.instantiationRequired, consentId];
}
});
if (!output.acceptanceRequired.length && !output.instantiationRequired.length) {
return resolve(null);
}
resolve(output);
} catch (e) {
reject(e);
}
});
}
//# sourceMappingURL=getUnacceptedConsentSchemas.js.map