login usuario
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
.idea/
|
||||
*.csv
|
||||
.vscode/
|
||||
node_modules/
|
||||
build/
|
||||
|
||||
+212
@@ -0,0 +1,212 @@
|
||||
kiosko,alias_carrito,no_inventario,no_serie,tipo,equipo_carrito
|
||||
2,1,E0029645,DMQX94YQJF8J,ipad,1
|
||||
2,1,E0029645,DMQX94YQJF8J,ipad,2
|
||||
2,1,E0029646,DMPX9H1CJF8J,ipad,3
|
||||
2,1,E0029647,DMQX950ZJF8J,ipad,4
|
||||
2,1,E0029644,DMPX9PBAJF8J,ipad,1
|
||||
2,1,E0029648,DMPX9TMEJF8J,ipad,5
|
||||
2,1,E0029649,DMQX97B0JF8J,ipad,6
|
||||
2,1,E0029650,DMQX9503JF8J,ipad,7
|
||||
2,1,E0029651,DMPX9S5AJF8J,ipad,8
|
||||
2,1,E0029652,DMTX8DN1JF8J,ipad,9
|
||||
2,1,E0029653,DMPX9PACJF8J,ipad,10
|
||||
2,1,E0029654,DMPX9WAQJF8J,ipad,11
|
||||
2,1,E0029655,DMQX919XJF8J,ipad,12
|
||||
2,1,E0029656,DMPX9PQ6JF8J,ipad,13
|
||||
2,1,E0029657,DMPX9GJFJF8J,ipad,14
|
||||
2,1,E0029658,DMPX9Q51JF8J,ipad,15
|
||||
2,1,E0029659,DMQX950JJF8J,ipad,16
|
||||
2,1,E0029660,DMQX94UBJF8J,ipad,17
|
||||
2,1,E0029661,DMPX9GY5JF8J,ipad,18
|
||||
2,1,E0029662,DMQX94RGJF8J,ipad,19
|
||||
2,1,E0029663,DMPX9H0PJF8J,ipad,20
|
||||
2,1,E0029664,DMPX9XFBJF8J,ipad,21
|
||||
2,1,E0029665,DMPX9RY0JF8J,ipad,22
|
||||
2,1,E0029666,DMPX9NYQJF8J,ipad,23
|
||||
2,1,E0029667,DMPX9Q70JF8J,ipad,24
|
||||
2,1,E0029668,DMPX9WGWJF8J,ipad,25
|
||||
2,1,E0029669,DMPX9Z2DJF8J,ipad,26
|
||||
2,1,E0029670,DMPX9GKEJF8J,ipad,27
|
||||
2,1,E0029671,DMQX91V2JF8J,ipad,28
|
||||
2,1,E0029672,DMQX91J7JF8J,ipad,29
|
||||
2,1,E0029673,DMPX9UCBJF8J,ipad,30
|
||||
1,1,E0029644,DMPX9PBAJF8J,ipad,1
|
||||
1,1,E0029645,DMQX94YQJF8J,ipad,2
|
||||
1,1,E0029646,DMPX9H1CJF8J,ipad,3
|
||||
1,1,E0029647,DMQX950ZJF8J,ipad,4
|
||||
1,1,E0029648,DMPX9TMEJF8J,ipad,5
|
||||
1,1,E0029649,DMQX97B0JF8J,ipad,6
|
||||
1,1,E0029650,DMQX9503JF8J,ipad,7
|
||||
1,1,E0029651,DMPX9S5AJF8J,ipad,8
|
||||
1,1,E0029652,DMTX8DN1JF8J,ipad,9
|
||||
1,1,E0029653,DMPX9PACJF8J,ipad,10
|
||||
1,1,E0029654,DMPX9WAQJF8J,ipad,11
|
||||
1,1,E0029655,DMQX919XJF8J,ipad,12
|
||||
1,1,E0029656,DMPX9PQ6JF8J,ipad,13
|
||||
1,1,E0029657,DMPX9GJFJF8J,ipad,14
|
||||
1,1,E0029658,DMPX9Q51JF8J,ipad,15
|
||||
1,1,E0029659,DMQX950JJF8J,ipad,16
|
||||
1,1,E0029660,DMQX94UBJF8J,ipad,17
|
||||
1,1,E0029661,DMPX9GY5JF8J,ipad,18
|
||||
1,1,E0029662,DMQX94RGJF8J,ipad,19
|
||||
1,1,E0029663,DMPX9H0PJF8J,ipad,20
|
||||
1,1,E0029664,DMPX9XFBJF8J,ipad,21
|
||||
1,1,E0029665,DMPX9RY0JF8J,ipad,22
|
||||
1,1,E0029666,DMPX9NYQJF8J,ipad,23
|
||||
1,1,E0029667,DMPX9Q70JF8J,ipad,24
|
||||
1,1,E0029668,DMPX9WGWJF8J,ipad,25
|
||||
1,1,E0029669,DMPX9Z2DJF8J,ipad,26
|
||||
1,1,E0029670,DMPX9GKEJF8J,ipad,27
|
||||
1,1,E0029671,DMQX91V2JF8J,ipad,28
|
||||
1,1,E0029672,DMQX91J7JF8J,ipad,29
|
||||
1,1,E0029673,DMPX9UCBJF8J,ipad,30
|
||||
1,2,E0029674,DMQX935NJF8J,ipad,1
|
||||
1,2,E0029675,DMPX9RTJJF8J,ipad,2
|
||||
1,2,E0029676,DMPX9WJ5JF8J,ipad,3
|
||||
1,2,E0029677,DMPX9YPCJF8J,ipad,4
|
||||
1,2,E0029678,DMQX951XJF8J,ipad,5
|
||||
1,2,E0029679,DMQX96Q3JF8J,ipad,6
|
||||
1,2,E0029680,DMQX94ZRJF8J,ipad,7
|
||||
1,2,E0029681,DMQX94VYJF8J,ipad,8
|
||||
1,2,E0029682,DMQX94WKJF8J,ipad,9
|
||||
1,2,E0029683,DMQX94SPJF8J,ipad,10
|
||||
1,2,E0029684,DMQX96TMJF8J,ipad,11
|
||||
1,2,E0029685,DMPX9H14JF8J,ipad,12
|
||||
1,2,E0029686,DMPX9S9TJF8J,ipad,13
|
||||
1,2,E0029687,DMPX9YKAJF8J,ipad,14
|
||||
1,2,E0029688,DMQX93JCJF8J,ipad,15
|
||||
1,2,E0029689,DMPX9UFZJF8J,ipad,16
|
||||
1,2,E0029690,DMPX9WN2JF8J,ipad,17
|
||||
1,2,E0029691,DMQX94QQJF8J,ipad,18
|
||||
1,2,E0029692,DMQX94RVJF8J,ipad,19
|
||||
1,2,E0029693,DMPX9H1HJF8J,ipad,20
|
||||
1,2,E0029694,DMPX9U20JF8J,ipad,21
|
||||
1,2,E0029695,DMQX9J6LJF8J,ipad,22
|
||||
1,2,E0029696,DMPX9WQFJF8J,ipad,23
|
||||
1,2,E0029697,DMPX9PDRJF8J,ipad,24
|
||||
1,2,E0029698,DMPX9Z86JF8J,ipad,25
|
||||
1,2,E0029699,DMQX9606JF8J,ipad,26
|
||||
1,2,E0029700,DMQX95Z8JF8J,ipad,27
|
||||
1,2,E0029701,DMPX9U75JF8J,ipad,28
|
||||
1,2,E0029702,DMPX9G9DJF8J,ipad,29
|
||||
1,2,E0029703,DMPX9H9NJF8J,ipad,30
|
||||
1,1,E0029708,P203D5ST,chromebook,1
|
||||
1,1,E0029709,P203D5LG,chromebook,2
|
||||
1,1,E0029710,P203D5V2,chromebook,3
|
||||
1,1,E0029711,P203D5QQ,chromebook,4
|
||||
1,1,E0029712,P2038USU,chromebook,5
|
||||
1,1,E0029713,P2038UV7,chromebook,6
|
||||
1,1,E0029714,P2038UYU,chromebook,7
|
||||
1,1,E0029715,P2038UZN,chromebook,8
|
||||
1,1,E0029716,P203D5PL,chromebook,9
|
||||
1,1,E0029717,P203D5NX,chromebook,10
|
||||
1,1,E0029718,P203D5MM,chromebook,11
|
||||
1,1,E0029719,P2038UX4,chromebook,12
|
||||
1,1,E0029720,P203D5MC,chromebook,13
|
||||
1,1,E0029721,P2038UUM,chromebook,14
|
||||
1,1,E0029722,P203D5PJ,chromebook,15
|
||||
1,1,E0029723,P2038UVR,chromebook,16
|
||||
1,1,E0029724,P203D5N2,chromebook,17
|
||||
1,1,E0029725,P203D5NG,chromebook,18
|
||||
1,1,E0029726,P203D5SL,chromebook,19
|
||||
1,1,E0029727,P203D5VV,chromebook,20
|
||||
1,1,E0029728,P2038UV9,chromebook,21
|
||||
1,1,E0029729,P203D5VT,chromebook,22
|
||||
1,1,E0029730,P203D5L2,chromebook,23
|
||||
1,1,E0029731,P2038UZQ,chromebook,24
|
||||
1,1,E0029732,P203D5NB,chromebook,25
|
||||
1,1,E0029733,P203D5T9,chromebook,26
|
||||
1,1,E0029734,P203D5N5,chromebook,27
|
||||
1,1,E0029735,P203D5NR,chromebook,28
|
||||
1,1,E0029736,P203D5LH,chromebook,29
|
||||
1,1,E0029737,P2038UYE,chromebook,30
|
||||
1,2,E0029738,P2038UY9,chromebook,1
|
||||
1,2,E0029739,P2038UVX,chromebook,2
|
||||
1,2,E0029740,P203D5MJ,chromebook,3
|
||||
1,2,E0029741,P203D5L8,chromebook,4
|
||||
1,2,E0029742,P203D5L7,chromebook,5
|
||||
1,2,E0029743,P203D5U1,chromebook,6
|
||||
1,2,E0029744,P2038UYV,chromebook,7
|
||||
1,2,E0029745,P203D5RF,chromebook,8
|
||||
1,2,E0029746,P2038UT5,chromebook,9
|
||||
1,2,E0029747,P203D5R7,chromebook,10
|
||||
1,2,E0029748,P203D5VM,chromebook,11
|
||||
1,2,E0029749,P2038UY3,chromebook,12
|
||||
1,2,E0029750,P2038UX0,chromebook,13
|
||||
1,2,E0029751,P2038UWZ,chromebook,14
|
||||
1,2,E0029752,P203D5NY,chromebook,15
|
||||
1,2,E0029753,P203D5RD,chromebook,16
|
||||
1,2,E0029754,P2038UW1,chromebook,17
|
||||
1,2,E0029755,P203D5PA,chromebook,18
|
||||
1,2,E0029756,P2038UXK,chromebook,19
|
||||
1,2,E0029757,P203D5PM,chromebook,20
|
||||
1,2,E0029758,P203D5RW,chromebook,21
|
||||
1,2,E0029759,P203D5SR,chromebook,22
|
||||
1,2,E0029760,P203D5P4,chromebook,23
|
||||
1,2,E0029761,P203D5LM,chromebook,24
|
||||
1,2,E0029762,P203D5LC,chromebook,25
|
||||
1,2,E0029763,P203D5RE,chromebook,26
|
||||
1,2,E0029764,P203D5MD,chromebook,27
|
||||
1,2,E0029765,P2038UVY,chromebook,28
|
||||
1,2,E0029766,P203D5PX,chromebook,29
|
||||
1,2,E0029767,P203D5M0,chromebook,30
|
||||
1,3,E0029768,P2038UST,chromebook,1
|
||||
1,3,E0029769,P203D5N9,chromebook,2
|
||||
1,3,E0029770,P203D5R0,chromebook,3
|
||||
1,3,E0029771,P203D5PE,chromebook,4
|
||||
1,3,E0029772,P203D5LD,chromebook,5
|
||||
1,3,E0029773,P2038UYB,chromebook,6
|
||||
1,3,E0029774,P203D5W1,chromebook,7
|
||||
1,3,E0029775,P2038UTZ,chromebook,8
|
||||
1,3,E0029776,P203D5L5,chromebook,9
|
||||
1,3,E0029777,P2038UT1,chromebook,10
|
||||
1,3,E0029778,P2038UU8,chromebook,11
|
||||
1,3,E0029779,P203D5U2,chromebook,12
|
||||
1,3,E0029780,P2038V04,chromebook,13
|
||||
1,3,E0029781,P203D5LL,chromebook,14
|
||||
1,3,E0029782,P2038UWH,chromebook,15
|
||||
1,3,E0029783,P203D5TF,chromebook,16
|
||||
1,3,E0029784,P203D5M9,chromebook,17
|
||||
1,3,E0029785,P2038USS,chromebook,18
|
||||
1,3,E0029786,P203D5VN,chromebook,19
|
||||
1,3,E0029787,P203D5QZ,chromebook,20
|
||||
1,3,E0029788,P203D5N7,chromebook,21
|
||||
1,3,E0029789,P203D5Q3,chromebook,22
|
||||
1,3,E0029790,P2038UYS,chromebook,23
|
||||
1,3,E0029791,P203D5P7,chromebook,24
|
||||
1,3,E0029792,P203D5M4,chromebook,25
|
||||
1,3,E0029793,P2038UZ2,chromebook,26
|
||||
1,3,E0029794,P203D5V7,chromebook,27
|
||||
1,3,E0029795,P203D5NK,chromebook,28
|
||||
1,3,E0029796,P203D5LJ,chromebook,29
|
||||
1,3,E0029797,P203D5PB,chromebook,30
|
||||
1,4,E0029798,P203D5M2,chromebook,1
|
||||
1,4,E0029799,P203D5PC,chromebook,2
|
||||
1,4,E0029800,P203D5P9,chromebook,3
|
||||
1,4,E0029801,P203D5T8,chromebook,4
|
||||
1,4,E0029802,P203D5MB,chromebook,5
|
||||
1,4,E0029803,P203D5QE,chromebook,6
|
||||
1,4,E0029804,P2038UVW,chromebook,7
|
||||
1,4,E0029805,P203D5MK,chromebook,8
|
||||
1,4,E0029806,P2038UZ3,chromebook,9
|
||||
1,4,E0029807,P203D5M7,chromebook,10
|
||||
1,4,E0029808,P203D5LP,chromebook,11
|
||||
1,4,E0029809,P203D5UN,chromebook,12
|
||||
1,4,E0029810,P203D5QP,chromebook,13
|
||||
1,4,E0029811,P203D5SC,chromebook,14
|
||||
1,4,E0029812,P203D5TZ,chromebook,15
|
||||
1,4,E0029813,P2038UUB,chromebook,16
|
||||
1,4,E0029845,P203D5LX,chromebook,17
|
||||
1,4,E0029846,P203D5U8,chromebook,18
|
||||
1,4,E0029847,P203D5Q4,chromebook,19
|
||||
1,4,E0029848,P2038UXA,chromebook,20
|
||||
1,4,E0029849,P203D5NM,chromebook,21
|
||||
1,4,E0029850,P2038UWC,chromebook,22
|
||||
1,4,E0029851,P2038UX1,chromebook,23
|
||||
1,4,E0029852,P2038UZ6,chromebook,24
|
||||
1,4,E0029853,P2038UX6,chromebook,25
|
||||
1,4,E0029854,P2038UY8,chromebook,26
|
||||
1,4,E0029855,P2038UX2,chromebook,27
|
||||
1,4,E0029856,P2038UXS,chromebook,28
|
||||
1,4,E0029857,P2038UT6,chromebook,29
|
||||
1,4,E0029858,P2038UUK,chromebook,30
|
||||
|
Generated
+748
-10
File diff suppressed because it is too large
Load Diff
+4
-1
@@ -30,6 +30,7 @@
|
||||
"log-symbols": "^4.0.0",
|
||||
"multer": "^1.4.2",
|
||||
"mysql": "^2.14.1",
|
||||
"nodemon": "^2.0.4",
|
||||
"papaparse": "^5.2.0",
|
||||
"reflect-metadata": "^0.1.10",
|
||||
"tsconfig-paths": "^3.9.0",
|
||||
@@ -37,6 +38,8 @@
|
||||
},
|
||||
"scripts": {
|
||||
"start": "ts-node src/index.ts",
|
||||
"dev": "npx nodemon --exec ts-node -r tsconfig-paths/register src/index.ts"
|
||||
"dev": "nodemon --exec ts-node -r tsconfig-paths/register src/index.ts",
|
||||
"db:sync": "ts-node ./node_modules/.bin/typeorm schema:sync",
|
||||
"db:drop": "ts-node ./node_modules/.bin/typeorm schema:drop"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,8 @@ export class UsuarioController {
|
||||
correoAlternativo,
|
||||
numeroTelefonico,
|
||||
identificacion,
|
||||
institucion
|
||||
institucion,
|
||||
secreto
|
||||
} = req.body
|
||||
|
||||
const usuario = new Usuario()
|
||||
@@ -24,6 +25,9 @@ export class UsuarioController {
|
||||
usuario.numeroTelefonico = numeroTelefonico
|
||||
usuario.identificacion = identificacion
|
||||
usuario.institucion = institucion
|
||||
usuario.secreto = secreto
|
||||
|
||||
usuario.hashPassword()
|
||||
|
||||
const errors = await validate(usuario)
|
||||
if (errors.length > 0) {
|
||||
@@ -60,4 +64,29 @@ export class UsuarioController {
|
||||
res.status(404).send('Usuario no encontrado')
|
||||
}
|
||||
}
|
||||
|
||||
static async login (req: Request, res: Response) {
|
||||
const repository = getRepository(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')
|
||||
}
|
||||
res.status(200).json({
|
||||
nombre: usuario.nombre,
|
||||
apellidoPaterno: usuario.apellidoPaterno,
|
||||
apellidoMaterno: usuario.apellidoMaterno
|
||||
})
|
||||
} catch (err) {
|
||||
res.status(400).send(err.message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import * as bcrypt from 'bcrypt'
|
||||
|
||||
import {
|
||||
Entity,
|
||||
PrimaryGeneratedColumn,
|
||||
@@ -53,6 +55,10 @@ export class Usuario {
|
||||
@IsString()
|
||||
institucion: string
|
||||
|
||||
@Column()
|
||||
@IsString()
|
||||
secreto: string
|
||||
|
||||
@Column({ type: 'date', default: '1996-11-07' })
|
||||
@IsDate()
|
||||
@IsOptional()
|
||||
@@ -93,4 +99,12 @@ export class Usuario {
|
||||
(log) => log.usuario
|
||||
)
|
||||
logs: Log[]
|
||||
|
||||
hashPassword () {
|
||||
this.secreto = bcrypt.hashSync(this.secreto, 10)
|
||||
}
|
||||
|
||||
checkIfUnencryptedPasswordIsValid (unencryptedPassword: string) {
|
||||
return bcrypt.compareSync(unencryptedPassword, this.secreto)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,8 @@ const router = Router()
|
||||
|
||||
router.post('/', UsuarioController.create)
|
||||
|
||||
router.post('/login', UsuarioController.login)
|
||||
|
||||
router.get('/', UsuarioController.getAll)
|
||||
|
||||
router.get('/:id([0-9]+)', UsuarioController.getOne)
|
||||
|
||||
Reference in New Issue
Block a user