Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- return metadataResults.map(entityMetadata => overrideEntityProperties({ entityMetadata, defaultObjectsMap, lookupMetaMap }));
- // metadataResults.forEach(entityMetadata => {
- // // Check if override or default value exists
- // if(METADATA_OVERRIDES[entityMetadata.name] || defaultObjectsMap[entityMetadata.name] || lookupMetaMap[entityMetadata.name]){ // Check if override entry exists in METADATA_OVERRIDES
- // entityMetadata.metadata.fields.forEach(field => {
- //
- // // Adding overrides object to metadata
- // const overrides = get(METADATA_OVERRIDES, [entityMetadata.name, field.name]);
- // if(overrides !== undefined){
- // field.overrides = overrides;
- //
- // // Changing isCreatable & isUpdatable for ProposedValue and NegotiatedValue field
- // if(field.name === 'ProposedValue'){
- // field.isCreatable = field.overrides.content.isCreatable || field.overrides.currencyCode.isCreatable;
- // field.isUpdatable = field.overrides.content.isUpdatable || field.overrides.currencyCode.isUpdatable;
- // } else if(field.name === 'NegotiatedValue') {
- // field.isCreatable = field.overrides.content.isCreatable || field.overrides.currencyCode.isCreatable;
- // field.isUpdatable = field.overrides.content.isUpdatable || field.overrides.currencyCode.isUpdatable;
- // }
- // }
- //
- // // Adding default object to metadata
- // if(defaultObjectsMap[entityMetadata.name]){
- // entityMetadata.metadata.hasDefaultFields = true; // Entity level property. True = entity has fields with default
- // const defaultValue = get(defaultObjectsMap, [entityMetadata.name, field.name]);
- // if(defaultValue !== undefined){
- // field.isNullable = true; // Remove required requirement from fields with default
- // field.isDefaulted = true;
- // field.defaultValue = defaultValue; // Add default value to metadata
- // }
- // }
- //
- // // setting up lookup fields
- // const lookupMeta = get(lookupMetaMap, [entityMetadata.name, field.name]);
- // if (lookupMeta !== undefined){
- // field.dataType = 'reference';
- // field.label = field.label.replace('UUID', '').replace('ID', '');
- // field.referencesTo = lookupMeta.map(item => item.lookupObject);
- // field.lookupMeta = lookupMeta;
- // }
- // });
- // }
- // entityDetails.push(entityMetadata.metadata);
- // });
- // return entityDetails;
- function overrideEntityProperties({ entityMetadata, defaultObjectsMap, lookupMetaMap }) {
- if(!isApplyEntityOverrides({ entityMetadata, defaultObjectsMap, lookupMetaMap })) {
- return entityMetadata.metadata;
- }
- entityMetadata.metadata.fields.forEach(field => {
- // Adding overrides object to metadata
- // const overrides = get(METADATA_OVERRIDES, [entityMetadata.name, field.name]);
- // if(overrides !== undefined){
- // field.overrides = overrides;
- //
- // // Changing isCreatable & isUpdatable for ProposedValue and NegotiatedValue field
- // if(field.name === 'ProposedValue'){
- // field.isCreatable = field.overrides.content.isCreatable || field.overrides.currencyCode.isCreatable;
- // field.isUpdatable = field.overrides.content.isUpdatable || field.overrides.currencyCode.isUpdatable;
- // } else if(field.name === 'NegotiatedValue') {
- // field.isCreatable = field.overrides.content.isCreatable || field.overrides.currencyCode.isCreatable;
- // field.isUpdatable = field.overrides.content.isUpdatable || field.overrides.currencyCode.isUpdatable;
- // }
- // }
- addOverridesToMetadata({ entityMetadata, field });
- // Adding default object to metadata
- if(defaultObjectsMap[entityMetadata.name]){
- entityMetadata.metadata.hasDefaultFields = true; // Entity level property. True = entity has fields with default
- const defaultValue = get(defaultObjectsMap, [entityMetadata.name, field.name]);
- if(defaultValue !== undefined){
- field.isNullable = true; // Remove required requirement from fields with default
- field.isDefaulted = true;
- field.defaultValue = defaultValue; // Add default value to metadata
- }
- }
- // setting up lookup fields
- const lookupMeta = get(lookupMetaMap, [entityMetadata.name, field.name]);
- if (lookupMeta !== undefined){
- field.dataType = 'reference';
- field.label = field.label.replace('UUID', '').replace('ID', '');
- field.referencesTo = lookupMeta.map(item => item.lookupObject);
- field.lookupMeta = lookupMeta;
- }
- });
- return entityMetadata.metadata;
- }
- function isApplyEntityOverrides({ entityMetadata, defaultObjectsMap, lookupMetaMap }) {
- return METADATA_OVERRIDES[entityMetadata.name] || defaultObjectsMap[entityMetadata.name] || lookupMetaMap[entityMetadata.name];
- }
- function addOverridesToMetadata({ entityMetadata, field }) {
- const metadataFields = METADATA_OVERRIDES[entityMetadata.name].fields;
- const metadataOverrideProps = metadataFields && metadataFields[field.name];
- if(!metadataOverrideProps) {
- return;
- }
- Object.assign(field, metadataOverrideProps, {
- overrides: metadataOverrideProps,
- isDefaulted: has(metadataOverrideProps, 'defaultValue')
- });
- }
Add Comment
Please, Sign In to add comment