@sitecore/sc-contenthub-webclient-sdk
Version:
Sitecore Content Hub WebClient SDK.
38 lines • 1.98 kB
JavaScript
import { EntityCopyOptionsResource } from "../models/entity-copy-options-resource";
import { PropertyCopyOptionResource } from "../models/property-copy-option-resource";
import { RelationCopyOptionResource } from "../models/relation-copy-option-resource";
export class EntityCopyOptionsMapper {
static map(copyOptions) {
const resource = new 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 RelationCopyOptionResource(copyOption.name, copyOption.method.toString(), null);
if (copyOption.relatedCopyOptions != null) {
const innerOption = new 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 PropertyCopyOptionResource(copyOption.name, copyOption.method.toString(), copyOption.newValue);
propertiesOptions.push(propertyResource);
});
optionsResource.propertyCopyOptions = propertiesOptions;
}
}
//# sourceMappingURL=entity-copy-options-mapper.js.map