From d32bcec04a9f3dc88030fe2777ebf9ecc7b79ab8 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Tue, 8 Oct 2019 14:58:25 -0400 Subject: [PATCH 1/9] Changed path for compliance --- constants.js | 4 +++- utility/customerUtility/rulesetType.js | 11 ++++++++++- utility/customerUtility/setupCustomerAxusCode.js | 11 ++++++----- utility/customerUtility/setupCustomerDirectories.js | 9 +++++---- utility/customerUtility/setupCustomerFiles.js | 11 ++++++----- utility/customerUtility/setupCustomerResources.js | 9 +++++---- utility/customerUtility/setupCutomerBaseCode.js | 7 ++++--- utility/customerUtility/setupSampleData.js | 5 +++-- 8 files changed, 42 insertions(+), 25 deletions(-) diff --git a/constants.js b/constants.js index 87d5f20..c9d628f 100644 --- a/constants.js +++ b/constants.js @@ -34,6 +34,7 @@ const fields = { AUTHORIZATION: `Authorization`, OBJECT_FIELDS: `OBJECT_FIELDS`, EVENT: `Event`, + MODULE_NAME: `moduleName`, IS_SAMPLE_REQUIRED: `isSampleRequired`, FILE: `file`, IS_CONFIG: `isConfig`, @@ -75,7 +76,7 @@ const GENERAL = { JIRA_DEFAULT_TEXT: `CHANGEME`, DATE_FORMAT: `MM/DD/YYYY`, WHO: `¯\\_(ツ)_/¯`, - DESCRIPTION: `UPDATE THE DESCRIPTION`, + DESCRIPTION: `New`, AFFIRM: [`YES`, `Y`], NEGATIVE: [`NO`, `N`], GET: `get`, @@ -120,6 +121,7 @@ const FILES = { INI: `.ini` }, RESOURCES: `resources`, + TYPE_EXTENSION_MODULE: `TypeExtensionModule` } diff --git a/utility/customerUtility/rulesetType.js b/utility/customerUtility/rulesetType.js index 2d5feab..6082ace 100644 --- a/utility/customerUtility/rulesetType.js +++ b/utility/customerUtility/rulesetType.js @@ -28,7 +28,8 @@ const { CUSTOMER_NAME, DOCUMENT_TYPE, EVENT, - IS_CONFIG + IS_CONFIG, + MODULE_NAME }, RULE_SET: { POP_RULE_SET, @@ -37,6 +38,9 @@ const { OPTIONS: { ONE, TWO + }, + FILES: { + TYPE_EXTENSION_MODULE } } = CONSTANTS @@ -62,6 +66,8 @@ export default (essentials) => { let settingRulesetType = (rulesetName, essentials) => { let type = null let event = null + let moduleName = null + switch (rulesetName.toLowerCase()) { case POP.toLowerCase(): case POPS.toLowerCase(): @@ -70,6 +76,7 @@ let settingRulesetType = (rulesetName, essentials) => { case ONE: type = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + POP_RULE_SET event = POPULATE + moduleName = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + `${TYPE_EXTENSION_MODULE}` break case VLD.toLowerCase(): @@ -79,6 +86,7 @@ let settingRulesetType = (rulesetName, essentials) => { case TWO: type = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + VLD_RULE_SET event = VALIDATE + moduleName = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + `${TYPE_EXTENSION_MODULE}` break default: reject(new Error(NO_RULESET_TYPE_RPOVIDED)) @@ -86,4 +94,5 @@ let settingRulesetType = (rulesetName, essentials) => { } essentials[CUSTOMER][RULE_SET_TYPE] = type essentials[CUSTOMER][EVENT] = event + essentials[CUSTOMER][MODULE_NAME] = moduleName } \ No newline at end of file diff --git a/utility/customerUtility/setupCustomerAxusCode.js b/utility/customerUtility/setupCustomerAxusCode.js index 42bd106..bf54772 100644 --- a/utility/customerUtility/setupCustomerAxusCode.js +++ b/utility/customerUtility/setupCustomerAxusCode.js @@ -13,7 +13,8 @@ const { CUSTOMER_NAME, RULE_SET_TYPE, CUSTOMER_TEST_DIRECTORY, - EVENT + EVENT, + MODULE_NAME }, FILES: { EXTENSIONS: { @@ -44,15 +45,15 @@ export default (essentials) => { let who = `${essentials[USER][USER_NAME].charAt(0).toUpperCase()}${essentials[USER][USER_NAME].charAt(1).toUpperCase()}` || WHO let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) - isFileExisting(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/`,`${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`,`${SPEC}`).then((res) => { - let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, ENCODING_UTF8) + isFileExisting(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/`,`${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`,`${SPEC}`).then((res) => { + let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, ENCODING_UTF8) if(data && data != ``){ console.log(DATA_ALREADY_PRESENT) resolve() } }) .catch((res) => { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) + fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) console.log(`${AXUS_INITIAL_CODE_SETUP}`) resolve() }) @@ -79,7 +80,7 @@ let constructCode = (essentials, jiraNumber, date, who, description) => { let expect = chai.expect; let axus = require('axus'); let ctx = axus - .requireLocal('../customer/${essentials.customer.customerName}/${essentials.customer.ruleSetType}', undefined, { + .requireLocal('../customer/${essentials.customer.customerName}/${essentials.customer.moduleName}', undefined, { console: console }) .seed(require('./resources/seed.json')); //ADD YOUR SEEDFILE HERE diff --git a/utility/customerUtility/setupCustomerDirectories.js b/utility/customerUtility/setupCustomerDirectories.js index 6ed8705..87bc74f 100644 --- a/utility/customerUtility/setupCustomerDirectories.js +++ b/utility/customerUtility/setupCustomerDirectories.js @@ -14,7 +14,8 @@ const { CUSTOMER_NAME, FILE, CUSTOMER_DIRECTORY, - CUSTOMER_TEST_DIRECTORY + CUSTOMER_TEST_DIRECTORY, + MODULE_NAME }, FILES: { RESOURCES @@ -27,11 +28,11 @@ export default (essential) => { return new Promise((resolve, reject) => { if (essential[CUSTOMER] && essential[CUSTOMER][CUSTOMER_NAME]) { const customerName = essential[CUSTOMER][CUSTOMER_NAME] - createFolder(`${essential[FILE][CUSTOMER_DIRECTORY]}/${customerName}/${essential[CUSTOMER][RULE_SET_TYPE]}`) + createFolder(`${essential[FILE][CUSTOMER_DIRECTORY]}/${customerName}/${essential[CUSTOMER][MODULE_NAME]}`) .then((customerFolderCreationStauts) => { - createFolder(`${essential[FILE][CUSTOMER_TEST_DIRECTORY]}/${customerName}/${essential[CUSTOMER][RULE_SET_TYPE]}`) + createFolder(`${essential[FILE][CUSTOMER_TEST_DIRECTORY]}/${customerName}/${essential[CUSTOMER][MODULE_NAME]}`) .then(() => { - createFolder(`${essential[FILE][CUSTOMER_TEST_DIRECTORY]}/${customerName}/${essential[CUSTOMER][RULE_SET_TYPE]}/${RESOURCES}`).then((status) => { + createFolder(`${essential[FILE][CUSTOMER_TEST_DIRECTORY]}/${customerName}/${essential[CUSTOMER][MODULE_NAME]}/${RESOURCES}`).then((status) => { resolve() }) }) diff --git a/utility/customerUtility/setupCustomerFiles.js b/utility/customerUtility/setupCustomerFiles.js index d85b868..d325151 100644 --- a/utility/customerUtility/setupCustomerFiles.js +++ b/utility/customerUtility/setupCustomerFiles.js @@ -10,7 +10,8 @@ import { CUSTOMER_NAME, FILE, CUSTOMER_DIRECTORY, - CUSTOMER_TEST_DIRECTORY + CUSTOMER_TEST_DIRECTORY, + MODULE_NAME }, FILES: { EXTENSIONS: { @@ -29,13 +30,13 @@ import { export default (essentials) => { return new Promise((resolve, reject) => { - if (essentials && essentials[CUSTOMER] && essentials[CUSTOMER][CUSTOMER_NAME] && essentials[CUSTOMER][RULE_SET_TYPE]) { - isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `js`).then((isExisting) => { + if (essentials && essentials[CUSTOMER] && essentials[CUSTOMER][CUSTOMER_NAME] && essentials[CUSTOMER][MODULE_NAME]) { + isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `js`).then((isExisting) => { console.log(DATA_ALREADY_PRESENT) resolve() }).catch((nonExisting) => { - createFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((fileCreationStatus) => { - createFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${SPEC}`) + createFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((fileCreationStatus) => { + createFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${SPEC}`) .then(() => { resolve() }) diff --git a/utility/customerUtility/setupCustomerResources.js b/utility/customerUtility/setupCustomerResources.js index 480f465..acee5be 100644 --- a/utility/customerUtility/setupCustomerResources.js +++ b/utility/customerUtility/setupCustomerResources.js @@ -13,7 +13,8 @@ const { RULE_SET_TYPE, CUSTOMER_TEST_DIRECTORY, EVENT, - IS_SAMPLE_REQUIRED + IS_SAMPLE_REQUIRED, + MODULE_NAME }, FILES: { EXTENSIONS: { @@ -49,11 +50,11 @@ export default (essentials) => { let who = `${essentials[USER][USER_NAME].charAt(0).toUpperCase()}${essentials[USER][USER_NAME].charAt(1).toUpperCase()}` || WHO let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) - let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, ENCODING_UTF8) + let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, ENCODING_UTF8) if (data && data != ``) { resolve() } else { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) + fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) resolve() } } else { @@ -86,7 +87,7 @@ let constructCode = (essentials, jiraNumber, date, who, description) => { let expect = chai.expect; let axus = require('axus'); let ctx = axus - .requireLocal('../customer/${essentials.customer.customerName}/${essentials.customer.documentType}/${essentials.customer.ruleSetType}', undefined, { + .requireLocal('../customer/${essentials.customer.customerName}/${essentials.customer.documentType}/${essentials.customer.moduleName}', undefined, { console: console }) ${isResourceSetup === AFFIRM[1]?".seed(require('./resources/seed.json')); //ADD YOUR SEEDFILE HERE":'//ADD YOUR SEEDFILE HERE'} diff --git a/utility/customerUtility/setupCutomerBaseCode.js b/utility/customerUtility/setupCutomerBaseCode.js index 0d1ee3d..c133e74 100644 --- a/utility/customerUtility/setupCutomerBaseCode.js +++ b/utility/customerUtility/setupCutomerBaseCode.js @@ -12,7 +12,8 @@ const { CUSTOMER_DIRECTORY, CUSTOMER_NAME, RULE_SET_TYPE, - EVENT + EVENT, + MODULE_NAME }, FILES: { EXTENSIONS: { @@ -42,12 +43,12 @@ export default (essentials) => { let who = `${essentials[USER][USER_NAME].charAt(0).toUpperCase()}${essentials[USER][USER_NAME].charAt(1).toUpperCase()}` || WHO let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) - let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, ENCODING_UTF8) + let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, ENCODING_UTF8) if (data && data != ``) { console.log(DATA_ALREADY_PRESENT) resolve() } else { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) + fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) console.log(`${TYPE_EXTENSION_INITIAL_CODE_SETUP}`) resolve() } diff --git a/utility/customerUtility/setupSampleData.js b/utility/customerUtility/setupSampleData.js index 500f9b2..0b60247 100644 --- a/utility/customerUtility/setupSampleData.js +++ b/utility/customerUtility/setupSampleData.js @@ -37,7 +37,8 @@ const { QUERY_URL, FETCH_URL, IS_SAMPLE_REQUIRED, - ORDERS_FIELD + ORDERS_FIELD, + MODULE_NAME }, QUESTIONS: { QUESTION_SAMPLE_DATA_REQUEST, @@ -167,7 +168,7 @@ let fetchRelatedOrders = (essential, fetchedObject, options) => { } let setupResources = (essentials, data, docType, suffix) => { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}/${RESOURCES}/${docType||essentials[CUSTOMER][DOCUMENT_TYPE]}${_JSON}`, data) + fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${RESOURCES}/${docType||essentials[CUSTOMER][DOCUMENT_TYPE]}${_JSON}`, data) } let settingupSampleData = (essential, isDataRequired) => { From c5f5719a5be4394d35d4174b42c5a43ae6d934c3 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Tue, 8 Oct 2019 16:02:15 -0400 Subject: [PATCH 2/9] Removed unwanted module --- utility/customerUtility/setupCustomerAxusCode.js | 2 +- utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/utility/customerUtility/setupCustomerAxusCode.js b/utility/customerUtility/setupCustomerAxusCode.js index bf54772..fbc1f08 100644 --- a/utility/customerUtility/setupCustomerAxusCode.js +++ b/utility/customerUtility/setupCustomerAxusCode.js @@ -73,7 +73,7 @@ let constructCode = (essentials, jiraNumber, date, who, description) => { * * (B)ug/(E)nh/(I)DB # Date Who Description * ------------------- ---------- --- --------------------------------------------------------------- - * ${jiraNumber}\t\t\t\t\t\t ${date} ${who}\t${description} + * ${jiraNumber}\t\t\t\t\t\t ${date} \t${who}\t${description} */ let chai = require('chai'); chai.use(require('chai-things')); diff --git a/utils.js b/utils.js index 3563995..abfbdb8 100644 --- a/utils.js +++ b/utils.js @@ -181,7 +181,7 @@ let processCustomer = (essentials) => { await setupSampleData(essentials) await setupCutomerBaseCode(essentials) await setupCustomerAxusCode(essentials) - await setupCustomerResources(essentials) + // await setupCustomerResources(essentials) resolve() }) } From 3e45be726ac4f5d7f09966099c4f6ddee6577ae4 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Wed, 9 Oct 2019 16:47:30 -0400 Subject: [PATCH 3/9] Preparing module for platform changes STAGE:1 --- TypeExtensionManager.js | 4 +- constants.js | 40 ++- package.json | 3 +- .../customerUtility/setupCustomerAxusCode.js | 6 +- .../setupCustomerDirectories.js | 2 +- utility/customerUtility/setupCustomerFiles.js | 99 +++--- .../customerUtility/setupCutomerBaseCode.js | 18 +- utility/fileUtility/isFileExisting.js | 21 +- .../platformUtility/createPlatformFiles.js | 46 +++ .../platformUtility/createPlatformFolders.js | 33 ++ utility/platformUtility/index.js | 2 + utility/platformUtility/setupPlatformFile.js | 298 ++++++++++++++++++ utils.js | 41 ++- 13 files changed, 544 insertions(+), 69 deletions(-) create mode 100644 utility/platformUtility/createPlatformFiles.js create mode 100644 utility/platformUtility/createPlatformFolders.js create mode 100644 utility/platformUtility/index.js create mode 100644 utility/platformUtility/setupPlatformFile.js diff --git a/TypeExtensionManager.js b/TypeExtensionManager.js index 89d1ec2..a23473b 100644 --- a/TypeExtensionManager.js +++ b/TypeExtensionManager.js @@ -7,7 +7,7 @@ import utils from './utils' import CONSTANTS from './constants' import { runConfig } from './utility/customerUtility'; -let {initModules, writeUserData, getBasicKey, processCustomer} = utils +let {initModules, writeUserData, getBasicKey, processCustomer, processPlatformModule} = utils let {CMD_ARGUMENTS:{DOC_ARG, TYPE_ARG, HELP_ARG}, STARTUP_LOG, MESSAGES:{HELP:{HELP_TEXT}}} = CONSTANTS const main = async () => { @@ -34,6 +34,8 @@ const main = async () => { runConfig(essentials, configType, rulesetType) } await processCustomer(essentials) + await processPlatformModule(essentials) + console.log(essentials) process.exit() }) } diff --git a/constants.js b/constants.js index c9d628f..96cb314 100644 --- a/constants.js +++ b/constants.js @@ -36,7 +36,11 @@ const fields = { EVENT: `Event`, MODULE_NAME: `moduleName`, IS_SAMPLE_REQUIRED: `isSampleRequired`, + MODULE_PATH: `modulePath`, + ADD_PLATFORM_FILE: `addPlatformFile`, FILE: `file`, + RANK: `rank`, + PLATFORM_FILE: `platformFile`, IS_CONFIG: `isConfig`, HTTP_HEADER:{ headers:{ @@ -66,6 +70,33 @@ const CMD_ARGUMENTS = { HELP_ARG: `--h` } +const PLATFORM = { + FOLDERS:{ + $TYPE_EXTENSION_D1: `$TypeExtensionD1`, + CUSTOM_OBJECT_MODULE: `CustomObjectModule`, + PLATFORM_LOCALIZATION: `PlatformLocalization`, + TYPE_EXTENSION_SCRIPT: `typeExtensionScript` + }, + FILES:{ + METADATA_PROPERTIES: `metadata.properties`, + DEFAULT_RANK: 10, + RANK: 10, + PLATFORM_MODULE: `PlatformModule`, + FILE_NAME: ``, + set SET_RANK (rank) { + this.RANK = `${rank}` + }, + get GET_RANK () { + return this.RANK + }, + set SET_FILE_NAME (name) { + this.FILE_NAME = `${name}__Rank-${this.GET_RANK}` + }, + get GET_FILE_NAME () { + return this.FILE_NAME + } + } +} const GENERAL = { ENCODING_UTF8: `utf8`, @@ -101,7 +132,8 @@ const GTNEXUS = { OQL: `oql`, QUERY: `query`, VERSION:{ - LATEST: `3.1` + LATEST: `3.1`, + FULL_VERSION: `310` }, }, get SUPQ_URL() { @@ -118,7 +150,8 @@ const FILES = { JS: `.js`, SPEC: `.spec.js`, _JSON: `.json`, - INI: `.ini` + INI: `.ini`, + XML: `.xml` }, RESOURCES: `resources`, TYPE_EXTENSION_MODULE: `TypeExtensionModule` @@ -372,5 +405,6 @@ export default{ OPTIONS, fields, CMD_ARGUMENTS, - STARTUP_LOG + STARTUP_LOG, + PLATFORM } \ No newline at end of file diff --git a/package.json b/package.json index 107c644..bdef8d7 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "node-cmd": "^3.0.0", "shelljs": "^0.8.3", "slash": "^3.0.0", - "upath": "^1.2.0" + "upath": "^1.2.0", + "xml-js": "^1.6.11" }, "devDependencies": { "babel-cli": "^6.26.0", diff --git a/utility/customerUtility/setupCustomerAxusCode.js b/utility/customerUtility/setupCustomerAxusCode.js index fbc1f08..b66bd58 100644 --- a/utility/customerUtility/setupCustomerAxusCode.js +++ b/utility/customerUtility/setupCustomerAxusCode.js @@ -45,11 +45,15 @@ export default (essentials) => { let who = `${essentials[USER][USER_NAME].charAt(0).toUpperCase()}${essentials[USER][USER_NAME].charAt(1).toUpperCase()}` || WHO let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) - isFileExisting(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/`,`${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`,`${SPEC}`).then((res) => { + isFileExisting(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`,`${SPEC}`).then((res) => { let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, ENCODING_UTF8) if(data && data != ``){ console.log(DATA_ALREADY_PRESENT) resolve() + }else{ + fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) + console.log(`${AXUS_INITIAL_CODE_SETUP}`) + resolve() } }) .catch((res) => { diff --git a/utility/customerUtility/setupCustomerDirectories.js b/utility/customerUtility/setupCustomerDirectories.js index 87bc74f..69c6349 100644 --- a/utility/customerUtility/setupCustomerDirectories.js +++ b/utility/customerUtility/setupCustomerDirectories.js @@ -1,4 +1,4 @@ -import CONSTANTS from '../../constants' + import CONSTANTS from '../../constants' import { createFolder } from '../fileUtility' diff --git a/utility/customerUtility/setupCustomerFiles.js b/utility/customerUtility/setupCustomerFiles.js index d325151..bdadf3f 100644 --- a/utility/customerUtility/setupCustomerFiles.js +++ b/utility/customerUtility/setupCustomerFiles.js @@ -1,56 +1,67 @@ import { createFile, isFileExisting - } from '../fileUtility' - import CONSTANTS from '../../constants' - const { +} from '../fileUtility' +import CONSTANTS from '../../constants' + +const { fields: { - CUSTOMER, - RULE_SET_TYPE, - CUSTOMER_NAME, - FILE, - CUSTOMER_DIRECTORY, - CUSTOMER_TEST_DIRECTORY, - MODULE_NAME + CUSTOMER, + RULE_SET_TYPE, + CUSTOMER_NAME, + FILE, + CUSTOMER_DIRECTORY, + CUSTOMER_TEST_DIRECTORY, + MODULE_NAME, + MODULE_PATH, + ADD_PLATFORM_FILE }, FILES: { - EXTENSIONS: { - JS, - SPEC - } + EXTENSIONS: { + JS, + SPEC + } }, MESSAGES: { - INFO: { - COULD_NOT_CREATE_AXUS_TEST_FILE, - DATA_ALREADY_PRESENT - } + INFO: { + COULD_NOT_CREATE_AXUS_TEST_FILE, + DATA_ALREADY_PRESENT + } } - } = CONSTANTS - - - export default (essentials) => { +} = CONSTANTS + + +export default (essentials) => { return new Promise((resolve, reject) => { - if (essentials && essentials[CUSTOMER] && essentials[CUSTOMER][CUSTOMER_NAME] && essentials[CUSTOMER][MODULE_NAME]) { - isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `js`).then((isExisting) => { - console.log(DATA_ALREADY_PRESENT) - resolve() - }).catch((nonExisting) => { - createFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((fileCreationStatus) => { - createFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${SPEC}`) - .then(() => { - resolve() - }) - .catch(() => { - console.log(COULD_NOT_CREATE_AXUS_TEST_FILE) - resolve() - }) + if (essentials && essentials[CUSTOMER] && essentials[CUSTOMER][CUSTOMER_NAME] && essentials[CUSTOMER][MODULE_NAME]) { + isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((isExisting) => { + if (isExisting) { + essentials[CUSTOMER][MODULE_PATH] = `${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}` + essentials[CUSTOMER][ADD_PLATFORM_FILE] = false + console.log(DATA_ALREADY_PRESENT) + } else { + createFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((fileCreationStatus) => { + essentials[CUSTOMER][ADD_PLATFORM_FILE] = true + createFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${SPEC}`) + .then(() => { + essentials[CUSTOMER][MODULE_PATH] = `${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}` + resolve() + }) + .catch(() => { + console.log(COULD_NOT_CREATE_AXUS_TEST_FILE) + resolve() + }) + }) + .catch((fileCreationStatus) => { + reject() + }) + } + resolve() + }).catch((nonExisting) => { + reject() }) - .catch((fileCreationStatus) => { - reject() - }) - }) - } else { - reject() - } + } else { + reject() + } }) - } \ No newline at end of file +} \ No newline at end of file diff --git a/utility/customerUtility/setupCutomerBaseCode.js b/utility/customerUtility/setupCutomerBaseCode.js index c133e74..c84659f 100644 --- a/utility/customerUtility/setupCutomerBaseCode.js +++ b/utility/customerUtility/setupCutomerBaseCode.js @@ -1,6 +1,7 @@ import fs from 'fs'; import moment from 'moment'; import CONSTANTS from '../../constants'; +import {isFileExisting} from "../fileUtility"; const { fields: { CUSTOMER, @@ -36,17 +37,24 @@ const { } = CONSTANTS export default (essentials) => { - return new Promise((resolve, reject) => { + return new Promise(async (resolve, reject) => { if (essentials && essentials[CUSTOMER][DOC_SHORT_FORM] && essentials[CUSTOMER][JIRA_NUMBER]) { let jiraNumber = essentials[CUSTOMER][JIRA_NUMBER] let date = `${moment().format(DATE_FORMAT)}` let who = `${essentials[USER][USER_NAME].charAt(0).toUpperCase()}${essentials[USER][USER_NAME].charAt(1).toUpperCase()}` || WHO let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) - let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, ENCODING_UTF8) - if (data && data != ``) { - console.log(DATA_ALREADY_PRESENT) - resolve() + let boolIsFileExisting = await isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`,`${JS}`) + console.log(boolIsFileExisting+ ":"+"->") + if (boolIsFileExisting) { + let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`) + if(data.length != 0){ + console.log(DATA_ALREADY_PRESENT) + resolve() + }else{ + fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) + resolve() + } } else { fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) console.log(`${TYPE_EXTENSION_INITIAL_CODE_SETUP}`) diff --git a/utility/fileUtility/isFileExisting.js b/utility/fileUtility/isFileExisting.js index 04f3026..c88e132 100644 --- a/utility/fileUtility/isFileExisting.js +++ b/utility/fileUtility/isFileExisting.js @@ -4,16 +4,25 @@ export default (path, fileName, fileExtension) => { return new Promise((resolve, reject) => { if(path && fileExtension && fileName){ try{ - let data = fs.readFileSync(`${path}/${fileName}.${fileExtension}`, 'utf8') - if(data){ - resolve(true) + const isFileExisting = fs.existsSync(`${path}/${fileName}${fileExtension}`) + if(isFileExisting){ + let data = fs.readFileSync(`${path}/${fileName}${fileExtension}`, 'utf8') + if(data){ + resolve(true) + }else if(data.length === 0){ + resolve(true) + }else{ + console.log(data) + resolve(false) + } }else{ - console.log(data) - reject(false) + resolve(false) } }catch(fe){ - reject(false) + reject(false) } + }else{ + resolve(false) } }) } \ No newline at end of file diff --git a/utility/platformUtility/createPlatformFiles.js b/utility/platformUtility/createPlatformFiles.js new file mode 100644 index 0000000..9eff172 --- /dev/null +++ b/utility/platformUtility/createPlatformFiles.js @@ -0,0 +1,46 @@ +import createFile from '../fileUtility/createFile' +import isFileExisting from '../fileUtility/isFileExisting' +import readFromFile from '../fileUtility/readFromFile' +import CONSTANTS from '../../constants' + +const { + fields: { + CUSTOMER, + RANK, + MODULE_PATH, + DOCUMENT_TYPE, + ADD_PLATFORM_FILE + }, + FILES:{ + EXTENSIONS:{ + XML + } + }, + PLATFORM: { + FILES, + FOLDERS: { + $TYPE_EXTENSION_D1, + TYPE_EXTENSION_SCRIPT + } + } +} = CONSTANTS + +export default (essentials) => { + return new Promise(async (resolve, reject) => { + const $typeExtensionD1 = `${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}` + FILES.SET_FILE_NAME = `${essentials[CUSTOMER][DOCUMENT_TYPE]}` + let boolIsFileExisting = true + let rank = 0 + while(boolIsFileExisting) { + rank+=10 + FILES.SET_RANK = rank + FILES.SET_FILE_NAME = `${essentials[CUSTOMER][DOCUMENT_TYPE]}` + boolIsFileExisting = await isFileExisting(`${$typeExtensionD1}`, `${FILES.GET_FILE_NAME}`, `${XML}`) + } + if(essentials[CUSTOMER][ADD_PLATFORM_FILE]){ + await createFile($typeExtensionD1, FILES.GET_FILE_NAME, `${XML}`) + essentials[CUSTOMER][RANK] = FILES.GET_RANK + } + resolve() + }) +} diff --git a/utility/platformUtility/createPlatformFolders.js b/utility/platformUtility/createPlatformFolders.js new file mode 100644 index 0000000..c233ae3 --- /dev/null +++ b/utility/platformUtility/createPlatformFolders.js @@ -0,0 +1,33 @@ +import {createFolder} from "../fileUtility"; +import CONSTANTS from '../../constants' + +const { + fields:{ + CUSTOMER_DIRECTORY, + CUSTOMER, + RULE_SET_TYPE, + MODULE_NAME, + MODULE_PATH + }, + PLATFORM:{ + FOLDERS:{ + $TYPE_EXTENSION_D1, + PLATFORM_LOCALIZATION, + TYPE_EXTENSION_SCRIPT + } + } +} = CONSTANTS + +export default (essentials) => { + return new Promise(async (resolve, reject) => { + console.log(essentials) + const $typeExtensionPathD1 = `${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}` + const platformLocalization = `${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}` + const typeExtensionScript = `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}` + + await createFolder($typeExtensionPathD1) + await createFolder(platformLocalization) + await createFolder(typeExtensionScript) + resolve() + }) +} \ No newline at end of file diff --git a/utility/platformUtility/index.js b/utility/platformUtility/index.js new file mode 100644 index 0000000..2cef6b8 --- /dev/null +++ b/utility/platformUtility/index.js @@ -0,0 +1,2 @@ +export { default as createPlatformFiles } from './createPlatformFiles' +export { default as createPlatformFolders } from './createPlatformFolders' \ No newline at end of file diff --git a/utility/platformUtility/setupPlatformFile.js b/utility/platformUtility/setupPlatformFile.js new file mode 100644 index 0000000..7b5c184 --- /dev/null +++ b/utility/platformUtility/setupPlatformFile.js @@ -0,0 +1,298 @@ +import xmljsonParser from 'xml-js' +import CONSTANTS from '../../constants' +import fs from 'fs' + + +const { + fields: { + CUSTOMER, + DOCUMENT_TYPE, + RANK, + EVENT, + ADD_PLATFORM_FILE, + PLATFORM_FILE, + MODULE_PATH + }, + PLATFORM:{ + FILES, + FOLDERS:{ + $TYPE_EXTENSION_D1 + } + }, + FILES:{ + EXTENSIONS:{ + XML + } + }, + GTNEXUS: { + API: { + VERSION: { + FULL_VERSION, + LATEST + } + } + } +} = CONSTANTS + +export default (essentials) => { + return new Promise((resolve, reject) => { + if (essentials[CUSTOMER][ADD_PLATFORM_FILE]) { + let platformData = ` + { + "elements": [ + { + "type": "element", + "name": "TYPEEXTENSIOND1", + "elements": [ + { + "type": "element", + "name": "__metadata", + "elements": [ + { + "type": "element", + "name": "apiVersion", + "elements": [ + { + "type": "text", + "text": "${LATEST}" + } + ] + }, + { + "type": "element", + "name": "type", + "elements": [ + { + "type": "text", + "text": "$TypeExtensionD1" + } + ] + }, + { + "type": "element", + "name": "uid", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "createTimestamp", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "modifyTimestamp", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "status", + "elements": [ + { + "type": "text", + "text": "Active" + } + ] + }, + { + "type": "element", + "name": "userModRev", + "elements": [ + { + "type": "text", + "text": "1" + } + ] + }, + { + "type": "element", + "name": "creatorId", + "elements": [ + { + "type": "text", + "text": "-1" + } + ] + }, + { + "type": "element", + "name": "fingerprint", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "redirectUrl", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "self", + "elements": [ + { + "type": "text", + "text": "" + } + ] + } + ] + }, + { + "type": "element", + "name": "type", + "elements": [ + { + "type": "text", + "text": "$TypeExtensionD1" + } + ] + }, + { + "type": "element", + "name": "platformModuleType", + "elements": [ + { + "type": "text", + "text": "PlatformModule" + } + ] + }, + { + "type": "element", + "name": "documentType", + "elements": [ + { + "type": "text", + "text": "${essentials[CUSTOMER][DOCUMENT_TYPE]}" + } + ] + }, + { + "type": "element", + "name": "apiVersion", + "elements": [ + { + "type": "text", + "text": "${FULL_VERSION}" + } + ] + }, + { + "type": "element", + "name": "status", + "elements": [ + { + "type": "text", + "text": "Active" + } + ] + }, + { + "type": "element", + "name": "rank", + "elements": [ + { + "type": "text", + "text": "${essentials[CUSTOMER][RANK]}" + } + ] + }, + { + "type": "element", + "name": "callbacks", + "elements": [ + { + "type": "element", + "name": "uid", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "event", + "elements": [ + { + "type": "text", + "text": "on${essentials[CUSTOMER][EVENT]}" + } + ] + }, + { + "type": "element", + "name": "role", + "elements": [ + { + "type": "text", + "text": "Buyer" + } + ] + }, + { + "type": "element", + "name": "functionName", + "elements": [ + { + "type": "text", + "text": "fnOn${essentials[CUSTOMER][EVENT]}" + } + ] + } + ] + }, + { + "type": "element", + "name": "fingerprint", + "elements": [ + { + "type": "text", + "text": "" + } + ] + } + ] + } + ] + } + ` + let options = {compact: false, ignoreComment: true, spaces: 4}; + try { + let result = xmljsonParser.json2xml(JSON.parse(platformData), options); + essentials[CUSTOMER][PLATFORM_FILE] = result + fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}/${FILES.GET_FILE_NAME}${XML}`, essentials[CUSTOMER][PLATFORM_FILE]) + resolve() + } catch (parseError) { + reject() + } + } else { + resolve() + } + + }) +} \ No newline at end of file diff --git a/utils.js b/utils.js index abfbdb8..c2fd74c 100644 --- a/utils.js +++ b/utils.js @@ -1,6 +1,7 @@ import CONSTANTS from './constants' import path from 'path' import Cryptr from 'cryptr' +import setupPlatformFile from './utility/platformUtility/setupPlatformFile' const cryptr = new Cryptr('gtnexusisBest@123') @@ -23,6 +24,11 @@ const { setupCustomerResources, } = require('./utility/customerUtility') +const { + createPlatformFolders, + createPlatformFiles +} = require('./utility/platformUtility') + let { GENERAL: { ENCODING_UTF8, @@ -60,12 +66,23 @@ let { let initModules = () => { console.log(`HELP: npm start -- --h`) return new Promise((resolve, reject) => { - isFileExisting(`.`, `${configFile}`, `ini`).then((isExisting) => { - readFile(`.`, `${configFile}`, `ini`).then((data) => { - essentials = JSON.parse(data) - essentials[EXISTING] = isExisting - resolve(essentials) - }) + isFileExisting(`.`, `${configFile}`, `.ini`).then((isExisting) => { + if(!isExisting){ + createFile(`.`, `${configFile}`, `.ini`).then(() => { + essentials[EXISTING] = false + resolve(essentials) + }) + .catch((err) => { + console.log(err) + reject() + }) + }else{ + readFile(`.`, `${configFile}`, `ini`).then((data) => { + essentials = JSON.parse(data) + essentials[EXISTING] = isExisting + resolve(essentials) + }) + } }).catch((nonExistent) => { createFile(`.`, `${configFile}`, `.ini`).then(() => { essentials[EXISTING] = nonExistent @@ -186,10 +203,20 @@ let processCustomer = (essentials) => { }) } +let processPlatformModule = (essentials) => { + return new Promise(async (resolve, reject) => { + await createPlatformFolders(essentials) + await createPlatformFiles(essentials) + await setupPlatformFile(essentials) + resolve() + }) +} + export default { initModules, writeUserData, getBasicKey, - processCustomer + processCustomer, + processPlatformModule } \ No newline at end of file From 11409343f969940e2e713396f0b9440447bd9137 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Fri, 11 Oct 2019 14:58:45 -0400 Subject: [PATCH 4/9] TypeExtension Platform ready module --- constants.js | 6 +- .../setupCustomerDirectories.js | 9 +- utility/customerUtility/setupCustomerFiles.js | 9 +- .../customerUtility/setupCutomerBaseCode.js | 22 +- .../platformUtility/createPlatformFiles.js | 18 +- utility/platformUtility/setupPlatformFile.js | 299 +++++++++++++++++- 6 files changed, 340 insertions(+), 23 deletions(-) diff --git a/constants.js b/constants.js index 96cb314..97043c5 100644 --- a/constants.js +++ b/constants.js @@ -78,7 +78,7 @@ const PLATFORM = { TYPE_EXTENSION_SCRIPT: `typeExtensionScript` }, FILES:{ - METADATA_PROPERTIES: `metadata.properties`, + METADATA_PROPERTIES: `metadata`, DEFAULT_RANK: 10, RANK: 10, PLATFORM_MODULE: `PlatformModule`, @@ -106,6 +106,7 @@ const GENERAL = { JIRA_BUG_HEADER: `GTBUG-`, JIRA_DEFAULT_TEXT: `CHANGEME`, DATE_FORMAT: `MM/DD/YYYY`, + FULL_DATE_FORMAT: `YYYY-MM-DD HH:mm:ss.SSS`, WHO: `¯\\_(ツ)_/¯`, DESCRIPTION: `New`, AFFIRM: [`YES`, `Y`], @@ -151,7 +152,8 @@ const FILES = { SPEC: `.spec.js`, _JSON: `.json`, INI: `.ini`, - XML: `.xml` + XML: `.xml`, + PROPERTIES: `.properties` }, RESOURCES: `resources`, TYPE_EXTENSION_MODULE: `TypeExtensionModule` diff --git a/utility/customerUtility/setupCustomerDirectories.js b/utility/customerUtility/setupCustomerDirectories.js index 69c6349..2db57d1 100644 --- a/utility/customerUtility/setupCustomerDirectories.js +++ b/utility/customerUtility/setupCustomerDirectories.js @@ -17,9 +17,14 @@ const { CUSTOMER_TEST_DIRECTORY, MODULE_NAME }, + PLATFORM:{ + FOLDERS:{ + TYPE_EXTENSION_SCRIPT + } + }, FILES: { RESOURCES - } + }, } = CONSTANTS @@ -28,7 +33,7 @@ export default (essential) => { return new Promise((resolve, reject) => { if (essential[CUSTOMER] && essential[CUSTOMER][CUSTOMER_NAME]) { const customerName = essential[CUSTOMER][CUSTOMER_NAME] - createFolder(`${essential[FILE][CUSTOMER_DIRECTORY]}/${customerName}/${essential[CUSTOMER][MODULE_NAME]}`) + createFolder(`${essential[FILE][CUSTOMER_DIRECTORY]}/${customerName}/${essential[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`) .then((customerFolderCreationStauts) => { createFolder(`${essential[FILE][CUSTOMER_TEST_DIRECTORY]}/${customerName}/${essential[CUSTOMER][MODULE_NAME]}`) .then(() => { diff --git a/utility/customerUtility/setupCustomerFiles.js b/utility/customerUtility/setupCustomerFiles.js index bdadf3f..deb9629 100644 --- a/utility/customerUtility/setupCustomerFiles.js +++ b/utility/customerUtility/setupCustomerFiles.js @@ -22,6 +22,11 @@ const { SPEC } }, + PLATFORM:{ + FOLDERS:{ + TYPE_EXTENSION_SCRIPT + } + }, MESSAGES: { INFO: { COULD_NOT_CREATE_AXUS_TEST_FILE, @@ -34,13 +39,13 @@ const { export default (essentials) => { return new Promise((resolve, reject) => { if (essentials && essentials[CUSTOMER] && essentials[CUSTOMER][CUSTOMER_NAME] && essentials[CUSTOMER][MODULE_NAME]) { - isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((isExisting) => { + isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((isExisting) => { if (isExisting) { essentials[CUSTOMER][MODULE_PATH] = `${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}` essentials[CUSTOMER][ADD_PLATFORM_FILE] = false console.log(DATA_ALREADY_PRESENT) } else { - createFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((fileCreationStatus) => { + createFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`).then((fileCreationStatus) => { essentials[CUSTOMER][ADD_PLATFORM_FILE] = true createFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${SPEC}`) .then(() => { diff --git a/utility/customerUtility/setupCutomerBaseCode.js b/utility/customerUtility/setupCutomerBaseCode.js index c84659f..27f2a20 100644 --- a/utility/customerUtility/setupCutomerBaseCode.js +++ b/utility/customerUtility/setupCutomerBaseCode.js @@ -1,5 +1,5 @@ import fs from 'fs'; -import moment from 'moment'; +import moment from 'moment' import CONSTANTS from '../../constants'; import {isFileExisting} from "../fileUtility"; const { @@ -21,6 +21,11 @@ const { JS, } }, + PLATFORM:{ + FOLDERS:{ + TYPE_EXTENSION_SCRIPT + } + }, GENERAL: { DATE_FORMAT, WHO, @@ -44,19 +49,19 @@ export default (essentials) => { let who = `${essentials[USER][USER_NAME].charAt(0).toUpperCase()}${essentials[USER][USER_NAME].charAt(1).toUpperCase()}` || WHO let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) - let boolIsFileExisting = await isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`,`${JS}`) + let boolIsFileExisting = await isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`,`${JS}`) console.log(boolIsFileExisting+ ":"+"->") if (boolIsFileExisting) { - let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`) + let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`) if(data.length != 0){ console.log(DATA_ALREADY_PRESENT) resolve() }else{ - fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) + fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) resolve() } } else { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) + fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) console.log(`${TYPE_EXTENSION_INITIAL_CODE_SETUP}`) resolve() } @@ -70,8 +75,7 @@ export default (essentials) => { let constructCode = (essentials, jiraNumber, date, who, description) => { let eventType = `${essentials[CUSTOMER][EVENT]}` - let sampleCode = ` - /** + let sampleCode = `/** * C H A N G E L O G * * (B)ug/(E)nh/(I)DB # Date Who Description @@ -82,7 +86,7 @@ let constructCode = (essentials, jiraNumber, date, who, description) => { /** * THIS IS AUTO GENERATED */ - console.log(${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}) + console.log(${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}); } \n\n\n\n\n\n\n\n\n //Utility @@ -92,5 +96,5 @@ let constructCode = (essentials, jiraNumber, date, who, description) => { } } ` - return '\uFEFF' + sampleCode.replace(/\n/g, '\r\n') + return sampleCode.replace(/\n/g, '\r\n') } \ No newline at end of file diff --git a/utility/platformUtility/createPlatformFiles.js b/utility/platformUtility/createPlatformFiles.js index 9eff172..5f47aa5 100644 --- a/utility/platformUtility/createPlatformFiles.js +++ b/utility/platformUtility/createPlatformFiles.js @@ -13,14 +13,19 @@ const { }, FILES:{ EXTENSIONS:{ - XML + XML, + PROPERTIES } }, PLATFORM: { FILES, + FILES:{ + PLATFORM_MODULE, + METADATA_PROPERTIES + }, FOLDERS: { $TYPE_EXTENSION_D1, - TYPE_EXTENSION_SCRIPT + PLATFORM_LOCALIZATION } } } = CONSTANTS @@ -41,6 +46,15 @@ export default (essentials) => { await createFile($typeExtensionD1, FILES.GET_FILE_NAME, `${XML}`) essentials[CUSTOMER][RANK] = FILES.GET_RANK } + if(essentials[CUSTOMER][ADD_PLATFORM_FILE]){ + await createFile(`${essentials[CUSTOMER][MODULE_PATH]}`,`${PLATFORM_MODULE}`,`${XML}` ) + } + if(essentials[CUSTOMER][ADD_PLATFORM_FILE]){ + await createFile(`${essentials[CUSTOMER][MODULE_PATH]}`,`${METADATA_PROPERTIES}`,`${PROPERTIES}` ) + } + if(essentials[CUSTOMER][ADD_PLATFORM_FILE]){ + await createFile(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}`,`${METADATA_PROPERTIES}`,`${PROPERTIES}` ) + } resolve() }) } diff --git a/utility/platformUtility/setupPlatformFile.js b/utility/platformUtility/setupPlatformFile.js index 7b5c184..2cc39bf 100644 --- a/utility/platformUtility/setupPlatformFile.js +++ b/utility/platformUtility/setupPlatformFile.js @@ -1,6 +1,8 @@ import xmljsonParser from 'xml-js' import CONSTANTS from '../../constants' +import moment from 'moment' import fs from 'fs' +import {isFileExisting} from "../fileUtility"; const { @@ -11,17 +13,28 @@ const { EVENT, ADD_PLATFORM_FILE, PLATFORM_FILE, - MODULE_PATH + MODULE_PATH, + MODULE_NAME, + CUSTOMER_NAME + }, + GENERAL:{ + FULL_DATE_FORMAT }, PLATFORM:{ FILES, + FILES:{ + PLATFORM_MODULE, + METADATA_PROPERTIES + }, FOLDERS:{ - $TYPE_EXTENSION_D1 + $TYPE_EXTENSION_D1, + PLATFORM_LOCALIZATION } }, FILES:{ EXTENSIONS:{ - XML + XML, + PROPERTIES } }, GTNEXUS: { @@ -36,6 +49,9 @@ const { export default (essentials) => { return new Promise((resolve, reject) => { + setupPlatformModuleFile(essentials) + setupMetaPropertiesFile(essentials) + setupPlatformLocalizationMetaProperties(essentials) if (essentials[CUSTOMER][ADD_PLATFORM_FILE]) { let platformData = ` { @@ -84,7 +100,7 @@ export default (essentials) => { "elements": [ { "type": "text", - "text": "" + "text": "${moment().format(FULL_DATE_FORMAT)}" } ] }, @@ -94,7 +110,7 @@ export default (essentials) => { "elements": [ { "type": "text", - "text": "" + "text": "${moment().format(FULL_DATE_FORMAT)}" } ] }, @@ -240,7 +256,7 @@ export default (essentials) => { "elements": [ { "type": "text", - "text": "on${essentials[CUSTOMER][EVENT]}" + "text": "on${essentials[CUSTOMER][EVENT] === "Populate"?"Save":essentials[CUSTOMER][EVENT]}" } ] }, @@ -295,4 +311,275 @@ export default (essentials) => { } }) +} + +let setupMetaPropertiesFile = (essentials) => { + let boolMetaProperties = fs.existsSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`) + let metaProperties = `environment.name= +source.id= +source.type=${PLATFORM_MODULE} +source.revision= +data.format=v100 +export.timestamp= +name=${essentials[CUSTOMER][MODULE_NAME]} +ownerId= + ` + if(boolMetaProperties){ + let metaPropertiesData = fs.readFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`) + if(metaPropertiesData.length === 0){ + + fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + } + }else{ + fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + } +} + +let setupPlatformLocalizationMetaProperties = (essentials) => { + let boolMetaProperties = fs.existsSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`) + let metaProperties = `environment.name= +source.id= +source.type=${PLATFORM_LOCALIZATION} +source.revision= +data.format=v100 +export.timestamp= + ` + if(boolMetaProperties){ + let metaPropertiesData = fs.readFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`) + if(metaPropertiesData.length === 0){ + + fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + } + }else{ + fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + } +} + +let setupPlatformModuleFile = (essentials) =>{ + // const boolIsExisting = await isFileExisting(`${essentials[CUSTOMER][MODULE_PATH]}`,`${PLATFORM_MODULE}`, `${XML}`) + const boolIsExisting = fs.existsSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_MODULE}${XML}`) + let isDataExisting = false + let platformModuleFile = ` + { + "elements": [ + { + "type": "element", + "name": "PlatformModule400", + "elements": [ + { + "type": "element", + "name": "__metadata", + "elements": [ + { + "type": "element", + "name": "apiVersion", + "elements": [ + { + "type": "text", + "text": "3.1" + } + ] + }, + { + "type": "element", + "name": "type", + "elements": [ + { + "type": "text", + "text": "PlatformModule" + } + ] + }, + { + "type": "element", + "name": "uid", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "createTimestamp", + "elements": [ + { + "type": "text", + "text": "${moment().format(FULL_DATE_FORMAT)}" + } + ] + }, + { + "type": "element", + "name": "modifyTimestamp", + "elements": [ + { + "type": "text", + "text": "${moment().format(FULL_DATE_FORMAT)}" + } + ] + }, + { + "type": "element", + "name": "status", + "elements": [ + { + "type": "text", + "text": "Active" + } + ] + }, + { + "type": "element", + "name": "fingerprint", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "self", + "elements": [ + { + "type": "text", + "text": "" + } + ] + } + ] + }, + { + "type": "element", + "name": "moduleId", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "createTimestamp", + "elements": [ + { + "type": "text", + "text": "${moment().format(FULL_DATE_FORMAT)}" + } + ] + }, + { + "type": "element", + "name": "modifyTimestamp", + "elements": [ + { + "type": "text", + "text": "${moment().format(FULL_DATE_FORMAT)}" + } + ] + }, + { + "type": "element", + "name": "authorId", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "authorType", + "elements": [ + { + "type": "text", + "text": "Organization" + } + ] + }, + { + "type": "element", + "name": "ownerId", + "elements": [ + { + "type": "text", + "text": "" + } + ] + }, + { + "type": "element", + "name": "ownerType", + "elements": [ + { + "type": "text", + "text": "TradeCustomer" + } + ] + }, + { + "type": "element", + "name": "name", + "elements": [ + { + "type": "text", + "text": "${essentials[CUSTOMER][MODULE_NAME]}" + } + ] + }, + { + "type": "element", + "name": "description", + "elements": [ + { + "type": "text", + "text": "${essentials[CUSTOMER][CUSTOMER_NAME]} ${essentials[CUSTOMER][DOCUMENT_TYPE]} TypeExtension Module" + } + ] + }, + { + "type": "element", + "name": "userVersion", + "elements": [ + { + "type": "text", + "text": "1.0" + } + ] + } + ] + } + ] +} + ` + console.log(`BOOLISEXISTING `+boolIsExisting) + if(boolIsExisting){ + const data = fs.readFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_MODULE}${XML}`, 'utf8') + console.log("DATA:"+data.length) + if(data.length === 0){ + isDataExisting = false + }else{ + isDataExisting = true + console.log("YES DATA EXISTS") + } + }else{ + isDataExisting = false + } + if(isDataExisting){ + return + }else{ + let options = {compact: false, ignoreComment: true, spaces: 4}; + try { + let result = xmljsonParser.json2xml(JSON.parse(platformModuleFile), options); + fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_MODULE}${XML}`, result) + } catch (parseError) { + + } + } + console.log(`ISDATAEXISTING `+isDataExisting) } \ No newline at end of file From ade8299b041371e30c99ad75e0139b326e00eecb Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Fri, 11 Oct 2019 15:17:22 -0400 Subject: [PATCH 5/9] Cleaned up the code --- TypeExtensionManager.js | 1 - utility/customerUtility/setupCutomerBaseCode.js | 1 - utility/platformUtility/setupPlatformFile.js | 4 ---- 3 files changed, 6 deletions(-) diff --git a/TypeExtensionManager.js b/TypeExtensionManager.js index a23473b..08e9ac2 100644 --- a/TypeExtensionManager.js +++ b/TypeExtensionManager.js @@ -35,7 +35,6 @@ const main = async () => { } await processCustomer(essentials) await processPlatformModule(essentials) - console.log(essentials) process.exit() }) } diff --git a/utility/customerUtility/setupCutomerBaseCode.js b/utility/customerUtility/setupCutomerBaseCode.js index 27f2a20..d84bd75 100644 --- a/utility/customerUtility/setupCutomerBaseCode.js +++ b/utility/customerUtility/setupCutomerBaseCode.js @@ -50,7 +50,6 @@ export default (essentials) => { let description = `${DESCRIPTION}` let code = constructCode(essentials, jiraNumber, date, who, description) let boolIsFileExisting = await isFileExisting(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`,`${JS}`) - console.log(boolIsFileExisting+ ":"+"->") if (boolIsFileExisting) { let data = fs.readFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`) if(data.length != 0){ diff --git a/utility/platformUtility/setupPlatformFile.js b/utility/platformUtility/setupPlatformFile.js index 2cc39bf..43a4e93 100644 --- a/utility/platformUtility/setupPlatformFile.js +++ b/utility/platformUtility/setupPlatformFile.js @@ -557,15 +557,12 @@ let setupPlatformModuleFile = (essentials) =>{ ] } ` - console.log(`BOOLISEXISTING `+boolIsExisting) if(boolIsExisting){ const data = fs.readFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_MODULE}${XML}`, 'utf8') - console.log("DATA:"+data.length) if(data.length === 0){ isDataExisting = false }else{ isDataExisting = true - console.log("YES DATA EXISTS") } }else{ isDataExisting = false @@ -581,5 +578,4 @@ let setupPlatformModuleFile = (essentials) =>{ } } - console.log(`ISDATAEXISTING `+isDataExisting) } \ No newline at end of file From 4fde6398f31f43538cc234d11477ce89544ac632 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Tue, 15 Oct 2019 15:22:08 -0400 Subject: [PATCH 6/9] Letting user pick their objectUid if the query returns more than one object --- utility/customerUtility/fetchDocument.js | 41 +++++++++++++++++++----- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/utility/customerUtility/fetchDocument.js b/utility/customerUtility/fetchDocument.js index c16a547..2843fc7 100644 --- a/utility/customerUtility/fetchDocument.js +++ b/utility/customerUtility/fetchDocument.js @@ -8,6 +8,9 @@ const { ENVIRONMENT, QUERY_URL, FETCH_URL, + UID: OBJECT_UID, + DOCUMENT_TYPE, + SAMPLE_REF_NUMBER, }, GENERAL: { GET, @@ -21,22 +24,44 @@ const { META_DATA, UID }, + rl } = CONSTANTS export default (queriedObject, essential, options, poNumber) => { if (!poNumber) { return new Promise((resolve, reject) => { + console.log(JSON.stringify(queriedObject)) if (essential[CUSTOMER][QUERY_URL] && essential[CUSTOMER][FETCH_URL] && queriedObject) { if (queriedObject && queriedObject[RESULT] && queriedObject[RESULT].length > 0) { - let objectUid = queriedObject[RESULT][0][DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS][Object.keys(DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS])]] - needle(GET, `${essential[CUSTOMER][FETCH_URL]}${objectUid}`, options) - .then((result) => { - let fetchedObject = result.body - resolve(fetchedObject) - }) - .catch((err) => { - reject(err) + let objectUidsList = [...new Set(queriedObject[RESULT].map(item => item[`${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]][OBJECT_UID]}`]))] + let objectUid = null + if(objectUidsList.length > 1){ + let i = 0; + for(i; i < objectUidsList.length; i++){ + console.log(`${i}.${objectUidsList[i]}`) + } + rl.question(`Looks like there are too many ${essential[CUSTOMER][DOCUMENT_TYPE]}'s with the same ${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]].SHORT_FORM}:#${essential[CUSTOMER][SAMPLE_REF_NUMBER]}. Please choose a UID:\n`, (uidOption) => { + objectUid = objectUidsList[uidOption] + needle(GET, `${essential[CUSTOMER][FETCH_URL]}${objectUid}`, options) + .then((result) => { + let fetchedObject = result.body + resolve(fetchedObject) + }) + .catch((err) => { + reject(err) + }) }) + }else{ + objectUid = queriedObject[RESULT][0][DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS][Object.keys(DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS])]] + needle(GET, `${essential[CUSTOMER][FETCH_URL]}${objectUid}`, options) + .then((result) => { + let fetchedObject = result.body + resolve(fetchedObject) + }) + .catch((err) => { + reject(err) + }) + } } } }) From a46e8c55ec8c04fb04a11e6dffc4db9efc1bf2ff Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Mon, 21 Oct 2019 13:32:33 -0400 Subject: [PATCH 7/9] Folder issue fixed for multiple TE and to stablize PMM build -s --- constants.js | 4 +++- utility/customerUtility/documentType.js | 4 ++-- utility/customerUtility/fetchDocument.js | 1 - utility/customerUtility/setupCustomerFiles.js | 4 +++- utility/platformUtility/createPlatformFiles.js | 6 +++++- utility/platformUtility/setupPlatformFile.js | 14 +++++++++++--- 6 files changed, 24 insertions(+), 9 deletions(-) diff --git a/constants.js b/constants.js index 97043c5..0c2787b 100644 --- a/constants.js +++ b/constants.js @@ -42,6 +42,7 @@ const fields = { RANK: `rank`, PLATFORM_FILE: `platformFile`, IS_CONFIG: `isConfig`, + PMM_SAFE_FILE_REQUIRED: `pmmSafeFileRequired`, HTTP_HEADER:{ headers:{ Authorization: ``, @@ -113,7 +114,8 @@ const GENERAL = { NEGATIVE: [`NO`, `N`], GET: `get`, POST: `post`, - SEED: `seed` + SEED: `seed`, + BUNDLE: `Bundle` } const GENERAL_GTNEXUS_OBJECTS = { diff --git a/utility/customerUtility/documentType.js b/utility/customerUtility/documentType.js index 66af81a..8decf0c 100644 --- a/utility/customerUtility/documentType.js +++ b/utility/customerUtility/documentType.js @@ -79,8 +79,8 @@ let settingDocumentType = (documentType, essentials) => { case PL.SHORT_FORM.toLowerCase(): case PL.FULL_FORM.toLowerCase(): - case PL.PACKING_PLAN.toLowerCase(): - case PL.PACKING_PLAN_MANIFEST.toLowerCase(): + case PL.PACKING_MANIFEST.toLowerCase(): + case PL.PACKING_LIST.toLowerCase(): case FOUR: docType = PL.FULL_FORM shortForm = PL.SHORT_FORM diff --git a/utility/customerUtility/fetchDocument.js b/utility/customerUtility/fetchDocument.js index 2843fc7..09dfa15 100644 --- a/utility/customerUtility/fetchDocument.js +++ b/utility/customerUtility/fetchDocument.js @@ -30,7 +30,6 @@ const { export default (queriedObject, essential, options, poNumber) => { if (!poNumber) { return new Promise((resolve, reject) => { - console.log(JSON.stringify(queriedObject)) if (essential[CUSTOMER][QUERY_URL] && essential[CUSTOMER][FETCH_URL] && queriedObject) { if (queriedObject && queriedObject[RESULT] && queriedObject[RESULT].length > 0) { let objectUidsList = [...new Set(queriedObject[RESULT].map(item => item[`${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]][OBJECT_UID]}`]))] diff --git a/utility/customerUtility/setupCustomerFiles.js b/utility/customerUtility/setupCustomerFiles.js index deb9629..82bfeed 100644 --- a/utility/customerUtility/setupCustomerFiles.js +++ b/utility/customerUtility/setupCustomerFiles.js @@ -3,6 +3,7 @@ import { isFileExisting } from '../fileUtility' import CONSTANTS from '../../constants' +import shell from 'shelljs' const { fields: { @@ -14,7 +15,8 @@ const { CUSTOMER_TEST_DIRECTORY, MODULE_NAME, MODULE_PATH, - ADD_PLATFORM_FILE + ADD_PLATFORM_FILE, + PMM_SAFE_FILE_REQUIRED }, FILES: { EXTENSIONS: { diff --git a/utility/platformUtility/createPlatformFiles.js b/utility/platformUtility/createPlatformFiles.js index 5f47aa5..c619868 100644 --- a/utility/platformUtility/createPlatformFiles.js +++ b/utility/platformUtility/createPlatformFiles.js @@ -9,7 +9,8 @@ const { RANK, MODULE_PATH, DOCUMENT_TYPE, - ADD_PLATFORM_FILE + ADD_PLATFORM_FILE, + PMM_SAFE_FILE_REQUIRED }, FILES:{ EXTENSIONS:{ @@ -41,6 +42,9 @@ export default (essentials) => { FILES.SET_RANK = rank FILES.SET_FILE_NAME = `${essentials[CUSTOMER][DOCUMENT_TYPE]}` boolIsFileExisting = await isFileExisting(`${$typeExtensionD1}`, `${FILES.GET_FILE_NAME}`, `${XML}`) + if(rank > 10){ + essentials[CUSTOMER][PMM_SAFE_FILE_REQUIRED] = true + } } if(essentials[CUSTOMER][ADD_PLATFORM_FILE]){ await createFile($typeExtensionD1, FILES.GET_FILE_NAME, `${XML}`) diff --git a/utility/platformUtility/setupPlatformFile.js b/utility/platformUtility/setupPlatformFile.js index 43a4e93..063bc0d 100644 --- a/utility/platformUtility/setupPlatformFile.js +++ b/utility/platformUtility/setupPlatformFile.js @@ -2,6 +2,7 @@ import xmljsonParser from 'xml-js' import CONSTANTS from '../../constants' import moment from 'moment' import fs from 'fs' +import shell from 'shelljs' import {isFileExisting} from "../fileUtility"; @@ -15,10 +16,12 @@ const { PLATFORM_FILE, MODULE_PATH, MODULE_NAME, - CUSTOMER_NAME + CUSTOMER_NAME, + PMM_SAFE_FILE_REQUIRED }, GENERAL:{ - FULL_DATE_FORMAT + FULL_DATE_FORMAT, + BUNDLE }, PLATFORM:{ FILES, @@ -28,7 +31,8 @@ const { }, FOLDERS:{ $TYPE_EXTENSION_D1, - PLATFORM_LOCALIZATION + PLATFORM_LOCALIZATION, + TYPE_EXTENSION_SCRIPT } }, FILES:{ @@ -302,6 +306,10 @@ export default (essentials) => { let result = xmljsonParser.json2xml(JSON.parse(platformData), options); essentials[CUSTOMER][PLATFORM_FILE] = result fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}/${FILES.GET_FILE_NAME}${XML}`, essentials[CUSTOMER][PLATFORM_FILE]) + if(essentials[CUSTOMER][PMM_SAFE_FILE_REQUIRED]){ + shell.mkdir(`-p`, `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][MODULE_NAME]}${BUNDLE}`) + shell.mv( `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}/*.js`, `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][MODULE_NAME]}${BUNDLE}`) + } resolve() } catch (parseError) { reject() From 4308b6c82a0a1769ddc62748df499e85869e1723 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Wed, 30 Oct 2019 11:56:22 -0400 Subject: [PATCH 8/9] Fixed fs.writeFile to custom inbuilt method --- .../platformModuleManagerInteractive.js | 2 +- utility/customerUtility/queryDocument.js | 2 +- .../customerUtility/setupCustomerAxusCode.js | 66 ++++++++++--------- .../customerUtility/setupCustomerResources.js | 5 +- .../customerUtility/setupCutomerBaseCode.js | 48 +++++++------- utility/customerUtility/setupSampleData.js | 5 +- utility/customerUtility/setupSeedFile.js | 2 +- utility/fileUtility/createFile.js | 4 +- utility/fileUtility/createFolder.js | 4 +- utility/fileUtility/index.js | 1 + utility/fileUtility/isFileExisting.js | 6 +- utility/fileUtility/readFromFile.js | 4 +- utility/fileUtility/writeJSONToFile.js | 20 ++++++ utility/fileUtility/writeToFile.js | 18 ++--- utility/platformUtility/setupPlatformFile.js | 24 ++++--- utils.js | 4 +- 16 files changed, 129 insertions(+), 86 deletions(-) create mode 100644 utility/fileUtility/writeJSONToFile.js diff --git a/utility/customerUtility/platformModuleManagerInteractive.js b/utility/customerUtility/platformModuleManagerInteractive.js index f23fa7f..3b6d5f6 100644 --- a/utility/customerUtility/platformModuleManagerInteractive.js +++ b/utility/customerUtility/platformModuleManagerInteractive.js @@ -1,6 +1,6 @@ import CONSTANTS from '../../constants' import cmd from 'node-cmd' -import {createFile, createFolder, writeToFile} from '../fileUtility' +import {createFile, createFolder, writeJSONToFile} from '../fileUtility' const { rl, QUESTIONS:{QUESTION_RULESET_TYPE}, diff --git a/utility/customerUtility/queryDocument.js b/utility/customerUtility/queryDocument.js index b7888e7..c56f6eb 100644 --- a/utility/customerUtility/queryDocument.js +++ b/utility/customerUtility/queryDocument.js @@ -2,7 +2,7 @@ import needle from 'needle' import fs from 'fs' import cliProgress from 'cli-progress' import CONSTANTS from '../../constants' -import {createFile, createFolder, writeToFile} from '../fileUtility' +import {createFile, createFolder, writeJSONToFile} from '../fileUtility' import {fetchDocument} from './' const { diff --git a/utility/customerUtility/setupCustomerAxusCode.js b/utility/customerUtility/setupCustomerAxusCode.js index b66bd58..a57728e 100644 --- a/utility/customerUtility/setupCustomerAxusCode.js +++ b/utility/customerUtility/setupCustomerAxusCode.js @@ -2,6 +2,8 @@ import fs from 'fs' import CONSTANTS from '../../constants' import moment from 'moment' import isFileExisting from '../fileUtility/isFileExisting' +import {writeToFile} from '../fileUtility' + const { fields: { CUSTOMER, @@ -51,7 +53,8 @@ export default (essentials) => { console.log(DATA_ALREADY_PRESENT) resolve() }else{ - fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) + writeToFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${SPEC}`, code) + // fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) console.log(`${AXUS_INITIAL_CODE_SETUP}`) resolve() } @@ -71,36 +74,35 @@ export default (essentials) => { let constructCode = (essentials, jiraNumber, date, who, description) => { let eventType = `${essentials[CUSTOMER][EVENT]}` - let sampleCode = ` - /** - * C H A N G E L O G - * - * (B)ug/(E)nh/(I)DB # Date Who Description - * ------------------- ---------- --- --------------------------------------------------------------- - * ${jiraNumber}\t\t\t\t\t\t ${date} \t${who}\t${description} - */ - let chai = require('chai'); - chai.use(require('chai-things')); - let expect = chai.expect; - let axus = require('axus'); - let ctx = axus - .requireLocal('../customer/${essentials.customer.customerName}/${essentials.customer.moduleName}', undefined, { - console: console - }) - .seed(require('./resources/seed.json')); //ADD YOUR SEEDFILE HERE - describe('${essentials.customer.customerName} ${essentials.customer.ruleSetType}:', () => { - beforeEach(() => { - ctx.Providers.reset(); - }); - let ${(essentials.customer.docShortForm)}_Sample_${essentials.customer.sampleRefNumber||""} = require('./resources/${essentials.customer.documentType}.json'); - describe('${essentials.customer.ruleSetType}.1:', () => { - it('Positive: ${essentials.customer.customerName} ', (done) => { - //TODO - ctx.fnOn${eventType}(${(essentials.customer.docShortForm)}_Sample_${essentials.customer.sampleRefNumber}); - done(); - }); - }); - }); + let sampleCode = `/** +* C H A N G E L O G +* +* (B)ug/(E)nh/(I)DB # Date Who Description +* ------------------- ---------- --- --------------------------------------------------------------- +* ${jiraNumber}\t\t\t\t\t\t ${date} \t${who}\t${description} +*/ +let chai = require('chai'); +chai.use(require('chai-things')); +let expect = chai.expect; +let axus = require('axus'); +let ctx = axus +.requireLocal('../customer/${essentials.customer.customerName}/${essentials.customer.moduleName}', undefined, { + console: console +}) +.seed(require('./resources/seed.json')); //ADD YOUR SEEDFILE HERE +describe('${essentials.customer.customerName} ${essentials.customer.ruleSetType}:', () => { + beforeEach(() => { + ctx.Providers.reset(); + }); +let ${(essentials.customer.docShortForm)}_Sample_${essentials.customer.sampleRefNumber||""} = require('./resources/${essentials.customer.documentType}.json'); +describe('${essentials.customer.ruleSetType}.1:', () => { + it('Positive: ${essentials.customer.customerName} ', (done) => { + //TODO + ctx.fnOn${eventType}(${(essentials.customer.docShortForm)}_Sample_${essentials.customer.sampleRefNumber}); + done(); + }); +}); +}); ` - return '\uFEFF' + sampleCode.replace(/\n/g, '\r\n') + return sampleCode.replace(/\n/g, '\r\n') } \ No newline at end of file diff --git a/utility/customerUtility/setupCustomerResources.js b/utility/customerUtility/setupCustomerResources.js index acee5be..85c5169 100644 --- a/utility/customerUtility/setupCustomerResources.js +++ b/utility/customerUtility/setupCustomerResources.js @@ -1,6 +1,8 @@ import fs from 'fs' import CONSTANTS from '../../constants' import moment from 'moment' +import {writeToFile} from '../fileUtility' + const { fields: { CUSTOMER, @@ -54,7 +56,8 @@ export default (essentials) => { if (data && data != ``) { resolve() } else { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) + writeToFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}`,`${essentials[CUSTOMER][RULE_SET_TYPE]}`,`${SPEC}`, code) + // fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${essentials[CUSTOMER][RULE_SET_TYPE]}${SPEC}`, code) resolve() } } else { diff --git a/utility/customerUtility/setupCutomerBaseCode.js b/utility/customerUtility/setupCutomerBaseCode.js index d84bd75..1f664e5 100644 --- a/utility/customerUtility/setupCutomerBaseCode.js +++ b/utility/customerUtility/setupCutomerBaseCode.js @@ -1,7 +1,9 @@ import fs from 'fs'; import moment from 'moment' -import CONSTANTS from '../../constants'; -import {isFileExisting} from "../fileUtility"; +import CONSTANTS from '../../constants' +import {isFileExisting} from '../fileUtility' +import {writeToFile} from '../fileUtility' + const { fields: { CUSTOMER, @@ -56,11 +58,13 @@ export default (essentials) => { console.log(DATA_ALREADY_PRESENT) resolve() }else{ - fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) + writeToFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`, code) + // fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) resolve() } } else { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) + writeToFile(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}`, `${essentials[CUSTOMER][RULE_SET_TYPE]}`, `${JS}`, code) + // fs.writeFileSync(`${essentials[FILE][CUSTOMER_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][RULE_SET_TYPE]}${JS}`, code) console.log(`${TYPE_EXTENSION_INITIAL_CODE_SETUP}`) resolve() } @@ -75,25 +79,25 @@ export default (essentials) => { let constructCode = (essentials, jiraNumber, date, who, description) => { let eventType = `${essentials[CUSTOMER][EVENT]}` let sampleCode = `/** - * C H A N G E L O G - * - * (B)ug/(E)nh/(I)DB # Date Who Description - * ------------------- ---------- --- --------------------------------------------------------------- - * ${jiraNumber}\t\t\t\t\t\t ${date}\t\t${who}\t${description} +* C H A N G E L O G +* +* (B)ug/(E)nh/(I)DB # Date Who Description +* ------------------- ---------- --- --------------------------------------------------------------- +* ${jiraNumber}\t\t\t\t\t\t ${date}\t\t${who}\t${description} +*/ +function fnOn${eventType}(${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}){ + /** + * THIS IS AUTO GENERATED */ - function fnOn${eventType}(${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}){ - /** - * THIS IS AUTO GENERATED - */ - console.log(${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}); - } - \n\n\n\n\n\n\n\n\n - //Utility - function getObjectByUid(uid, objectType) { //Can be used as getObjectByUid('123456', ${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}) - if (uid) { - return Providers.getPersistenceProvider().createFetchRequest(objectType, 310, uid).execute(); - } - } + console.log(${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}); +} +\n\n\n\n\n\n\n\n\n +//Utility +function getObjectByUid(uid, objectType) { //Can be used as getObjectByUid('123456', ${(essentials[CUSTOMER][DOC_SHORT_FORM]).toLowerCase()}) + if (uid) { + return Providers.getPersistenceProvider().createFetchRequest(objectType, 310, uid).execute(); + } +} ` return sampleCode.replace(/\n/g, '\r\n') } \ No newline at end of file diff --git a/utility/customerUtility/setupSampleData.js b/utility/customerUtility/setupSampleData.js index 0b60247..53fc441 100644 --- a/utility/customerUtility/setupSampleData.js +++ b/utility/customerUtility/setupSampleData.js @@ -7,6 +7,8 @@ import { setupSeedFile } from '../customerUtility'; +import {writeToFile} from '../fileUtility' + import node_path from 'upath' const { @@ -168,7 +170,8 @@ let fetchRelatedOrders = (essential, fetchedObject, options) => { } let setupResources = (essentials, data, docType, suffix) => { - fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${RESOURCES}/${docType||essentials[CUSTOMER][DOCUMENT_TYPE]}${_JSON}`, data) + writeToFile(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${RESOURCES}`,`${docType||essentials[CUSTOMER][DOCUMENT_TYPE]}`, `${_JSON}`, data) + // fs.writeFileSync(`${essentials[FILE][CUSTOMER_TEST_DIRECTORY]}/${essentials[CUSTOMER][CUSTOMER_NAME]}/${essentials[CUSTOMER][MODULE_NAME]}/${RESOURCES}/${docType||essentials[CUSTOMER][DOCUMENT_TYPE]}${_JSON}`, data) } let settingupSampleData = (essential, isDataRequired) => { diff --git a/utility/customerUtility/setupSeedFile.js b/utility/customerUtility/setupSeedFile.js index c4c0592..41bf0da 100644 --- a/utility/customerUtility/setupSeedFile.js +++ b/utility/customerUtility/setupSeedFile.js @@ -2,7 +2,7 @@ import needle from 'needle' import fs from 'fs' import cliProgress from 'cli-progress' import CONSTANTS from '../../constants' -import {createFile, createFolder, writeToFile} from '../fileUtility' +import {writeToFile} from '../fileUtility' const { rl, QUESTIONS:{QUESTION_RULESET_TYPE}, diff --git a/utility/fileUtility/createFile.js b/utility/fileUtility/createFile.js index bf316f3..71aee47 100644 --- a/utility/fileUtility/createFile.js +++ b/utility/fileUtility/createFile.js @@ -1,6 +1,6 @@ import shell from 'shelljs' import CONSTANTS from '../../constants' -import node_path from 'upath' +import node_path from 'path' const {MESSAGES:{ERRORS:{FILE_CREATION_ERROR}}} = CONSTANTS @@ -8,7 +8,7 @@ export default (path, fileName, fileExtension) => { return new Promise((resolve, reject) => { if(path && fileExtension && fileName){ try{ - const filePath = node_path.toUnix(`${path}/${fileName}${fileExtension}`) + const filePath = node_path.resolve(`${path}`,`${fileName}${fileExtension}`) shell.touch(`${filePath}`) resolve(`${filePath} sucessfully created`) }catch(fe){ diff --git a/utility/fileUtility/createFolder.js b/utility/fileUtility/createFolder.js index a321280..0d6ecb7 100644 --- a/utility/fileUtility/createFolder.js +++ b/utility/fileUtility/createFolder.js @@ -1,6 +1,6 @@ import CONSTANTS from '../../constants' import shell from 'shelljs' -import node_path from 'upath' +import node_path from 'path' const {MESSAGES:{ERRORS:{FILE_CREATION_ERROR}}} = CONSTANTS @@ -8,7 +8,7 @@ export default (path) => { return new Promise((resolve, reject) => { if(path){ try { - const absolutePath = node_path.toUnix(`${path}`) + const absolutePath = node_path.resolve(`${path}`) if(shell.mkdir('-p', `${absolutePath}`).code == 0){ resolve(`${path} sucessfully created`) } diff --git a/utility/fileUtility/index.js b/utility/fileUtility/index.js index 11ab172..e1dba17 100644 --- a/utility/fileUtility/index.js +++ b/utility/fileUtility/index.js @@ -2,4 +2,5 @@ export { default as readFile } from './readFromFile' export { default as isFileExisting } from './isFileExisting' export { default as createFile } from './createFile' export { default as createFolder } from './createFolder' +export { default as writeJSONToFile } from './writeJSONToFile' export { default as writeToFile } from './writeToFile' \ No newline at end of file diff --git a/utility/fileUtility/isFileExisting.js b/utility/fileUtility/isFileExisting.js index c88e132..cfa922d 100644 --- a/utility/fileUtility/isFileExisting.js +++ b/utility/fileUtility/isFileExisting.js @@ -1,12 +1,14 @@ import fs from 'fs' +import node_path from 'path' export default (path, fileName, fileExtension) => { return new Promise((resolve, reject) => { if(path && fileExtension && fileName){ try{ - const isFileExisting = fs.existsSync(`${path}/${fileName}${fileExtension}`) + const absoultePath = node_path.resolve(`${path}`, `${fileName}${fileExtension}`) + const isFileExisting = fs.existsSync(`${absoultePath}`) if(isFileExisting){ - let data = fs.readFileSync(`${path}/${fileName}${fileExtension}`, 'utf8') + let data = fs.readFileSync(`${absoultePath}`, 'utf8') if(data){ resolve(true) }else if(data.length === 0){ diff --git a/utility/fileUtility/readFromFile.js b/utility/fileUtility/readFromFile.js index d62997a..12f30dc 100644 --- a/utility/fileUtility/readFromFile.js +++ b/utility/fileUtility/readFromFile.js @@ -1,5 +1,6 @@ import fs from 'fs' import CONSTANTS from '../../constants' +import node_path from 'path' let {GENERAL:{ENCODING_UTF8}} = CONSTANTS @@ -7,7 +8,8 @@ export default (path, fileName, fileExtension) => { return new Promise((resolve, reject) => { if(path && fileExtension && fileName){ try{ - resolve(fs.readFileSync(`${path}/${fileName}.${fileExtension}`, ENCODING_UTF8)) + const absolutePath = node_path.resolve(`${path}`, `${fileName}.${fileExtension}`) + resolve(fs.readFileSync(`${absolutePath}`, ENCODING_UTF8)) }catch(fe){ reject() } diff --git a/utility/fileUtility/writeJSONToFile.js b/utility/fileUtility/writeJSONToFile.js new file mode 100644 index 0000000..f2cd210 --- /dev/null +++ b/utility/fileUtility/writeJSONToFile.js @@ -0,0 +1,20 @@ +import fs from 'fs' +import CONSTANTS from '../../constants' +import node_path from 'path' + +let {GENERAL:{ENCODING_UTF8}} = CONSTANTS + +export default (path, fileName, fileExtension, data) => { + return new Promise((resolve, reject) => { + if(path && fileExtension && fileName && data){ + const absolutePath = node_path.resolve(`${path}`, `${fileName}${fileExtension}`) + fs.writeFile(`${absolutePath}`, JSON.stringify(data), ENCODING_UTF8, (err) => { + if(err){ + reject(`FATAL: Could not write data to file`) + }else{ + resolve() + } + }) + } + }) +} \ No newline at end of file diff --git a/utility/fileUtility/writeToFile.js b/utility/fileUtility/writeToFile.js index f39e3d7..440ec05 100644 --- a/utility/fileUtility/writeToFile.js +++ b/utility/fileUtility/writeToFile.js @@ -1,18 +1,20 @@ import fs from 'fs' import CONSTANTS from '../../constants' - +import node_path from 'path' let {GENERAL:{ENCODING_UTF8}} = CONSTANTS export default (path, fileName, fileExtension, data) => { + console.log(data) return new Promise((resolve, reject) => { if(path && fileExtension && fileName && data){ - fs.writeFile(`${path}/${fileName}${fileExtension}`, JSON.stringify(data), ENCODING_UTF8, (err) => { - if(err){ - reject(`FATAL: Could not write data to file`) - }else{ - resolve() - } - }) + const absolutePath = node_path.resolve(`${path}`, `${fileName}${fileExtension}`) + console.log(`${absolutePath}`) + try{ + fs.writeFileSync(`${absolutePath}`, data) + resolve() + }catch (e) { + reject(`FATAL: Could not write data to file`) + } } }) } \ No newline at end of file diff --git a/utility/platformUtility/setupPlatformFile.js b/utility/platformUtility/setupPlatformFile.js index 063bc0d..ed5924d 100644 --- a/utility/platformUtility/setupPlatformFile.js +++ b/utility/platformUtility/setupPlatformFile.js @@ -3,7 +3,7 @@ import CONSTANTS from '../../constants' import moment from 'moment' import fs from 'fs' import shell from 'shelljs' -import {isFileExisting} from "../fileUtility"; +import {writeToFile} from '../fileUtility' const { @@ -305,7 +305,8 @@ export default (essentials) => { try { let result = xmljsonParser.json2xml(JSON.parse(platformData), options); essentials[CUSTOMER][PLATFORM_FILE] = result - fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}/${FILES.GET_FILE_NAME}${XML}`, essentials[CUSTOMER][PLATFORM_FILE]) + writeToFile(`${essentials[CUSTOMER][MODULE_PATH]}`, `${$TYPE_EXTENSION_D1}/${FILES.GET_FILE_NAME}`, `${XML}`, essentials[CUSTOMER][PLATFORM_FILE]) + // fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}/${FILES.GET_FILE_NAME}${XML}`, essentials[CUSTOMER][PLATFORM_FILE]) if(essentials[CUSTOMER][PMM_SAFE_FILE_REQUIRED]){ shell.mkdir(`-p`, `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][MODULE_NAME]}${BUNDLE}`) shell.mv( `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}/*.js`, `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}/${essentials[CUSTOMER][MODULE_NAME]}${BUNDLE}`) @@ -335,11 +336,12 @@ ownerId= if(boolMetaProperties){ let metaPropertiesData = fs.readFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`) if(metaPropertiesData.length === 0){ - - fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + writeToFile(`${essentials[CUSTOMER][MODULE_PATH]}`, `${METADATA_PROPERTIES}`, `${PROPERTIES}`, metaProperties) + // fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) } }else{ - fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + writeToFile(`${essentials[CUSTOMER][MODULE_PATH]}`, `${METADATA_PROPERTIES}`, `${PROPERTIES}`, metaProperties) + // fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) } } @@ -355,11 +357,12 @@ export.timestamp= if(boolMetaProperties){ let metaPropertiesData = fs.readFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`) if(metaPropertiesData.length === 0){ - - fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + writeToFile(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}`,`${METADATA_PROPERTIES}`,`${PROPERTIES}`, metaProperties) + // fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) } }else{ - fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) + writeToFile(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}`,`${METADATA_PROPERTIES}`,`${PROPERTIES}`, metaProperties) + // fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}/${METADATA_PROPERTIES}${PROPERTIES}`, metaProperties) } } @@ -580,8 +583,9 @@ let setupPlatformModuleFile = (essentials) =>{ }else{ let options = {compact: false, ignoreComment: true, spaces: 4}; try { - let result = xmljsonParser.json2xml(JSON.parse(platformModuleFile), options); - fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_MODULE}${XML}`, result) + let result = xmljsonParser.json2xml(JSON.parse(platformModuleFile), options) + writeToFile(`${essentials[CUSTOMER][MODULE_PATH]}`,`${PLATFORM_MODULE}`,`${XML}`, result) + // fs.writeFileSync(`${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_MODULE}${XML}`, result) } catch (parseError) { } diff --git a/utils.js b/utils.js index c2fd74c..ee41e25 100644 --- a/utils.js +++ b/utils.js @@ -8,7 +8,7 @@ const cryptr = new Cryptr('gtnexusisBest@123') const { createFile, readFile, - writeToFile, + writeJSONToFile, isFileExisting } = require('./utility/fileUtility') const { @@ -181,7 +181,7 @@ let getBasicKey = (essentials) => { let writeUserData = async () => { await getPlatformLocation() await getUserCredentials() - await writeToFile(`.`, `${configFile}`, `.ini`, writeOut) + await writeJSONToFile(`.`, `${configFile}`, `.ini`, writeOut) } /** * Process Customer - Gets all data required to setup TypeExtension and Axus From 017e3189018a53959d5b002324103f5fa8331af3 Mon Sep 17 00:00:00 2001 From: Bhuvanesh Arasu Date: Wed, 30 Oct 2019 16:26:44 -0400 Subject: [PATCH 9/9] Further support for warnings and naming def --- constants.js | 18 ++++-- package.json | 2 +- utility/customerUtility/fetchDocument.js | 64 +++++++++++++------ utility/customerUtility/queryDocument.js | 2 +- utility/customerUtility/rulesetType.js | 31 +++++++-- utility/customerUtility/setupSampleData.js | 2 +- .../platformUtility/createPlatformFolders.js | 1 - utility/platformUtility/setupPlatformFile.js | 5 +- 8 files changed, 91 insertions(+), 34 deletions(-) diff --git a/constants.js b/constants.js index 0c2787b..23dc6e2 100644 --- a/constants.js +++ b/constants.js @@ -43,6 +43,7 @@ const fields = { PLATFORM_FILE: `platformFile`, IS_CONFIG: `isConfig`, PMM_SAFE_FILE_REQUIRED: `pmmSafeFileRequired`, + PLATFORM_EVENT: `platformEvent`, HTTP_HEADER:{ headers:{ Authorization: ``, @@ -309,17 +310,25 @@ const EVENTS = { VALIDATIONS: `Validations`, VLD: `Vld`, VLDS: `Vlds`, + WARNING: `Warning`, + WARNINGS: `Warnings`, + WRN: `Wrn`, + WRNS: `Wrns`, POPULATE: `Populate`, - VALIDATE: `Validate` + VALIDATE: `Validate`, + WARN: `Warn` } const RULE_SET = { - RULE_SET: `RuleSet`, + RULE_SET: `TypeExtension`, get POP_RULE_SET() { return EVENTS.POPULATIONS + this.RULE_SET }, get VLD_RULE_SET() { return EVENTS.VALIDATIONS + this.RULE_SET + }, + get WRN_RULE_SET() { + return EVENTS.WARNINGS + this.RULE_SET } } @@ -338,7 +347,7 @@ const OPTIONS = { const QUESTIONS = { QUESTION_CUSTOMER_NAME: `Enter Customer Name: `, QUESTION_DOCUMENT_TYPE: `Document Type - \n1.${DOCTYPES.PO.SHORT_FORM}\n2.${DOCTYPES.INV.SHORT_FORM}\n3.${DOCTYPES.PP.SHORT_FORM}\n4.${DOCTYPES.PL.SHORT_FORM}\n5.Custom Document Name\nOPTION: `, - QUESTION_RULESET_TYPE: `Type of ruleset:\n1.${EVENTS.POPULATION}\n2.${EVENTS.VALIDATION}\nOPTION: `, + QUESTION_RULESET_TYPE: `Type of ruleset:\n1.${EVENTS.POPULATION}\n2.${EVENTS.VALIDATION}\n3.${EVENTS.WARNING}\nOPTION: `, QUESTION_JIRA_NUMBER: `Add your JIRA#: `, QUESTION_SAMPLE_DATA_REQUEST: `Would you like me to fetch some sample data for you?[Y|N]: `, QUESTION_SAMPLE_DATA: `Provide your SampleRef#: `, @@ -363,7 +372,8 @@ const MESSAGES = { NOT_MUCH_INFO: `I do not have much info to create your file`, DATA_ALREADY_PRESENT: `Looks like you already have some code in there`, DID_NOT_FETCH_DATA: `Okay! I did not setup any sample data for you`, - PICKED_ENV: `Okay so you picked ` + PICKED_ENV: `Okay so you picked `, + DOCUMENT_NOT_EXISTING: `Looks like the document isn't existing` }, HELP:{ HELP_TEXT: `HELP INFO:\n|-> npm start --- Runs the tool\n|-> npm start doc type \n\t|-> doc: Specifies your are providing a document type as your next argument\n\t|-> type: Specifies you are providing a ruleset type as your next argument\n|-> MORE INFO: https://wiki.gtnexus.info/display/PSO/Type+Extension+Manager` diff --git a/package.json b/package.json index bdef8d7..f38f7f6 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", + "test": "exit 0", "start": "babel-node TypeExtensionManager.js --presets es2015,stage-2" }, "dependencies": { diff --git a/utility/customerUtility/fetchDocument.js b/utility/customerUtility/fetchDocument.js index 09dfa15..3f03c7f 100644 --- a/utility/customerUtility/fetchDocument.js +++ b/utility/customerUtility/fetchDocument.js @@ -1,5 +1,7 @@ import needle from 'needle'; import CONSTANTS from '../../constants'; +import moment from "moment"; +import {setupSampleData} from "./index"; const { fields: { CUSTOMER, @@ -24,6 +26,11 @@ const { META_DATA, UID }, + MESSAGES:{ + INFO:{ + DOCUMENT_NOT_EXISTING + } + }, rl } = CONSTANTS @@ -32,15 +39,37 @@ export default (queriedObject, essential, options, poNumber) => { return new Promise((resolve, reject) => { if (essential[CUSTOMER][QUERY_URL] && essential[CUSTOMER][FETCH_URL] && queriedObject) { if (queriedObject && queriedObject[RESULT] && queriedObject[RESULT].length > 0) { - let objectUidsList = [...new Set(queriedObject[RESULT].map(item => item[`${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]][OBJECT_UID]}`]))] - let objectUid = null - if(objectUidsList.length > 1){ - let i = 0; - for(i; i < objectUidsList.length; i++){ - console.log(`${i}.${objectUidsList[i]}`) - } - rl.question(`Looks like there are too many ${essential[CUSTOMER][DOCUMENT_TYPE]}'s with the same ${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]].SHORT_FORM}:#${essential[CUSTOMER][SAMPLE_REF_NUMBER]}. Please choose a UID:\n`, (uidOption) => { - objectUid = objectUidsList[uidOption] + try{ + //item => `${item[`${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]][OBJECT_UID]}`]} BUYER:${item['party']['Buyer'][0]['name']}\t\t\t\tCREATED_TIMESTAMP: ${moment(item['__metadata']['createTimestamp']).format("MM-DD-YYYY")}` + let objectUidsList = [...new Set(queriedObject[RESULT].map((item) => { + return { + UID: `${item[`${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]][OBJECT_UID]}`]}`, + BUYER: `${item['party']['Buyer'][0]['name']}`, + CREATED_TIMESTAMP: `${moment(item['__metadata']['createTimestamp']).format("MM-DD-YYYY")}` + } + }))] + let objectUid = null + if(objectUidsList.length > 1){ + let i = 0; + console.log(`-----------------------------------------------------------------------------------------------------------`) + console.log(`|S#| |CREATED_ON| \t\t\t\t|OBJECT_UID| \t\t\t\t\t|BUYER_ORG|`) + console.log(`-----------------------------------------------------------------------------------------------------------`) + for(i; i < objectUidsList.length; i++){ + console.log(`[${i+1}] ${objectUidsList[i].CREATED_TIMESTAMP} \t\t\t\t${objectUidsList[i].UID} \t\t\t\t\t${objectUidsList[i].BUYER}`) + } + rl.question(`Looks like there are too many ${essential[CUSTOMER][DOCUMENT_TYPE]}'s with the same ${DOCTYPES[essential[CUSTOMER][DOC_SHORT_FORM]].SHORT_FORM}:#${essential[CUSTOMER][SAMPLE_REF_NUMBER]}. Please choose a UID:\n`, (uidOption) => { + objectUid = objectUidsList[uidOption-1] + needle(GET, `${essential[CUSTOMER][FETCH_URL]}${objectUid}`, options) + .then((result) => { + let fetchedObject = result.body + resolve(fetchedObject) + }) + .catch((err) => { + reject(err) + }) + }) + }else{ + objectUid = queriedObject[RESULT][0][DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS][Object.keys(DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS])]] needle(GET, `${essential[CUSTOMER][FETCH_URL]}${objectUid}`, options) .then((result) => { let fetchedObject = result.body @@ -49,18 +78,13 @@ export default (queriedObject, essential, options, poNumber) => { .catch((err) => { reject(err) }) - }) - }else{ - objectUid = queriedObject[RESULT][0][DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS][Object.keys(DOCTYPES[`${essential[CUSTOMER][DOC_SHORT_FORM]}`][OBJECT_FIELDS])]] - needle(GET, `${essential[CUSTOMER][FETCH_URL]}${objectUid}`, options) - .then((result) => { - let fetchedObject = result.body - resolve(fetchedObject) - }) - .catch((err) => { - reject(err) - }) + } + }catch (e) { + } + }else{ + console.log(`\n***INFO: ${DOCUMENT_NOT_EXISTING} ${essential[CUSTOMER][DOCUMENT_TYPE]}#:${essential[CUSTOMER][SAMPLE_REF_NUMBER]}***\n`) + setupSampleData(essential).then(()=> resolve()) } } }) diff --git a/utility/customerUtility/queryDocument.js b/utility/customerUtility/queryDocument.js index c56f6eb..f43660b 100644 --- a/utility/customerUtility/queryDocument.js +++ b/utility/customerUtility/queryDocument.js @@ -28,7 +28,7 @@ export default (essential, options, poNumber) => { needle(GET, essential[CUSTOMER][QUERY_URL], options) .then((result) => { let quriedObject = result.body - resolve(quriedObject) + resolve(quriedObject) }) .catch((err) =>{ reject(err) diff --git a/utility/customerUtility/rulesetType.js b/utility/customerUtility/rulesetType.js index 6082ace..6799198 100644 --- a/utility/customerUtility/rulesetType.js +++ b/utility/customerUtility/rulesetType.js @@ -14,8 +14,13 @@ const { VALIDATIONS, VLD, VLDS, + WARNINGS, + WARNING, + WRNS, + WRN, POPULATE, - VALIDATE + VALIDATE, + WARN }, MESSAGES: { ERRORS: { @@ -29,15 +34,18 @@ const { DOCUMENT_TYPE, EVENT, IS_CONFIG, - MODULE_NAME + MODULE_NAME, + PLATFORM_EVENT }, RULE_SET: { POP_RULE_SET, - VLD_RULE_SET + VLD_RULE_SET, + WRN_RULE_SET }, OPTIONS: { ONE, - TWO + TWO, + THREE }, FILES: { TYPE_EXTENSION_MODULE @@ -67,6 +75,7 @@ let settingRulesetType = (rulesetName, essentials) => { let type = null let event = null let moduleName = null + let platformEvent = null switch (rulesetName.toLowerCase()) { case POP.toLowerCase(): @@ -77,6 +86,7 @@ let settingRulesetType = (rulesetName, essentials) => { type = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + POP_RULE_SET event = POPULATE moduleName = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + `${TYPE_EXTENSION_MODULE}` + platformEvent = `onSave` break case VLD.toLowerCase(): @@ -87,6 +97,18 @@ let settingRulesetType = (rulesetName, essentials) => { type = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + VLD_RULE_SET event = VALIDATE moduleName = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + `${TYPE_EXTENSION_MODULE}` + platformEvent = `onValidate` + break + + case WRN.toLowerCase(): + case WRNS.toLowerCase(): + case WARNING.toLowerCase(): + case WARNINGS.toLowerCase(): + case THREE: + type = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + WRN_RULE_SET + event = WARN + moduleName = essentials[CUSTOMER][CUSTOMER_NAME] + essentials[CUSTOMER][DOCUMENT_TYPE] + `${TYPE_EXTENSION_MODULE}` + platformEvent = `onValidate` break default: reject(new Error(NO_RULESET_TYPE_RPOVIDED)) @@ -95,4 +117,5 @@ let settingRulesetType = (rulesetName, essentials) => { essentials[CUSTOMER][RULE_SET_TYPE] = type essentials[CUSTOMER][EVENT] = event essentials[CUSTOMER][MODULE_NAME] = moduleName + essentials[CUSTOMER][PLATFORM_EVENT] = platformEvent } \ No newline at end of file diff --git a/utility/customerUtility/setupSampleData.js b/utility/customerUtility/setupSampleData.js index 53fc441..da8cf38 100644 --- a/utility/customerUtility/setupSampleData.js +++ b/utility/customerUtility/setupSampleData.js @@ -261,4 +261,4 @@ let prepareDocumentUrl = (essential, sampleRefNumber) => { break } } -} \ No newline at end of file +} diff --git a/utility/platformUtility/createPlatformFolders.js b/utility/platformUtility/createPlatformFolders.js index c233ae3..912f809 100644 --- a/utility/platformUtility/createPlatformFolders.js +++ b/utility/platformUtility/createPlatformFolders.js @@ -20,7 +20,6 @@ const { export default (essentials) => { return new Promise(async (resolve, reject) => { - console.log(essentials) const $typeExtensionPathD1 = `${essentials[CUSTOMER][MODULE_PATH]}/${$TYPE_EXTENSION_D1}` const platformLocalization = `${essentials[CUSTOMER][MODULE_PATH]}/${PLATFORM_LOCALIZATION}` const typeExtensionScript = `${essentials[CUSTOMER][MODULE_PATH]}/${TYPE_EXTENSION_SCRIPT}` diff --git a/utility/platformUtility/setupPlatformFile.js b/utility/platformUtility/setupPlatformFile.js index ed5924d..81ad87b 100644 --- a/utility/platformUtility/setupPlatformFile.js +++ b/utility/platformUtility/setupPlatformFile.js @@ -17,7 +17,8 @@ const { MODULE_PATH, MODULE_NAME, CUSTOMER_NAME, - PMM_SAFE_FILE_REQUIRED + PMM_SAFE_FILE_REQUIRED, + PLATFORM_EVENT }, GENERAL:{ FULL_DATE_FORMAT, @@ -260,7 +261,7 @@ export default (essentials) => { "elements": [ { "type": "text", - "text": "on${essentials[CUSTOMER][EVENT] === "Populate"?"Save":essentials[CUSTOMER][EVENT]}" + "text": "${essentials[CUSTOMER][PLATFORM_EVENT]}" } ] },