From 222eb4f0a32aff6b6b69d0f163dbd30a57464faa Mon Sep 17 00:00:00 2001 From: Renzo Beux <renzobeux@gmail.com> Date: Wed, 8 Sep 2021 14:30:29 -0300 Subject: [PATCH] fix: SonarQube fixes and implementation of constants --- package-lock.json | 5 +++ package.json | 1 + src/Config/Constants.ts | 6 ++++ src/Services/SheetService.ts | 57 +++++++---------------------------- src/Services/test.xlsx | Bin 19530 -> 20421 bytes src/index.ts | 3 +- 6 files changed, 25 insertions(+), 47 deletions(-) create mode 100644 src/Config/Constants.ts diff --git a/package-lock.json b/package-lock.json index c007368..a871c7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3805,6 +3805,11 @@ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==", "dev": true }, + "helmet": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz", + "integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==" + }, "hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", diff --git a/package.json b/package.json index 12c97c5..bd0ac15 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "dotenv": "^10.0.0", "express": "^4.17.1", "gulp-eslint": "^6.0.0", + "helmet": "^4.6.0", "openapi-types": "^9.3.0", "swagger-jsdoc": "^6.1.0", "swagger-ui-express": "^4.1.6", diff --git a/src/Config/Constants.ts b/src/Config/Constants.ts new file mode 100644 index 0000000..6f2b975 --- /dev/null +++ b/src/Config/Constants.ts @@ -0,0 +1,6 @@ +export const SheetNames = { + HOMBRES: 'Hombres', + MUJERES: 'Mujeres', + HOMBRES_MENORES: 'Hombres<1', + MUJERES_MENORES: 'Mujeres<1', +}; diff --git a/src/Services/SheetService.ts b/src/Services/SheetService.ts index 79f94f5..947b1b0 100644 --- a/src/Services/SheetService.ts +++ b/src/Services/SheetService.ts @@ -1,4 +1,5 @@ import * as XLSX from 'xlsx'; +import { SheetNames } from '../Config/Constants'; import { SheetParserResponse, Menores, Mayores, MenoresSheet, MayoresSheet, } from '../Models/SheetParserResponse'; @@ -19,7 +20,7 @@ import { // return work; // }; -const parseMen = (worksheet: XLSX.WorkSheet): Mayores[] => { +const parseAdults = (worksheet: XLSX.WorkSheet): Mayores[] => { const res: Mayores[] = []; const ref = worksheet['!ref']; if (ref === undefined) throw new Error('An error ocurred'); @@ -42,43 +43,7 @@ const parseMen = (worksheet: XLSX.WorkSheet): Mayores[] => { return res; }; -const parseWomen = (worksheet: XLSX.WorkSheet): Mayores[] => { - const res: Mayores[] = []; - const ref = worksheet['!ref']; - if (ref === undefined) throw new Error('An error ocurred'); - const range = XLSX.utils.decode_range(ref); - range.s.c = 0; - range.e.c = 2; - const newRange = XLSX.utils.encode_range(range); - - const aux = XLSX.utils.sheet_to_json(worksheet, { range: newRange }) as unknown as MayoresSheet[]; - aux.forEach((element: MayoresSheet) => { - res.push( - { - edad: element['Edad (años)'], - peso: element['Peso (Kg)'], - talla: element['Talla (cm)'], - }, - ); - }); - return res; -}; - -const parseMenLessThanAYear = (worksheet: XLSX.WorkSheet): Menores[] => { - const res: Menores[] = []; - const aux = XLSX.utils.sheet_to_json(worksheet) as unknown as MenoresSheet[]; - aux.forEach((element: MenoresSheet) => { - res.push( - { - edad: element['Edad (meses)'], - peso: element['Peso (Kg)'], - }, - ); - }); - return res; -}; - -const parseWomenLessThanAYear = (worksheet: XLSX.WorkSheet): Menores[] => { +const parseBabies = (worksheet: XLSX.WorkSheet): Menores[] => { const res: Menores[] = []; const aux = XLSX.utils.sheet_to_json(worksheet) as unknown as MenoresSheet[]; aux.forEach((element: MenoresSheet) => { @@ -110,17 +75,17 @@ const parseSheetService = (data: Buffer): SheetParserResponse => { sheetNames.forEach((name) => { const worksheet: XLSX.WorkSheet = workbook.Sheets[name]; switch (name) { - case 'Hombres<1': - hombresMenores = parseMenLessThanAYear(worksheet); + case SheetNames.HOMBRES_MENORES: + hombresMenores = parseBabies(worksheet); break; - case 'Hombres': - hombres = parseMen(worksheet); + case SheetNames.HOMBRES: + hombres = parseAdults(worksheet); break; - case 'Mujeres<1': - mujeresMenores = parseWomenLessThanAYear(worksheet); + case SheetNames.MUJERES_MENORES: + mujeresMenores = parseBabies(worksheet); break; - case 'Mujeres': - mujeres = parseWomen(worksheet); + case SheetNames.MUJERES: + mujeres = parseAdults(worksheet); break; default: diff --git a/src/Services/test.xlsx b/src/Services/test.xlsx index 9fef8e5821051fe4270710bcec7daf0e25d1894a..3edb2bfeb00af26dd42279a2a4ebbdd2beb50724 100644 GIT binary patch delta 6286 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 delta 5510 zcmZ8lbyU<{w;o_9si9`*ZiY@#q`OC2x}+OvM+QNu5%>X;N~1Ikp>&5JDIkJ$E2xw- z7vKA>*ZbY`$60&r^Q^tj+Uq>e-uv{v#`=(s1=H8U0aJnSKm;HVh!x}-Nu`pH1p+bF zz}T^oMmkzJB9K<1t7n`h+r@m()f<^Eq)T&AGw(7UDIKUdmF~6&N=~sM%7&nawL_kw zKUy;ehvG+IBT%8lF|c(^w=d7Fp8;cidi=jmyk(`Sag+DWXP5FQwB&v6EiBT@!r5&) z$C>!YA-!U}HJ%;3a3%04KaiNscBOrv)<_n4|9+xc_i{{mB==A8T&PmK+Dl;rKds&= z6tXJiF1=7}+*DgyDFvUZo2v@kur25^$^pVfc|Vf$XkNrWMkHe5Gbj<`s2xo^DGTwj z<5^Q30YjUU+8!GDIzXcnVuCu}BD=>b!(LB?&I>fM(~|V&X!;j0Yzo4R+oHuoNo|qF zp7`75nHKpIysL8lUdy9d1{*WW=%~6=$0f83`YHy!DmS6<{dVH%Y&$3I#xpz?0fD8; z7q)npG4Bls4`pkzO76gZ(uQWCL(o+70A>R6u9=GMxayp)t~XK{Z+d2c>yGEx*dpGg z#9^bn8cEpKO}wAV8e^Brk1ZBG4q2G4O84DVnbcYZK)WrIxy`;+rJu4M<6<H#HkR)_ z#sO?es4xdOVmP-lvZU^p;DA8q1b{F;3~A}LA_EC;pSXI)Lw26VH3CZ%uq0RCW2-ls zs@)|*I8saoW%ZcNVTF`k{s_#5Xlm83JQBjD5AEZA=rkf-VlAaoSwR3xNmXLZF>O-) z@U*BdjAm!?Va@oA1glTRN_MKl8#(ekr0n_O%y#Cleq8$(bf6TwHxCiU5iYSD>_}WF zcR3rUX<9tYv@2OIJ%0sU!p5!)eed!h%?p~I77_>fX)pZQSA$a2R>Lw8(ZG_uW{Mr2 zG_L9Itl~>-5pim7NlVDj_r!E8`$Gwy;Y=(?`n{C+RTWZOuf!4$>9Ft<RwBISP>OU? zCZn;ZVx4LG;M|XChYA-1qU0f|DC9?5QnZq<j;^ucly`sZIkUt1kLnAUu*0PY9kz>v zIU!3hv+}{CdH2ij{u+M1bDAdIMgcKIMsF=<eBll$2#txng-Ff^fC+s|Wmo2gO}%CR zalnB)_a=X3kweTkixK$&#=HK}Kgitmf>FY%?>Sm}lH<*I6`sw#yE616IYvs`=X&pE zUX=54kD2BQJ*QU91_!ZLRu9)@ZYqT{47U>zAV)M#$#Md9ST}wh?*BNQI>aM33TW>b zWapiHzchFe{gXO3?(|jAFWZs}{L>ZX^`57Nbv<*}UX<XA;4zIuO<$5LJ?>5YV)_<T zeuVghhn`*@-@tnzN~YZNO#-A@fx+lDeFN-H^tT`!c81voa=milSoRsBf^i{&=yQcG zZvjjN6V;)9VBQISF;UAleBhRAX4_a$Lj$wYN3ZCSV=dfr&$b7e(<>^sUEg}_IcL-! z=}RR}oKJpRZxUG;H*|umb<}qjeLYv*Qo@T*T0gChq0}&Oh=%3rQ=^a-L8M2UNp80X z_GVSvrD&C8*iz9E4-X9mRcoZ4_)A<2%c4Fe5GiMw@n;F1_Qm49`Q|6s&hl<)DrcU< zY9=W6RZj^o!l%v8X_WEZ?)+}!9_)y0e}sL$RZO=a2W^cy0DsZbA%PL}?eUY<CT%K8 zit)TwWJ+{P2$}AXC?7!nB5ss>5--n9Zy#u<W+jxVoLAzIXQk75?V}(?LgWAAZm(#! z#fbDFw1u~7P_zfze|~Kk+;;AuRK;vgs_$=4MK4Has!DTKxvXQ?|1ED&dVd90%XhJk zU)A3>o6Ti9ofsV8CjL!6;n$<U#`o@04XB{0{mvuh_3+TMK(rJWBwQEmkM?@u&tPpe zEQmgoec|*w(1*P+u)w1%uTNFU$)p>D#QH<uTNn3(i#Tue_J-BuMEqD{T0O#$=pU%- zyfx3sM*)_OldaFIO)NXz)JvG%ft2C$FG#Pgy!z@Mt!++W%KbJnv5Z;3i<k!a2(Fl1 zoLC{jVoEkZdb<1Zio{&wihNq<S(1qekEzZlSwD0so`6ULBMtJtc?sv~m{AL`1Lt2d zOLl*MUe>vv;p7ho`}KF7zdjqeb6w>zRBQ0lZb~IGj~{AbnOJ`HsREW-iA@1Vm%zOU z{Gp)^eN~h0X@#c^d+`z=9dQHuTc_R_!p^&umYL$pK!ru7&FhI&TU6?-AYo*^zkUmF zKp8vPpHZab5n@UeeKsxh)F<8hxzh1(tuKJJnDBctR^|~KxmVM#vV3As-Q70Y0djom zTS%d$czQ4h^oAHnq@hKM2nKn$X9IKStUpQOKVpP0Mv6cv^ao0Hr~-a`DShVFpKjCJ z_vw*t>DeA*Hdiykkk_10EK=>@Bk`3iQpP2Uv`fb2jBZl8Q~hvWymoQ=<h(IJyn7&c zT1q>^>eC6F;jwuOQc8}l*)Ipegq0U4vDd=Pr^xW*sgs~&Byx*&g03v%nO-xeXEjQK zRf9j7OG7~%kZptTofCA|Rjk=Lo>;{#ShE=OY~&$l20JZXGUZT{!+Xa{Jqb*pnk3CL zzbAHu!AC8-36Au*ey^QJq-D&45T>*B+MnCY3OO75GN$|Gxn92d(J!Q-LDQbJw}~WB z^0VtzK;xgFkeZ9r6gl&z+eGkC_VRa~eT$A|t?sTDp@`vHM`L(_L#vfauo=`Kqp-}m zA^*Ni&YH^Yp{u3dmL%`4Rl|YUhCXKJqo}lW_=bYKT%mN6$vwKGcOp(wc(3wwu?e_S zmI_26IDQbVJi`PzMB-r;2p9HbO*L%Sdiz`M(kN5{neQ07{!;ZaCE>?XL!n4cTCclI z=gg9c-v!57!vW-@{b#bXH<<^T(xj-UwiS0#=(?%`ZV<abe-=K<zQpFmZ~x8F0s@zP zp@U=`H7ehZD>-g5%4k>Q&GWy$zUe-$ugg;vJR^l6DpjbkCn&-Q2o|CY-qbCNo&RP# zUxOM*B7-6y(G=@Q1?U8PMyfqCS0_(+{nhhnV?A8CE@#PuH~-2l`<QvO`#j57`H&q` zY2AM18C}EtXi1X^sx@vXi(n$hVeZ0FRZV=MW8B+c92@EuT$`3+itu!)a8!U3HuAU) zDigb#cDt~4I1;_L5^8cY*iqCf(HBeG7BQ3N%v3;bL58bdR+cA+Qg@1C^C?RC3yVx@ zmT-x=x@zXUsyn`q0E{j&Yn$Bz<7jvqqyszo_^XJ#(>4MX@|vOBG3SclhOfa8=vQJb zaC8)So|W{Li2FUZ>QiHdA$h58iU`{w7I+hF8UZm;iI{^}eNM#NuE9OzmTMUGm2=Rb z;j-mgE^}lu*T@<e5d}nIR~8a-a#BVCU(*-1q6wM*nB6PSr6MLbwIWh%V?I54EGg(n zQB`!Uzj2n_G)^iMo@v9qy32B!6?II(Bc!6AOgy3(%KHgy91zylehpxgcitLTXdMP_ znu!>~KcoXT$SIMLo$@y<bCsHVQ<hp<y0iR6gv+!u{mY2PR9k5Onjvo~RRwtXiR|LA zaC-?^=v01%u<=f1j}MJ4hfF2^Y=!2<>N#7wjRWI1zUdv^loJ;C<Mi+g;jb>3h6D&H zRvw1aGy5BnBHZh#o#dz1Et{fgRT2CuClz-ua9K3V6a|t_g*`w0`_Cl(^iZ0nN>12l zrdP_=Jh`3n5W^=g`q?=#onN8eu^C6jWbce+S<-4#_k`s|5G_Gw0bi;eiNb%ZrufuJ zc^kX~{4$r%b+|a+j~mYjf<<pnhs{0K_3b)|@}Il5Oqb?VbuVIGqE=ZnL1bH+9^TSg zAf&gnxe7#P*s+&UT$?G24{g4lU>R|tD)f^f<kEoR>*=jNoiJz#8s6{<lC0p+{u~$; z|3>SA24?N6?KG(%Cs*`&78$m-{_a!AF3gHW2Mp#n?`#!@;9#iz#v3>v>nM!3<8Qcy z*d-JBOSYbEg5wmrtw~CiKT1}d7YDwMvXCGp)uux_jb*{q3>aTUt><bEFmYv6rGA65 z{8ZLFTg5H4JMY|cSf~5Bl8D}i$MD*e-wAr#Sy@!=$tugt-d3YqW?gd0y_1A5Mi*qG z*K#+$|I}HuZDJ&Vf!zk81pa)jT6hniR`Z(ZUlOLI{3W3bSUq#V6gZ~TXO8+{19?I! zDHT$!+6b&bsOj@f{dx@^7o=0uAwG^zV;re?un0+EZKzRf5XcgEK|=>rQ{y24Gp`k4 zs;EV^%xjxdS$;xJ^1OUu=QGL7qHxI(lA7nM@g9;18|}Ykc=cmohP-jB>vw+l^iTE| zxDPPZk(UZMuRTkVA2Q<oqN8wqVHHfN8Sm&ZNH?XZpl7qS`u*F>ZH4WMw^(omMYmh# z59ZbtY=TIVX{`gsR@95?9H4T@BQD__Jmcdy2g)8>X;KbK0Y-xNZO`&bHN8#w+JLby zSowLj&~H-pTf-S#r?S$6hmU50Ee1)+-Np$*ck)uyU&(oy7tJ;)EcWx*W-~}wi7XUg zv=@;D9Jn(d-h4PyCymbZ+I^@16@JY6^{kzUk~1Q@)tf#@rS~;IuclBr^5hnMIE7?e z$NZ0pQ{5EYODVIc0x#S2kmbARR)^bqt-<NhR>vu-gKRph1`TI=4<`{zq<2h|m5j!M zQ{;NZ({;`-S_q`m$vo_4&tT#m0=cTnF>#ybZ!5A+;w@PzbmTh8X&ddxh@3M~f_8PT zSI2CX2^5_wtM=#RjXUg@NF{)RufgrRUcd>d-Tentx))RxP33FrE`-tc>IU=7Md%@; zNJtn3@4QQQV$G_4C67l!#pl<`s~imd&qa>cl3~k97Lhgl%V3`6JNBtz;nqLVj8B{k z@mJ1;;~zdgOibV=GqISU|IQzLBN_jZ@%Yj4TU{(veZNeSkO!dKQU#J|#pSr?gq9vP z?3D{`tMSy$JGvvkpE0w2wbvfu_VRfJ6`|K>*;-axnHfU`@$GhdhrU;5MGwmRZJ}*M zQjQUJI1eFrA=a2F9*hd@z2180SG{r1C<kA^*|SA~nuy2LdUt9(L%tefy4QYpd;L>O z{@H2)P8wTGA$=V&A<gYH^3xlq7huc7h*Z$+5hhmotv=uR!Bt+ESDi)P#VI11gdW<B zRo*vgteH*GOn~mCeMdvvq%hnUd%5zv;N3^H*q^#8eZv*+&86_3H#4a2Jve9zZE6u? ziDeLWDxMBYPEU}N^<lde@UloEa_7*d!XJk-CE(R_{@KlBeYXc8{P$UjMIkP+$4y8V zPmiu768~T)kB_Yp8U2kJOfRqcg18F;cSakD88xHjJ7`nVZ|OgcNi*vSfhW@n$rBW3 z?DU?UD57xrjN<DlB8R7HN^~)pogCSdm+>AQApVQ155C8*TN!+fM=!}gUxt`i%CN-= zCXHF=R4{KK|49c9=s(jwz>JTNiR8_|2Hr_C0Wxp_0Oxim;3zJD`E?r$3v*X83>#p8 zGXc}m0+@&JD}12mwg4tsyc7#}u?#Jdi}@|XiG@TAdCmz#T3}mp1T90Ka7Zb-j1%hy zc(G7@Dsc-mz6I4u>L?2p<MuWx$Dv0yEK++T-@T>hr;Zvtk^{Z1Xj{2X+1Lr4Z3`!k zGB4)mi(Yd48mM1O7_a8S3G%fJzpSN5BV1h?rzIk#KH=bT8GULAm?#hN9Ia5B@4+JS zaF8c<7DFN_mBndsQdT$uwck+<Pb_@b{He5e%hewxBZiY3{B)=iQHnSM&WGaGYlj^w z-W76pAW7^_W!}}xI(M4;zaX@ih8IF4D9_uh4;|~sFE$T<cVFHQb1gkgPX!?=3T@t0 zN4Tnx^?UDsJ+OvI*Ke|cy0Fw%OS75|-XQ%M=6?6pE!u1)0Qa<C8QL16V7g|+Na^iY z;@Hj0Ow3&+Z9IvMN=G<{a=^S|V}d#J*e_B1AFdWL+qFuZD#SjbM52T>)x15j`(+o$ z;eKkRZ2bG;&DwG6T<vy_o%`QMPl|z4k>a=Gd-LI?L8(sb#XPgVgCFA9dt2qHr5FJA zPkkgnxQL05i$ruqup;`apqA}O9onS%jO@>FLD-(=vrvB1T}5NYWZ_syvStb2%sd)V zv)(k%0ozV&4v*1N?S6B|K}ZJ6?Boly$;^W9PQser<%zQ9{;_HE8i?HEXRu6;gA4Y; z)2=hiR|{V4*5R6z9J@rjsAqR&v5FgaF7LcY=S8SPg>8vm1e=pf__2-|>bqrEe>dY* zDwpt~3uH?vlJJHNx8dm_S7e4f!3>09SiMG*^u;-=7xG>b0w|Z$pSGc{G^T?>I;-X5 zJ&lI^Zgw5|i2YsX4h<11&Pk7s?*&D`heDcSU;Da9T>3J^9WbvIkuPBr;}`R}=bB8; zk3mYTT+YaY&y|yF8tiq_!69Sgu6prP4FQ9<ACVvoU$EY@$Cc+n;!64V`bmFh>^m;V z%%PX2k!rwWBp|Zyso=yv!B~7#hdqC&v?8X|Ker55x}?IAlRmr4h&XOR(hItlT?)PP z4+5W)Eog?eMh-M?6{x(S-_^6&DPW$KTMfsM1ZFNdYOLnZ8_FnlhVH)n3|mY7P05%Q zw(eL@NxvB$8>e|r$4Dgvy(Zd?3*Bl<&0Nr~HS2rfq7SSb;k*TEWTBX9c}oJqfB)YA zs0IRS4sg+6;{E%(0|JrV@c8c{#Rq|c+=T+YeBJE4yxaf-Eh_rI6D0^l_ZNC&tpJM} z0t|m=DiDa~zs}W2fN^qaKvt8Q;cpN4|3T^GHy}FTxh90+-(rvZ|3S9Y|3s>$#sx++ zApnOK9kvq<Ag?8dz0M3oXfZSVE5<jklj^@NLB|QSXvt%%Z~;lYoB&J@0z~mai2p*= zxB)%w+c&aBO8VCc0xj?Wh1#6Jj1C=6KQ9O{5T^yMwfV4V_yK+$IUEuA9~Tu6p+gNk z*QUcx5ddm+IDtWJI-Dkn|2-nmrDpg?+iq^eeN)QF|8I0qofL3em!08XLfrr${{@JX z0fKbzVtdE}4Z3pJb#lN9Jt#n;Cyw2u@Q-PBV|FUtm^`F3H)(gr1Azuq{zUj6w&2kY diff --git a/src/index.ts b/src/index.ts index 9fdd678..52cbdc3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,11 +4,12 @@ import 'dotenv/config'; import cors from 'cors'; import swaggerJsDoc, { Options } from 'swagger-jsdoc'; import swaggerUi from 'swagger-ui-express'; +import helmet from 'helmet'; import Routes from './routes'; const app: Application = express(); const PORT = process.env.PORT || 8000; - +app.use(helmet.hidePoweredBy()); // swagger init const swaggerOptions: Options = { swaggerDefinition: { -- GitLab