UNPKG

@sitecore/sc-contenthub-webclient-sdk

Version:

Sitecore Content Hub WebClient SDK.

42 lines 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EntityCopyOptionsMapper = void 0; const entity_copy_options_resource_1 = require("../models/entity-copy-options-resource"); const property_copy_option_resource_1 = require("../models/property-copy-option-resource"); const relation_copy_option_resource_1 = require("../models/relation-copy-option-resource"); class EntityCopyOptionsMapper { static map(copyOptions) { const resource = new entity_copy_options_resource_1.EntityCopyOptionsResource(); resource.copyProfileId = copyOptions.copyProfileId; resource.copyProfileIdentifier = copyOptions.copyProfileIdentifier; resource.destinationEntityId = copyOptions.destinationEntityId; this.mapOptions(resource, copyOptions); return resource; } static mapOptions(optionsResource, copyOptions) { if (copyOptions.relationCopyOptions != null) { const relationOptions = []; copyOptions.relationCopyOptions.forEach(copyOption => { const relationResource = new relation_copy_option_resource_1.RelationCopyOptionResource(copyOption.name, copyOption.method.toString(), null); if (copyOption.relatedCopyOptions != null) { const innerOption = new entity_copy_options_resource_1.EntityCopyOptionsResource(); this.mapOptions(innerOption, copyOption.relatedCopyOptions); relationResource.relatedCopyOptions = innerOption; } relationOptions.push(relationResource); }); optionsResource.relationCopyOptions = relationOptions; } if (copyOptions.propertyCopyOptions == null) { return; } const propertiesOptions = []; copyOptions.propertyCopyOptions.forEach(copyOption => { const propertyResource = new property_copy_option_resource_1.PropertyCopyOptionResource(copyOption.name, copyOption.method.toString(), copyOption.newValue); propertiesOptions.push(propertyResource); }); optionsResource.propertyCopyOptions = propertiesOptions; } } exports.EntityCopyOptionsMapper = EntityCopyOptionsMapper; //# sourceMappingURL=entity-copy-options-mapper.js.map