lsito para codificar la db
This commit is contained in:
+2
-1
@@ -1,2 +1,3 @@
|
||||
node_modules
|
||||
node_modules/
|
||||
|
||||
.env
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"trailingComma": "es5",
|
||||
"tabWidth": 2,
|
||||
"semi": true,
|
||||
"singleQuote": true
|
||||
}
|
||||
Generated
+1031
-212
File diff suppressed because it is too large
Load Diff
+14
-8
@@ -1,16 +1,20 @@
|
||||
{
|
||||
"name": "pcpuma_acatlan_api",
|
||||
"name": "api",
|
||||
"version": "1.0.0",
|
||||
"description": "Este es la API para el sistema de prestamos PC PUMA",
|
||||
"description": "Esta es la plantilla para una api",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
"test": "node ./server/config/test",
|
||||
"db:install": "node ./server/db/install",
|
||||
"db:data-fake": "node ./server/db/data-fake",
|
||||
"dev": "nodemon ./server/app",
|
||||
"start": "node ./server/app"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://repositorio.acatlan.unam.mx/CIDWA/pcpuma_acatlan_api.git"
|
||||
"url": ""
|
||||
},
|
||||
"author": "CIDWA",
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"bcrypt": "^5.0.1",
|
||||
@@ -25,8 +29,10 @@
|
||||
"mariadb": "^2.5.3",
|
||||
"moment": "^2.29.1",
|
||||
"multer": "^1.4.2",
|
||||
"mysql2": "^2.2.5",
|
||||
"sequelize": "^6.5.1",
|
||||
"validator": "^13.5.2"
|
||||
"sequelize": "^6.6.2",
|
||||
"validator": "^13.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"nodemon": "^2.0.7"
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -1,8 +1,8 @@
|
||||
require("./config/config");
|
||||
const colors = require("colors");
|
||||
const bodyParser = require("body-parser");
|
||||
const cors = require("cors");
|
||||
const express = require("express");
|
||||
require('./config/config');
|
||||
const colors = require('colors');
|
||||
const bodyParser = require('body-parser');
|
||||
const cors = require('cors');
|
||||
const express = require('express');
|
||||
const app = express();
|
||||
|
||||
app.use(cors());
|
||||
@@ -15,12 +15,12 @@ app.use(
|
||||
|
||||
app.use(bodyParser.json());
|
||||
|
||||
app.get("/", (req, res) => res.send("API IRIS"));
|
||||
app.get('/', (req, res) => res.send('API Pcpuma'));
|
||||
|
||||
app.use(require("./routes/index"));
|
||||
app.use(require('./routes/index'));
|
||||
|
||||
app.listen(process.env.PORT, () =>
|
||||
app.listen(Number(process.env.PORT), () =>
|
||||
console.log(
|
||||
`API Pc Puma desarrollo corriendo en el puerto: ${process.env.PORT}`.rainbow
|
||||
`API Pcpuma corriendo en el puerto: ${process.env.PORT}`.rainbow
|
||||
)
|
||||
);
|
||||
|
||||
+1
-17
@@ -1,6 +1,6 @@
|
||||
const dotenv = require('dotenv');
|
||||
const colors = require('colors');
|
||||
var result = {};
|
||||
let result = {};
|
||||
|
||||
try {
|
||||
result = dotenv.config();
|
||||
@@ -9,19 +9,3 @@ try {
|
||||
} catch (err) {
|
||||
console.log('El archivo .env no se cargo.'.underline.bold.red);
|
||||
}
|
||||
|
||||
// process.env.TYPEDB = process.env.TYPEDB
|
||||
|
||||
// process.env.DB = process.env.DB
|
||||
|
||||
// process.env.USERDB = process.env.USERDB
|
||||
|
||||
// process.env.PASSWORDDB = process.env.PASSWORDDB
|
||||
|
||||
// process.env.HOSTDB = process.env.HOSTDB
|
||||
|
||||
// process.env.PORT = process.env.PORT
|
||||
|
||||
// process.env.SALT_ROUNDS = process.env.SALT_ROUNDS
|
||||
|
||||
process.env.CADUCIDAD_TOKEN = 1800000;
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
require('../config/config');
|
||||
const colors = require('colors');
|
||||
// const encriptar = require('../helper/encriptar');
|
||||
const TipoUsuario = require('./tablas/TipoUsuario');
|
||||
const Usuario = require('./tablas/Usuario');
|
||||
|
||||
const drop = async () => {
|
||||
console.log('\nPaso 1) Desinstalando la db.'.bold.blue);
|
||||
|
||||
await Usuario.drop();
|
||||
console.log('La tabla Usuario se desinstalo correctamente.'.magenta);
|
||||
|
||||
await TipoUsuario.drop();
|
||||
console.log('La tabla TipoUsuario se desinstalo correctamente.'.magenta);
|
||||
};
|
||||
|
||||
const sync = async () => {
|
||||
console.log('\nPaso 2) Instalando la db.'.bold.blue);
|
||||
|
||||
await TipoUsuario.sync();
|
||||
console.log('La tabla TipoUsuario se instalo correctamente.'.magenta);
|
||||
|
||||
await Usuario.sync();
|
||||
console.log('La tabla Usuario se instalo correctamente.'.magenta);
|
||||
};
|
||||
|
||||
const exe = async () => {
|
||||
await drop();
|
||||
await sync();
|
||||
console.log(
|
||||
'\nSe ha instalado exitosamente la base de datos.\n'.underline.bold.green
|
||||
);
|
||||
|
||||
process.exit();
|
||||
};
|
||||
|
||||
exe();
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
const { DataTypes, Model } = require('sequelize');
|
||||
const sequelize = require('../../config/sequelize.conf');
|
||||
|
||||
class TipoUsuario extends Model {}
|
||||
TipoUsuario.init(
|
||||
{
|
||||
idTipoUsuario: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
unique: true,
|
||||
autoIncrement: true,
|
||||
},
|
||||
tipoUsuario: {
|
||||
type: DataTypes.STRING(15),
|
||||
allowNull: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
modelName: 'TipoUsuario',
|
||||
tableName: 'tipo_usuario',
|
||||
timestamps: false,
|
||||
}
|
||||
);
|
||||
|
||||
module.exports = TipoUsuario;
|
||||
@@ -0,0 +1,51 @@
|
||||
const { DataTypes, Model } = require('sequelize');
|
||||
const sequelize = require('../../config/sequelize.conf');
|
||||
const TipoUsuario = require('./TipoUsuario');
|
||||
|
||||
class Usuario extends Model {}
|
||||
Usuario.init(
|
||||
{
|
||||
idUsuario: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
allowNull: false,
|
||||
unique: true,
|
||||
autoIncrement: true,
|
||||
},
|
||||
usuario: {
|
||||
type: DataTypes.STRING(100),
|
||||
allowNull: false,
|
||||
unique: true,
|
||||
},
|
||||
password: {
|
||||
type: DataTypes.STRING(60),
|
||||
allowNull: true,
|
||||
defaultValue: null,
|
||||
},
|
||||
nombre: {
|
||||
type: DataTypes.STRING(70),
|
||||
allowNull: true,
|
||||
defaultValue: null,
|
||||
},
|
||||
activo: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
allowNull: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
sequelize,
|
||||
modelName: 'Usuario',
|
||||
tableName: 'usuario',
|
||||
timestamps: false,
|
||||
}
|
||||
);
|
||||
|
||||
Usuario.belongsTo(TipoUsuario, {
|
||||
foreignKey: {
|
||||
name: 'idTipoUsuario',
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
},
|
||||
});
|
||||
|
||||
module.exports = Usuario;
|
||||
@@ -136,6 +136,12 @@ const validarPreTermino = (idServicio) => {
|
||||
});
|
||||
};
|
||||
|
||||
const validarAccesibilidad = (usuariosValidos = [], idTipoUsuario) => {
|
||||
for (let i = 0; i < usuariosValidos.length; i++)
|
||||
if (idTipoUsuario === usuariosValidos[i]) return;
|
||||
throw new Error('Este usuario no tiene permitido usar esta linea de la API.');
|
||||
};
|
||||
|
||||
const isObjectEmpty = (obj) => {
|
||||
for (let key in obj) {
|
||||
if (obj.hasOwnProperty(key)) return false;
|
||||
@@ -143,6 +149,17 @@ const isObjectEmpty = (obj) => {
|
||||
return true;
|
||||
};
|
||||
|
||||
const crearDDMMAAAA = (date) => {
|
||||
const fechaMoment = moment(date);
|
||||
let ddmmaaaa = '';
|
||||
|
||||
if (fechaMoment.isValid())
|
||||
ddmmaaaa = `${fechaMoment.date()}/${
|
||||
fechaMoment.month() + 1
|
||||
}/${fechaMoment.year()}`;
|
||||
return ddmmaaaa;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
validar,
|
||||
noValido,
|
||||
@@ -156,5 +173,7 @@ module.exports = {
|
||||
validarFecha,
|
||||
validarNumero,
|
||||
validarPreTermino,
|
||||
validarAccesibilidad,
|
||||
isObjectEmpty,
|
||||
crearDDMMAAAA,
|
||||
};
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
require('../config/config');
|
||||
const jwt = require('jsonwebtoken');
|
||||
|
||||
const verificaToken = (req, res, next) => {
|
||||
let token = req.headers.token;
|
||||
|
||||
if (!token)
|
||||
return res.status(400).json({
|
||||
message: 'No hay token',
|
||||
});
|
||||
jwt.verify(token, process.env.KEY, (err, decoded) => {
|
||||
if (err)
|
||||
return res.status(401).json({
|
||||
message: err.message,
|
||||
});
|
||||
req.decoded = decoded;
|
||||
next();
|
||||
});
|
||||
};
|
||||
|
||||
const crearToken = (info) => {
|
||||
return jwt.sign({ info }, process.env.KEY, {
|
||||
expiresIn: Number(process.env.CADUCIDAD_TOKEN),
|
||||
});
|
||||
};
|
||||
|
||||
module.exports = { verificaToken, crearToken };
|
||||
@@ -0,0 +1,6 @@
|
||||
const express = require("express");
|
||||
const app = express();
|
||||
|
||||
// app.use(require("./"));
|
||||
|
||||
module.exports = app;
|
||||
|
||||
Reference in New Issue
Block a user