unos minutos antes de

This commit is contained in:
2020-09-11 11:42:04 -05:00
parent 357a262beb
commit f40facff25
47 changed files with 122 additions and 7619 deletions
+122 -104
View File
@@ -1,11 +1,11 @@
import { Usuario } from '@src/entity/Usuario'
import { Request, Response } from 'express'
import { validate } from 'class-validator'
import { getRepository } from 'typeorm'
import { AuthController } from './Auth'
import { Usuario } from "@src/entity/Usuario";
import { Request, Response } from "express";
import { validate } from "class-validator";
import { getRepository } from "typeorm";
import { AuthController } from "./Auth";
export class UsuarioController {
static async create (req: Request, res: Response) {
console.log(req.file)
static async create(req: Request, res: Response) {
console.log(req.file);
const {
id,
nombre,
@@ -15,165 +15,183 @@ export class UsuarioController {
numeroTelefonico,
institucion,
secreto,
interno
} = JSON.parse(req.body.usuario)
interno,
} = JSON.parse(req.body.usuario);
const identificacion = req.file
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
data: "Un usuario externo tiene que mandar fotoo de su identificacion",
});
return false;
}
const usuario = new 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
const usuario = new 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()
usuario.hashPassword();
const errors = await validate(usuario)
const errors = await validate(usuario);
if (errors.length > 0) {
res.status(400).send(errors)
res.status(400).send(errors);
}
const repository = getRepository(Usuario)
const repository = getRepository(Usuario);
try {
await repository.save(usuario)
await repository.save(usuario);
} catch (e) {
res.status(409).send(e.message)
return
res.status(409).send(e.message);
return;
}
res.status(201).send('User create')
res.status(201).send("User create");
}
static async getAll (req: Request, res: Response) {
const respository = getRepository(Usuario)
static async getAll(req: Request, res: Response) {
const respository = getRepository(Usuario);
const result = await respository.find({
select: ['id', 'nombre', 'apellidoMaterno', 'apellidoPaterno']
})
res.status(200).json(result)
select: ["id", "nombre", "apellidoMaterno", "apellidoPaterno"],
});
res.status(200).json(result);
}
static async getOne (req: Request, res: Response) {
const respository = getRepository(Usuario)
const id: number = +req.params.id
static async getOne(req: Request, res: Response) {
const respository = getRepository(Usuario);
const id: number = +req.params.id;
try {
const result = await respository.findOneOrFail(id, {
select: ['id', 'nombre', 'apellidoMaterno', 'apellidoPaterno']
})
res.status(200).json(result)
select: ["id", "nombre", "apellidoMaterno", "apellidoPaterno"],
});
res.status(200).json(result);
} catch (e) {
res.status(404).send('Usuario no encontrado')
res.status(404).send("Usuario no encontrado");
}
}
static async login (req: Request, res: Response) {
const repository = getRepository(Usuario)
const { id, secreto } = req.body
static async login(req: Request, res: Response) {
const repository = getRepository(Usuario);
const { id, secreto } = req.body;
try {
const usuario = await repository.findOne({
where: {
id
}
})
id,
},
});
if (!usuario) {
throw new Error('*Usuario o contraseña invalidos')
throw new Error("*Usuario o contraseña invalidos");
}
if (!usuario.checkIfUnencryptedPasswordIsValid(secreto)) {
throw new Error('Usuario o *contraseña invalidos')
throw new Error("Usuario o *contraseña invalidos");
}
const token = await AuthController.signUsuario(
usuario.interno ? 'usuarioInterno' : 'usuarioExterno',
usuario.interno ? "usuarioInterno" : "usuarioExterno",
usuario.id
)
console.log(token)
);
console.log(token);
res.status(200).json({
nombre: usuario.nombre,
apellidoPaterno: usuario.apellidoPaterno,
apellidoMaterno: usuario.apellidoMaterno,
interno: usuario.interno,
token
})
token,
});
} catch (err) {
res.status(400).send(err.message)
res.status(400).send(err.message);
}
}
static async verificar (req: Request, res: Response) {
const usuarios = ['415112132', '41511216']
const externos = ['315112132', '31511216']
static async verificar(req: Request, res: Response) {
const usuarios = ["415112132", "41511216"];
const externos = ["315112132", "31511216"];
const usuarioId = req.params.id
const usuarioId = req.params.id;
const usuarioInterno = {
nombre: 'Arturo',
apellidoPaterno: 'Guerrero',
apellidoMaterno: 'Lopez',
institucion: 'Fes acatlan',
carrera: 'Matematicas aplicadas',
interno: true
}
nombre: "Arturo",
apellidoPaterno: "Guerrero",
apellidoMaterno: "Lopez",
institucion: "Fes acatlan",
carrera: "Matematicas aplicadas",
interno: true,
};
const alumnos = [
{
cuenta: 124493,
nombre: 'Nora',
apellidoPaterno: 'Goris',
apellidoMaterno: 'Mayans',
institucion: 'FES Acatlan',
carrera: 'Sociologia',
interno: false
nombre: "Nora",
apellidoPaterno: "Goris",
apellidoMaterno: "Mayans",
institucion: "FES Acatlan",
carrera: "Sociologia",
interno: false,
},
{
cuenta: 91770,
nombre: 'Manuel',
apellidoPaterno: 'Martinez',
apellidoMaterno: 'Justo',
institucion: 'FES Acatlan',
carrera: 'Derecho',
interno: false
nombre: "Manuel",
apellidoPaterno: "Martinez",
apellidoMaterno: "Justo",
institucion: "FES Acatlan",
carrera: "Derecho",
interno: false,
},
{
cuenta: 123456789,
nombre: 'Enrique',
apellidoPaterno: 'Graue',
apellidoMaterno: 'Wiechers',
institucion: 'Facultad de Mediciona',
carrera: 'Medicina',
interno: false
nombre: "Enrique",
apellidoPaterno: "Graue",
apellidoMaterno: "Wiechers",
institucion: "Facultad de Mediciona",
carrera: "Medicina",
interno: false,
},
{
cuenta: 40108,
nombre: 'Fernando',
apellidoPaterno: 'Martinez',
apellidoMaterno: 'Ramirez',
institucion: 'Facultad de Ciencias',
carrera: 'Matematicas',
interno: false
nombre: "Fernando",
apellidoPaterno: "Martinez",
apellidoMaterno: "Ramirez",
institucion: "Facultad de Ciencias",
carrera: "Matematicas",
interno: false,
},
{
cuenta: 808684,
nombre: "Fernando Israel",
apellidoPaterno: "González",
apellidoMaterno: "Trejo",
institucion: "FES Acatlán",
carrera: "MAC",
interno: false,
},
{
cuenta: 836807,
nombre: "Samuel",
apellidoPaterno: "Ornelas",
apellidoMaterno: "Rosales",
institucion: "FES Acatlán",
carrera: "MAC",
interno: false,
},
{
cuenta: 415112133,
nombre: 'arturo',
apellidoPaterno: 'Guerrero',
apellidoMaterno: 'Lopez',
institucion: 'FES Iztacala',
carrera: 'Biologia',
interno: false
}
]
nombre: "arturo",
apellidoPaterno: "Guerrero",
apellidoMaterno: "Lopez",
institucion: "FES Iztacala",
carrera: "Biologia",
interno: false,
},
];
for (let index = 0; index < alumnos.length; index++) {
if (alumnos[index].cuenta === +usuarioId) {
res.status(200).json(alumnos[index])
return
res.status(200).json(alumnos[index]);
return;
}
}
// const usuarioExterno = {
@@ -193,6 +211,6 @@ export class UsuarioController {
// res.status(200).json(usuarioExterno)
// return
// }
res.status(400).json({ err: 'no se encontro un usuario' })
res.status(400).json({ err: "no se encontro un usuario" });
}
}