diff --git a/api/_helpers/error-handler.js b/api/_helpers/error-handler.js index 1b92b07..b7dcf68 100644 --- a/api/_helpers/error-handler.js +++ b/api/_helpers/error-handler.js @@ -1,5 +1,4 @@ module.exports = errorHandler; - function errorHandler(err, req, res, next) { if (typeof err === "string") { // custom application error diff --git a/api/_helpers/firebase-connector.js b/api/_helpers/firebase-connector.js deleted file mode 100644 index d806e98..0000000 --- a/api/_helpers/firebase-connector.js +++ /dev/null @@ -1,17 +0,0 @@ -const environment = require("./environment"); -const firebaseAdmin = require("firebase-admin"); - -const connect = (projectId) => { - const serviceAccount = environment.serverConfig.databases.firebase.databases - .filter((Database) => Database.project_id === projectId) - .pop(); - - firebaseAdmin.initializeApp({ - credential: firebaseAdmin.credential.cert(serviceAccount), - databaseURL: `https://${projectId}.firebaseio.com`, - }); - - return firebaseAdmin.database(); -}; - -module.exports = { connect }; diff --git a/api/_helpers/jwt.js b/api/_helpers/jwt.js index 5433b5e..8bcb3d8 100644 --- a/api/_helpers/jwt.js +++ b/api/_helpers/jwt.js @@ -1,11 +1,9 @@ -const expressJwt = require("express-jwt"); -const environment = require("./environment"); - -module.exports = jwt; +import { environment } from "./environment"; +import { expressjwt } from "express-jwt"; function jwt() { const { secret } = environment.serverConfig; - return expressJwt({ secret: secret, algorithms: ["HS256"] }).unless({ + return expressjwt({ secret: secret, algorithms: ["HS256"] }).unless({ path: [ // public routes that don't require authentication "/users/authenticate", @@ -15,3 +13,5 @@ function jwt() { ], }); } + +module.exports = jwt; diff --git a/api/_helpers/mysql-connector.js b/api/_helpers/mysql-connector.js index de23b6f..bca9c5b 100644 --- a/api/_helpers/mysql-connector.js +++ b/api/_helpers/mysql-connector.js @@ -1,19 +1,11 @@ -const environment = require("./environment"); -const Sequelize = require("sequelize"); +import { environment } from "./environment"; +import { Sequelize } from "sequelize"; -const mysql = require("mysql2"); const ceutDatabase = environment.serverConfig.databases.mysql.databases .filter((db) => db.id === "ceut-frsf") .pop(); -const mySqlConnection = mysql.createConnection({ - host: ceutDatabase.host, - user: ceutDatabase.user, - database: ceutDatabase.database, - password: ceutDatabase.password, -}); - -const sequelizeConnection = new Sequelize( +const sequelizeConnector = new Sequelize( ceutDatabase.database, ceutDatabase.user, ceutDatabase.password, @@ -27,12 +19,4 @@ const sequelizeConnection = new Sequelize( } ); -module.exports = { mysqlConnector, sequelizeConnector }; - -function mysqlConnector() { - return mySqlConnection; -} - -function sequelizeConnector() { - return sequelizeConnection; -} +module.exports = { sequelizeConnector }; diff --git a/api/_helpers/sanity-connector.js b/api/_helpers/sanity-connector.js index d413c0e..5ea0430 100644 --- a/api/_helpers/sanity-connector.js +++ b/api/_helpers/sanity-connector.js @@ -1,7 +1,7 @@ -const environment = require("./environment"); -const sanityClient = require("@sanity/client"); +import { environment } from "./environment"; +import { createClient } from "@sanity/client"; -const client = sanityClient({ +const client = createClient({ projectId: environment.sanity.projectId, dataset: environment.sanity.dataset, apiVersion: "2019-01-29", // use current UTC date - see "specifying API version"! diff --git a/api/_models/user/role.model.js b/api/_models/user/role.model.js index 08d9c4b..6dcd111 100644 --- a/api/_models/user/role.model.js +++ b/api/_models/user/role.model.js @@ -1,8 +1,5 @@ -const Sequelize = require("sequelize"); -const connector = require("../../_helpers/mysql-connector"); -const sequelizeConnector = connector.sequelizeConnector(); - -module.exports = () => Role; +import { sequelizeConnector } from "../../_helpers/mysql-connector"; +import { Sequelize } from "sequelize"; class Role extends Sequelize.Model {} @@ -45,3 +42,5 @@ Role.init( modelName: "role", } ); + +module.exports = { Role }; diff --git a/api/_models/user/user-role.model.js b/api/_models/user/user-role.model.js index 8547f14..83f3f18 100644 --- a/api/_models/user/user-role.model.js +++ b/api/_models/user/user-role.model.js @@ -1,8 +1,5 @@ -const Sequelize = require("sequelize"); -const connector = require("../../_helpers/mysql-connector"); -const sequelizeConnector = connector.sequelizeConnector(); - -module.exports = () => UserRole; +import { Sequelize } from "sequelize"; +import { sequelizeConnector } from "../../_helpers/mysql-connector"; class UserRole extends Sequelize.Model {} @@ -54,3 +51,5 @@ UserRole.init( modelName: "user_role", } ); + +module.exports = { UserRole }; diff --git a/api/_models/user/user.model.js b/api/_models/user/user.model.js index af815f2..e049c7d 100644 --- a/api/_models/user/user.model.js +++ b/api/_models/user/user.model.js @@ -1,14 +1,10 @@ -const Sequelize = require("sequelize"); -const connector = require("../../_helpers/mysql-connector"); -const sequelizeConnector = connector.sequelizeConnector(); - -const Role = require("./role.model"); -const userRole = require("./user-role.model"); +import { Sequelize } from "sequelize"; +import { sequelizeConnector } from "../../_helpers/mysql-connector"; +import Role from "./role.model"; +import UserRole from "./user-role.model"; class User extends Sequelize.Model {} -module.exports = () => User; - User.init( { id: { @@ -71,12 +67,14 @@ User.init( ); // Mediante las dos llamadas siguientes, se define en Sequelize la relación N a M entre Role y User -User.belongsToMany(Role(), { - through: userRole(), +User.belongsToMany(Role, { + through: UserRole, foreignKey: "id_user", }); Role().belongsToMany(User, { - through: userRole(), + through: UserRole, foreignKey: "id_role", }); + +module.exports = { User }; diff --git a/api/cards/[id].js b/api/cards/[id].js index e2c95ac..9123f76 100644 --- a/api/cards/[id].js +++ b/api/cards/[id].js @@ -1,4 +1,4 @@ -const sanityConnector = require("../_helpers/sanity-connector"); +import sanityConnector from "../_helpers/sanity-connector"; export default async function getById(req, res) { const { id } = req.query; diff --git a/api/cards/active.js b/api/cards/active.js index a39cb0a..09d0f55 100644 --- a/api/cards/active.js +++ b/api/cards/active.js @@ -1,7 +1,6 @@ "use strict"; -const sanityConnector = require("../_helpers/sanity-connector"); - +import { sanityConnector } from "../_helpers/sanity-connector"; export default async function get(req, res) { const cards = await sanityConnector.client.fetch(`*`, {}); const fixedCardIds = cards.filter((card) => card._type === "fixedCards").pop() diff --git a/api/cards/fixed.js b/api/cards/fixed.js index dcd2017..ffd8739 100644 --- a/api/cards/fixed.js +++ b/api/cards/fixed.js @@ -1,7 +1,8 @@ "use strict"; -const sanityConnector = require("../_helpers/sanity-connector"); //TODO: Put this endpoint to work and retrieve the fixed cards. +import sanityConnector from "../_helpers/sanity-connector"; + export default async function getFixed(req, res) { const query = `*[_type == 'fixedCards']`; const cards = await sanityConnector.client.fetch(query, {}); diff --git a/api/courses/elective.js b/api/courses/elective.js index bac4978..119c36f 100644 --- a/api/courses/elective.js +++ b/api/courses/elective.js @@ -1,10 +1,11 @@ -const environment = require("../_helpers/environment"); +import { environment } from "../_helpers/environment"; +import airtable from "airtable"; + const cuenta = environment.serverConfig.airtable.cuentas .filter((Cuenta) => Cuenta.id === "metas") .pop(); //Se configura el objeto Airtable para hacer las consultas y obtener datos con los métodos -const airtable = require("airtable"); airtable.configure({ endpointUrl: environment.serverConfig.airtable.endpointUrl, apiKey: cuenta.key, diff --git a/api/electoral-register/get.js b/api/electoral-register/get.js index 833ec28..07e82f4 100644 --- a/api/electoral-register/get.js +++ b/api/electoral-register/get.js @@ -1,5 +1,5 @@ -const environment = require("../_helpers/environment"); -const { google } = require("googleapis"); +import { environment } from "../_helpers/environment"; +import { googleapis } from "googleapis"; const apiKey = environment.google.apiKey; const clientId = environment.google.clientId; @@ -11,7 +11,7 @@ export default async function get(req, res) { async function obtenerPadronDesdeGoogleSheets() { return new Promise((resolve, reject) => { - const sheets = google.sheets({ version: "v4", auth: apiKey }); + const sheets = googleapis.sheets({ version: "v4", auth: apiKey }); sheets.spreadsheets.values.get( { @@ -26,7 +26,7 @@ async function obtenerPadronDesdeGoogleSheets() { legajo: row[0], dni: row[1], name: row[2], - carrera: row[3] + carrera: row[3], }; }); resolve(result); diff --git a/api/sports/get.js b/api/sports/get.js index 3376bb3..98159d7 100644 --- a/api/sports/get.js +++ b/api/sports/get.js @@ -1,10 +1,11 @@ -const environment = require("../_helpers/environment"); +import airtable from "airtable"; +import { environment } from "../_helpers/environment"; + const cuenta = environment.serverConfig.airtable.cuentas .filter((Cuenta) => Cuenta.id === "ceut") .pop(); //Se configura el objeto Airtable para hacer las consultas y obtener datos con los métodos -const airtable = require("airtable"); airtable.configure({ endpointUrl: environment.serverConfig.airtable.endpointUrl, apiKey: cuenta.key, diff --git a/api/users/authenticate.js b/api/users/authenticate.js index 3e0a579..c1eda53 100644 --- a/api/users/authenticate.js +++ b/api/users/authenticate.js @@ -1,17 +1,18 @@ -const User = require("../_models/user/user.model"); -const Role = require("../_models/user/role.model"); -const bcrypt = require("bcrypt"); -const jwt = require("jsonwebtoken"); -const environment = require("../_helpers/environment"); +import User from "../_models/user/user.model"; +import Role from "../_models/user/role.model"; +import bcrypt from "bcrypt"; +import { environment } from "../_helpers/environment"; + +import { jsonwebtoken as jwt } from "jsonwebtoken"; export default async function authenticate(req, res) { const { userName, password } = req.body; - const user = await User().findOne({ + const user = await User.findOne({ raw: true, include: [ { - model: Role(), + model: Role, required: true, attributes: ["id", "description"], through: { attributes: [] }, diff --git a/api/users/get.js b/api/users/get.js index d1e026e..8f48c91 100644 --- a/api/users/get.js +++ b/api/users/get.js @@ -1,4 +1,4 @@ -const User = require("../_models/user/user.model"); +import { User } from "../../src/app/_models"; export default async function get(req, res) { const users = await User().findAll();