UNPKG

@sap/dwf-generator

Version:

SAP HANA Data Warehousing Foundation - Generator

62 lines (55 loc) 1.9 kB
'use strict'; const coCommon = require('./common'); function lfnGenerateGrants(ioGenerator, lsPath, iaObjects) { let loGrantsData = {}; loGrantsData.fileName = lsPath; loGrantsData.fileContent = {}; let laObjects = JSON.parse(coCommon.replace('objectPrivileges', { objects: iaObjects })); // for synonym object privilege is required loGrantsData.fileContent = coCommon.replace('grants', { grantorService: ioGenerator.get('generate.hdbgrants.grantor_service.name'), objectOwner: { roles: [ ioGenerator.get('generate.hdbgrants.role.name') ], object_privileges: laObjects }, applicationUser: { object_privileges: laObjects } }, true); ioGenerator.createFile(loGrantsData); } function lfnGenerateSynonymConfig(ioGenerator, isPath, iaObjects) { iaObjects = JSON.parse(JSON.stringify(iaObjects)); let loSynoCfg = {}; loSynoCfg.fileName = isPath; loSynoCfg.fileContent = coCommon.replace('synonymconfig', { objects: iaObjects }, true); ioGenerator.createFile(loSynoCfg); } function lfnGenerateSynonym(ioGenerator, isPath, iaObjects) { let loSyno = {}; loSyno.fileName = isPath; loSyno.fileContent = coCommon.replace('synonym', { objects: iaObjects }, true); ioGenerator.createFile(loSyno); } function lfnGenerateSynonymSet(ioGenerator, ioPaths, iaObjects) { let laObjects = JSON.parse(JSON.stringify(iaObjects)); for (var i in laObjects) { laObjects[i].name += coCommon.synonymNameSuffix; } lfnGenerateGrants(ioGenerator, ioPaths.grant, iaObjects); lfnGenerateSynonym(ioGenerator, ioPaths.synonym, laObjects); lfnGenerateSynonymConfig(ioGenerator, ioPaths.synonymconfig, laObjects); } module.exports = { generateSynonymSet: lfnGenerateSynonymSet, generateSynonym: lfnGenerateSynonym, generateGrants: lfnGenerateGrants, generateSynonymConfig: lfnGenerateSynonymConfig };