UNPKG

move-qcp

Version:
84 lines (76 loc) 2.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createQCP = void 0; const path_1 = require("path"); const util_1 = require("util"); const fs_1 = require("fs"); const mkdirPromise = (0, util_1.promisify)(fs_1.mkdir); const writeFilePromise = (0, util_1.promisify)(fs_1.writeFile); async function createQCP(flags) { try { const path = flags.outputdir; await Promise.all([ createFile(`${path}/${flags.name}/config.json`, getSettingFileCode(flags.name)), createFile(`${path}/${flags.name}/main.js`, mainCode), ]); await Promise.all([ createFile(`${path}/${flags.name}/onAfterCalculate/afterCalculate.js`, afterCalculateCode), createFile(`${path}/${flags.name}/onBeforeCalculate/beforeCalculate.js`, beforeCalculateCode), createFile(`${path}/${flags.name}/onInit/init.js`, initCode), createFile(`${path}/${flags.name}/pageSecurityPlugin/psp.js`, pspCode), ]); return { isSuccess: true }; } catch (err) { return { isSuccess: false, errorMessage: err }; } } exports.createQCP = createQCP; async function createFile(path, contents) { await mkdirPromise((0, path_1.dirname)(path), { recursive: true }); await writeFilePromise(path, contents); } const pspCode = `export function isVisible(fieldName, record, conn, objectName){ } export function isEditable(fieldName, record, conn, objectName) { }`; const initCode = `export function init(lines, conn){ return Promise.resolve(); }`; const beforeCalculateCode = `export function beforeCalculate(quoteModel, quoteLineModels, conn) { return Promise.resolve(); };`; const afterCalculateCode = `export function afterCalculate(quoteModel, quoteLineModels, conn) { return Promise.resolve(); };`; const mainCode = `import { isVisible, isEditable } from './pageSecurityPlugin/psp' import { init } from './onInit/init' import { beforeCalculate } from './onBeforeCalculate/beforeCalculate' import { afterCalculate } from './onAfterCalculate/afterCalculate' export function onInit(quoteLineModels, conn){ return init(quoteLineModels, conn); } export function onBeforeCalculate(quote, lines, conn){ return beforeCalculate(quote, lines, conn); } export function onAfterCalculate(quote, lines, conn){ return afterCalculate(quote, lines, conn); } export function isFieldVisibleForObject(fieldName, line, conn, objectName){ return isVisible(fieldName, line, conn, objectName); } export function isFieldEditableForObject(fieldName, line, conn, objectName){ return isEditable(fieldName, line, conn, objectName); }`; function getSettingFileCode(name) { return `{ "Name": "${name}", "SBQQ__GroupFields__c": [], "SBQQ__ConsumptionScheduleFields__c": [], "SBQQ__QuoteLineFields__c": [ ], "SBQQ__QuoteFields__c": [ ] }`; } //# sourceMappingURL=HandleCreateQCP.js.map