UNPKG

giganet_conecta

Version:

Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql & Mongo).

95 lines (84 loc) 2.85 kB
const ConnectMysql = require("../Connect Mysql"); // Modelos const Clientes_Max = require("../Controle de streamings/Models/clientes_max"); const Clientes_Netflix = require("../Controle de streamings/Models/clientes_netflix"); const Contas_Max = require("../Controle de streamings/Models/contas_max"); const Contas_Netflix = require("../Controle de streamings/Models/contas_netflix"); const Gifts_Netflix = require("../Controle de streamings/Models/gifts_netflix"); const Logs = require("../Controle de streamings/Models/logs"); // Views const Relatorio_Max = require("../Controle de streamings/Views/relatorio_max"); const Relatorio_Netflix = require("../Controle de streamings/Views/relatorio_netflix"); const Contas_Vencerem = require("../Controle de streamings/Views/contas_vencerem"); module.exports = async () => { const database = "controle_de_streamings"; const name_database = "Controle de streamings"; try { const { DB_MYSQL_61_HOST, DB_MYSQL_61_PORT, DB_MYSQL_61_USER, DB_MYSQL_61_PASSWORD, } = process.env; const sequelize = await ConnectMysql({ host: DB_MYSQL_61_HOST, port: DB_MYSQL_61_PORT, user: DB_MYSQL_61_USER, password: DB_MYSQL_61_PASSWORD, database, name_database, }); let [ clientes_max, clientes_netflix, contas_max, contas_netflix, gifts_netflix, logs, relatorio_max, relatorio_netflix, contas_vencerem, ] = await Promise.all([ Clientes_Max(sequelize), Clientes_Netflix(sequelize), Contas_Max(sequelize), Contas_Netflix(sequelize), Gifts_Netflix(sequelize), Logs(sequelize), Relatorio_Max(sequelize), Relatorio_Netflix(sequelize), Contas_Vencerem(sequelize), ]); clientes_netflix.belongsTo(contas_netflix, { foreignKey: "id_conta", targetKey: "id" }); contas_netflix.hasMany(clientes_netflix,{ foreignKey: "id_conta", targetKey: "id" }); clientes_max.belongsTo(contas_max, { foreignKey: "id_email", targetKey: "id_email", as: "contas_max", }); contas_max.hasMany(clientes_max, { foreignKey: "id_email", sourceKey: "id_email", as: "clientes_max", }); const DB_MYSQL_CONTROLE_DE_STREAMINGS = { clientes_max, clientes_netflix, contas_max, contas_netflix, gifts_netflix, logs, relatorio_max, relatorio_netflix, contas_vencerem, sequelize, }; module.exports = DB_MYSQL_CONTROLE_DE_STREAMINGS; } catch (error) { throw new Error( `Erro ao conectar ao banco de dados (MySql) ${name_database}: ${ error instanceof Error ? error.message : error }` ); } };