@wbg-mde/server
Version:
MDE communication channel with Socket IO and express.
95 lines • 3.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const repository = require("@wbg-mde/repository");
class TemplateSocket {
constructor(activeSocket) {
this.socket = activeSocket;
}
/*
* Init - add socket listeners
************************************************/
init() {
this.socket.on("get-all-templates-req", (params) => {
this.getAllTemplates(params);
});
this.socket.on("remove-template-req", (params) => {
this.removeTemplate(params);
});
this.socket.on("get-template-used-projects-req", (params) => {
this.getTemplateUsedProjects(params);
});
this.socket.on("read-template-req", (params) => {
this.readTemplate(params);
});
this.socket.on("write-template-req", (params) => {
this.writeTemplate(params);
});
this.socket.on("write-file-req", (params) => {
this.writeFile(params);
});
this.socket.on("read-file-req", (params) => {
this.readFile(params);
});
this.socket.on("get-template-section-mapping-req", (params) => {
this.getTemplateSectionMappingSchema(params);
});
this.socket.on("get-base-template-req", (params) => {
this.getBaseTemplateSchema(params);
});
}
readFile(params) {
try {
let data = repository.Repository_Utility.readFile(params.filePath) || {};
this.socket.emit('read-file-resp', { result: 'ok', data: data.toString(), filePath: params.filePath, context: params.context });
}
catch (e) {
this.socket.emit('read-file-resp', { result: 'error', message: e.toString() });
}
}
writeFile(params) {
try {
repository.template.writeFile(params.filePath, JSON.stringify(params.data));
this.socket.emit('write-file-resp', { result: 'ok', filePath: params.filePath });
}
catch (e) {
this.socket.emit('write-file-resp', { result: 'error', message: e.toString() });
}
}
writeTemplate(params) {
repository.template.writeTemplate(params.metadata, params.result, (response) => {
this.socket.emit('write-template-resp', Object.assign(params, response));
});
}
readTemplate(params) {
repository.template.readTemplate(params.type, params.language, params.selectedTemplateName, (response) => {
this.socket.emit('read-template-resp', Object.assign(response, params));
});
}
getTemplateUsedProjects(params) {
repository.template.getTemplateUsedProjects(params.selectedTemplateName, (response) => {
this.socket.emit('get-template-used-projects-resp', response);
});
}
getAllTemplates(params) {
repository.template.getAllTemplates((response) => {
this.socket.emit('get-all-templates-resp', Object.assign(response, params));
});
}
removeTemplate(params) {
repository.template.removeTemplate(params._id, (response) => {
this.socket.emit('remove-template-resp', response);
});
}
getTemplateSectionMappingSchema(params) {
repository.template.getTemplateSectionMappingSchema(params.type, params.language, (response) => {
this.socket.emit('get-template-section-mapping-resp', Object.assign(response, params));
});
}
getBaseTemplateSchema(params) {
repository.template.getBaseTemplateSchema(params.type, params.language, (response) => {
this.socket.emit('get-base-template-resp', Object.assign(response, params));
});
}
}
exports.TemplateSocket = TemplateSocket;
//# sourceMappingURL=template.socket.js.map