42 lines
1.1 KiB
JavaScript
Raw Normal View History

import { classifiers } from 'wherehows-web/constants';
/**
* Builds a privacyCompliancePolicy map with default / unset
* values for non null properties
*/
const createPrivacyCompliancePolicy = () => {
const policy = {
// default to first item in compliance types list
complianceType: 'AUTO_PURGE',
compliancePurgeEntities: []
};
// Ensure we deep clone map to prevent mutation from consumers
return JSON.parse(JSON.stringify(policy));
};
/**
* Builds a securitySpecification map with default / unset values
* for non null properties as per Avro schema
* @param {number} id
*/
const createSecuritySpecification = id => {
const classification = classifiers.reduce((classification, classifier) => {
classification[classifier] = [];
return classification;
}, {});
const securitySpecification = {
classification,
datasetId: id,
geographicAffinity: { affinity: '' },
recordOwnerType: '',
retentionPolicy: { retentionType: '' },
datasetClassification: {}
};
return JSON.parse(JSON.stringify(securitySpecification));
};
export { createSecuritySpecification, createPrivacyCompliancePolicy };