@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
42 lines • 2.3 kB
JavaScript
;
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