Script to extract module/config specific data

node v14.20.1
version: 1.0.0
endpointsharetweet
var fs = require('fs') var _ = require('lodash'); var config_data_path = "<YourPath-to-local-config-data>"; var modules_path = config_data_path + "/v1/clients/tata_aia/modules" function create_moduele(module) { try { // fs.mkdirSync(`./openApi/${payloadType}`); } catch (err) { console.log(`Folder "${payloadType}" already exists`); } } function writeDataToFile(payload) { fs.writeFileSync(`./openApi/${payloadName}.yml`, res) } function getDataFromFile(path) { try { return JSON.parse(fs.readFileSync(path, 'utf8')); } catch(err){ return null; } } function getListOfFilesInDirectory(path) { return fs.readdirSync(path, 'utf8'); } function get_modules_list() { var leads_modules = []; getListOfFilesInDirectory(`${modules_path}`).forEach(module_code => { let moduleDetails = getDataFromFile(`${modules_path}/${module_code}/__data`); if (moduleDetails?.type === 'LEAD') { leads_modules.push({code: module_code, name: moduleDetails.name}); } if (moduleDetails?.type === 'PARTNER') { leads_modules.push({code: module_code, name: moduleDetails.name}); } }) return leads_modules } var leads_modules = get_modules_list() var stateNameToCodeMapping = [] leads_modules.forEach(module => { let state_codes = getListOfFilesInDirectory(`${modules_path}/${module.code}/states`) let state_mappings = getDataFromFile(`${modules_path}/${module.code}/stateMappings/__data`); let leadModuleType = getDataFromFile(`${modules_path}/${module.code}/__data`) let enabled_states = state_codes.filter(state => { let state_data = _.find(state_mappings, state_mapping => state_mapping.state === state) return !state_data?.disabled; }) // stateNameToCodeMapping[module.name] = [] enabled_states.forEach(state => { let state_name = getDataFromFile(`${modules_path}/${module.code}/states/${state}/__data`).name; stateNameToCodeMapping.push({ module :module.name, moduleCode :module.code, module_type: leadModuleType.type, state_name: state_name, state_code: state }) }) }) console.log(JSON.stringify(stateNameToCodeMapping))
Loading…

no comments

    sign in to comment