UNPKG

@bee.js/node

Version:

A JavaScript framework for making Node.js API´s

62 lines (47 loc) 1.54 kB
const express = require("express"); const log = require("./log"); module.exports = function (configs) { const app = express(); app.express = express; log(`Creating ${configs.name || "Bee.js"}...`); log("Optimizing model(s)..."); const models = configs.models; Object.entries(models).forEach(([modelName, model]) => { model.table = model.table || modelName; Object.entries(model.schema).forEach(([fieldName, field]) => { field.type = field.type.split(" ")[0]; }); }); log("Configuring database(s)..."); // TODO talvez usar {... {obj}, {otherObject} } // TODO fazer loop em todos os dbs. let defaultConfigs = { default: { connectionLimit: 100, multipleStatements: true, waitForConnections: true, queueLimit: 0, charset: "utf8", engine: "InnoDB", drive: "mysql", port: 3306, }, }; configs.databases.default = Object.assign( {}, defaultConfigs.default, configs.databases.default ); configs.dev = process.argv.includes("--dev") ? true : configs.debug; configs.debug = configs.dev || configs.debug; global.configs = configs; global.models = models; global.middlewares = configs.middlewares; global.controllers = configs.controllers; global.routes = configs.routes; delete global.beeDBPool; log(`${Object.keys(global.models).length} model(s)`); log(`${Object.keys(global.controllers).length} controller(s)`); log(`${Object.keys(global.middlewares).length - 1} middleware(s)`); return app; };