UNPKG

@agility/cli

Version:

Agility CLI for working with your content. (Public Beta)

107 lines 4.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TemplateMapper = void 0; var core_1 = require("../../core"); var TemplateMapper = /** @class */ (function () { function TemplateMapper(sourceGuid, targetGuid) { this.sourceGuid = sourceGuid; this.targetGuid = targetGuid; this.directory = 'templates'; // this will provide access to the /agility-files/{GUID} folder this.fileOps = new core_1.fileOperations(targetGuid); this.mappings = this.loadMapping(); } TemplateMapper.prototype.getTemplateMapping = function (template, type) { if (!template) return null; var mapping = this.mappings.find(function (m) { return type === 'source' ? m.sourcePageTemplateID === template.pageTemplateID : m.targetPageTemplateID === template.pageTemplateID; }); if (!mapping) return null; return mapping; }; TemplateMapper.prototype.getTemplateMappingByPageTemplateID = function (pageTemplateID, type) { var mapping = this.mappings.find(function (m) { return type === 'source' ? m.sourcePageTemplateID === pageTemplateID : m.targetPageTemplateID === pageTemplateID; }); if (!mapping) return null; return mapping; }; TemplateMapper.prototype.getTemplateMappingByPageTemplateName = function (pageTemplateName, type) { var mapping = this.mappings.find(function (m) { return type === 'source' ? m.sourcePageTemplateName === pageTemplateName : m.targetPageTemplateName === pageTemplateName; }); if (!mapping) return null; return mapping; }; TemplateMapper.prototype.getMappedEntity = function (mapping, type) { if (!mapping) return null; var guid = type === 'source' ? mapping.sourceGuid : mapping.targetGuid; var pageTemplateID = type === 'source' ? mapping.sourcePageTemplateID : mapping.targetPageTemplateID; var fileOps = new core_1.fileOperations(guid); var templateData = fileOps.readJsonFile("templates/".concat(pageTemplateID, ".json")); if (!templateData) return null; return templateData; }; TemplateMapper.prototype.addMapping = function (sourceTemplate, targetTemplate) { var mapping = this.getTemplateMapping(targetTemplate, 'target'); if (mapping) { this.updateMapping(sourceTemplate, targetTemplate); } else { var newMapping = { sourceGuid: this.sourceGuid, targetGuid: this.targetGuid, sourcePageTemplateID: sourceTemplate.pageTemplateID, targetPageTemplateID: targetTemplate.pageTemplateID, sourcePageTemplateName: sourceTemplate.pageTemplateName, targetPageTemplateName: targetTemplate.pageTemplateName, }; this.mappings.push(newMapping); } this.saveMapping(); }; TemplateMapper.prototype.updateMapping = function (sourceTemplate, targetTemplate) { var mapping = this.getTemplateMapping(targetTemplate, 'target'); if (mapping) { mapping.sourceGuid = this.sourceGuid; mapping.targetGuid = this.targetGuid; mapping.sourcePageTemplateID = sourceTemplate.pageTemplateID; mapping.targetPageTemplateID = targetTemplate.pageTemplateID; mapping.sourcePageTemplateName = sourceTemplate.pageTemplateName; mapping.targetPageTemplateName = targetTemplate.pageTemplateName; } this.saveMapping(); }; TemplateMapper.prototype.loadMapping = function () { var mapping = this.fileOps.getMappingFile(this.directory, this.sourceGuid, this.targetGuid); return mapping; }; TemplateMapper.prototype.saveMapping = function () { this.fileOps.saveMappingFile(this.mappings, this.directory, this.sourceGuid, this.targetGuid); }; TemplateMapper.prototype.hasTargetChanged = function (template) { if (!template) return false; var mapping = this.getTemplateMapping(template, 'target'); if (!mapping) return false; return mapping.targetPageTemplateID !== template.pageTemplateID; }; TemplateMapper.prototype.hasSourceChanged = function (template) { var mapping = this.getTemplateMapping(template, 'source'); if (!mapping) return false; return mapping.sourcePageTemplateID !== template.pageTemplateID; }; return TemplateMapper; }()); exports.TemplateMapper = TemplateMapper; //# sourceMappingURL=template-mapper.js.map