giganet_conecta
Version:
Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql, Mongo e Elasticsearch).
64 lines (57 loc) • 2.06 kB
JavaScript
const ConnectMongo = require("../../Connect Mongo");
const DiversasTickets = require("./Models/diversas_tickets");
const FrotasTicketsDespesas = require("./Models/frotas_tickets_despesas");
const FrotasTicketsAPrazo = require("./Models/frotas_tickets_a_prazo");
const FrotasTicketsManutencoes = require("./Models/frotas_tickets_manutencoes");
const Reports = require("./Models/repots");
const Logs = require("./Models/logs");
module.exports = async () => {
const name_database = "despesas";
try {
const mongo_connection = await ConnectMongo({
user: process.env.DB_MONGO_61_USER,
pass: process.env.DB_MONGO_61_PASS,
host: process.env.DB_MONGO_61_HOST,
port: process.env.DB_MONGO_61_PORT,
db: name_database,
authSource: process.env.DB_MONGO_61_AUTH_SOURCE,
});
const [
diversas_tickets,
frotas_tickets_despesas,
frotas_tickets_a_prazo,
frotas_tickets_manutencoes,
reports,
frotas_logs,
diversas_logs,
] = await Promise.all([
mongo_connection.model("diversas_tickets", DiversasTickets),
mongo_connection.model("frotas_tickets_despesas", FrotasTicketsDespesas),
mongo_connection.model("frotas_tickets_a_prazo", FrotasTicketsAPrazo),
mongo_connection.model(
"frotas_tickets_manutencoes",
FrotasTicketsManutencoes
),
mongo_connection.model("reports", Reports),
mongo_connection.model("frotas_logs", Logs),
mongo_connection.model("diversas_logs", Logs),
]);
const DB_MONGO_61_DESPESAS = {
diversas_tickets,
frotas_tickets_despesas,
frotas_tickets_a_prazo,
frotas_tickets_manutencoes,
reports,
frotas_logs,
diversas_logs,
mongo_connection,
};
module.exports = DB_MONGO_61_DESPESAS;
} catch (error) {
throw new Error(
`Erro ao conectar ao banco de dados (Mongo) ${name_database}: ${
error instanceof Error ? error.message : error
}`
);
}
};