demo rector
This commit is contained in:
Vendored
+126
@@ -0,0 +1,126 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const Usuario_1 = require("../entity/Usuario");
|
||||
const class_validator_1 = require("class-validator");
|
||||
const typeorm_1 = require("typeorm");
|
||||
const Auth_1 = require("./Auth");
|
||||
class UsuarioController {
|
||||
static async create(req, res) {
|
||||
console.log(req.file);
|
||||
const { id, nombre, apellidoPaterno, apellidoMaterno, correoAlternativo, numeroTelefonico, institucion, secreto, interno } = JSON.parse(req.body.usuario);
|
||||
const identificacion = req.file;
|
||||
if (!interno && !identificacion) {
|
||||
res.status(400).send({
|
||||
status: false,
|
||||
data: 'Un usuario externo tiene que mandar fotoo de su identificacion'
|
||||
});
|
||||
return false;
|
||||
}
|
||||
const usuario = new Usuario_1.Usuario();
|
||||
usuario.id = id;
|
||||
usuario.nombre = nombre;
|
||||
usuario.apellidoPaterno = apellidoPaterno;
|
||||
usuario.apellidoMaterno = apellidoMaterno;
|
||||
usuario.correoAlternativo = correoAlternativo;
|
||||
usuario.numeroTelefonico = numeroTelefonico;
|
||||
usuario.identificacion = interno ? 'null' : JSON.stringify(identificacion);
|
||||
usuario.institucion = institucion;
|
||||
usuario.secreto = secreto;
|
||||
usuario.interno = interno;
|
||||
usuario.hashPassword();
|
||||
const errors = await class_validator_1.validate(usuario);
|
||||
if (errors.length > 0) {
|
||||
res.status(400).send(errors);
|
||||
}
|
||||
const repository = typeorm_1.getRepository(Usuario_1.Usuario);
|
||||
try {
|
||||
await repository.save(usuario);
|
||||
}
|
||||
catch (e) {
|
||||
res.status(409).send(e.message);
|
||||
return;
|
||||
}
|
||||
res.status(201).send('User create');
|
||||
}
|
||||
static async getAll(req, res) {
|
||||
const respository = typeorm_1.getRepository(Usuario_1.Usuario);
|
||||
const result = await respository.find({
|
||||
select: ['id', 'nombre', 'apellidoMaterno', 'apellidoPaterno']
|
||||
});
|
||||
res.status(200).json(result);
|
||||
}
|
||||
static async getOne(req, res) {
|
||||
const respository = typeorm_1.getRepository(Usuario_1.Usuario);
|
||||
const id = +req.params.id;
|
||||
try {
|
||||
const result = await respository.findOneOrFail(id, {
|
||||
select: ['id', 'nombre', 'apellidoMaterno', 'apellidoPaterno']
|
||||
});
|
||||
res.status(200).json(result);
|
||||
}
|
||||
catch (e) {
|
||||
res.status(404).send('Usuario no encontrado');
|
||||
}
|
||||
}
|
||||
static async login(req, res) {
|
||||
const repository = typeorm_1.getRepository(Usuario_1.Usuario);
|
||||
const { id, secreto } = req.body;
|
||||
try {
|
||||
const usuario = await repository.findOne({
|
||||
where: {
|
||||
id
|
||||
}
|
||||
});
|
||||
if (!usuario) {
|
||||
throw new Error('*Usuario o contraseña invalidos');
|
||||
}
|
||||
if (!usuario.checkIfUnencryptedPasswordIsValid(secreto)) {
|
||||
throw new Error('Usuario o *contraseña invalidos');
|
||||
}
|
||||
const token = await Auth_1.AuthController.signUsuario(usuario.interno ? 'usuarioInterno' : 'usuarioExterno', usuario.id);
|
||||
console.log(token);
|
||||
res.status(200).json({
|
||||
nombre: usuario.nombre,
|
||||
apellidoPaterno: usuario.apellidoPaterno,
|
||||
apellidoMaterno: usuario.apellidoMaterno,
|
||||
interno: usuario.interno,
|
||||
token
|
||||
});
|
||||
}
|
||||
catch (err) {
|
||||
res.status(400).send(err.message);
|
||||
}
|
||||
}
|
||||
static async verificar(req, res) {
|
||||
const usuarios = ['415112132', '41511216'];
|
||||
const externos = ['315112132', '31511216'];
|
||||
const usuarioId = req.params.id;
|
||||
const usuarioInterno = {
|
||||
nombre: 'Arturo',
|
||||
apellidoPaterno: 'Guerrero',
|
||||
apellidoMaterno: 'Lopez',
|
||||
institucion: 'Fes acatlan',
|
||||
carrera: 'Matematicas aplicadas',
|
||||
interno: true
|
||||
};
|
||||
const usuarioExterno = {
|
||||
nombre: 'Paulina',
|
||||
apellidoPaterno: 'Guerrero',
|
||||
apellidoMaterno: 'Lopez',
|
||||
institucion: 'FES Iztacala',
|
||||
carrera: 'Biologia',
|
||||
interno: false
|
||||
};
|
||||
if (usuarios.includes(usuarioId)) {
|
||||
res.status(200).json(usuarioInterno);
|
||||
return;
|
||||
}
|
||||
if (externos.includes(usuarioId)) {
|
||||
res.status(200).json(usuarioExterno);
|
||||
return;
|
||||
}
|
||||
res.status(400).json({ err: 'no se encontro un usuario' });
|
||||
}
|
||||
}
|
||||
exports.UsuarioController = UsuarioController;
|
||||
//# sourceMappingURL=Usuario.js.map
|
||||
Reference in New Issue
Block a user