@saboosanket/code-generator
Version:
This npm package is a versatile setup tool tailored for Node.js projects, enabling users to generate customized project structures and functionalities. It supports integration with Google Cloud Platform (GCP), RabbitMQ, Redis, a Prisma query generator, an
41 lines (38 loc) • 1.43 kB
JavaScript
import { createHttpFile } from '../http/http_utils.js'
import { createRMQFile } from '../queue/rabbitMQ/rabbitMQ_utils.js'
import { createPrismaQueries } from '../db/prisma/prisma_query_generators.js'
import { createGCPFiles } from '../cloud/gcp/gcp_utils.js'
import { createRedisFile } from '../cache/redis/redis_utils.js'
const functionToRun = {
gcp: createGCPFiles,
rabbitmq: createRMQFile,
httpModule: createHttpFile,
redis: createRedisFile,
dbQueriesAllModelsPrisma: createPrismaQueries
}
function createFilesHandler(userInputDict) {
const integrationKeys = [
'rabbitmq',
'redis',
'httpModule',
'dbQueriesAllModelsPrisma'
]
integrationKeys.forEach((key) => {
if (userInputDict[key] && functionToRun[key]) {
functionToRun[key]() // Call the respective function
}
})
if (userInputDict['dbQueriesIndividualModelPrisma']) {
createPrismaQueries(userInputDict['modelName'])
}
// Iterate over cloudProviders and run the appropriate function
userInputDict.cloudProviders.forEach((cloudProvider) => {
for (const provider in cloudProvider) {
if (cloudProvider[provider] && functionToRun[provider]) {
functionToRun[provider]() // Call the respective function for GCP, AWS, etc.
}
}
})
}
// createFilesHandler(userInputDict)
export { createFilesHandler }