From d0c8a649ff902c1dda248a329630aefb223dad0b Mon Sep 17 00:00:00 2001 From: DanielRamirezGe Date: Mon, 30 Sep 2019 15:18:24 -0500 Subject: [PATCH] app terminada falta scanner de qr --- public/comprobante-1.pdf | Bin 691907 -> 692310 bytes public/comprobante-2.pdf | Bin 691777 -> 691911 bytes routes/cupo.js | 2 +- routes/getConferencias.js | 2 +- routes/index.js | 2 ++ routes/loggin.js | 2 +- routes/loginAdmin.js | 54 ++++++++++++++++++++++++++++++++++++++ routes/pdf.js | 2 +- routes/registroPersona.js | 6 ++--- sql/base_de_datos.sql | 15 ++++++++--- 10 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 routes/loginAdmin.js diff --git a/public/comprobante-1.pdf b/public/comprobante-1.pdf index 83da15d1f8fa4de17cdd38cc36e2d989b9d42c05..3e2ee4610fd564b8b678e253b0d92de593695914 100644 GIT binary patch delta 1794 zcmah~YdF+t6laWvf3(vi>X90k!HnDd&7EmN#EffZU2-4!s~9tyTw9rFbj4K4SV@tj zDV|y^q6?};iJ_EBtFp?ip`=Kc9nbEEmJfTL=e+N8e(&#h&Uwy<^ERKw^_<7;7b%Ni zA{7x_q$*lgh1kNB>`DgK9_sT%C|ph9>NS0yfErGjP&1SaRH7tNOoYDVXC^{NnN-7N zB0yzLA{vkO2CSU-SffFbM9M;7;2=n(O1fAGL!n=5_7E9)bKY!L<>m3K83vtG`YlE- zJp0euf4$h*dJ)kWwqkld*@?wVeBjXcTa3Rkwr6zo!lO@9zYI;MtPh?@f8dnj^(k}1w}K!Id9uxyIin^+ zovqqTp+iufIQzgauUZOVVrS>@`nku2c_E&4o-aotQk!n6!o;12R?!c2+)-+Om_Dv# zp=X5jbk_MM=(w%N*d**!im$7WR2r8-w?u02ud>r{{C@8duA7R!L;CUrypyTwgwq85 zNlt`kP(DdF+b2^d5)3*|H@a(=m|DKMqFo>r_V`^Y+#Gv9D9JHaLm!4mimBu8BBZx7 zBPVt7O$=9+5?M3S;}t8|=T(UqWuok&JyY=LTK!tmwpffyzRaWGk#=TRY-q8`wAB}S z;MB6+2Q6!dmhZoGV=u@(l9FGZ_cUpRL2>&E-kD2vhMP=2Am1eVU8}D6x?N}*x7B0{+k9?2Bg-e6@%G(leE$dd zoZ-Y8HwL2J-)ZOMZkG1F)0fy@8&Dm>!jJ^3&W~TGMkRdN*J;i5f8ct@zRS{H7K=-_ zvc{f-B(rM`QcIp^x2&9H&QxO?2-2vObMG(PR-Ot?+_2;F+|i1hDg<-u-90Vp#G;34 z2Gy0i?F7sy&dQzY0PBF#lVZJf4Y5TQ#ZlR>+qq`;rSDe^=D+u%Cnh`jl)?Ii%T~qY zV#h@rCwd+?luw>%vM{fc`?9pU9n*jc^}!QudfZ+w)H{ZKQc{P`s~58T9kjhc1 zA2E{E!f?%s4CKRB-)A1UT}WxskFF5d~frV0!iM-CsW;hP4J!Yf?&%59| zZ5_pfv<^31x}Pst=_Vd;GP!Roe9ap6?{9-!&YWfs$QgGN3RIff60VdRf3WQ0-9&IFYQh+DGpfu0Be>pj{}RGwE~8-kDQ4%cQ`gWCB#P0^N!+k zTvWrP7oWTi9wTs2AyCJFT3KXA0f;5K2G;P7dog$NblHzpT~kayYJhO>J8FZY$^*<1+f17@0G-5w)7x8Le$^vBZuG2-pd za!rMrny9)iC863^FSC# zX5A6UFq&dr@x!A4Q%4(XJV?XS2#S+PAXo=r0f-l|@C1_o<7V4G4+Rd7oX?IiG$D}ttQO_VWBL^%>)dDWEw~&Dhe(bnui7!ZUsicD+(;w z4;YE6NWT~(FX7?wRK>pi506Tt;TLPEGzyJ^Hd#a@Qpk(NG>}N9NJ6rJ5FwdLQ}nhZ zIfb~S36QXaM*|6X(ju(_BjA@}q#t;30?sZjBmfkHme^(k>$nS(S9~T+M|2<^q>%|6 zh(qR(wu9l;kr0{80Z9~y7D0-nMk+!E`u{1x0D}SSiQ@?3k_1pBurPcQ0l;9KJhuRU E0|z+O!2kdN delta 1374 zcmcb%KF7M2#)7Pc+yZl2Ti+PGAw%d~MRY%gx(5@O^vRxnTq;?j37 zHc~J&nLeqVOO@H&#BBQRb}r@mu+w=`h9Y-Ai~ei$tC=t7E!e$^f9vj5Z&v9A&3LI6 z7@9iq{`;M23N1XkOBfS#9`AfUr@B8^BX!Sxfmv}YUuQ?%*R9jva{t`ylB>dob-A{G zD!z7J+8y7mAK_ZezdzRZ^OP0mSBAXav|Lo~&wuFXQrs2kB7gz1_nN@#z z>m;po*=e3SZkKb`NXVy`o~@jj6D4@Rt-K9lX6kxs4!8ap1S#`U*<`+A~FA!|dzas-UlTgIHOFS7?9}gEY_~tzrRYzLe^MFrp{0;f z>{227qdQgG5B4s7?0NLcajPW?RlaR=bProbPSso7u=~yF#y-c}Y!`0uBo-R&+_J|~ z{rz)6Hu>86$1ykF9$JyKd~sL*(xYFN&(@qVVY=RPJE1CrU9kmK5jD2qy!kv|!yDCNO9WK6M{i(d(K_*6N_Ic6v-6zYtmS5D}ASV_s|6cR& zp7x?I7FGYBu`Qpuzsz#x-p>_NCm)pUI$FKlqEYX(T8+}%Qlt6``Duk#_p0u^zq_b^ z@#nijJ113c-jXzxr&y!K^`jP#vUoQ)hYaJ^TZS$tCzvQL4^#TVA;9&Wf#u&HL#aKM zA?Nxob8dfL+FAOk=?`0LjP={oJ(0&RT+x|5yY%GNr&0+;FJsGJO!~Qni~FNSq*l~1 zbI-s0+vhMiR_t_~-TzlmvFP5rF#COX^go>M z+_G<7y69u)}<2~7dm;;D8x5s;OacD7GZqF#@+AK6(vyV%u z-o)I}zyxS42q@$!aDix`n4tkM!-4=p%)-*b1XIimL!G$=raE(T1E5n;%`-Q(G*?hZ z5j3+fGcm$2&;lqr{bL_j9MG}mrkIYk0NRLdxP`fa5vG_Ch9fM@O)=D28k!m)^p+GQ zX6B?8aoN~#O+VMqC6i+c33E>ug=m|Uw3M_&gA_x<)THE8L!(4v0~3oBOLOCt)I?yg nS{T|X5LOb)WoO4#T#{H+Qc;we#${${Xl!c0rK;-c@5TiH8ki42 diff --git a/public/comprobante-2.pdf b/public/comprobante-2.pdf index c51aac824f5fab2397934443bf43265605c77e91..0a0f3478de5bd746cc41c1068d2165acac0d6add 100644 GIT binary patch delta 1116 zcmX>&N9*`pt%erH7N!>F7M2#)7Pc+yC%u@>P0gmC@nTo54?CTA+dyE?YwaJ*sV8a! zS(xOz>@M8v`W5zN!l@vA&Mu|)KXvJuHw%-vx86NvaCGU4yEE@9u9Oj~%Qu=8SM(-Z zLT=anxnFJR3u*ueg1{3C%Uj z-`!rjswe2G%hV}LyVf+-FDcNDY?;)v`oODeHm{7AJr9)BSle{Y_|Lk69Zohq33C6W z88ZX}w@ACZeAt*8)%wMDjeYt1>*+!p0)7Rv90^-^LeWJ*B5a}10S2$9wlj4(Lc>fp zIJnLf$_bTUZsuh7c)~RwnZ0v1TTe|qF|WB>BH&uUDNnX?-B-my-&JoUud6p&WYH(U zdSgS6gtWorTeENe+{dt3s5_4_vQI&2$--@M!hCbJWtb)`5^Mdo;kTq|b)l)|*$nlC zw#|Xtcko}_{9L?pp5z{f7y<5=6$}Mgd#jJT$z-M(emCUT{1CVJVESbPt|&`2k%H;9 zb`K1_q8T1_A5@(;RbMyX>)@};f^M_xbCN?&d~sU8=5*Z6WtVDhoj&@+W7E_bLGL+j zH@vgv^1pk%_-2N@>BrYQt~H-cn0jelIq!1U`&|8#dnc_?NWZy?*F>tCtv_m%2hHWeN&>eiVATRbTD7;)XZbSFbC2F)ih^y!zPi+42@F&+5mq;zucModynJX+|70$xWlDX5(VBeP- z>yVQ#w-^;J>l6;((o+4bJN#Z_lvvXN+xrWB*MB`UNvXc?Xr#XN>-pDaeG$rDdHh%A z>?pUuiT+-`o+;aOm*#VO$hz##Y5o|jgoo}PiHE>7C0c3WwkVN0WH+yiaZo?_Pf z*~g=0r)>J`x2egW_s$#--SQppO?YQrKb@htdqUqodr4i^$Z3I7XIv>WnzdF{@-Jgv zwr3+(YF_E%`#GKo=`*JnfIanH)8YmcmfI^-E z7l<}7w=^^`M;EiOw6MSwGc%uF(Zl5{ZeoO~!NSa9`kfxG(qMB-BMhD924;SL@&$t%erH7N!>F7M2#)7Pc+yC%u@>jEtsltmG1_x3l9aE-6Y)%;l<>vo`c} z-)#e)J-@ZTFn{%`ImyH%-(`2`e(2slIXleL&%yoLO5uxAQ3loA{oa zATrnK$a~*Imprp}3$-18macr)Z~YxH?#>TeyecZbYqpl#&(h!E^*pX__q?x~OZ3`e zw)Bc!tN6&=Dss3gYhV4^kkl!Q)K)Fgab3bMbl7VWhpXi81Fv>Rz81UesLg!T?nTbS z^47z09~U&r{*z|R5DZ)+?eg+LW9lpCKXTXR&;I^en=|6XT}!5<+7m@Qf*fsjB1{qv zntLYPYz#;}+9bO|Blt+%)vqC@PsEOINqaOQ$m?B5n_?wjUXp{S^SN}%`a9QGv@g+9 zjW7_G43u&2V9JSbd%+eFRBLQ`Upyh?)*5SvX;A`#mjYIWNVl)cm0_B&<{FpohTW2; z)rF>7XEW3nwjNwzedqX#o1eRF&hx}6oa<;Uv0<_Z&3t{MBYIZk8KXB7n5Jv-?wi#X zc;Qg43*+~j&z0pCUtw0Llh|`~@~8T>PkRj`%IywiOwR2wntAWV)UTVuw`qpY|Mtni za#G69-i@DIX?*T-+%Ivz`fs}3`BJ^M)%%UViD(DPo2flau>y8)_0$? z&aW5rUhdwzYpL~<4ZHVQ+l1F_YmhS3aTCcuC9zP!tfHi5OPFM`lyE_+1czl*QOt$_ z={&V}4-NUeE?)i+w)@!J!+%>IH2ZQWnXY)UE2^oC?PpifyyxdzG|da2G)*n=kBJMs z#_cF1egAN!jjj%Jg33(p-S=ayMD{ZHm7Te8r6{F*TSQn@msY zxQ5J diff --git a/routes/cupo.js b/routes/cupo.js index dfb5c60..dd3e462 100644 --- a/routes/cupo.js +++ b/routes/cupo.js @@ -6,7 +6,7 @@ app.get('/cupo', async(req, res) => { let arr = []; connection.query(`Select * from conferencia;`, async(error, results, file) => { if (error) { - res.status(200).json({ err: false }); + res.status(400).json({ err: true }); return; } await results.forEach(element => { diff --git a/routes/getConferencias.js b/routes/getConferencias.js index d18f24f..85891dd 100644 --- a/routes/getConferencias.js +++ b/routes/getConferencias.js @@ -4,7 +4,7 @@ var app = express(); app.get('/getConferencias', (req, res) => { - console.log(req.body); + connection.query(`select * from conferencia ;`, function(error, results, fields) { if (error) { diff --git a/routes/index.js b/routes/index.js index fe100fe..7d29fe2 100644 --- a/routes/index.js +++ b/routes/index.js @@ -10,4 +10,6 @@ app.use(require('./descargar_pdf')); app.use(require('./get_qr')); app.use(require('./verificarConferencia')); app.use(require('./cupo')); +app.use(require('./loginAdmin')); + module.exports = app; \ No newline at end of file diff --git a/routes/loggin.js b/routes/loggin.js index 9ed0768..59bdee7 100644 --- a/routes/loggin.js +++ b/routes/loggin.js @@ -9,7 +9,7 @@ app.post('/loggin', async(req, res) => { return; } - console.log(req.body); + //console.log(req.body); connection.query(`SELECT idPersona from persona where correo = '${req.body.correo}' `, function(error, results, fields) { if (error) { diff --git a/routes/loginAdmin.js b/routes/loginAdmin.js new file mode 100644 index 0000000..20e9f6d --- /dev/null +++ b/routes/loginAdmin.js @@ -0,0 +1,54 @@ +const connection = require('../conf/connection.js'); +const express = require('express') +const bcrypt = require('bcryptjs'); +var app = express(); + +app.post('/loginAdmin', async(req, res) => { + if (!req.body.usuario || req.body.usuario == "") { + res.status(400).json({ error: true, msj: "faltan datos" }); + return; + } + + + + // console.log(req.body); + connection.query(`SELECT idOperador from operador where usuario = '${req.body.usuario}'; `, + function(error, results, fields) { + if (error) { + res.status(400).json({ err: true, mjs: 'error en la verificacion del usuario' }); + return; + + } + if (results.length == 0) { + res.status(400).json({ err: true, mjs: 'Usuario no existe' }); + return; + + } else { + connection.query(`select * from operador where usuario = '${req.body.usuario}';`, + async function(e, r, f) { + if (e) { + res.status(200).json({ err: true, mjs: 'error en al verificar contraseña' }); + return; + + } + // console.log(r); + let po = r[0].password; + //console.log(r[0]); + //console.log(r, `'${req.body.correo}' and password= '${req.body.password}'`); + let ban = bcrypt.compareSync(req.body.password, po); + // console.log(ban); + if (ban == true) { + res.status(200).json({ err: false, mjs: `Bienvenido ${r[0].usuario}`, admin: r[0].admin }); + return; + } else { + res.status(400).json({ err: true, mjs: 'Datos Incorrectos' }); + return; + } + }); + } + }); +}); + + + +module.exports = app; \ No newline at end of file diff --git a/routes/pdf.js b/routes/pdf.js index 0a8d259..91851d8 100644 --- a/routes/pdf.js +++ b/routes/pdf.js @@ -67,7 +67,7 @@ let g_pdf = async function(idPersona) { table0.rows.push([results[0].nombre + " " + results[0].apellidos, results[0].correo]); doc.moveDown().table(table0, 200, 150, { width: 300 }); }); - connection.query(`select * from asistencia a join conferencia c on a.idConferencia=c.idConferencia where idPersona=${idPersona}`, + connection.query(`select * from asistencia a join conferencia c on a.idConferencia=c.idConferencia where idPersona=${idPersona};`, (erro, results, file) => { if (erro) { res.status(400).json({ mjs: "error en las conferencias" }); diff --git a/routes/registroPersona.js b/routes/registroPersona.js index 5530a41..8a39e06 100644 --- a/routes/registroPersona.js +++ b/routes/registroPersona.js @@ -4,10 +4,10 @@ const bcrypt = require('bcryptjs'); var app = express() app.post('/registroPersona', async(req, res) => { - console.log(req.body); + //console.log(req.body); var pass = await bcrypt.hash(req.body.password, 10); - //console.log(pass); + console.log(pass); connection.query(`SELECT * from persona where correo='${req.body.correo}'; `, async function(error, results, fields) { if (error) { @@ -22,7 +22,7 @@ app.post('/registroPersona', async(req, res) => { await connection.query(`insert into persona values (${req.body.est}, '${req.body.noCuenta}', ${req.body.promedio}, '${req.body.nombre}', '${req.body.apellidos}', '${req.body.sexo}', ${req.body.edad}, '${req.body.correo}', '${req.body.nivelIngles}', '${req.body.comunidad}' , '${pass}', '${req.body.facultdad}' , '${req.body.gradoAcademico}', - '${req.body.nombrePrograma}' , ${req.body.semestre}, ${req.body.titulado} );`, + '${req.body.nombrePrograma}' , ${req.body.semestre}, ${req.body.titulado}, ${req.body.recibir_info} );`, function(e, r, f) { if (e) { res.status(200).json({ err: true, mjs: 'error al registrar en la base' }); diff --git a/sql/base_de_datos.sql b/sql/base_de_datos.sql index a160ce7..5ba3877 100644 --- a/sql/base_de_datos.sql +++ b/sql/base_de_datos.sql @@ -29,7 +29,8 @@ CREATE TABLE persona ( gradoAcademico varchar (40), nombrePrograma varchar (40), semestre varchar (40), - titulado boolean + titulado boolean, + recibir_info boolean ); CREATE TABLE asistencia ( @@ -39,16 +40,22 @@ CREATE TABLE asistencia ( asistencia boolean ); -CREATE TABLE adm( - idAdm integer primary key not null auto_increment, +CREATE TABLE operador( + idOperador integer primary key not null auto_increment, usuario varchar(100), - password varchar(40) + password varchar(200), + admin boolean ); ALTER TABLE asistencia ADD FOREIGN KEY (idPersona) REFERENCES persona (idPersona); ALTER TABLE asistencia ADD FOREIGN KEY (idConferencia) REFERENCES conferencia (idConferencia); +insert into operador values (null, 'adminUno', '$2a$10$lWSCQA0QMkjEz9qupo1zq.Tu/L1Xs3b//Yjilw3d5Dk62YTeNhQRO', true ); + +insert into operador values (null, 'operador', '$2a$10$k5N5kTJ7tA0/Qm.zsCfNCewISjrhJFU27Q1LELLFfh7Y6K1dHlgVq', false ); + + insert into conferencia values (null, 'Competencias profesionales, ¿Qué busca los empleadores?', 'Psic. Yolanda Mayeli López Gutiérrez', 'Analista de Reclutamiento', 'KPMG', '2019-10-21 09:00:00', 'Auditorio 901', 150);