From 6b65e65a8c99d8460a6984a701bc7c070d941b2f Mon Sep 17 00:00:00 2001 From: taskifbin Date: Wed, 12 Aug 2026 23:26:15 +0600 Subject: [PATCH 01/23] Renamed readme --- README.md | 10 +++++++++- assets/payNEXT_logo.png | Bin 0 -> 179884 bytes 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 assets/payNEXT_logo.png diff --git a/README.md b/README.md index 138414a..c3cc33c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,12 @@ +
+ +Project Logo + # payNEXT -payNEXT is a digital wallet platform. +**payNEXT is a digital wallet platform.** + +
## Local Development @@ -21,3 +27,5 @@ When changes are pushed to the `main` branch, GitHub Actions will: ```text http://104.214.170.158 ``` + +payNEXT - Powering Your Next Move. Next Generation Digital Wallet. diff --git a/assets/payNEXT_logo.png b/assets/payNEXT_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0bb399a70005473c26852e818021c421cb6dd9cd GIT binary patch literal 179884 zcmeFa2UwHOvp*WTA|MEY(vc2A5_(6P^dcRk7(#&1388mIK&m20ktS8TO7AF5x-
amGdr_8$-BHzQ<25TCC3E-0QmB9(&_*J z&bRZ=HFQ+TZG8<+06>x)3X#-3Pc5BnOi;ztsMHk7We))m0SJ8ofE<9pTL+Ab0suf_ z=Qow?C6&!TshkkDLg$o1TzqC+{5-t;91v4JJ`NrTFE0l~fFHyG<~9-F7ck}H2Ai0n z+CrQD&5rew9mMh9HOdKbbc7+0a64N^R0Y7=?+OwZ6-?|9f3HA%-Zm!$dO^+U%ynMj z4wTE$;)@Dom&u2iUUc!-!`qU}lc@3xD5~;1^WVgNX=ayK))y?G2p9wjGqrKFGef#S z5HJaIm@U#m3S#RFp_Pz#Fom1Lkq~PQJ0}Dbrs-x6bJegwBJG8MK&Ue(+#U(#v_qH! zZDB5sP&-qYBk(u9;{`nuMGu79+1T4T!jUi?IMPBB0fF1XOeL(%?GUJ}4IHWrGlfG? zoox6$+6VvnXe}U)7M!LK$7Dx2gnKNTw?GlJy7Ky=Y!3#gt~A|VLm9Xc~>n5{X|;;tl41o)3 z{da*~s1+yF8UnYu6c^g)c~7$};kKym*+OCR(ysSiZR~~Ma8n^LzbO=EA|SwF$_;^V z@R;zUbc&mcj|0XF;}Zmd_@N*$FYw;p>!%3e3&*jJjq8jdqUa5TpeR0W3$}^S`MN03cfaTNPM-tHOUU+5ZFx zr9GlS=ep4AuXoEg6-|KY4&5_7EHThiEFsWSjC&~<=xFHZgj9Oljmr@$*voBYXhm-& zvOxIQ*VzK(0`~FI(D1PUpnG6i5H&W27A6KUnFdOha9eX)d6cjbHs>=838R&g08x|S zbMb)$K>S?XT)ezs{mU$v_jeW~044z8o%6sY#=0;8f8=lcktYR_T(*IKX(E2N1bT{o z@9!N#!vbJDMZXC^mE)p6MMneFx-TqrZ0W@>P4;3U0L2*VL0tKrf)gzEZjyIxG>%rk z3Z?O8p12&v3*@Z1y=ueHr3lsNa^n+AHadm#XKsGY;CRsx%R!`jlSg?=3EcNAkE#eg z{5qUHGF$F$-iJ3T#-1i*5@alWk*qOe1qD{#GoNo?rv?qvZh~KhB4;^c8l{8ED-C)+ z<@0#GZkD+QxM%%9E9xGru--fMQVXOvlcy>jgJ1ths0Pp7GFeQTVpHR4C^I zUs_?|NK8s}te`z#4UK?e25TT_(}aCyBb<*bg+FC;5|fxn7WDfj9`dihef~o!oTot>y}sp*Y_uPZ{|4arUu!Mf>1JzLdrzf4~HA;0Kk9EIU6m*8AsV{cq?P~kW0 zyreffG1Bn(GUl(2HTM=PVuS1BrqwzNpM7OLo~Hd;8gnv}rV8P#DgAQ$No&RY3c;DU zP7uv(_Ex>nx*@?{XhQSdW7}ueeZrLC;?0EiQXh<7)pn;5FhoT4dhf{|;1Xw=}l43uZJ_^wZsBK#XMW~p9@b5vnt3%OK8tZ4+atC#Y#H* z&8BuY%=%8xq@`P3@y#Qc_|Y-Y0BC92AWaYfN`I(sqM@B(Vq&1<_=1Sf^Ng5yAYANg z?AT~nSU4D%7fMJ)d`^T80)S}FN$4@}fJl8wzVNzD+n?FxNo3xh=SKJS_nmn8?C+X~ znhGe*Lj$0ERCpmNdyP!E$-5LIOwzk)5!%-6_mh9k6Fu?y{1RsqKjo2mw7+a2@7pqt zW0g?7^qeWKR|PWTm}q^j2mbli4D8S?3igCikwbdLRA*qa9|79rY_C%Ej(>#z4|j_mr~dd;YOe3$L1;_yN>tAq8{|TgiHt5UHi#=(Db;BCMfa1@LtcU zHyNh#G(K2kt1P~3wp|u+e*lefO~kUfO9=e>%f7EBj2Weu7AjjhOPE!Ng4LN4aiXl!ZlOIU;nZ$OECnDae6zI2-edIeS$$8lm4Ymw@9dCru zgE>{OrTl38>yL=<;~Zk^x2Ri474XwgGjM`9NPid6sr9Q>8WaMEZ<$yMDgs(CcA`@d zbB@S6h$mv9QB=-!E2~QYt7h$p8C>Dlb|3zv_NNiZIsxH6v2<0&Y@5zfju-9~q7gAm z(Zl`;dWt;@dWzX`X+TLdF{-J*Gj+VpO)RX`ld^vp;x*y(cg?whGNLx%8=&jw1`eAT zT|x_du9T?EHDU}E4IS`J6g4V`LyWEAW@-y_0~3RY&I@pfaW9Rb8p6&LOn9N;m^X-V ze%nScN^j4}Fo6%pNs#uJ>~|TXL-Ve`R^UTGSDe zkhV!CC8)QfandZZ)J=q`*=;^vpXp@#7!(%!hN=|{K1U(NTjY3ue3-R%)mL)B;6n?s zZsbd!SNB__fObTp6gF>%8pZ=MLxsH{)#*+L#`pN7Xk}=8TGI%O<%_8_fB|HyH|Ey8eLC5(s zb3&5w@>a#Y(tByR5AAjb#^iv%c%CFN_?`^EWvwT!g6SOEd>aWbNFP$5XAQVfbXUb@ zz(2$NR9DaKIQK~;Z;RB@;S2J63oUDAY2O>|KUh7O$jxV7Vy?KpI;ikcQ$@}z%F>7e z_@=-u5p0w_d)n5FjkfcB8&n7T$kX^9XVUtYuYHpVY5Z-#)cbkYo9r}h-=t&2l3Je9 zAJrrWirF9Oy98(vt&Z(cVZI$E&t+V&;Ts`-B0=WvLBQWJEq`j0UBT8Lt=UWdn&P;J z3G3$WS%>Rggm$|-<^gB#cd;eQLRxq$Rby2gZfwDqOR|BT$ z+A(LSKz@UNSaLKpOusgeUkga-j}j1Cz=QJ*gd=JPVQ&TJgr09SIN;~&6kCWjYI$k{ zbOxW_0bbs*M@8V?uql*>7b?KR!DA-K z%>e_0U>rP9Zq#y{-xLNp-w<#Masf?Y2#}xeIW#nwZXg$sQ;K7XLxA1Cs(C2F`l1Ve zTlJv~)`hDBg$`ripJ+pv2;ZP{(|BzD@FcyHpwY`UZ^P{?DIR*zFLR3tZoyg`WjVr* z!3bPBOft$Th6A;`sf(>DD$$|YO_f2;ULGR1!*vYI2*ccJ2 zD+*@kFB4mh15ulF6v3!q!wIBzWG8L1B#+w&-$|M5`Ba&yo;tfq6CB0gcNz1Wr!#!r zH^~f?U9aH!^{JuPwL{~~p=TKHZmCASEN+IsOeZ0Zurt%rxMI?)@b3nVd`IsWfgT}Z zk5!&vCzeW$!9G1V+k4zBM#B0uEt^=aJ@}R7;!GyQ{TC~T+fBQNJfvKAx5FS`9vP~V zjBoQf2kIuVr_LGHI}DQDb_$uvNqShw=bT_lv6N%_f?a`pD{2!ml>BZdye{*0wP@&P z|Map|TlL_#Kg<0c-U_*svrmr9>t`M@Orita>K?gf_~U1)aPP9S=)Jy|#WA{j{RIVu z_2;bbvORj(3Mg0i5asGPFI^oGptZ!hSwj>LXPeGRcv%fH^>;sazFF||`=_J(!;|6t z-II}lZlC+D8+Zg#)^<*&v})E6q?sMU=1;eXci|QpLGf2jyfp^_5$GKe`?f0{0n zjT4}azNc=Wil8**)^iG#Q}-TyVy>!?;b&=I_KcYR^T^_|chkvxt5{CA7XlBh`xVVN z3M|7j$Hysf*g@D6rCcz67FF;Ivd7|57q}=LETD zbG&>%Dvi0hIUQqG1-DfDwf5&7G)v}#nvOJC*5n;9Co9&m#j9bWkFAgK9;M&-Y(ruQ zS7`{}UAEakQ~_U_d7E_cP|Olwf5NfaTk5G7qI$b2*U#}Y{FGbbnYH!at8e?b0iAHC z&O47?+m~X(pHZ}ID|&vFTv%8p2ssQO z;Gn8#(fwS5AAS~^6s-}vr4qM@W|>GARPzKqa<936Ko;p16&08(m~$Dy5!E2Drv3-$B|F7=D{9rd54{U)4LaIpS5z)eZuS-Ab*ADXg`X6{rw0~?; zssv2k;BOeLKAgU~^(l&Ht2+T2@;A5oA9~Gy?2FI>Kqi;2<}pYQq?4kRq7m@uci_zw z>;y5j1=(9V!Yu@BP$4DM+%!X=;yRqRFeLEYPw>Kc1Wh2OrW_#1c}UWX8^U424K?Ec zLwL+gL1uj1yry7I6yd+I3Kz~KC%gvKtamE^%p#3jNS!V0oAp=9Z{WH8#5mCYW z-U#Ph(HAm_6LV_uXS4GdKb*gu>SOjsGSj=B&h4J2ZIUi7wMjm2aSOu}6=kwkBE&aU z`P%5ZH{}!Khi$;uM!6Cc8FPY}Hp}>Z<9n>N1p>=%2;7(jg5WVeC^^@#j&_Zb7 z*hcATSm_9zuckqheB@H|dMz1%jidi01TV2l9WzpPU?{gR=UcgH{8KVTJJJvKWlnm8H~|p3euR^Xb5M zE%5sa7R1+z=x;3DW0dtJbuS@OhvBSez0dnHJ-Kg~_nJa?-TVuTao!$zk0QKo7K^@cfjKCSdwT z0;AsmHxJyW)MbO(p>=lOT`h~Rsqoj|s~SR>7i@G(zy7lQz3DwshC!yR+=*ixR+u>h zaP!`-+h%t$RC{PV3jClAkQmq zzG-ZdG>OkQf0tqUxjfYFg&A+kP5sy!XE!~fVR_YCT=&7>Sw0Nyj*@*o`zq@n+zg|I z^7WSqJQL82yR}(RynA5V%6%3V|yGt`N9F;0l2& z1g;RcLf{I4D+I0(xI*9xfhz>A5V%6%3V|yGt`N9F;0l2&1g;RcLf{I4D+I0(xI*9x zfhz>A5V%6%3V|yG{$Gl~o*p^?7X1M)>xi1U60s%kWT2osmR8y%y!!pQ78$rz-d3+q zr2Sna5&FH`q(8p!rxFJ0ZITgbrSf^oWRw-rJbIb$+)4+S!Aii&s#DEOfA~G{$y4sm zm)RjL30f86tl`ZW(y>vGJ{{+^X(`+NWHZI4T#K4ht^FJrHYX9iVsW#D?qInq6_7u- zVP}3S<1THnAF*N|5fE;C+Ni6}L_Q<2m+qgsP$+AS#J83?mYsTyzin6{c6d$VGj6fj zL)o>-f$Tz}O69nR=B5y)Qltsg)AJdopst86-b^c4}o5uf1f|gKJf?0KQQ}-{HB< zSP@s)RMEt}S{0W~(qKFi(R}H`iM`W8f;JlUG7P}SW744tu6a1S!>y1S{2nIt6U}z( zOqjs;m8?JRHhj29Pg69%my49EQl{PSxml%0^W^QX>**>yHG&l{ehR3t2Pqx~q&2QG zMu(!QWoXq~8t^3au-NZPLB`2JLn8G`M#n;A!H?V<2M6LgdS&yJCfWHb;ELVo^||&Q zYTUj|&v>1G8uHEuj+LNY=brjFcnc`o)7fl{zD@Gczu?CwRw{RfruS6s0Wfl>4wTD2hU`SdMm^s{5lzF|Xj+qv2D$14(2b zP&rZN-@gKPadF{v;l4P10W2se2n2Bfxwtq`6daCjsOS4#Icy#2Q5Dae+`r z9DoEkz+e&JzqxhZ#$OerQD;Dic`!LR*&&5Z?Vy(zLYIlOgq*suo4%VGNbj=X{$=8X zI$Gl&gjy1Ej}U@9y6Vn${~$C$Kx|F_K`D7oDWGR2&1ZgD?)7K?E_(9M&dInUQs>P6C9wtU=9Hgl*^RY#1w=&*x^qumsS4B=Aj9S3ojQh7ay-6 zmH$}08Bi(3~AqXp47u2~a zv=Rt}oeQlt1ObQGB565jQ8NE`vi;qR2=H$`_-~BZ{%^+T+&o;^!1L!dQ8!S-<^DZf zR8B|&b-IWhLQE6lXazT;m4w^UszDIW=aTx{-TxN+DAV~T{{QHVE5!b9R_gpbl?&@) zhtRaMvlhF2K#fHmW{Y~76NX@=MOhEgzgZ00b1NbGH_JeKVGTt8W&uQi|CZ^0IFL)A zQKlPZ#DRaBdQ|35XMyU2C^G`(3ao`qyHJiq1*R)+rmPHLLtS43V4{%&uuxZMsE-&L z#h=#?(O3W&7v-pPjnIjIU!PN5zMi0x^V~)1f;F)KKzH(#mzL0UO;{QFd>ueXSYN+= zwC=|7#g~@*_G}_AHw}s!0I;90qq?{N070V{>}a2qpEm?}P;ZZOp8EPu5uB$0w1!Jc z^Z?&?lF7>;7!KiOlx!04^m2nu`QUe$4CC5m7|b5<`7%yMKzkWTt4G7U z43r7@{(peUaji4KL+ap1eLQ@i6Y@rb%eJCJX?5 zRL4dI7WWG*$p+Tf)qLnH*4KQDsV2Ni2J86NRUH<}mh6180QD_Q=bSeR2A0D(4!7n! z4_9hj>}<#De9V%xbUM&{lT9-4P%ZdW^UIF60%2eJ0v zoUSPWj!?&yRXT}^q%Prn+J8peSyD4^m&ay#^e9I7?yI;su&Gyz3qHW}!G$i=eQDqT zmI1|T*%seY)BHM_s;aGFH!~i|%@pRH$X--|Jv76U(wqnN6CO$#QvnVD7i!`CoF>-Z z$NuNY%xale_4n?QM32s&{OpjWu2s$yJDVCEtq8FRW4qjLRqb8D^5g)K#A(mAc0piF zb;34JBWMmC6KLY-WcRi3bYSm^0Zo^(duwIGsgrO%52@N~T# zTwnL|pCzS(e0{YXy2&oJ($aH#zeI|~IE)J6+Flff$qMedsjO5A`Wd;6d$zg$u5g^Mi#_>tMV-?Klzqvyo&Xz((K&?5@B!24XRrxgI2N(h02e)n z*VMOdcHf%Rl5QM+U`%Nd2^@a|-w8G5=O|ZoLjx!C3FJ;dpDBiFRnD zrNyfWlSv9JH&}AdUdTG=)~%W5k$#vEFtwOdicz0+G3PhViXK-d0mXn)%L9WY9HKe0 z>w5e>p0>-|>M?Gc?IM2T&SlULzVD~b;qxPhxi;qE<4{T~%e6kSxcpL8Vbe@?ar|%H z8hf|F(s)E!+pL^1-lF?HBC=X|QeuYNo?Xklj|&gC^4lZqvV;Miau)&;hr0~)2FI20Xgty-s53J&Ltw?m%-L#GYi&iZ+95!+BAE zJ@dkk?d=Mmc~l8@7pt1Nd)L}pYAS#BI+9Pl$2LQ9H_lD0X}1>`b2_)~UQ1w{G*Wja z=;=n?{4wY3s16S>Np&H_@iebCBlCC0m}@xRW50IdyRC);jTAi#f~l)+FL@2Wr!L9U z@c9V$DibxUII$5ldu^Jv^kLjXc7zy9ys45IGK5{nfD-C-O#Mo-zeRNz&W2UFj zckC_hVJ)kovG?fF-R*Su`)6iqucRK%Z>e6>Bl1$%Bq~Y%i31R;J-hUyiHpu7U*F`> z-vZzaYk6tcow1LL!4&VkpyOVPpnM6ydGsvTp!YOS=2`4@LU}GO!VyfD1`yuGJJcsM zueqQ>t8G?bkD%3=_eM8t{N}64v>yejIe`ZGJn38MPToiN9*IUo2!cx9P%&;1B4$Gd zV-x0MJxNB1yq1T(jaV03uZiDS9(dT7Z1&2FV?R*+aS3jCL>wPF!*>nGLv5n_1YT%* zHaIfAJ-Y=NZWHHChXS8oUkiZTxqP4DkyUr=ZyXz9^%R);i{~=KRq8pn7pwDB! zF~OTL5)-2Gw_+_-cb7Mr^YMAED0*Xu<(Av{z5>`-d4Q5cLu5=*+(X6pI;)G!XZGMl zx|rL$*}>VF@V$3|&*zQweqiJ%#l|*sif72hvE~!M%j?Tp*_|wEEKJ?ymS26xm9A4L zQYX-b12Gf(*e+Eta97{7yCwVnF!+&6prZwOG5*^Cn}+5dMx5#kgpz59NAdrV7$@7J zOI+i+W5R^5j8tJ0GBIqLqvGtyn{D7QVWwXyTuBd>V+wT*<%*yK>6;d@u;4E13Ej-_ zXU+T&qyeM@dFyL3?uy}L1B(&SUw75wrlow7F}~-bWqgPMt-E!2PkkbzBl!4!dDka8 zvcNTEX2nz`n01>i@F+cYZ%h0Woj0}fgPCtarOHQE1bXva6sTvoDCoB&u~?cfW5%H<{`FuN833Si?eZc2QZT_Yd$rICN<`bN_DjIhFegMVCPGX ze6TU>s~3##vOU*5W6ZyhJ*c!$8Ls8o)tO6S)+(dsRQI-l>eTq;NKZV*5R{N1M5MZ_ zZLkI~9z)BGPFz?tC>+Ow}KgR$J;y0S1ob5cl{k3g%7xBYxW06x0}N}tlV?^Wx7Ua z6#P?7jRTUYlmgYq=9tfa%~!GOcKEt=^GtOqWk7l(U#ryW;8PDPsgiku4!XtRZ#ACr zw=_xAwjkO+ihB=VGVEE|Ovk9wG`BC)UQsPEV~wdhaLUdELg`2bIqBC`A$xl( z_WU&$rl9s3Q~9|7&flAEy0ae*?o-q%9wEni_+C(68)6%PNx^Bf)=FFXz9`_S?&R?j{e-2_<`WwS`Pd=NcNqtQR} zU=f1_h^7_nPT3G4F_nj(>Y2AGhs+Zm>9dV>!nar^? zQ2N?0G4Gz)bf)I>@)*(lEmKQJ;Teoj!R>$5wKPd=qnJHkyK;-|$@ zJ2@xFjs~f-DX|S8kRpJ0v!6kS%?mSzu;O$-HYLM>D7OCR`u8jE#NT%7bnIHFP|4K0 z-#rkp#_)LV^|;C{Br?1!8$QHiK`wyPQbtnEdu~@|CW3zZj9(ZQ*{^@Txub1Gb7PgE z3173lR$bLN1Z<$%)EV6!@;21uP8|lr^777otCJ+Hj`_LN((Wb^DZ`=dUK(}E!-V(V z+C;?#KelUfe=2 z_mq(gHHa{A_m=rOzcuuVaGqyR5C_|>KoBR{QAsHJtrsWb8jD*|+hgPL4{Fm;&63Xc zA_M0KA^k4%O(8(9fj~Bc&=upr;rk0OBt5(tH{;|4a2CD^@Zg(_X)ZiDSF>iaKP6_{ zg+Zgu)uIsIVzQU#09;Aevv7Of;Pr9Ex=G~m^mN;67ERI^_*%f`;|++;bY3a_NPYB{ zRxnuPZQt!rYX+D<6E;&5K1aU6#YNNj-p5=Bm!#T@L_Defm9F~^x#*m%7@ZlJWmG~* z^ECJ%X=YGyT&O6{@RrGUfw(lo-Urq<JtUJj9vb4}ur8ggm$sbmCnX zjT4pU99k=GIE6du-5KWXR>P@!vgziV(B_>qdowe?gS`^jW$gXfK$nk3Dl;;>!_uQK z1>VDxQWSCh+*2H|#a`NnX7N@^?u~dE&WJiFm1)l?8T#?A3{deIX53UUPc4y%*h(`(iPIxBVl(sYi3;7yU?5jAl|i=IMM|r79_c z;OHAZOL~*99eLwT^R4W*6Ertk_EQDn<{d<^lz4DM>su;09869gm(CW4=z6ZVXCFm6 za>7{z$|Bo2wY8~|n{<;1P7-M_2TtvIEjOdgzm(H%q`o>C(@eh2K&cU{gmNL@1a$qY z&Mku{)o-UaqvODl&lo%?b09WIyAy}mzA{71#utJEi~jsNEBB}Z7IEA`5N!>sjx6( zW!AX+Bt3*Wtc2>sWGv){S9A!x!g8^Mvs1?6+w=OECQC&!s~2&4m|uN-*OKt|L%J~p zJ~>!Wp07P9S)sv~+7TZKN1=qS4vDG~taPGgX&$rvF)LCL7+`!R27dPqRu0kJ zsip=3W6z%us&=uFAunX61_BM!Kr=`q)s>R7*5eT__$T%wB~=XYOT*##uDmx{lTIB( zzyUC^#2k}Qv(uc?76~gxe*df%MaB2g_F;g%nQq}4Yo&Lf+G=85b?5f#n1NnSuf8)= zK--29|4DU4`we^VI7gnFi4}kn~W@$n z3z5RxxDW2{s>nB+hn#B8Ic=$HxMojPXGGSu>w6de@OFGP`gtQ5MwVIPk7g`dCAgODWy)!L5-k_>HUa6t}6bj@zf%v|!WKHw7l0Ch&9 zsW&NH7Az)bJv~7zhvu(v&{;S0caN< z5D~>LM>YF7sIzJbxgBJ?cldx07+Xr1^Tm(8E#v0WnP+CjXGko9=Z4Z#^WuqBF$3O5 zD=OV`xvrJ`d@qtenT*|wz$qj6hlff6uj2i_>m(&L`paBYW;QQ@2Joqv)%D?p`qjzU z+-gg-xodITTU0bZZt0AmJ^1#y!qhGzL!;=2EmrCIT6jkB$lAh0 z2!(7*Bt_x2FYm?rTI}xc<;dm@w@2D63Xi((K9u)xlof#}!Zh z716RWn0B@d{^f}~lLF}n;iiO)SONO0rmDt<6*;)IznHC)M1?eR~Zu zYChi&)d{;hpDo9~%AhAIKk@X_x=2)o8J#Dc`yh~7&&HV9H3P0C3lV*#2tIXJ+>0;Y z9^6tK*dr@#%+)X|Y3sf5YE6Tdvd1*gWBHqaKuqp)44%%5wU?OiAA@br&il!>6fG&Q zA2f%5TT;DyrhoQkKErNmJNuv{9^LV1+5*Y2O?+aeAf_OE!Bk!9Qw>#D&#OoH4h-Ar zTvF~x`*5Vav=md^_-9^whg%=@UqJ5o+yvjwaZuCB>=guT7&W}tpi!w&sYy>SWyTjG zRmR@}dw3CqvF2-721$NQVs_%2B`9aRQSJZc{`3cJ?~T~0Pn9rPI90z%Pl(wT_gIaB zzU&Krz59re!cq8ve#VKJ{H+WR>TBQVYOjw36rdRr%&2+}WBhYTd@%Q(0XeqAuWYQXf(3Lq0<&^6a=0ZBa&^t-xc)ueE>6pzau_nI z-Sdr^5;Ld;k_lEd%3kv+uyMS7X!ACcPo=BJQ1vYsZ>GVa;)lf`V#J|pDib;*M~kUU zee%9R9v9FQMG)=3X!<0EL_2PU&Cshp&rk6Q?u?OXwmL~*arFTCkC7=@SZIt=u-1~GuvKlg3X6s=E7=s#rQW(mHH>=MJmsuxVP`Bnn1 zNet(ay>uR|f7sL*`g$BC>b`VHufQAG(6naxnfLHs0n5<4ZDNDWc&#=|qM0d^ukDR- z86M6V`qAN1u?~r5ul7t*Luu5xl!|GX_$w2juSuMlM7=hHG9@}NgTA%3H5m! zJ{Isc{B5{lmTd#4tv@<^U=wd<-OnFmxc)k-yvv6FhxHH-fXLrLUHs<|&N>>%Op|p% zhC^scK_W=-J=>$XFARQ8RIcI2Q6mb`b*bIS;vSoX3He8y1zoM%i#gIuWX=JeW8-Js z*XnD8a|T{JvDKPLs{We2zKM}Rq8vuBzq3b3Vi){D73X4cQ~k%{h9Vo5eJ4u{r>=t$ zjSjLUqbn<(LnGOtLH!VaCa=Q$v*8TpI+$Z%Pk>O0`qR9T@Mv~wsd=Y->*qLPm;yGY z7EY6NCu$QYZ>dVXms+}D4?uE^ym`w~?lNRM%H$5`AGNI*w(onVSSjLo4}Td+E(Chm z+#T-G02)_BynSuc-WhP*y6WOSRAuL}Z^4*o;h zb6cLQ52hjwQmn7-qRpf`NJjMpf<+1F1M;%6vYs8$b@RQak?J3AVQpKE&tI;HwagBP zM~q}p_IKsnxBRi~_9X6Yf(Jh7RI|LBYN^Ys%~x&$IOW|*$nq_I*>5S!Lrw)&6~nY` zYmXc!oJXBUi&umivwG0$!nmzJ-0uJM+*bNn`|!5;i_fIm&^zXhR(0_5u@naq+LACu z9oUGg>@VwvKF6=h_;lL5szA%NMkhw$Xdy2xk`B>ZJPRRbp1+=JEwI4aPZ-zbr$;Cd0N}rt90lrvKjHJ;`OoMR>xzOe~d(>WqkO$)akZ+** z;B2E>+>93(be5uRsj9aRXti2fWs1IWu(K`83sJ;t(cg9xo2!q?cB7VLOluZI=39+? zD_P+ilGgHiX0zZ-VJo~=I%-osVp8XHEV?he|6#$q#fx?-3VpuYo#)zoxIf!Hp-zo? zUX)|u?B%gYSpK2=Id%k}#@U*Z3hgryF1c)Y+O>m8T3JjGFF1kXPBlYFm(ACj?^_gm zJ99ybLI|%3m0?@>c)|7AI$xciO*C~<`Z$fo6VgI4b@zdy%s&=vV|F5Fvvs9Lcw-s& z5$O4geCH9)?(oaq>gJrTuE3y)9TAbP$O@QkY#}I?wcbP7s4rb3qAx|GP@}Mq6@Mq~ z=utxoOij3%XvQCI;<+P1_bpJ*95{!on6Q<%F(}-|-T5@6!VbJZ_aRi58uv|!49uK# zJFYnT{VN>E773v=P>H(XeXZ=^(H&M|`mr*qvXKwU(^Vs@A0`~i*lk^$4Z}l$pEm{D znu)qN_Q1HpAB`VGkDB9#L!@JC2E!W68feiw1<)Rhpr(uW^4{aKgS@`_K3{LOg6@QZ z?8?XNeEu;cyZrL4WZLO%QpVSdtn~IOr##0*s$q4fT2a0SA!D}`5$kgmZ71Z{j4UyP5+_?w47l^SyT z)9L0=MsvT)VY$}(m>eapG(0LnT1tVBph{0@pjeW-Y2h`gA8Tm7?Js%Y(>KdEkTeYQ zs@#!v>uzoEaE~CogYMR^^f+5QwiQBBrD1uO%{hmRy{Y1G5nd}p z8QeuuAH%=`DB1SJ_88Vcj~u<3m6#vU$~Ac;b0X-Ns=KVb2xGBx`IlDa1p6WT_6dvK zk0UBsC_&Ucw6E{rC0KF?4|;8ctoesfb9l&Z7ui39#t=Ys=dL72K6_T{`y;iE{gdhs zR%Ls;IZh`cmGfITQ_l~!jvC5NMNX^bTxwJ})}IK?R4dLz_X`uve3ff#qcmN)t);ec z4?VidE?cDG`Pji7?c`womhqZ`kzZzE8xze-#~TQfYT=s(-XmX?LpcpPVziSMUNT^- z*;BlBKq;!XOJ2sg!diazx?A?H3Gb21d)qm))BKd8vtUpAMSe_RSQom`thk4g&DmKWz$+9XGmBBD((YMC{#H*Lvv(^3V1Oe^nQy8z2R4 z6-e}b;jJ*Rd{!`L7P1;J!m%eTwlda`bnI0;il}ourgC|_=7Q%SPWg5zEGJSA@Q9UH zV2#9};>Kj&8D#TQE`)=5!+Jhue94jSN0Z2)N1rA8+KEm_e$FR3;A3;{x;p(CD-Y1p zvj!J)_;NV4Qs#Kdu}(a7>;x-K<|__yj;@>DUg5=_`ex;|-`&FBW@#;w(_#t`wb$AvbO+?m;&AQWygGf{P9Tob_J6(ht79!Ko zj^MZnnQf1PA7p+5*Ap{d-S86!bO6KcjJ;BckrXFuaz1=2 z?n5e)iFYCVJ4?c?hkFIawC3D}kALhcKXIw6+~&;8rJ>zcdE@1kOEo=rQuW=FW8H7Y zou%`ci%~(Ympn7qgNjcIhqD8}4$DO*w20pyD!MJms*FP44> zOQQ!TTI}{@#o_K9OM#6F)m40+r8L`yWz`jn!b~*}^j?xWiWKGV^bHz4io;vM7PIGS5fTt0Ck*Q+6#s55_m^H{d!rlDP9*L;;jWnsSS zfc02>qR9HQFdBIq45WR*qieKPeAZ=)0*7gcPQ@85osP`yG6gJV||Kc^>N&xZINu!pz1!-50F)&-io;=L;Ao3MzDR zb=O-cv=5ud$`^EN423$d03l}ShdL0Z#^X_p>Os(Z8Xi2Mz3g9$Q}45+T-^z}ai~!bmXkV+~>c5}9aCAm{r>0=xI zQJaGgH;!vOhMuqATstn?IQi`5VSh}ukMahiwn6v?Qo#&AEhS9(bYh4+AL)C2Y%mi& z`GRM@T)xm*`8C;xY%t!p&iIY4?PiUoM@evm2je=Kd|{#6;hExgjeFDK;tlpEQM@r@ zp`rT$0wri&AD4?KDo@0$`5;yJH-&AhCVxI-PN$y~UBJuj?__GEFe;cps@ZZ0((}Sx z>gJ2)CaPzv1boDc+9urB+v2J~6AuPd+mCPF?Bh__zK2PhDM`D(+J3|>JQ0AAPLftC z@n~cOI}AEAqLu!#0_jFs);$|@a+>B}#Gj|5= z61LgEV{%2hvf(+9pa- zj`pRR`q${R>_WiH`#mg*1Y|4bLEnRUy;46Z`(nbci(G%Qz7x8lBt3 zT9T2Ty<=U&-;(^Dvx63T4h{Xohlj%%Tst6KMa?HUI&Eyv=B@Xfyi_^0iC1^rlx(Pg zkt!J_TEq(+40W{(*bIkBk2X;MocV>8x$G|~Lgq;OTZ~FZCnHBWa|8@I4Xso9mcp*l zeiK-8nJScZGPD@cjgg%3PkG2J6XBvzhZhMpdc`3h0#^>>dHyT@(5kME>b=}7LX z>&U*TS$=%fZRXY_A$Ml%$;_PLbNia3oAv;?p+o!kWqp=adF9sc2W$gRvu{2)B=x0y zpm9Wnz9@=yG|5z0tJ7!Ex48IqjBmyH7fP4*rbd!{JRMQ*!1bfk`asksk@=%lPbn%e zSkzp;q~tq19#$ybKdOVTTtS-{(s`REsMM*7gR%z&=UVBzWsyWoDv!zZ))v}0PuVsu z(WQqJTe!hn$C<}&-v@WsO(o7aTB(@Hx<*R4-F9O$^HM5+f%zd2E^vKfSEr~b;q(cq zjNipCBW8+BE`!#d*u~$T`k5|tb*)fxQYx=`tBWu3_(Ka9pswz?5#8>d1QDuJ3$J}V z30hvOpj=@#4M?SDF>YH*eimn z_YwPf_s=n zAA>X!2^vWS1{7?5vISm#kztH``E!YxiO%~29h~x9xusxYPjX(BB~;HErtT2Pic&Rf zKk9DT@VusqgX-+IyjKKji(b!zi04t>p#EP>eRWjS-S;&hjdY1L4ALPX-3`(pA_EB0 z-QC^YjdbVGq0%kg-8uBo{6>Ag?|RpoHUHmp?>+nMefB*cAsI?*dSoh+Iy1qHsrq(3 z;0owRXJcfJ8Rkr?9#)hmVN;WKogRx)%d=COwjmTfYc$szF!KHtp+I z!J@^w;~{6aKZ;EVU!HGIpKn(md0U?_{wl2HR9CjOjA$-`FzI-Pp5~h;)WgL`ZW177 z2!HcC_xXtrP+`h?zA=0IQnX)}mLf7eLn|wyX2)JPI(<)g$L>-&*$_4WWT2B$uKu~8NtP5Q$2$Y=|IOG#vXG&Ueb5Gpgnkd<^r+< z|JDYqa+@V=pE+P4VS8y)3J{$pEUfUR!p9RibJIGLTJGtk?DE4Qi~Ftz6z z0SDdNKo~X!{mi=cDo>j64pU9|Th2SN;%sXH4v@YeSUp%kj=O(RW<+00_FNa&uUMR@(8{6%e z>Gh34aFUqTVJ#-p=ZXAup4m2;zcEdf__BB+p@~`XtyCm#A4;*PkASJC?P^<9caiv9 zp(_#a{N`<+=GJD=Z=N4K6eL$bDSu_s`zCbW#B(Bn{?3nw@ z!Kb^GzrRsIs7&yx>tvzP7GrE8uVR48==HZ`(cx<>){(|uXEd0ndH6iD<|W&tft!K|DP8K-c_n1HrC=ChNyewx_tXj;4#hBF_`th2x|jCv-K#N^|>lMB^) zqC#Dfv^fQ;1(EVMH@i%#yF)jBZHl*+|Erq(GXc18@2d49!%m*NgdblXhF{k7o?o8R zp?A06L{KQCI3N_!mZ|6vIHLw*5H&4%EJlM+Zu-FO9JGKT++W;YVY(c@C%ZG#nY-!Z z>C`nKosOe<=;dwH%9dchGy(y6?Z2O<3dNtuGMf=0Q_9@Niwt)$VdkGN7ax1&sM}Iq~9&3f+K9Xi7~`;=@uqbssa&3DLyiwV2u0sIqO(t4qRR zt+j=aHfhg+Oo^SD)4WnHmj>a5w&cb7QY$1|Rokc25q0D(&!322TpU%WKFnKt&gEIT z@&&0?eTdsu3-buI)m+zU_2KFj=B!5Nsap@_zI_OH?yxl5Vm z-p<_g4n09nmAK5d`bgfLZs^re2 zxpP2dF<wZeNqX zB~YESzxfK9y&D=OIDL7PegXS)0!;tae_r*3C<-v@;S84~ZqZD82Bi`Bd-7Q$ zzg*w0zT-tvsnPP#3mTU z1@J8f3^sTpbJ#(ZGIVtr@Lt9-!9K%2!|$zT70W#}HeR{zbU?ba4Y>QT&5p)d+D$lF zoj0cZ%#Kj>$~LC_#fT9zNN;ClN?rXmGsaP%6H}a}j54a|t&p`7p3bB+gvVEiWf)+J#S`ISioho@&E(wi?aar*t*4psB(6zQ8b?{px z`!>lhzNbXSyn?XCIQo;c)ibK=Gs1y=l=UOUiZGcJ!vsrTV>#7m>Q3u|LG7mJVDF^l z&!?`J)??vpnElXS+~2BYf+Ra-CHr2fqOXL(*uuHm!6CuEKf4gH4@&|3r1)t{(JhMQ zS7wbsAr^|LWjL`T`-s`gndxeAvbR9y6nR7yaqRp%$?;2YOq%_HSvI}8kG79g?5+~i%9skAt&-m>9pU~IW@tfWw!dFBYF^D1ALZ_0m zudz$1+qEpAbnLs%gBZ7V0g*o{N<1K)h0&4$;&I&Z-~*g%DPwn3P2-`Gls&T8xjEyC z@AnhHOx#Vid#-ZSg_lgX>zKLw_3{w&FfRPKH-nDIPBLKo znGQTTVD$3(BR%_Rj*fOk{izfE>x!G0Fnja(P-NX~ni5>m_^)iS6EeElE0$IDytvg% zcy1yDSa1~9v~iyfFcS3^owp{Pgii~!$yY(=TQ&Np*D@-L(n_EPJ3^i?Di5=DG9-2v z7X+C4wD*5NJ?9^&_lehllg`b8XOO(aF^&gFu{GqZ-qF=XnvLCw(Q;&c6mN)2`{=|D z9m`n`s`@Zuk3xxhI;p%AHn~CJeWYwTW-lx(i#^D45@l7Tf%Y_YfK@6SLUxpU>Jy`q z7y_{d?U+-EZ>;7sOsIdsf16qev@y)k2W@y3UKT#Dft1v8c09eDS;sfCF0)l=aOSKD zCkVeuv+&ttd!X8TqyYIS4fh9%NgGh1kfFG*DufV;!jAc z=W%2%wA6y*@k`-rT;avm1go4nMSX8Lr9WNeodj>p9u4|5KzI`U(dm~X$DdvZpqFP$ z^&h1n^DhydzUZy`_9Kep6rEABeR^3Afq`x^GlO{#&C3JRXZ4~<)-~tQuxP5Kh-m7y znOtEa7@}dIVr61CR*}`o%48_a@G4EMjYxVyWd`$9Rmb9!0%<6-C_X^UcYB1rg0y|h zyt@~5s)Z?;MS)1{D%lTmY6iat0Y?X;!znj&a0Ulqq*N9!dPf*5A1ROe3`ICy2D>CT zw$WnwG~1qxDLD5wi%ZXBb+;IqntL)wL*PMQ`#+6Ek!76lS)FKjfwOZa_NYiYrX)7W z?a0RTd2Fl4UEPvW2q8x)4|^I30NPYZX;#T}N@@v`JS-$ruA(1R$oI2u$63E7obrYT z`Fm4O6eL@|UD|ou7kjsl8C-_)wK=E`oYsy4n@Dt4A~>y+vyYqJ@m`$RY88w}8U5i* zm?3{DQ{T6m2Lm_F>L5~^emGI=c#@P(AQQBR>Xmzmz6SF=5*-;1-Ni@Xb88#Ix<%){ z=R)OVY0#8zn1i*mA_^wW5pot1oVjV+SR$t8WK6ma;b~P>w8Zkw4d+|1hLtEM;wv7C z-B~UW8cszLh%)4f-4Ka49M>(1R_{!1dZ6XRy-NfNg)V=lsO05!pE7CkzH_t`Xj(WX zpe9?@$v{G7lIA*0IOfd0kQWGQp007od#1e4 za^2=1haM&Vf4acAh|Kl)L{n0ch{KWDgygc-6$Tyfb$E_?MDz8vRR7eO5c9{Seq2%| z$J%Z8fYDFi6>Rb5A}F30+j8?-^j)GA6H?bwsyx=#Z^EnVD~Ff|~`oQp~KLEK#aAdu3mt?h&FBvv|6t ze&|oCmmNb;ls%ao#S{7Lb-!yZ@)-^3yit?y#rx`3~}V{uyg%Gpwp<`2X5LQy?!SZ!bJaMVATk!a%6>)g}h5m=wjeC_|a z-1e}xQn~za;2NHyf=;ad{kfB7GC&!j)U0e&-K^!Cq9ew~)v> zcPqjvHk{HR$P{*BpGy(y^GfO7B%t*wDNYW6=Evagn~N+um6(BtMVBj)trif|FAx<- zZCB`Y&4rLI|A6aEb{n=u%8gBkN!U4M(xOk|__+T{>zLHJQjM=3^~Pf^`+Z9#-q>Lw zs|7vi$1;fl4i9X54-rLxAJn8OC64XK@P;n;Qki{}2A(pjEEYf_BURhF_jQ-(TQ)k^ z?I%c(*(pB!x41?L zyio3y5!e*gsqky5?b&P3k>v=TyL6j3Nzyb6CJ-)hQmTM2Kn%X6G0)eIG9{de7Q=wZ zth0@g_yU+&=(`Ul-&&zRFUcLS_p|MU&)oGh+nq{Wiad&X*qeEBceuiW zZ6}8$^J?8*R-tH<-&5|WWCbXt(ASXfJl_1SeYk$KDl>aco&)+lMOHjM<`L3R%;3Zs zxPs=fx}4peL`AjS#`$2(bp;KC2r!#t+xEv-x^9&-lpg&IxpcX7*=%w8GO<>wxi59A zIqkLDq5N4Uc;tq{9=+26v3U4m@T;<$aRA#+Hrr}M0W`7;)R}pwKWv^1@h<_3bf|GD zh?$^#lA#QeDi!D>v}szlbYjQ!S?hjz9DRv&;@dJD8zj*purd^h>c`4OCWbwcR1Csu z0#jIM+!kI1r${ z_y=1RJl($ephz7i&J<1~liGptIO8=}^3W{2~6|zgHl~1Z7c}pW+~WrEi;S+?^4! zjNgsgy@6F;M1K|ZQ&KThj?A%R!!s|VGD6iOS>>Rk-;~bR0i(Ns^CdJuB5Hk9{%S$$ z)&#Plvk_ZYT$5dX(QnBbT4znL{%sm9&No$eWuz>%cY`kxf5|z<3@EBpgC=0wjdX z+^|=nOybA@$(f`t6^+AJaY4FK<22FVR0CJv%VNzbL?yEa?GY1m|9U0lH{930mL{-X z`2QUZvZP_jx||qC&sO|eGJp2PfdYDHB{=59ht}1Dg@aGyT!^~Uq z>M{JpDjAC97`_FwLdIEh_FUh}wlJ(m-+Es)L=$j%TUwk7oDoF@yB=J}2dm%rcB~^g zuyzPo|I#h=EbzfTcB0O9L3^QYqt@tc}hZQgQ3^ko9r-)?X0Hq}z$Vr|A3#aFlDkFSD@1%X9O_LTfXz1PWHlyrh21*b@fzN%rP z1cowdvP~lnhD1&D+}hA5J7Nb?uLhJeml(a0P6~}|blP#*k0vA(Z>-j|P1Y0+#luL+ zpG&=;eq{PSi93UA$SNarnGZv!S6j}{tXivA$>qXNvWVl(1498QlJK@K8hj}N=qr~p z(%o!t_DunoG*7C?#=LbTqU8mJiHo4DOFuDiay;pp(DHJ+!^a_#A&zGhWA>grn!KYb zdzTmcbr~3BI;t^AOc&X99@^32$+L_5!|Xk{&heK|M1Qn`r@zlw`ou3f-j(Yy<6K0W z_I1V~!!9L8B#jY3qxJ}1d-Qn@90Z!kk7)v}1{PPE8Yw88D{vTGC6xFggf^0BZ>VUV znWIt%?6+Vc!E_r~b+}SmQ52pD3_@a*ZLtcYI#o{oNj#If(p<9=mXzm{noi2mPcX_x z=>|JBUo4V26rPNS1&~4kempQNvTUKHE>dfu{#~>3p^~5-~RJ zw19dTn6d!`b&&$#%I6?^eWleIdcD#urhY{qU?9Kkne03JT&m3gRLQ_LPtj{ zk(8-qQw}5fEdqv@Afr>=mwUgfGXra@*dF4-Uz;}<8PHBwsTLq2g~`$!n)143nJ8rJ z{+6hgY&VQNy^)fNovOXtc0It~*X0f14F*6KAPc4MpkUlxzq0RvbqsxlR&K(|F98Gi zQ}^CI_sp*rhb#FtyHPR&F3+ldFK11+{cZ*P!Dm;2zxeDbBQ$e;-L3vUz+(xbgK~p; z&~~Ybl^-_s`l!D&~wW9U~o(o$&{wav6p zpaqKHYxO~0_LbwWWFmvv--Z*<`ac8}*OWgFuin(-SoM(VjTO3#bKNyqAKqGd*1c&< zuq+r?F>xY6nmib&?YLZ3^fGXa5thbCYTszqHJmZ+8S568xV_&*evLyEwQW`~u5^FF zG?k{fx2ZF4Ni&*e{98G-nfrA8GG~t5T%aF=Wlvb0bTDQ=(W7>5Towc(aSts2wUjl@ zoX|$O*>AtUcw0MvvGPJVFMG6JN2Ie<&cJF7a%kJJ;7S;eY_QR7eK6mJXuO4nGavUq zX?2%VvxM1m358}dvYcygm@PYaZR_lT8Tz@7`ob|nKE3zDC9q|5v<>y=E{xYJ3Oa@R zg^e!vjX57%$>9%oU}6fLFzroj#@wESYlrVH>`w;l*;-b>9_DQ|=b&X~^Gkr(x^VlD`<*wxJ*=3$?i$X2TbQV$S>$ki{he7>`y#%# z_gu)wq1b-7;b%^xt%~Y`&FALT`*mG6XXjc=H~VTwOD}uJ>Kgp;vLNWxKJLo0+2+b*et0(1?jBS8->uUV9bUfH$D5(HqUDPaiaK9bAsiB|%C5C5;ev z!z0~e?qN4%=P;w>gj?YVIxl5Wq_S(yy%29>2oR(!sZ2%aFBj(TK}IoAHZO_-Hsmyn z55>i6E0=asWv%jkOyMo54<7Tiv09Di{aF@j@~+SA&PAE!8|4?uGVVt>1?)c-Zpm*Z7k z^xs$ey8SRNkHAl1{G++_ZH)7fD|I_oT?Rp=Er(zcsX;+0?&Rvbipj%I-ipCU@@^IC zQY#O=I|zsGTOeYc2{J%NF2x?OYFYHo>}_Spz_o_VUO#3H<8gxzqHnOc?H)Kvu)Mmi zP0h%!*5XFjP*;;e0t>D&&2%C@%~&5a$!Vky88HW=lbVR9CNiD&aLEB{bodh6ak1 z(4pWXyV71xhF1k(;$3P-N__G=fsV!y`BVM(wuxC0VlVjAWwm~8%ILPG+d(Sj|4WOg z{-Z_tB&aK=N~I!_Yc~S69Xkf42`x}gl+$!3?9**XkW9=n*SacEnl;28-@)*MQhu{L zqxA+`^g!8`+3xd=L-9cNu6Iq~_4Ff}eJA(ex|+NL9ac7J&RgvQki|EO0^U2nonlj| zOh!)eWcg%D1*ev6PYjLFgbfji^$vlk@Yjc#Aj__TX0o~B@#Vzwk*ls`bg_Ci$jn<< z&)JIj;9c*8E69cUq*lzyGK6n@`0YrV^a)t^OFS}#Zf3VBfOV)i@6p}v-gB?laFc>E<)5Vh``RqGw@C+xP6@Z(1Xtj!Ikfo^DzW zh8lB(35zeCJ6r2VNpJT4lqXHU{&VHqMp zR&u@1pmheZH4U7W7h|`tp9ax6?zi>X4pO%I%i9E1uj6{)$7H8}OH;#~g$?6Viu?fl zWb$}K7t*>vBuVC9c^kW&vFM#&QdMrNQaaEV=mG1CRkLzvKe|BGu5baB2_BepMjY9v z{%EN6nQu{#Zoa66rF&>;w&`z^5_{k!SLCnoiRD5bXNPw$W@)JB@pXtuahX8~pFZe6~Pcu-DdcNQVosb|n)Y-7V9Qb4wEomSq@Qe61J_zn^K& zs*foKI;Ahg1abjPZvl@Ll#sj;8Uh7A#1z|J*T@02>z^BLUV_p+##gE?ez!$`BnH36 z{_R18v5^_52g4%+?S3KZlKA@GF)#&+mcDgJWN*l{!zwTTysuI*P88C@su<1TVsAei z<*=D~TM%hWh<&U*1l%t*BKdx4zsU9Hwa6*TKjO@v`(mNmMBA4Xaj7B)B8A`Tu@_ag zZUk092>m|y+u5PU3x&0DETI#{pIqZV=k zVg1Mv(M>zIz<}{|&vi`jJ)Ei|8P4?-<;I%MiOuRgiy<-Yi@3ipxWpS6^sN9<{q2OdL}U-bV~!{ z>(>E_Us%lxR7fa!GU6sCD?vT_l}}@>mw_=Zd@i~{dOzaE*oO`kp}iDL@J1O0Bs!~_ zvv-d`VDomkX_w`>>5mP7=RXsGosk>@pejE64MqEc1V}KF_72*uEZVRtgK8++mTHE) zD$HSXk+(w9R$b^!%aWbLODlq-%eQ1C>{X?YhT-EAM=~hVg*at(1iOAm>XLx-pB~t- z2e_=`)O<*^R8{2%B<9MWy!6nB$vX#0Ulua?6=&PyE59LNAtCvN@VJ7ds4)Z@iLJSp zE7EqX>t`hWIbYGE>c5VRi3wwv_Y&41Q3)Gn2Zc0N3@J@i3>oymZ?2PgHYA?gVr*gz zA2~<;eMeev|w7^Xi5xw6l2PQz*uhcfZy5&FO{A(H+s#s6ixC1w1-V z$PgFZDM<%2Ngky{IeZgv_#u*t5dS{5Qr1cC}@$USaWQp z6s#STL#dO6leA#dv^2?oRKDg(n<>(Iu{5zz$R>8kzNZhmqE|m0|IXlsRj6Gh8R(X6 zQcAr+5-;)W=H%+s9jGEzA+H(DsN!CkYT=19M+$$xpgwoFi8!Luk%jkzH*~;uJv;mA zy7%dFnEBJG870(#ARsdFW?L6?!D)735DrAn;*6X9y|9tcM_!+LORzn~IPf7Z4PBFU zDMU&ay5!g0&HpVLfLYb3r@eL5oNT8cK!pjkY59EMNVfX!4&3wz;bGFO1Agnk*YH;@ zJvNH#Kp zU8hVMEsqn+Loe>{UigEzDs8V-_rSPvOh0zObRXt5;>ErHm+#X0pg?i#)28(v?Bfuee(rC;3;bJ9N=}63K z{>LAkLiArP_=fyDvq!9Q5TY@!F`8FS;5p|bQ3#}TECpCut3c$Rh}gdDv>|w#zN)rR z<;?%Cj_mg2^L@pnHK}K_;c?#YmG!K})kPa@WqST>k)S+D^;J=*#lZFmZwev!ThO-I zt~gAnUbS`Xz*pZM!m55y)9Y|4TPYeH&B|xKPz(55y}8tVWWixKOpwEVS=}|I{W;xw zOWbf9qGCyZX83zs2K<3nmp_Bua8r#) zz@;+fwsGEB6ML+w$*y^0IZ2g)mI6Ru$Q)U=jfIs_IYNLn!4!fBbB0mo>PFxv@3{aM z6va!7<=>Qm4xXehB)afnwYtPg(fRQpTwP8f&7V43xV6eAZ>3J991rzqZ1dJb8>~!h z@Fl23{mrOZ9g&qOzrGfYDf8u!a{Gl`FETRS*+K9ENU7jhW!haerJ5s1fSlLmZrg)V zf7s1=+P}>eAk%b57c$%ykwlhJ`$KLV1yH)yE}$qRG_@e6NgO-<%hNAP*wl2z%Rqs3 z8rz~ewObaf7EaqyKmup)*j3U9K2V-h2ZBHR%Brk}s5MS;j);}n#hYT~s}s_xQ%VpF zu(N3LBJZ(%>_LI|jy((8*{H>@!#lIF+V!?cxnt>viMF#LJgeI0@LhQGRsR?!gYx%; z|3`_WGGsqDUCCw+Ol2{8Lr3>D;z2x4aM}3WGC!}0Q#4qfgu@YTugBwDH#5QG(-Q0U zRY6O+vEiSJT^Q~^7K_8TCI~Ha>6~h}J@cS~hY4JF>u57Y@MJs2SEv zgPu6>syq5Ad^i$a!awE6QN8%4s|4cTh3KHuC<_!3^( z%vkSfEtTuY@nf^O-4*_0rrDF1^AY*JbMov(fbND;tF#ZkAVXl1$w=5l&M&zycolSJ@(mT-((HbE{NwuXUAuoCY3N#2g!){1u+t$Ja?xAGh*!Fz~9a1Z_zb ziyS1Uu9Px{y#-GjYdrAn2egHUPJ7?{{wbGu;mlaE%yp`m1XG-tTlX3EHw8UHC_Dsy$mL9SFY0!&Cgqfd<-d&$w?bKqthFI$U7mkh5gvx8DV-NxQibr z$-_xwDSTN$=bV2mX!eck<^i12WFlgI=AXrHr2B5b`!?PSod|H)b_()DJRxn3i7iY1 zf91^azkK2KR>)ZzyUA-glP3ijIwCwu+xi_(=sM3#GGm~7iWyN@nB3fIk z?T`}u$$JCEyLZuPt_~-*FQhH0)`tR}KeXH2#F5rudKnfA6?q?yeu$zD$N_JuR%Wnn z#1s2d85w|*oh>0D@n(h4dwG71d#|KV!Mio}_K6Gf?tC>|K{qUxdNj2NSmoIGdyuL9 zk97rVF-$u$AH7c2ivD5n5fx_0NZ6TQ>gb(t8jm^MA6`V3w0H^-n)XpH|2K2)WBuAmtD)S9-Vk2`0(QwSmgRtu**1$~ z7dhzg$eT_iAbF``)k9O!6TI)6T_1*@5%TqF@r`;z=Ulor{e(mBqwG?}_g2%3mGvY` zyJ{P7=ow{(8%jm%fD(o+eTHL(Sja^!ng~$GoptJ8VA*B2UxGS0dsYa~?9(ChS!Sou zfsC2CW@c3q%1~Ej3(x^Hx$~v?@^B$9Ax)7G*lQ#Vm#B&`q-oxEJ`+oY6&~s$lj%we z^{Y{x<`#~)*!2CmiTYPPf2khQZhyz!;FvIX-lt&~psOgwaLcNMxbGJSy{Z;jqQs#| zzTiSX50`uNsP^8f+ptqLqdP|J3}NQos+vW5rMj%*2E3bOVKL%^TlMYPTg~*~bq`5~ z%Xwl>`i~#)d$nBN)Yo{#cr^dS$ce{`QYf%!_bVK~s%jdsF055O9(KJ=&5ehrfv4S+ z(W;6Yk!3@B9f<7dk9Br&Y+$&*iqGFYveL|AUt?j0`Py6cm9Vvy<66zkt543>loX?> z#?YM4hne7py+k(m__?CyvmHn@nPdAJnR(NloU|j_4lzh&ss9W9)|5I0h8?9Tcpa#} z-Z|&xHHB#TS0DLrMnTDA1*B_yVwZt7jf$$Ng>=B-FPyN)w1#z#i>2#l;A5YjchRY9 z{Ni(&6fSBcr<+h|+lkh@bxY^}UAjZi5NNTGa&=GoS;ntY7Q-q({)>Z&7m4{wVMvo~ z|8G(LBm3r!Vcx>Vx$ygqPk5~1i61yBbqswN5Qb=cCGoZ1xrJi4q#FZ^u|zlDlY~P% z`y0Nm2+AprnVHWKW@%zX>QzY6eeHdZw3A85xCI!4#`^9`8+HXxp4yvOUgE}JEQV#JX~`E7sQ%~8cQuzm5D7f{0NSS$<(ph=~Q1FukQmjysQQY2|#f!k39oAQTHs_HwjHQruwg8h=Z7Lbq zyc=i{qwj3)T3R7Bg=L&kkQ=P`_hP2Gkgt4LSNmBopkSnKlS8H znnR1{$dJB&p5=W7`QH?ANQTfl<+4z*=-wpr#S3#PsA@LdD2M>_gMTr^q#kU(eZqv% z?)f1pg)}8GIqM_!*r^)L*@Y+ONv%iOBw5Hj2>DR|VzmR*E(U`CWxnJM=dZfNmulLU z=t75a#o2#=J3D`oY1VfIruiLfIP|FsUY%w*2#e+&2P)@qvqIV)Ag|{#K|om2hUjjV zfC?fHj_z$n0r&|}D5MzyE3UkXCPa({W+1X}l$=^7XQbw|tsTsL%_p#X2gQ;WSKp+a z?BhNlsktBy=G0yDAvG5B=y2S{DC;z5ud-MC+Bh=fW>Ul1%XA?Doatub&V}2Cpp)xH z>Tp9LY-{P_1v()gYWwbhPMU6=1o5L$l#VIHgKnC}pVn6Roei!HBGUJe=H(KZXsx&3 zjGtY^(|n+i@t>&pRYB2=1n2i-F0d&T9ip{QuK}O+O@)osv2AXr@5$3%IK{f&DI`*I zrWrQ#;CQS3Fd|}bkbfmd+~i_nv^|`~^MuomNTWfziSzT3VcKp@J54u7>wvPDWkj9a zi)Ll|fXG_P&kvqAE_)j1%hA@+N7g4tNWS^|3e5am2W%>F>ndw7eBEzT; zct)}~v!Prt3WlSWswsLMJ7Zo(&&z5%5tnYiIN&qC>9Rxb&cV3Rb(h|$kCL^<++&G} zL{fB8K5Lx`4A(?Yh;G=Fxe%1h^%`>REPrENf$P->Pox2C^ zRLmmdwacp|)6?s|92W+(*DW2404!v9IKMRthov{3gkTf5=A&l8()a zdA^c`j*VjuJL~>(23>vA+0N62UxzN5-n3u;!R#xY`4=0eBX5bia*eg|l9sOXnTd3y z%ZlAG#S056IXP*bBsr8C`w{jxq9n40y>ICBnc{n1WG%KC!%o5WTv;VGdSwB^$mggn zY9*>+US(~9O&(rfT5^=`eUwgpy2?(Xm$IxOUp^_TqMSVTr@w{}x<~2FF0&H^6pn4U@MzSv5|=@$ z4|1BsD<`fpT6ngnhMRoK53tiOI>HY=rf(gJ;+}$(QaYrj_{XH%Zx3=J0*lLq*GRu* zbC@*#(zT}4$_cc#_E!?M99IUvJPAC@r`ar^+MAE-a&QBUY=N6hZ&i;oB4Dbgk49MRJwM)hb?181`BMAvcp98N?A<*qhHGR`PxB2N)zbHrj0mK^K=A8QM zdn=bg)Mv&xd<&?+;unhCI`RJRj{YD7{N2(sE;qkv;*y+hB_c(X)KUR1RCvJh>@cBMJY4Gr1IccWF*WUH?HjIN%{c1 zo3wC!w8)>ys=bJ_R~1&3M(8gx+X7D2oJ_<^DP`U0avmGks6s!KW_==1@gMX5vrsPPV+S zB>`mMI{XvZ&@-Y@uW60->+vm{vJ=;^ckK3D*$T~8CPc2h*;uFrjdQt`5{Yz-E96(P z;mF^S6T(7eaE3kI8z@%|jTSYjB!q23ggb{?TS$F#kTrO3n=5=iKCUT2e1uo*yS;|I zhQy`f)xmQtqb1vWDx?v=0@R_ilwW&v>7^-UKc41Sb(JHvcBfUzscG(7DuuCW$s&7-9!2%7 zlaA}j+%X!?58^{w!W*}sA-9do%dixM@8psN3t^g~>AbM3kCN$OcW~J6uPsVxkGX|f z48FQYIC&7j^-1&3qjbR`A5|Pn;i<(Ih~dkrTqldFMtp^zDc7@7n-C@{hWw_GVROG1 zF79)OHo9KX^k>d_ge*#m%9Jpag(J#1R5X3WK^Xe}RUr)puWi%n?au0I&M!igXlrtxabJ|T`T2`{%M5XV6 zR{l{e>@p2PMgUNo#m}Iw)y#Zn^ef2lT0uxoxXT4uCo7gPYgdlt=^o}Sywa;T)O|n7 z-(1@;_Jx9Kq#{cR_r2vSdx>EKM+q#(ac6}$C7tzhe$!{FX7Th7{p3|g-OEKS-b^fm zk-`7a*l~h5e#=FZ{tVPfuK(8}(T$tM9cv6}!`( zEg3|r!nFt1m6!6VDWp7w+CFQy4c!V)+zwua6l1zv2Ok0e+oh) z+zDvPQ|o|x0(a$uUtlc{t;nnt;pLKP>VXiXl~bqsiJe6w-a4Ez%Z5+7Tj{4=m%`Ng zAUJRcd;F!hr0}o`_fQ;znn|rgjQ|3h|3E0{tara6Zh)!|M{?6=$(W#Pj{o}?aLKjH zdAK+A<77&!hH@T*;(-rCNS%R3ZH4lu5{AU2M0`dhI}rrmXps7AY`;>q-Mmq|YjCj? zaTR7le)>b9z}c4k#(skjoVNdmc6(2@P8)bJ8c9n0-Y_~zi3rq(SL*ukcIx8_G6qXl z25%B`L$7YGelANfuEvbpx7#E{u4yjGhB~?w<}|4!%cxm9TZ5ph`jdr#tvO1kv71m1 zsr*S<%*);5Vd_KblkgbHglRY5QGARWaM|{v4ID4Jbep-$vO<02y5b(5gl+NFE4a;! zeOZYtp8WaPJ9tUp+h4r*wD(^p`%?jQ`8PfE%`?1FFjI1(lP`)|JT2cKRmFoYvob~a zIsEBZ^R!-X*yd*V9)#kkFlLvgjQXN@+`Q%OqtiF zl*!3oAdf-8bf;NOVqVU^E5A{I+}kZ^xMO9oEsWXn!r^F;+mK26CiW%M>Cpgl)ekJxiUM+GQ2X|NoLfs zNlh7$$D_#<$89?*0l=1w5Pw5lU75z0{o;qPCcS zaRL>dVj7JxynUT=$GJKq>lE`NTB2g+uZN}_hgUxaAy$OGo7K5F+5*2HOpFYv{CQ83eKd$_wmm6*KGXH}TX=*5{2$EoGX!0b zjE%lg=burvaZZ&4u5M;@)RuWqSo}QCR$8JXPhUMXgM-fX$P)rQb)KzHlG{*+_tBd?=wtaV;PW z5cMOyM+T?V2qLpN(1YE6OeR?qH8SC1Z`0tFIdY72l&NYiJhL(*d#cgfE|N{nnuPPnyI{!1C(&R$$w8v{^J~N(Gjaa^;as&Fr#Dmjrbx z<_hT0AR}O@gET<8DmzAFNgENfgGJ;97ClbNTzHPvWaef|;<~6iqehCgd*$V~uPT>OxzPCE{369Q&p3pu7wB zz~s1zWfk*-y6 zq?^iv7+zr_z68u(#~^W>UPmqv45Wy14ld%IJ7Cd#n7HEFZ;E#`l(2e1Zx5a~-f|z+ zA=TLEf%&5GQO#)x5O<(ngey)_$DT!D%}D0Bbl>24*ykf?F56z*QcpjrqA`F@L(o5xwzo30v`fTI#b4vIx{2+Ux{Ff_#XkgJXLZ1LdE>&7LTG!hxRmyXGnvvCg zNO|^OdFPInk!bwBCONJUBtr$5?ZMvV&>Ark;=cSpqP{XL%IEtV5d=kPq`O0qZcuvZ z?od)1>28!ox*O>R>0Cg%k?w}2JC<L5|ou}k@_%C2Fk>w@{ySru@m13h!z34*uOJchhEdM?o>v%(kPt`9S2voe}Dt{8{FNLYojTJ`#EEk=*NJ2|UlTrV2CkvD#ji9pW-us%S!pDTl ze%5fYCzSn)3Loy+f|3o@Buko@PJBYT2au)0%Jz6PHp&sX59-kzRXvq$@*+<#02@qmefXX3oxAQ=Fn; z#>1{cqq0?+SI?~i$y`bKiE+cp9<+PuK9kAmfLDsG(Nis^QRU1~+MH~q@^-{S<|;Zx zyyQOq{^>R2r2OPdx?J93t$ek1g~`w%-G*rt`Uk5K$Vtzy2~LuIRk)sp?02MeqLRb@3FG{S4JCoHR*7M3pvsTjaj46?j0=1 zj}PIUOKe-dAE7l1AUaU^*z53@;lP7Y+1CpW3*AuN#9ZD=!HG?0_ooQYjFDz2s*8+4 zBpI^&A9ZAPJ{vl)#{q8YfXKGURbWeAF&W1Ihk}!7h-s6iVmeM1x6$mB89x868;pD< z;(X9^lc3B#Ea@o7#|0iL(6sC)fAcGxi9%vKdIzA^+Y81Q<}0 z5p#oni};}UAWLD=f`*xOp`*-kc|ak zuGRO`>#9&`<)Cafx2kA9Qs z{)JhRBXPKf&6lv?P+)49%(Y2rl6n>mN=+3n_^OUxJYU$Xl+WWarlRTmE+5l2Z7%Md z)#c{Yk+1#mUY`fiqrzS(ha4ZH@|O1MFp$o}0MAUPu&NSUYUW816JH2^9UYj4-G(Yi zfm_hKfY;E#mVEi(Q>Ndd|M)MJHImt-@iEsmJnF9RELJr{32k%Y8q*1Jlj%bVUb+X9 zgKuW-ATFgq2hqi4kevb_*}Upquo_8?W!F+#ml=+ZRX8F%e}goA7j0& zjx6o!kI+i3#lg)358Yk5KAMjS?I}~rqq;xT;f@@ z=To-^(NC#0MQiF`1RUrqA%P^0X<@RZ(L8==-Lr46L}w_#G~np&Mx*2wL8pf3K9q~i zac{rcC>Yev{Iyd{atcj_T%N9ATWMRY$gj@*QD|sL|CQPh72h0heSku=hc zb#K(&%$*8~^9W(Z!xq3vUgYE%E^x` z#vBM!Oin#qizzeF=k#jK=>g#CtyHWGeU;QqF_DRU?61oT2u8Bu#dVj#W2l{v1LW%Z z3EyJ>WJ?L-XIUejCI%0grj^ENDJ?ztRURPBU4VE6$vA{fhaC|yWtG$|aAb|`Z3Gq- zc)d;ha5KV>4OSjn<9zLLR#c_l@mQXSFj#xF>tVn|=al}^fq?e^wL6FBM=1k`*Uf^B z%Rlq^hr)C%BxVsm71p%VK;V~h9)b8MbZIrM z&+Cj<^#tEMHF-dS4rE}4UUUGycH^CRQ$96u)VRaMsShVoOt{_5Q;W>V)CA!W1o4$5 z;9Jvz`7#`N;%?<%J9#w5jYPWXEe|_;{er*0X2eL*#4CAW)?UinVy}DbmoYU)sA91oMR$fNBP3Aidna6wu^%$#o zSnSWLBuPGsBz%>8Qzt5tY!ACWTUlC7xer--Gwf}Zg9?bv)(x=t{@GZ+#&LZ9cDUR*Y*C$@I*>g{bz9Rp|lo#1g;WKVyzW#;=$#0U|h9l$$Lxrmcwz?E;0MzT*E>)UcS?^_P-dPv7YwE@ql*#K5 z6<(1FqPAnlKNuY)dQDvFX#C!tJXnN#qkx2W4XdguN_tK@KB}LJeXBS#^h3)e=Dk0Tz*q*AeBl3BPNaf%V1Gkng1W_i5?7Jt`H#2PBnXJ~3Pq_Jp3{rID@m6>mQ-(YAT}s5X(3rnIzq ziP$2Z=)IFxx%J~m5nHHNF?)G=@TFv1E@bG|HOI9oiVC4RnUJXrkhQ32u;{=xu5&cl z(y{m~%!#z=nT?9hj?SV3@U61`n?-W)C5_~h0oJe0Do^|HOk7i2j2aq#VEBE~0417O zbQ8(bY2b>#Y+FwI>ZN*Q^FmMVgT1>q@6XcWv6E8A2T;*kXISMlF%kkTQy;+2^@!OG z%9kexh0C3r*3E}}!gAtE0-e-n+}H#H>YrzjdPs6V9g;hqO$uwEHtFBRHd)*r_ooWt z&9dE@SIUf=Jn(!yW*glafBJY=;&Xw@M|cePz$L(9tL6nlh>wOEQS4XyphawIFqeMNVB&BLr9ZY>x|8ld7~jxye_!*nTQkJ9ti$ zIDj(Sa!18`h(o*0_z$Rm#aq9gjJgWvHcyx^mk6C7UP zBX}a0mE$akB$zt=s1vWL99b_sHvzPba?DvZ+NI=8Q7=IPoFU!1=@ym3y zO^WpA?04SD+($Z(RC;EinKOyVK(tf6gW33er+z0CyjYc&>|!}A9Si0m zZA*_lzdf37zrOs+D}2`$D%yBn94}Q^eqz>XsrHP2(<-+VI1rW`j}q(bTM7s#wEI;qy&}!~L`j=hH&jX~xl_N_ z5ynUE`5Sh$8a(l3gztk6UmY#)80zyriwN+_t&5U);n4hGd-nVR^!hI@+oAsF$C=%J zx7UIcU!5!jPnBD@Y~ zuMRnMyP0DimgM~QI7yeEhfG`{K2eVxR*6>?2zvq^RKe?|0Q(rXfK&Yz?=$UbGk3!sR1=%#Qaa>93pU+=%ZB?)nTv$iJ zB}p))dqNPfSA3KKeQ3HV@&g8T0H5<|0}c}GkJOdwJ#eDI#{Wq}J+eY9@gjQf`1>M+ z%n?ey{7}sBr|rByMf%x}k@Gyone^jCK&;d38b6>nc3%Sb(TcoB<9V2Oj><`GUby7s4+q{MN zsdw;YgZO4c;pB|>=D9$+)*@96Pcedte`*5dl7@m%<*Ufc zfFInIA`inmsYX_-ApzO&{uVhtNx+0v-oezdK%yuK(=dC2BdOXKOx0SPKin@7orF^L z1&3yo#q~ZHDor`->LtphOaC^FHC}}u%3l+>2&v#{UU0`q*|$7OWL_>5GGzgjEHi7$ z-ZmG(J1Z}@kF|xzyMrgXzf*lprKvmK7_y2lri>%+j~*>ITR@F}H^mKuzD9)WN9ZZu z)0o`5mDYc=-2WP-aMrZ9b@sOLk10TL%JU!TIvIWAQ(3zGGj2=oWGfBYJm#FVe++d0 zAxB2$T+DY*@c16h5;$^N+FKd@>hBoZDP^2rs4~Zid$-k9Vp&9Yb7T!Hclx&QKHg%% z+x-sx9>B-=P`i)E_~rsJ46*&4JUko?&Yi2lXeAW{s92K8VcjwE*uCIki*pBis2a$) zN^_&%7G~w@T$1pVnSt_YLrx}x7w)K~O)mT->N2s|KHmhdc{A_rMn6?_%|iSX5y_Ln zSbX)bLZ#ELS#B@ilb8r3fLN$P-6zN)Q&2SN&lR6@N8nB)5I@h#RgZ=~i^QA7rt=Qa zwNDrk>2yniIvz&Ku__=F&dU0|0h-nyMFD_YLr(E{gD(_&#@_FhMKTYpufd`Lrd`c=rc7`?OV|ucHb+9(bAH{<>ukF3LjR+S`fZ z0*~R0#hHlJG~SigzxYao{=ddGyB)~2MsgnZHT{0-2%}kUS!BBGM*_|SR|)ts7`MI0 z%@TG$v5(r@p$n#x$7#|_KEZ(YHS9jZao{kc`&GZ(o~7XejxF$v?vjKJ0P)H=ibmPb>Z*}bbLQCZ;| zK_m|k=hKQcfi3Yv5%+bDqFGA-Egj2WJaTDqYst_=m!9ahdgwUa6lGh;L;cg#PUb! z-&zcU!@MqmPBYf9n{{%1_LCKA&Jk0@7%8x3;QTJKl}P%_ge@Fu-LMnNQ@hDLA{F!Q zNAeI%`sozsGbm?j%K_+po3#?)-S=IZfPjV|tL5uIP~ZUBET=ZdM^z z9zF8>QULFXvH*yas8odpv|)pU80A*bO8p^@U}mQ76)}I5$h@x*_9fw~*MU&qS5y=c zsLwV0ozW!$Lrlf7$x+GL2e9$${^-?5^@0kVZ(i_)@HBfLOs&|}y{bb;Iow>+#{3)Zw1J;^<@ zC?`UD-U_|8hSz5uD7hY!zEjgwM*3_6<#cL)3!qUyzq!W;V)%uyXDcU$o4E+@XC&*M zWV?fm>#5|3)}JxyRz_ooW_;z@hQKH`a-JWcw1ki1cfI3OZ#9jxxgB|V5oy3$i)JFz zxAL>Z2KLiLhY?WZq7D6{#kar8`)WEwN0p!~x%EdT<>WH)58C`f6nlQVtCV?;GEPj4 zh{R72HRAJWF(t)hN#w9+1qcyT?+o}S;@LzQ9!O8OkiN;-vgA61Rd*kE0E7Hh;dN6+ zaxm*{P2%N4=bFjo_d~H}$kV-OV2Zhtn&^MaRwc`LK_m2F-8 z`psmcV`aX*>t??~7tjh|y`M=Uf}qtgnJBTh4(CIkoqE&GJRh~2T#1v!k{)b$wpHP3 zl@SVAc8o6>{`M?yg@4kDQOc>tDNBNQ+L>@-FO?mWO2lOhw>ga)iG~Vjt3A3jHH~1o#;z4_N;EWof8CSkJeBSNDh%$3$)^T0#Li2Uu~T8| zbYzzKo!?Dfz(@wN92I9@V=+t>HsAw=*);wqcUY2P%A>bz;VF{>wV~sm zcQ#Y7Ax2ti!|k>wO2K-5nBw*ROAGl-9~m{il$2p^)BPLt5Exynfc)ACmm60?KveZQ zBSG1jke_#H8-T8AJk?CZP_az9b&ZHyof7yh&)=$u{1eHODE~pygy%+xQI@!g1;+dD zVa4YBLx`g)39|Wj^3vOH*H5^oueBDJXz$QzB3LKc;B@{sFGZ|ly3gJ1+x%)CZ$Cc5 z$>8p_7;e{gtRUkJ_cateqM3e+U5f9|Wy# zHF$PK|G_y-K<68Wq7Lpb2N}8$3D=m8raGQRta7vG-e|Xv>E@@Y18YKIN_+1xK4tKN zQAV#Z0Ilc%lXV+7bAbaF=u(dt%f4Pe+?+TwlKVS}5X$+c$8j2s-hbYut%13o=?TV< z7UgBJtV}L>?d26R-X}pmD=L|^{Em4>i%1<>_IBNvwKtijfc?~PYqD5=hPC>KW~)dt zGaf>S$PhLX!&+6Xi?>cx{q-9*7SEGNJKhPi<~AF_D<*OBmyge)Tof2dCtmss^!0b3 zzKhS-xT<+kRu|3^&Og$Kav-&ey~B3d!QZ^D{pI9EMo>d2e_pfT?(z4ua?d*WpA-1_ zx_OavNJl_`-T<;ufo^3VDW%tVQ;U3b>Jb55dgJm@_g7tmg5RL3U&g|7i)7l>23JBz zTV%fLR1kR8|4Dd2vYpk7=Azz#$+fL@WsDDnf@IGWrSA8)-MWTmK9PqgZ0UHCbNy7b zG%#z;AKpF1I$r!IzOeqM6b$3TdFG0p=}Es!)_ZCdY|#anB-}sF5{%o zvDTl0;{?TH%|HTKn=1(~qp2x>HE1I6RCI3c)!UQUAE24Ey|aAGIDjpYnHf2e7Z7;8 z$$FRktQD}k7DjRBbdj|+bTv2P z6@6U27K=W{7uv!U^dsx+q_8Z#Tuonhxabj8%ng?mT`Xq=(w2sqf#*sP)QN&<68E~h ztA+~@&qxKMvF&rR9%NTMPEQmJis=0@WlM4#J=;1C%WC}6;iZ1?zs23l#v8I#$JJ5I#mqs-%Vq5 zI&!6F#$2aC;G-&S(~_>$27A2YdV|`3qJ>jgtMdJ<|Bh#r{~am6kGBrn@nbc5ay}$- zj&O~nn56inl(RhQ1$*INKx4Gweu5N0C2@g)b-gY3$%AA$yk@M zh&c>a;3%#aQ)l@JCMA52ppbZQE8nLmes0|0tS3?;zu?7Bg&d)!oj~X2Tt+UHF|+6< z@xdRcg_p+RqUa`=(#bT~l1zbICYn@i${H&jOa2Ro@fq~U_7A8eLv1Z38yjEfR?!H@B)_0HAp3 z#18{AE*j_mYT&HE`TQA3|Df}kGBB(0Yuv@;wtzjItUU3NS3ePrrG54>EheR043V5e zi@iO^?(HCw$4-$qjqQ-SlFi#fuGX(X)IgR7!avaG<6N6~_b0ZaT_HsXzaoXDn$Zd0 zpkw|0PS=?Krx?_xc&!r~zk+0in*cT?*AVb$go{nv<0mPi%E#5Q&B@XuRr)Zu3oInW zu&VGf39Q1uR3hqHboD4o`rg4F-zi10Cp7^7TBQ?~HN;5bF}><;AxnXPCtJd1DyMwE zv#l*&8Kq1F?&ji8i=cB}y3vd~lFuM+2y;rk_wY<@$s$s|7p$F+`HaYp-S=aLAZSh& zTh25C12!kK?N2vgfQtEy=KJnFGw<`lq}20|Q)e*`dOM^UY1~K##dB>#;!eY52Lp(h z8o0>Uze)mO-LTn`67FYlNa3{A#xFfV;~B!^W_3qR)CcH$O3zd8owzJ_y4qg*E6+Tc z;<8BH6PX6Y89*7&P_i_#U%u{Wjm~+e11^~Y(ps(L(oSE*2MayC2T!j;m}UKaTR}ug zxa|JqhYWynA{|PdqR5^#XhWx>9>qg*%_#9*IkY1Hv)DRZyvWuZ&I~%XPg(T+j2kWG z(C}=AcpgPB7y>s$S`{cc#W&7E!2HPZXor1qqRy}`4R&s5beKcRi zk4y^tT)W*`f@+8_c25GJ!}magjM|lsThHvyC=68kAVIB>C3ozLwYj&q!z=gWjk}yt zwG#Y3qf?@jpq=y#x_4zC!d^G(tn+k3nWa6i$w*>Bpztu*qTLOPMk~4Yud!grw*Dxpx-|=?}R@THRAikVOU$wCsz5eaq$~c?#yJqc3X)vYAp!ucSnK_4Vg}g}~4^K0x z{l@en(Z8=9`oC~{+pb%iQ?k+{N4IRG!7>{$N7#6k_H&-l*k>eXIJ7uU zZR}{=&m$<$0{+&z!B}UsKY+#FYG@1XfLL_USHEZxJ8gPrJ=#_@ct5|_yb?TAbIo3IivDaKWN7yrsdt-3%!U&m>`Q|^UDb3j=ydFkZ>9>oUkn2=NG8n5dP;Ct4%Tn;2BS+tpIx{pj+@?|)=V=;1*2pAd zC9r|GYA6+$8cbF7tk-jq1c)F^AV&9Y`OHOZN^y;i&tN7z)FbfB?;F#A59a*UHcN5u z>Yw1|e#J!?lm)%>VP%SP?73&c)(0-x9U2o`A{TM-jW&NC4v$^ix;5=}mk(aj{UUzxiXvY#OkWWPOE%06)1I6G3 z2=@LS^X$5k;?+}ddfmn$edH=Or8V;5W{>Wyws>^RptdmU;=HfDCxm`<*G`H}{=Jdo z$(Pz*Jjvg6Y>4dP)F}#YGg9Z(kD-nYZ{3`Lgo!uZMKPFKB{tY8l#1ZstE`5k&X1zS zDL;Z4DP4s+H1sc1Rdd&J=7+7FKK%kzZ`&Bjznw;5n0%BMHhN*Z*3|9*`}FD`EvWlf zc}Q&(hWj>cJG^R32}Mk=X@NOHjk!g;B#?Ck(_yryyZBB*o{uo%8&yJQ^>dN9{aLL= zuiN9g2>y4dxuKI_ongq7-O0%zJOgY3-aPAyo$a@6cW6Y4SC<45>Drnsvd|_#?9{IT zuIh2YK*tW~`<`D8qyt;dG!afcJxNSr`)Lws*#ATiX#iNI{f$A)Gz80b$HM!%^&zui zcsxL@g*Rf%B8n#Rc?<&pg|rV41XMx(X2@~xDc|}B8kni%s4b#2>*hM&BfIAXL!JxW zUPN6LZszX0WVfdglj3)%}I77 zjvuEcX?W`J>q;|g=6GiUZm$FXb01=n)J>4BZqhQhwtQ@vhjmifLtQBPU{~Cq!c~XPJ^zv7}fgBe2{pu+eE%L~GjP$uSJk)YFyL(;ji34Km4On&go!UrLw@N3J~m#7uyZkirt|&AY))}S*Xy6f6A;@!BWI`o$NefSgRnfkM)#10@yjy5RIwi3d_=6 zWIOJothe(@{#-;*o=4SiOc!5)CdkFTKK3CCZpgNE(U0ZX)~>Ryjyc#Ao>+d**GE!B z0-||Nbuf!At__ygFB7u3c@gI{g!YpnVg0(5Q5gr2s$1GbzvfS*KRI|^wlQDZ( zhQ6oc&yE-QUIqs!r%Rwpu&Q?dLL8(l*&Gm9 z%!Tqi`!A#SDW_|(mM*Y80$TmmlqDHQ28bBQRLSY|nwC(@%xnlHL#h9u%VC-rP%ffCqp+)CXYEaX`3?zHZ#;LT?-I^h6dQRv8lpO%jLuo~ z1d&SxcL-)-V>_omxGZ!`h1*1tI3O*%+~CNv%Tc38Tvu>F2)HQtC%Cr_T&ZnX*?;&h z8Bm>L#T#4GBx8jV<5{8x`B*zUIoDnA2%;W{Udb-@+e0wJk3KK_owmWBlH)G@GbW--EFg_q1oLfdep`L8o{N`2t(< zph${sYj$O@tHPu*#Uc_`eK1to;n`|xzf{I-Mo{dt2su37Y@|lP{)au#E*_u$yQaJ2 zxyd)lrN2y3yd_j~@4MsYItD?HE$jBLI6)zx9rSRum@OJIVUDH<%~Ns77QjBn`tw`G z_OZCoJpOcVC>k^rIu$IZluuTUex-}#6$>p9p|ChyeGFL;_9L^~2EiP@n*G1;n zr^wu9&oCV<1NS7-gBpK~Z}MugNWTQ0Q#DtU(E054V|syY_F;WMlm!ltGZJ1jw@3p# z!qSm~&>6cTMg++EM8w0-x9%T>!mB&m?S7vgrV~+4kF||Qaec3}O86e3UE|HZz9*u zYSsu%dP|ITbTexhbTmvUun|oFCw-Eg|$_Z~VPG~tPqs7v(Urg6@ z`Vo3udJ>ZeyS>;EGeuH#iKS8q38rs-AFM%pFOGTBRd!M_!PlE!toxyDPPfjPpJDq= z*LlCg`ldS$#E--NK#_E&E=A2IH6Z>i@Ge?BvYTw-#~?)Y^>lfT6eVs2WPhuzp$F1W z@l$0&kUq+ti(b+4-*9o4_Oj=&opR)w;?_^7KvwQu7nBUV6p-mLj)oHe&+E2$e%y`* z*Eo7*!l%56I3ws6*lB>L2w22O!0H(7jp@NIMwgeH$s3NZ2S8M3S6!}SEI(W7yk%YoWR{p`8xEXzY7 zIRd*m{@)rr8^L-G`?GJM_EAzJGGQu_Zb%U*PnCzRaut2_&_A3rQQ}8tQJUG4syulK-?*QgXBa1Lm9o^>@*msrg`e zl%?t0a_BW<{O0dQ&OM^`{gP&qG0 z+J@sg8~(9l_P3@{;J-Uy^E%zalq0}ulj*eS8P=0D+{_@YCkQ361r&P(;4ov**NyzdI3W5h;urCs zSHK`R-;3cLAXr6`O7qjRXnaHJx9{m|b72gAHoP ze}Z@LF792*%gj0#pUucLd^`B?JS2ZxfmqKfq@_OH3*I6ZdJdMA0!GpRzu!ri|Lx=n zcpV1Q)Uf?y{|_;3tpp?QbJ*~m5MzZqoSZb>>}@8s7iT50k;Syy8%yOEFs13oA-%-h zc{_mFs>TZSWS{LBR^U)r(k9Hxea$CDh6Q{Q{22VRWA#8K*1gg4ZK}we@ol>Px^y1s zF;HEWP`)zza8F|eBS-g`S=pRKkJEjr5Et!+n;@;BqhjnA%@yPPjm0c+!!a8l4XxyH z2(3wbcRR$8CEiJaBs%oP_@2nmUV(K8YPy$JyJ0|yOxzFZC&6^j&DB7-2qTk>JbIia zIw5NLXCON>2qaBvQBiv9VI1uhA-DTc*X3*z^ph(^I?iT8+p@uE&)cW@;A{s6?|WUN zuW0T#VTVq;Gs9L)JTKGJ-l5Y`raZ|A+x=?CzH#u*Q9@8YIi#P2w`FbOI4kktp^9$F z4dobpj#QfqTp6X1`m1WJs}ZMVR#%jX@Qcfr8>^4^g!MkoXZw)^UUE`~HYN^;Tz1+o zil&y>Cz0@-nwqE5J@wdVftJi~Bl(>rlrlI~&n39>$YIak zsfS;-bsoRt?+_AS*jYgwSi$CQMhf>{X!UvGIqzCP9zx);vs=gW_|;Vu5?s^Q^8>U? z0>1fMrlBWaWE!RaY`C|0ZJF#*6H(hSv5H4L-bE+Tp7R_tTZHIyYr8hBK@028!CI1S z;%ReQI(JoC{O)O#@oP^$E7GU1npYkD4nih6NVJ>27A}Lu;bRlJJ~b$LQ-o9&roySm5Q~eJe9CQm@-rolF%Uf zH{U`GjhfS#A#Ki*AR_Fqw^PU?n=!8trNKGt!VUVX?>_lDYBDI}#mdG~D8$eJLFTJ` zM3?XVsGM8*Nv)sN2^pkxYK%uB+Feky$ZmPMQefY4irYDm6%B>`r1U-Z$&fe# z5&ztxJN8-{kQsX^a;s;g?IT-^MLP@O4y-aY;aDYzk)F!(mF3bK+75KpGRtZ zFv)sWxx6YE`TGCZzLqZ2YlqA*?PL^0BwsQIVWfSX3H}xjQw9nxd>?UHFPh zJsVXWR9#k9q8u-@CA6iR$ilqCtY{%HU>a+gDtp9#N))g(eJC6pF1zfeBZ~(jv17f8 zZYe3rPm=P)Fv>2`*2qw7VEZi^)iEG9q83$1BLt;x7a-zPCnj&FwN;#gCFqnY1dWoK zAyd10>DhMklZT3H@Fff(7pi3_P+AJBQR!W~ZE$7In`2*p`5}9FUB9?^yhfh++bHV6 z4`aG3&ZyiLQWrh^{rq%B!eoUgs5CcK$WVV_1e-o6Lt06MU$wdE?x7~qPyh@Dl}_9L zHj&Ufxn}91i38EiCY@i5!q2F0FTMg`XEv!hdBBEhloGUMgImH%Ub6o5OB|Th{N+cL z3$dr6Q`1l_uUDnQtw3S`ul5yRsK`UucPXvwQj~Nq6S?ZIwNSyu{>Q|LGv zMMs9A9AkL8>{YN{8dGw1@;6Fg&+c0(*^^6ac%q#-sRydP7sF~w9$JpT2>_C6gspw+ z9bHdWYIefM>2FY?zLZUb9`z2H!tu{!g;Ot*`$&Z1YVPg=3j9tTMLEP{H(mvA(emiw zd@n&fq7TN!s}xq}2IYb6oI~J+`pbUpUY5{({|j^{hQ@eY`ovt#t)T)epFD%C6BN6vRU9d597pG}d7n&Pr)LorNPxd^<Pggj&+mh# zYg7H@)y+5(idDqL1`PRsM}0nS#}R|orn~VzdycqL!_c@2Fc2lV#~)>6iPK#ZqO3l8Wf@lN?YFy16fG*;A?W)du4h#hM_H19(e^edDri^GzNLo&6I1rLEq zhBO@&;bL9JvnJ=o0HIh-aM~yQqDmC6p@k*`E`pRbxWC?5hXKuxqY3Rn83${7>E24* zoxhC|z(&x}V6Q(tv)fI2s0TU3%K@cAsM8#FN|q+>={+E=)1cN%(EdB^R=I3G`bmy| zXeT4K7V}aej=``q&p4>Sa$>vhe&Y@kp|#M%eN23GWJYtW-m`*}{NZX>%i7L$>DYnq z7XboE4P{|>?Bj;!mDZnr;WYcqdcJd>?!tqz$1JgP<^gaRTHa@`NnQ zi{an;uI|0}+6(x}3hGY7jp#0wgnNBl30;xC@js?Za>@(QC-CaPcz%oMTiOWCY( zw+tTBSGmiU*fV1LoI?fb>@Frma)|s{JEA4_VvRX&!D6-J*X5N}*X+VN^)AsvM*i2^ z6{%-|Pl3lC@Iz*v2}jtp!LX>P7is>nN~$)r|6h+Z0qEG~oXJ1E?!wITt|IYy7JCG* zYhiT|T7gL3k_OX08QR_+7kfT)ZCKmoslH}MeaS1(;!WeX60r>0=M(DHz{T?75mR5n z=~2%vgs@nTNTD5b>nP^O+ViN={g0MW%zC0u4HhaL_jLGHjqS(0y`gdVR^DZ4WIIbb z7Am$3?b*IKsLxQ%U5GlC$*3+9zE1NaoOcG|1*zclb%%VHY=49NrUr)hhUCy6VbsFW zr`Tg%Cis}M3wYIrgH1(48pa{7bULB!<$>#a%fQcRwDN*qF^@^2&j-XC5`t>*T%~{A z|LO~sA>JrhjglQ8d2|;#wk1=HF13SOfMaW|rJNh=&PcMkFl=dYE zm)X>8i{PKs8T6vq2tM;$Jnt)^sH|S6p7yoBTdO*ck~lH3IX!EsoUMMX-!Rq^JX#V< z7faKxI$R)-)^8J*)xi4W=x2kENZh4?xv>d39+h$je~M{!aw%#n{z*ugQ!Vye6P=tA zp9jN_x99R}G8MVD6$BrMpuPXBu4D&GI(fG>P8MJUz1 zA2L^F2d%MDXUOZ~m?NJbebD4sn`6vfJ(TviX;^!u+v-Gf4+4?uF~oZkw*rp~ipOfF z%J!$>51Z;!?Ra~MhNlYh#=gyAXj}wdUvWG-A&39@jMeHqp@2Q`>?@*%r2QxFXLE}Y zzkcIQ-QRS*X~W~N0>%zhL$IcW^H=>#HDr|<{fb6zI8X7F*UEcdM?#jL9wv&6~p znJJZZ!Y~TQ4^%1CAeBh>$GMA|n6TT$EkdF(mE@Ux(JcC|qvRZsuiTdFH*Na94WiXi z!ngrgdN#av0cG5x??9?TOM^%yaqg&T86|UBROGfV!Kea$KF^kQr2L&B?|iU8PM{t# zuiF_{(KUw}=UR6(bBfh;KmIJN;*=NXq!K+ocil^URZB4`_l%({t|*M_Cr#X~dIhV4 zN46IJ`Q{9~)kV}k?m&(=YtN51W zQEr?prU9FRO^f9@Qxs|L^IyO|uzX;VJ$BU>UEG{_@VtCeal zqc?E(7(JHJ$vk)oCmlCmDxMbMz@AWibOzL?7vKrbu|4qMV)ok?KYOhjA2>g)e(wJ! z?L86pK)PG7f57*m!#QZPXfkL(u|J~hYmi355e5w~$pozziz6dcXI5>ZT`X^+4e6>P ziHwcaf7)77#nJ7@57{NryLPgYd;0d31yAcSz0%fLF)M<>ylI? zPpLAovZ>*#$}NZKl{Q*>8mML*F)aDqBg7IHKfwplIC(IJ7d5`}+)G!d;x2Rj?at7M zBlb@P?Ffnzz=iam1dokk_Mr*?Yl}($Py7i^e$X>ITZU}c5ashwzQ#Saq|*7q62~%G=4$__k-9vX%b=53?_1wjCoDAI zmFuTJZ`E~Vh>jfgBJ-z90Xz8JqEq1;%2%8hhUx1|Ep+<>6U45GhynE0+l9!iQL#yL zhm2s1_?PeP8(V)3p_L2KrO+s*=Q=$thpr*om(})%l93{;am`7DrW{t*GGq`=;_5Js zQp)KhP|`bi-RsVZQSdR<&E`BZ?#t*>Righu$`>3V?s?kr;6L3PTfi(?6t*WppCZpe zW2awDRQ`WlePvXY`x7qRjfjMFw{$nsrF3^U0@B?`cXx+$gOqf4ZMtF8EpT7Y`Ja2& zx(hz=Z7&#Relt(ZkPC*m&IPxav0PncyF0|wJ~mv9CNVDFwcNzWzBSa{{&t0bPuT%G z>x$*tFra6v}r1gwzO?2Dj7 zfzD}^(=j7Blwr&Cme=<4U&2Y=`}FNMQjwGOXaWiTv7{^}HO>+2BFQ5ZNesXj1!hUk z9;O2A&?cRp>X`4@t}gAeMCVCI-0 z!(UaX2eF0sB&Ipeoupgz#uyFdL-VlA%5!Lt9q%3Q6~bro7KL*J6w+ zs0ltRJl=D)1!dJJ{#3-pR4)3;9lES?@HI{G)+ui>1^hIltA9LSq^Ey)TQpX}n{mXR zKoQ4Fa2=lbLJq0H8Q~cQVL7ra2SKT?n}8Rl-REcHF^U4{Ak_SAz`guPU(&PA$& zlUte2=h_RAjbJm2F%zq%7s?5NYPA3VjeP$B7nX}19Z?a+HjC?fVAdADLTNs8#ineg z=kx0z(+8oRqm@}Q zE;|y9xbY0R8vPn9iK6q{0?sR!1K7r=+wl9(R&}wkHsv5;wBD--cRZbxP4@4%27*aV zIZvbsLuH*GUnm>GKg{z}p|F3C0T3JW(Ij83RbZarU*1X3x3#Hn9G`IY#5Z_Xaa|B{ z#?r~&{{v@kIDI-l>xKUk%AFq6-ztkuL+AwlAczMvj7=Y*FS}qSI;qw^CcL{Y)6+e? z4F($0RcklT0z5)z$k^I31x_DyuY~)f^5BM9$o@ zG3$wO5yBg?oawnjs2hp8A*i`4#KXLI<4m&DSP>D?(BRqGm9rf@K=Z%nuRHobEY1xh zcRGr3l_=HC$M5mMM#5+P{%WUJbC$h0KU@aLzFCHOh9uyhzvlo4Jjh`nS##>DBd~f5 zy!J1%^}sLe`zudabN=dUfao1G`2J>>CeYkgI*O^)66M;Dvm&Qy}gjG2Z<(G!po}&&g4G`DNt1PVSuUvpx z#6#BO{Pu>*eSfcRc;j$nBy!8x>|0pwfT8voD`BogA>djepLH0<&pDoZ4lMjaFQK01 zmfsXtW^1UF49q03&3v9ZD}4#R8c!uj!8zj#cRcq%i6s4UE@+{8Cf{MfZ7eE@KKN@9 zbtl=G`1~%eWu6}Q6=N0jTJ9TJT3Q+*YZ6a7YQo!dmITskU8Q&PJhQ95*zC#THN z7n5(KGlfaDs5UViTj<|-7=`^84o{5FsiF7m=xkG3NLSs^MAkgk%7xgnSX|Pk>BAHW z>=Nl@mcuDEZM=pd!ZoMpUZ54Hy%cLt(3087J^Vgw2QCSBBA1;YDzY5P?IH6O4ZkBK zxATV!wQQ43M(Cq!qr3>SAPCV1q|i*LYaB7Aul9e}im}CuCzHxbur_ET6zZ$J#XJ3W z4P)%1GFf~-UYp;`9(VMvTn1Yhi&~Q^VXRIi^ZFUu6~LQmWYfdX=fE@c=9NjX&{cN& zn$L8CIEY7RNwXmyXNi|94e9e*G`btw2*{A}z{S6`QZC}4B?mN+F<`A#DgII2D70b~ zanVTSPK^GYY~mGN#E)v`sCCsD$e{%_0?+SPz?=5-W>Q-a;6+EpqVo&6*u4j|ipS=ViEKiPc(c-NaN(S2uB zA|p~=$&U~=PQl15EOG9uB>d~r3qFT1lR2B}3A}0Yg<3Rzb>e$l-a{&KyQ}x^O5IPOiBGRcE|E#MUrZ*2 zop-k;4RO;`TI=S|9|@hac{U>WkKR982=>=}NRh`oMW@W0Vqh-=F76tF(BQ?gj)f6)7*$m3 z6IpjD-at=pqf?5}yx%_>{iRAB+nY;V&X!(*4ul?v)-$k;4~)(*`fGI2KW|F9 z{;>_3SKpXm)vg0KXZ;K6K_hi$@ye@dY3pmWt@@nhmpI_=vI4bJYix$Kn{(0Mp3(Y# zhpJU)$fo!@4bZb>!i2i9Kf~}cr?{b=3eJPHD`Ha6{JBFZ25gEkq_N8Az8Bo1LCr*b ziNM-cRy7i^bRTT>^_zQzLHEJ8ID7|2y(Yr>m$=8oEct(U3JW`e^w)9TU_QU}PY;Tp z&Y_893=}9`dR%ka9Nf^J4DENOE3o#Jfwhoe^rqz{r!)1*yN^r#o;?AN2$3DRGJUS*1iXy#Q6`i{vAwYhGR2 z?~SJVjGM$6npr0<4vW<<-LQVK?ARFW%lMH2?H{q#53teHgr&(65Hq2ot49qZm4;40 ztmlS-8w+P|f^(4cVtZ-0{O@$^Pc8S}?l;eK{>;u0soyo!<(nwy(^!T;Qch64*y<_~ zAb8yN9_R`B?2u=AZ&bg?aRxDqd?d44aumia)mJ`PUw1B(jvU-swXg{e^|11n&kGDJC zMsn5%3dARrLwudBaMd1A6n*l|Q2h)O8@r}X=3ShOyZufymwdFJq$7s8`*{;tIUeW!-QkchX_=vF4zymIf`E=ngKcHyb88$uRqY8 zYO1HPSP)tKD%C#E;sz*QnQecXr$EIBK_$zf;J;SXfR4hnV zHBXdzZVr}Ti7oXd!``LjO!i0SJ#h{Vxs4|up(4-y1zNOCYM=fmF^N=z`q1hz0_asV zVOU&bN(#qxnJ~djoyYcK<&T}03 zmGA4nYF)d|IbX4tIeEgOphWH-j&~#S>$-lHGuO-F(w%job_;437PqQMX73pgwX0bh zZv^SK6LSquYP-3e0b8#WO?l_p@g^syZTFv2<-a(ChNusu8DjlPx%0xt%#Bn^Ao>x= zAsilwym$g0k;cW$L~WfkS$ES7f5YHaV4E&AEl{%HG9iY7mpQK z>F_KYJpYlY+#WZ_Q9q>tgFq`#0o^FPcQRMzo^bo=A-2>i{gY{e5B6b4givU50+P?A zRBWNt7r=v7Zjvsw?RDHw3z1wzhy>G%Ow_4nrNNZxP%3FVT|f3(ve$21TJkf>5gcIm zweORNHC&+I68KQyp64n6B9p{XlvR4oW~A_}$E@|CNrmsC_&rPA6%7&?9e{0K3SKrk z-%h4CgdRhw-#VaagF@EH{0#-t@m|D7%zta=9_Ya?-oQ0HAn(e1w_5%Z1oe>IT| z%7T5tWO8cvoN8?1gPs>`dO%U_G_1IIt^#o6*8wr0snc}zIcoRd1m}uupAwx19pJLA z0wg5P2abnA;!u3H^NK~p)}>bX-tVN;;g$s7CoprOPijak&Qn6a$fS#qm;ry0yZ11y zNX+j%-W65Q;U9Ja8@v!_OfbWb55tMOC9!Nip28)wF>#R0N?G_ZZ2iGK;i4BbYS{U z%rVc~x_K~YS0ZqJpZ1NI=7rk|fsleuE-%2Tnv1gcE{;Wo&c0pXjt7lLrlNo;tFDs^ z;WK!*(|eiOLg|o%6PLA^7amtjZ)>Ha%=`jJIqE<1jrd=%|5D&`ol;#=-(Nex@9^-> zE&0LU{=wM85G{u&iP;<^;07CI(GAT;2c;ZV$B`_Z8MJ=clb0*_Hrq#W(eznGWLJ+x z=}cl^WcDkB?akIqEjweg!0(dV6OQy6aOds5G&*7Tdh97b9)A`jx0X{4mF=p+HIX}H z07#Bz-#d;R@CY49pML_N@$!`qtnfPlF>BI_n|KeE$!Fv=0pfXOV?c41pW_Kr0`8aF zj?s2DV<22E*qo6}AFU}4cQ>oDq&8hV3>27myQ-2o*zo&$xFELkwvEiu2dEIi+<8`J zcOsN;?xK~7?S0BA8|!avV~+#hyY(IEHmBd08v$#IA3GXLR39$y6<=S6H-w(fvY!RK z<|_rW+@u8Z12?8w9FI3gT)Y@yjzEx{2i^Dm1xC>YF7`q$LC)tmzwNS)v~Xce)TJ2gXhn0LW|$y zY|kCQZ=C-o+MDvfdA7Z}{p|CM_lTr}-T9+8%jWQ&D|zXUPiV(|;?;Q)r;LD4Zq4qE zGzqGBP!+E2gLEc0D){V&FCR!gfOC6u$9W6@BxLr3_b4OdO-++<*%0|ZAG|T5+P)Y~ z6;Q7W-oGNBcPVWm7X_0&_Qv_AeO8Po29sleO-&_8)uiK$yNxw@$RVlybW5FC)57lD ziCm)|+j+aM9V}9>Fq)Mh2?cZz(4U-wW)5!^Ogg2bqxJ4J^R<~Wtbz%(gi zIqNVbdqVJUuInW|c>OiM0w(^;_5$h#%RS;npjoW*yT9miv7!#L9jls^=enVmoI7zz zt^VZdVSU!Mji#>`sW<57Ec7ZD7vhYIVZqRy+4mRMX9oDT9iO%17y>u9oxf$0pgGkF zz=Fvf^M1LW#ZL?G9ZUzQ-`z zW*1k99&rl5y&*iW+NGd^Afx)oABs>|i1X8xbuRho4d8eWt@+wRjC==g z|C0+VL#Jt<0Fgsk^)*&DS>^%?=`*%wxg}OplvG19B(F;wUT2RdAURoHx?UjqM{@E8 zu6Pr8x()d&8y>6F^Jzms2<#ggY6_ao`wmxg*UyY!VXtJ^4LkGYvFb?+IOBE9l5spB z3TP97rVuEP;5A}5@RN)^)B0^uh8dZb^{VGqL~YpN!BqOIO15h7NGQ1Y9wN3Vz6eT5 zwV^hp>;zk9TCATgIIIv6JG3tUp2=bt7(O}^ap(f=Rj$Vat|PRk(iFjqqP}8SL>9eV zGr+9;#{}aYxL`5b`WM98>zjncKkZ@%^8YBdFpJy7fX{;qhcq#c`_JuO<0;ZS?ici= z9G7U+9F9uP#5weAf6myiw)}gdKm~M10^?HT(7~%u^6Zp<;_deYmbY5zGrL_Z6W1C0 z`pC6H`pB0ZbV#f>wtf?JTqWbmtawCH!1|Sos`m0r$rZC^9ohu+!=j!XNUW1)lD;&+ z_-}qOP2V;mHB!GiwdNpsd~83fvZfqbiemR;gEmRh{-sS@gNI71SY0;;@c`XbWp;p0eukOLb`*=&gc>xO^9UirY#y4@eZt( zcVr*t{0+8>Drw-*F|Ezumsg(Mw$DA-Yi(_gT#hmI>1@y~M|na&Rl7v>`Kl+}Oe8h6 z%~+Kd@fA+C7T^k9!l{weE`RA4MM3nV6W?`$RLwH$TzG{uQr~`1lb*5&soV9L90xV= zf&OV4FLrYld>WhP>#Lf9Dx&HeXL_(Yq34S-RXJh~uhc%iT^YQzWZQx9&C|39@oTr6 z3ZJPv1r2cqrg`=9n@TBkq0#_F(xV(MTWfpS*$OaUpU8H0&78=Nvr1!ANNa2rslz-R zu_*b@R|Mh*-IvlO<23PAHv@P?ej(m?ZonwA$5%`_8o$!sd0Mn+p>h?8prIQhNKBKo z4_g8i5iqLCc%Xz?|N?(SFp1S@h?Bz_+|x^i~!sSB!DCACBhT(l!uQNc4D->X)pT*Fc4lj2PfrJ{-_6%;=vA#esf*)Jc>npi_#7)1UCL~Js$k1=pI&0$VnM3uu96KA zMMDop=ig-!70-l*l_sm#{1|)qP}>|;MV?*uR!I$qss!r?P(VFiRJf6w87THFb)_vl zOQe!}!G6jxuK0$V2F{Y_Xh$K3J$UuU(*GKD-Mi@&g#5t6??LEb_qZ78?0t1IcQYZtGxf( z*)`X0eSZ+M`}Rx@^e;^BJ^rftBXU#lQzeg2m_>Z~6D~r^MU@@e>*rU9)CHNLwiFIF z$HPga#h5Ilbw2_d*{)pt{b*pe34zzdr53|D_ev9w{`@}FRWk9$X@|4>cO7eYu(MDo z07E@EmT@N)sqp0<}W?5rbbJ%~fljt?ipcf=*-_I>#&B?xU~f%Wr4$#p?Km-6D|PCNha@c&>^?pRr0pt6woZUZ6cVkN?%lC zEl=j?<12g-Mj~QmE3dyX>bLDtUs(@m7VcbQ$UTi?ynHALE>8LyFAFa)XrT;1vdU12 z<7kT3vRL-Qd(wdr33Bn`GvcB)JNNNzzRDacB0tOoKZuZr=NkaGIaXZJT(AQdq-ZhFP-| z{zAoi?W+Lh__x!nuK89wb)+)WKxA_^&^@(eu_TZ?zlsqN-=1{_yuZskGk~F`Zw6QO zWjMh!zKAu$O0!O;e*%ub-4(MpybukFp%~E5NNkOTj;+#+V6-Ha=W|T&P_Zn;thoLN z$#KC?}@U0bC@`6IgIcBAb~_fa>F9q$BJc;F^7Yk>j6B;2<+2LC4M(Z zPcR9brLhn_0`8piC$ba@T6<+kY6Q^A@7R$LXX1i1GRT?~9dA_{YvwlxM!FRtH@b`N zcQkPM)TTZKFVfTmrnRTpxJqHgcipf<(gqn4?N7FO4Z+9h8w$~mWYve>RZw~8ZRr#D}I-)!8;1j7jWNriuS-_)Q z4YLUL7ht<`4{%dwP_TsS*UB+_vF=Mz%d^IJTJDv|m)eXB@tS)NdIyJFMA|{vIOl&X zL}6jvq5t)rQO1b^gl`L=ha?z*>x{%n{g;)l8&VaBxAG}MA1 z6Mo9F37QzsKhG7n#5ePvwCm(ex=)XQPM5{O>)XpuM-?tH2@iBOEE*X*^dOSd1R4?t z&0c9F<+78tNHMRuqTNDLNXX2D<#*w;11NNjX`UqP*S$jL2-u?XQ@iyIPoU?*62gts zNS6mAuMp=!?Md5V(fIAonT9WM9}z}n36ZdWm6?=%$fHXLFKldbA;A%+=lmpnf7^eM!%7*ECqP;w9Qv? zsamD{L;~WpkZj%VTMp=G?*HnfOo=SZHOp0lBZG;Yl5N{;LbB9trJP#GU_WP&AxVyv zSm|NmKt=?FX0}7C9-+F67}rFtFjhuaG)c(Ve~VtjkI7k}t&TxY8oPUgetjt&|<`tzB63a^2p-@Qv1Bq@>I8UjVtIsO2ZWC%Tv zGFYm0Yl?Lnh5smyw_&dQfYW(hI}2^O^p!6X-IWU_2&AOKnYBc5t*KSd6E3zrM=3>^ zIfTc0SdXxZIwPKG6raz)!L0E}(bATJa~&WNTo+##pt)IJxFy1OaGkt;>;kSyMeNQ; z4bdhwIVF>4uR^WU*jyj(cz3!bV3}%`Oev_G%7a-*E6%QA|3?4)?!D7o3~F@4*%l7D z@b?{3bfLQjtE&PgMvW1MMc1J;Tn40vTzSD2zrN|vorI?!#+y+B9_ z|ImNfMXSOyD)VQLV~|K6*%Ljt3uqGfJ8-YHtOA4Dun8IPFCqOg;hEB6!K_KKuP&Bt zvK92Ow?YIMPo@Ejn3e4$LAqhQW|AnZyPatnAZKGg8T|U0N<*W{TK!ub`+ye`P8ENX zCm4-?SB0Yh2d4;wP2=N264mQ6cB`*N*@qyqXU9Xet?K-q8QqZf4`i>HUQgZsHkp{+ z|C#f`AmBV)Ih{uJhtuA&G~X%K^nphGR|MvpxCoC+4#)R1eukC)Wm)E5v+kWY@?7AB zI(KPcd83ty^roId+@dD=?0KHydppUX>?atNL9lVtsU9n%mTrqp zvC0c$w)2o?+q6x}Z^x5;7- zcLwkq{zR6oX5c}mwHM^_OdO{Tmq;d9=dhRaOw>?(PeNw-pw8p-HUm38#DT#sK$j#j zoO$?a+;1e&;!m_Ws%Z*~?Hvh3#7`1z9o0U8b9(i8!ei9H}Hf;_vc@tjWEn z8K5u%Xc(Y$y#*v8t&f$(E83I!wGTs*4h>4Kjqj&K1ghf`?XQZ7!sUI#Sg#US$O`$Mt+g%IyIOTmT#N*R&rq|LPB~Ap z?fyw^<@?EZ;C}S%eEul09^1nVjA**tj=aidVS}%_&Y4ia(*8fgL-&7h*^f)vZ~1Rp zKZoDB>zO~!s}sI|MeZuT=3uH>e!n4gAN?UHrt~-5LD(Ec5=6NJ-3083b^uCp>knuj z$@YS+-k77P`vs$iKSR0qH(ME=n_-96HYiW$-8#*}jabKDT_jvocBu7mGLeGH=?VJ45b`0@~ov`5I{qMeCp#@Q@s71cU-CqUwMr-~+1@tv`bc&16S1$S(D$UEjKz=%FC$ zQI-v!3cUfhuh(N+xT!j7&HhKGVjld@5_BG+KTPq)*8{qDLc{axK6vs?VUIqdEuR^DIeuN5@h;#1= zjDp08XJkKr_iZg*J{KM;juo<~oz%K$ji@UUpz+*0GCOm^L$Rc*1>JAU!&J(E@AnDo zP-bc43-9346r$-se_qbK*OzlZhbMiAQd3Rm=yx4^PPX@dtv#=nmZN~e)uz6_&S+0r zP2k9>*#JfK8*}|)z_mygDd<{f107;4?^%Ph8qq;*C!c^xs?u^WWf}{1E2)jJt!YvacF{ohtdvf#J_f zfmkO;g$>h0vt+FTXAcutShpqXF~M5nF93BzuXTYvz`inOoCO|=^EMO0kagMZ=}5^B zLg3V9T1=+G_@#~(L|2?f0T2e6e4vO6kXB3^LxUMwIZ0e`OX}!ZBOEyb+XGT~y?3;j z2)&g(J|`zyWAaUE_Wn^{O;9GHgBKdKkz0^cids6OVLcowRJt0DGbzalYKg3K_OjiVw(zU;`Rf@n|=7kvzo8<#5G^J7@u}+1Y)h29aIsWZrKNnsBnRWIk({7 zFD=e)&0z3~u72Bq4j||Z=ROM+U}3m=F+Svu{&e9^YFLQZ0bryr+0W1bnf{Uha7Tck zeZGF{K}STz{=ICe)~YWUVBVo#m-H ze8yD;(T>G@KRiHi;DIyqVd;(mC*uUAk!@1hw(qQ4mfHK0h|Q7$n|HILF|ny5&HRBNWZB7hW&QoiWw z!ekz^k?`H^RWMvl?18jQ*CU!<`)(Q&uhAO;(#s!?)nwEgLwyXza}ldO$keb@bImlm zI+*(Kh+jP8bySwe1kxk-B#D}U()xWY#q=@?sDMFp_l5|xN@{4}$$@TaM z6QZy5ShKSxrT}>qHsr7J7M22w_yM9I{z6Y&yqTSqS;K>uIzjG$4a-4+o1uoOpg7+* zlEb|r5-ve*6F@cFKL-AM0UWD~3HsH4oNPyva40(@O=se&{H>DXl%GKg2@8U|hqpB! zH3!r0xsqP%WCW*{Y>%UI(?UwaB6@j>5lgUjn1CT1@INBjJg--^Ya9Za-&uyZ0ve;7 z4e#?qLtM8cpQbNINfNyTqw%4Ez@7|8%@QeZji=`#Uyz2+PqB%7luyB&ULTB!KWQ^sSNe znaDJNJGePbRQFV0M6jI}wdT)&IG+y6%iObDlHq**qm`R)V7HwyPV~v(dGm&pG?o?ruA)hyZg?SD`%y|M<#B z=Cdb(SGjOfDnZ^!k<`1Td>r!xV2c8x#BSkKJ*7AF`Skav-;%DfdC!fd_;S-d8+Iz$fSG0IVUtF)!(xhh{;7OIn z7$yVgqG}^@OJ%^Z(CO0F`mf+4egy$@>Y%b;rWi?k;d+^aFkUcXJImjf)xSi1H_mC~ z3wsqCIc<-NL-{kR_X<+AWu<73l|GL%I>kyx4DxG(^S6n7j8f>tJNX?qMEE|DKY>4G z>__za$Chio$0~0g6D+<|P8vbEUe9EX(FoIlb{CDRGdtU9>3zG8YUpZe4Aw9ad5g<< z)Qv+o;@qz%8+{rgcJTJh6KL*p<*cKz=G?lQ+bYZow^us8I_){?%Q3*RrDLbO0l6!= z%!r|$Lb7bEa^HbnZdO%;c28ZdN&*{K*Y4V9d5!hevvL>I6>!UXJ;O9RLiQ;`@)LQC zpc;rTdRg8Z#~6f*5 zw;3qC{)<4kJQa4KaXOZVCoQr(UwB`kC9E;FqB|%x%VgHTFRP@ZGC-) zc6%!-mz!Z@(=D(Kq-j}`A#PUT|$ja~W^@ygubQCA{-f#Ij{|ux_P<+MDOoq^`<7Pb)^rbQhwTC>(@fZY3=R ziJ6#wP8(c}h5xqz&%~9FDysrWIambG5U=O>nSUeE|3>g{BUw>T(>&`pqpO~4uh_N9is^$HNZufph!@qjU zxWwcHGw%lfI8muv(ApPvw)dXu#P#cu&Cd8b6>AD?Mj6(rLt!tq$QCim-;<1)arMUt z3qy)%jV~@YW3XnVr?-a1h*D*2q(=QMSfdMfWXlc0OuIFHEcGP3UdXYtx}P&h#FY5_ zdDd-4oIPR=0ZMd$A-9Zj(o`@dL6n50{44JwZFtr;o}~A;tXE@EJ;LA^Asi_zqtEAC zKc3^!3AEQ&k3n{JedD$d_nei)HtjoR=F_4j;}67VFsXI`AKflQn|@cG(8YVqwcIj; z`shj^<69viP738hvtP&XlRvJ)`O$sv^)c?H!ztweysg7L0c?}u;ZD*}+uB5HJQ<>g zA7(>hM?_{ZzF0c5so&|Fuv2$+Hh%*xpV3tkujH43`k=OxQzRE2ZJT-IVqJq2nMO~- zk9OUeATp6qLCw>-!t6w^0A?5AiWcmP7E|?@>BTWe7PhesKrFqYJsj9+ib+ z`NDJzb`^$=n;Rxaeod_vbT(6(AM4>U(WGzpMS(gyUjLozM|TArFB&b<%WN;t!_dJ2Xk)c#<{ij_fp7c2DaHh#J`Agy;)9$%87tv$V2SZ4h(R5%o+BUPER^GKUb-QnB zJMaiRBU1fgz&f_*XgVi&`=~y9qDrY4Q;DqD^-=}BXMoiGf#=G&q+T{-K6`HnI3=k? zkQT|-+VxGSW^MB1^jHTMS%6ln(VOKdhwuwX)yNI&?Ss|#?~`q2ss-gOZRo&J92 zTwix~nY{h%>Y0e+WwHJU8O_ulMw4r+0SQIwnWbfHy5!iiWQ-CSba4nG{*6on5h<#m zI8X`!W%-#c#h$@A%F0*0Om$U&OVag)pFrsdnqX$)uF0aj!FyT=fP;78H_e?+_y6`0 zWN{y)0z82jd#Qg3cz!pMyGrzO@Z4Ab34JdQUF8R{X%Mlmrkws+p=-3t0~h(q$4p&4 zb1$7-G%{B5_tYM)5eB7JU|GBSh3}{IAC{59A1uKIoBiDSH=Cy2xhYKg7bBK2dRKLM z?lGwELToHXdcIyh?s(%lX@nQ|C>)|rq&bV^$G*#rSe7&6F=Go4pE)-o#J4Ew*orNW zKfp-BP~u{DR<>a^-YLuHt2IFIA7o;irge6@5&WiZ@n?zIZs9=&I|1?vj%XbRLRWWH z(l|;t8B8*$m}mxxh_ssMl0JvZFvXQRK1Lg5YgSFiN`1{^62kB`YEX&aro*h;J@B^% z>&G_nSQK#t26{o8Gehf>=LPBg?$y-SvGHV8)N{(;T0w-nIytG6ZI~>(aHemF zi@0zJ_54J5GCcTtp$ANNuyd%co_20)HfQ@2c1GTF@OG}>myERYEekIZAld!iIcY3u z#pyz1RZ@MT?^rB0#n_EuL7f$h5c?fT0-;*O0`paso7$fx(pl!$l(-O+AE!p*@P(}x zWposLythFv8nF^4Fqwpe#PFh zY|mczzP1NE8$@O8M~Lca2a-M0O$B37$GTcr8E`c44!o@NtVm#>AY8#?W3QqA>!;ShYZn9tnA}l&b4R z?I~12YdkC8j7%zl#hQs(PPMbPGRo!p75Y;}nuhgE>3yK6E5@;VpNWed&N<;)v(vtY zr>9{^1MjEM`B;XiVGo3T!>xKfB8ze}zneCj3^X~a|Ga;-@9FK(eiUCan}x%zw59VTNWRz44Ru5A z<>6fEB$3rkFJJuZpe~_$#3`wak79Mh*U5zszZx2CHs!YZ3GVTZWrkN4uZc7$NBmx& z^s;;TZwbeGOu>M?|ECqw^0CEQ4)%%j3G5!34(b}s^o|h|2rx)@V8!|Xwl}Fy>TocV z5{InnEGxOcz?juNx@62;$+)16MqO-2`*rV45hfsRPgn4nPEJX!31lUOi|UF^VOO(v z_ZyORgais{Z!nB?t5ktyggZ+~{%S^*V~k;xTZ_d}$F`wdX;E!{q5Nli{;TvgTo-en z0AWSh$coH$cPRe6q;`lmD?}yTstu%7Jd2B7*vii9Z`Ecq;q)oQOlxz8*tq9wd}7w% z@nif9o#tR$r>yZ?_x&8RC)U}N)(Q1C#>z@wcw1{VMy+<6lVr!|kvO)OF+0@3i$-i> z&lj=0%-=T>E4zmb#>tL}msY*21g-7+>x|tXYJH;kLB7`3UVA0&p=?A-VR^HzV zp{K8`wp`DV`h4gf9B2HeC=U^Y2YCKdpCRB7i-gXC`Z}+L&Ko>24(mslm!7|lAcnK& z{n*Of4IY)PIN5Jdt#UV1h4oum`U2DAN-~#?Uqb^*x&$|A=6} zrPj>iD}A7@*a?clhl-UZ9tLh-zE~wORUVS1GTH4^3b^}_gv-rAHfT17$oHWPMIz!F zi!6c8QfxU?g~BkaYfY{5AUJpM+2vCje|+a_*Y2Xih^g~tjytA{9j*BWcHIpDe58^> zWBJeFEgVtc%hc2qk%N2iGE8#>Q-o{k#m8ar4y`6+Mf*%Su}NpuXzzgDJNvN&*E{|3 zQ54wMRAZ~1df(ZIFqO=+FY*AsczRs^@;sg7osU_v+Jwu@+pe=pLLee6g~_{R(qB;~ zSJKfQH^}GSkrK-1=0@(u1qT0?|2@XqX6QKQP&sPZ{_K2KbysSwZEI6Ivo~Uf41CxD zu6Nqw9w5NbwXZB4qwjz#AVK~L3f45xg&zN)@*Q~+3Ga_yrg8i)9!{SdF+{$o*x@@Zb)pXmh1?;co@I0Y&B?pVIGb7R#~$XEf}cy;tdj|8Itc6)^!q~n#!Ke ziayR?{F8BH&*D7-{{&XI@ueh8#53S@G9Ee9o6ozqivt(bPt@@#zM+<-+N#3J+{#Q% zwQal=<>85QAc#U*YGdgv(m;f)b{#&?7j^_4hhBz2XSuJ)fKhdXB5%sNz{*nBcokWB z9p*IZ0RGfFn(Mo{WYJjzshLPJKu?Q#lYq0Z&9~M-kWQ|;b zLLA8k2%InOhNDS><2OeGLgQXPul1@cX_Vg6$g%}mmV#F;DqZEKZFVFi)q5rl?f)o9 zpLy+}+Ux!z>_UVH7mwwR9_(n{U$64)Na-e8+t6Q2@pR)zIufrgmW$7oB)-IW!bJXs zqNhBsmfW;*II5Fl{&ch5Ep##)>FYC{Ka*dV&#pRa7Vx7lpO}wrH7GYdGQTm-5pAM} z(gCrM7Qz#fJQ+NKWhj;3OivLWCCM&UrRF(j1*)W}1*OwrWI9Zo?^}uAP|;0UfzM!2 zW>yJ=()53(lK-ud;eYtT{>wY2>x}v{Yd_-0(;9P0+rfbhDjO#(YU9>UPE~bJdYMsV zMkG!9o~H6bTGdtd```QRRpO5zs;uY!7{cezRm<`K3ECS-J-%Wg^6aas5&^t5M=La- ziXz1N#2rj&ITeq<9Ys&2(|hRgPgzR+{g)nO>=f0?Z>X`c&PdlFI`o=Kfy(JMZN-C8 z-VZLOGNJAdLIKUX7@_A@367`+Q%sNu@}=eZ<)MYkUbtM?!asR`fS!$BKRw^N_B{AgtIIn~ zn>VM>9aJz$JiXR#^G$Tf;Zw9E>jXFca9@^ZOUmGLvH0;KynBap!6!-bXjV-BETT%; zY58wwwZLN83cwB38PvM)H?^Kq(k7Ax=Y*^0E74o?hV_X1<5y7W*ZnjuLP<$QsU1WQ zQd%WIzQYb#v3`rmB!FZ)ZJ?c>VcIVugdC@mc-$MS83h}ow zs2mxu(Z$v*m3f>|bsj0d8uFJmIWHQn&53W{eoeDf)xp(mjL++7SeNvgDKXO$-(%eG zhP2JV{QMUOjQ}rs-6(mZFA~m-HFNbqQMtQI(9Cd_Rb|;A~+N1TXQywKK+pL6OT`)3m z*)F-Ju@-WsA_-@)Rhc29EEcrr4lXY~t}H~Xdl%oZRg>lN&Ap>}rQiy{kiGKigD2k0 zt3A&~GA*`&tdvu0=?%37_5R^M1a$yE|C&I~6x*nyL|g{L6hAyXv*^ zB>uJbK~MJfA?-t(JViF|?B!Xx z16kb~7j26(MvX_}!rOB~XZsCNmMlavudq(aXz7BcuT1KC0r2WM2=PIMy7C&Jh@Nl= zIMr(qCr=a5rp%jxyIJm^77yytogXqzUCBu-df`$~KK?UKVm(e`{?m&*etl%~QTHmS z2Dvr8mfAEf9HhP7o&GIpV?vXEX2%YSRFjgD z=7B@jt;BCD#49~gIt`rt)+iHgTnhGfL52seS5K0*7^a28himTDv|d(%s!D-3`*9f;3VBBF)e#G14L3-8pm&9TL*r9a7TGNPowB z-}^0C@E^lE&vW+Pzu0?^CPpYI?|Ows@{e|2v3ry-hmd7Jw4ekG+BQC^`;s4?vYC8z ze-E#GB5YavsH>}`cTCoEv$^61n}2j`u&?QQWV8)J**{)gPngE}(02U--H6r;W<#?- zf>Nx(O|85^K9gTrQ8^-9qNkQNpX*K}vp+AeFeqU@S9Uy#7Rey4q+S3`xMlG>_&3=- z%ja!S0w@FgT2jR10`|?`t%~ah2iuD$uiv)T;7Yd*@_v7|eB?HFF2#};dWVc5ui;9j zY+9cs={*IrF~f%|zj@c6%dnr7Z+mwq++KQ~+_N7BZ9b~Pg-|XCU_Yf5{L*f?3D29V z)7@ahGlHTL|~bWaoZc8^ir@39AP^QT#03_B!GsFnt^tK9SNiJ-YlKTF zB9G=*QUX*#Gf+u@G7`u1(up5GSO>aO2y)Kke4HKuHkLh~xrxz5dvo7M`|6yu7cvjGTONB8CjZ-UBWc$?#~RSCcastn~DBKzX{_(=N8wJXoM~ zhsmH0<}=i8goi4qeXg6`c?%@Jarfuvr>bmrP)F_UPlY|7T3OB-EeIvzTM`HxG4QVTzL;WGv-W%pEda+zyVb#)ibZJ_fK zE)yV8VNs`JBDzIQf6$DZeCfaC$$-`Wj*fnnv-H`ui^91-`%DGL5aXLonmNQC zKZ=;V`d%%wR$lSx&Ec7LH6ku&Q>+wAiNNLE#j?M%84Nw4r8QtEh z0|?@H5Dd(LvO26tB$#O#J4Gsw+WEGuUw{0;`3Pa<9yW03c2K;j)l|nA?P6XX>9-2l z|6_$jOlX@roZJP0xr>x1EAtAloh~0A7r}Wa{#d?3yrB<^YBQVdv;5ZfWzex?5hH>9 z<8>pKj+tvjIjc3nWuj`Z7G?IBiLAq)h}_Bipd3E)lc_(|1|9QWdCk}yCUbMhEN_cZ z)!VJK%9g7kYF;xPk${bU;?v3R2txTD52{L@k_MvJP5xKBg#0ftmiDeAMmv^A zEpgn>p>%#KUjGnhM|C6)9*g?SOr9Zjv-4Y;+Li|?9wD9^UJ3Ur28P*zH!Z}vV-CVN zQm^(@4n;B73A)@kQ&8AZKH91G^*~0{aM0@#JW3Nh?KG(ZgO=+@g&Df?dY$s2X|IhV z6)v~hd8vm}Xi5x6tI=OiU~2cI6w#(AwRg=?#4_@L`*2*Zg z(haMM4DL0_h^13np=RU#NL@v$;O@h9GD2eDs4EBNd`SGXZ_?2f7CvQ4? zIdcWGiM&mZX#WX~K-2M+(u8P_+a`*bs^YqL;?1z_98Pzs$_g70tLrv%)yGc zM1mrQ8Tv`(&Y|hW^`y8&Q@<$8ffLJ}V`1P6OQy|R$PIhb#7z+0JSx15AsuHqGpJ#r znCSUYcmygw?$R*PCac@U+HFVt5pUe|{=7Y(^6jxu+jndl1Y&$^obZhOtz!RHasyI) zMlPDa^&~gHP;Oe4^>$EK6MN1pRk{&dvdg-g12ep7P@&7zfbl9OF1|W*w}8PatX0>L z=zR5g_Sq2UFLkH59seJ$NCMJMaeaspJeF_0l8d)LCj{Tb}4qPZjkqpCCw|nY!${8{Sl1xRs+K5uRxYkrpU+PZsnN$eq+er+ZcT_>p`qly!M|4n z{MS_I7TqKq$qRWXE^qpLd>o$lPPeP7lp*)4k@Qh26A6kGYqra1m+|VylV$YewKv)c z4Qs!>bJw#TpJ5*!$K#F4ZGjI&U6aA+aK~7Rd`sSHO3~+1bMMW}IyCpk0O3d)9|_~x zI3$`TP$=ysoW>rxLaHYJ1u*Tk!UmFCo@SRDMvR%hjwrQE?%ts8g(pTWy>0BlAm=Cc zFYu>SbBO+Xv;~uJ1NnMCY&sQbEjzKy!067k!QOC(^2Vk8}IZvuMPY(0F z+MIPXJ}Co}M!>Fccy^tC@>B zy*lxm3v(6P8A+w6!|htq-2dqR4|bHr{D18DHFrbnd+>MWhI`Z*g=kNMLJtOwxXgl? zqCY;h1gGYfZMq~F_$-hI8CiPpTw zY`qCq6XUs^Gs{_)!n$*Z(h%_Re_2M*1&^l_k*y=Wh{b4zZdFGwNS1zl5lEW+MG$VI1Qd@%fsEQMn2qsbp%Su&!kDc%4*MQiN$XrdB^i%6+7+y z?@ayy0n#~0s`67Se4wr&ozO^1Djt8CO_dZV`@N(~?4hFkEU-J9>!_9%2=5<`6RIvR+iE@`6xz2X230<3HrG?iZ zwV=xHj5X~~PXHpCuPfxxY52HoPIe;_Xyzv%VA}fYzD$`ULMt6v0>3)ot9>%EQ)VuP zwp+02s46{*9GhcXdoGN_dw7P@GuKm!u*lqX^;0nY^00H08bh0O+>{m=lpWT5{O=p8 z@*f2r>@^53J$m5fgH=}fyrv4Ndg_J$T~Fikl`yu*rCSa0Wt;s7TU%r83`m9L$5c7{ zHZsNz24~K?5AOZS0!4ONj|C`aAisj2RFg445FZdXAhq;Q9fLvPOqhVGiA9NkacPf97>n%jF{Xk zk3D(TH|*NNzNGjeQxcWHo6(vVt?4HXS@sUf`iHdQiNKQfm!ge5qV+c0K@ANb_r0xv zg6CN2*>eh<^ZDa!tnKU&lJ{lh5+fFKak$KV(`fP!j4!8Qrvg4Z-$<>;!=td&@$c-6)jn@E~hVZ&Hjrt6u0sJm+27R#3#-_31jE2`zCrt?IQK#I6mesW|nr3<`{(5Li zfNa86SYV-tKV~rarC!HxT_`2ftJ4X(-E2Q+6R_Mb9EL-@ZV$O{?>0{C zcdUmdLsdRW_Ox=eoctpF{=e8lab)^~)coze}|L*-Oo4cWLOg9&U@N<DjMV=7rKoJ2u~?DR(9q5+2r2ca-PiRk4NEeS z)-$VVH39kh$xZ78jZ|Jb|7ydE3ivAkw%CrQzZ*Q7v^qwT^xjteBlz%oOk0sOkVsfb)$dPp2}(ilRC2lO`<;y8{M-|o-a05kX*uDV7fLG zJ6@xYzoz+#^~um1p{=-Z^if+lxC+-L)+N%&CdW3*cF+=4ue4yedaAYf)=wDs0uRpK zRJa_Dr=kBaZx{BA|LC{4x6@YOAb}gNK}qlgIAC|}svR%RmnevuzS)9A?h9Y-WayHJ z&&v{NPl2n~@YkGN>sv>`M+BeeJ^>Z(>4J*dSar5Y;n*tT3#kG=)MtHu; z=<2J5LuS`5@~(+a$Chn;dy0d5>dHEo?=kX_Q1yxr+^udzDVjrfC1U2eRVhLQQPM~v zV;t~!#?>ocvyYFW1W8zKhHZKD4u^l+^VgxUw%HD=9S^jEsnqT;M#w^PZ`xy>CnW`HA*<+-Pv! zC@!6~xg#l^RRmT#g=`_D*%lDsiKkl{5FY_fyFDGh{zoXjhFP%Nu&}b&pme<>V|(b! zA9DD(dew9j#hd2jWd$X8Ibzw0lYv&}^`qURQCEXbL@9;dB>Kh78}&eFmj({Q#I92}Z{B`}}mn%fd7p5$PjA{xnJt z0{!M_+eL`{0+lCwF3VJ-Wtg-`Z5MVoDC-JZSzWs6vR1q~*GX!`DMSqh0h&2gf850r z%SsJors^Aup6Gi@S48y`U9*`-x1Y3uiXUt5cLo#lOv_x0-D;0jND>YC*iLlH2g+DH z$+Iqo<4C_IuslrHHMxq}!xMq!#5EZ1|Hp#Y|C>np>-40oBa%cEczr z{_t`H3_kx*cW1Q=XdNI`;5GNOFS0hNWIyuSA0nhGooVA0w?7#>yM&CYA5r{@zB-m! zx;mL{f$jGxTTPHR=m*3F#&g@-m%R4m@I1L#sfAWJ!vPDqbE3uhk}X5)`A{yU!{2=F zn)&x^EdG;eJA-qRu9=>9ecw7GQA zzh|?w8i`a)PMGI*I%xxck&un+y_^)BT-fYVo8T$URj%VsCJ9iuPlSbC(XNeoEL z@>Dx7C`&U|b=@2X9^?ez0`VQWL9d z?@}|h*Nk|0^OJNKTG23oHnY~ImmX0raJ4Kzd1F35wTihu(ZmBbzmQzB;aX zPpj{V96Bu@52k@5EA1SA@XjrRRyJyDss^PsG(0@Yo}$d(gteNb6H>Z;Pv!R)EgvqC zbR)apaB06eUR-T*>z~Nz@gT=tiQTJYE@z7oVt`hTdIhAuC^7_h>)BDXrsb7J$Z7mb zjb$+X8}`B;Ufl2~JfE%Z6{Fh6ITRF_<1vQ4?>oXb31?EBml(&$(hiV6^cML#`e=a# z+8c9iW_P^n5DDw${pOO_f)+ft=Xi%GGrRvsGMVLmxpv7Ekg)~6?A+ZPI;nMBu1Z#S;r^b|6R^Z1jVr0=sZD0lYvJw!7IT6wMjG8;Q` zxWfs3gD|FecDF?7RK_}EZ3bF4u!*kqpWU5ZV)JaMK?ru@lmZdmJP%^K{_7y34f&6E zq~N$|y_BmplN?k_-0sDrk$NB!xQ#&ZICK6ma30z?kBLZvehM^fK!g0FA!k`#X@8o2 zIA6_BscMY-8mrP>LdQv?cM>pbn?#`(Ma zkQpmu<1v5cW9=Qdbqva6Yze(&(K6H8(WD9dVG~(fUHe(LN6gh;5z$9-V�!Y*>X( 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

h}h}! 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 literal 0 HcmV?d00001 From 34341120ea66628f6be2971ecb36c618dcb64df4 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 01:48:34 +0600 Subject: [PATCH 02/23] Database setup --- .env.example | 19 +++++++ .github/workflows/deploy.yml | 63 ++++++++++------------- .gitignore | 2 +- db/init.sql | 96 ++++++++++++++++++++++++++++++++++++ docker-compose.yml | 33 +++++++++++++ 5 files changed, 175 insertions(+), 38 deletions(-) create mode 100644 .env.example create mode 100644 db/init.sql diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..bdf3dfe --- /dev/null +++ b/.env.example @@ -0,0 +1,19 @@ +# ========================================== +# payNEXT Environment Variables Template +# ========================================== +# COPY THIS FILE AND RENAME IT TO .env +# Command: cp .env.example .env + +# Remote Shared Database +DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/paynext_db?sslmode=require + +# Optional split variables if your backend uses them +DB_HOST=your-db-host.supabase.com +DB_PORT=5432 +DB_USER=postgres +DB_PASSWORD=change_me +DB_NAME=postgres +DB_SSL=true + +# API Secrets +JWT_SECRET=choose_your_own_local_jwt_secret \ No newline at end of file diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 03a2e3f..7be2e70 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -2,14 +2,9 @@ name: payNEXT CI/CD on: push: - branches: - - devs - - release - - main + branches: [devs, release, main] pull_request: - branches: - - release - - main + branches: [release, main] workflow_dispatch: concurrency: @@ -20,43 +15,35 @@ jobs: validate: name: Validate Project runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - name: Check required files run: | - echo "Checking required payNEXT files..." test -f docker-compose.yml test -f web/Dockerfile test -f web/nginx.conf test -f web/public/index.html - echo "All required files exist." + test -f db/init.sql - name: Validate Docker Compose file - run: | - docker compose -f docker-compose.yml config > /dev/null - echo "Docker Compose file is valid." + run: docker compose -f docker-compose.yml config > /dev/null + deploy-production: name: Deploy to Production runs-on: ubuntu-latest - needs: validate - if: github.ref == 'refs/heads/main' - environment: name: production - env: SERVER_IP: ${{ secrets.SERVER_IP }} SSH_USER: ${{ secrets.SSH_USER }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} - + DB_PASSWORD: ${{ secrets.DB_PASSWORD }} + JWT_SECRET: ${{ secrets.JWT_SECRET }} steps: - - name: Checkout code - uses: actions/checkout@v4 + - uses: actions/checkout@v4 - name: Setup SSH run: | @@ -67,33 +54,35 @@ jobs: ssh-keyscan -H "$SERVER_IP" >> ~/.ssh/known_hosts - name: Create deployment folder on server - run: | - ssh "$SSH_USER@$SERVER_IP" "mkdir -p /opt/paynext" + run: ssh "$SSH_USER@$SERVER_IP" "mkdir -p /opt/paynext" - - name: Package application files + - name: Build server .env on the runner (never stored in repo) run: | - tar --exclude='./.git' --exclude='./.github' -czf paynext.tgz docker-compose.yml web - - - name: Copy package to server + { + echo "DB_HOST=db" + echo "DB_PORT=5432" + echo "DB_USER=paynext" + echo "DB_PASSWORD=$DB_PASSWORD" + echo "DB_NAME=paynext_db" + echo "JWT_SECRET=$JWT_SECRET" + } > server.env + + - name: Copy app and .env to server run: | + tar --exclude='./.git' --exclude='./.github' -czf paynext.tgz docker-compose.yml web db scp paynext.tgz "$SSH_USER@$SERVER_IP":/tmp/paynext.tgz + scp server.env "$SSH_USER@$SERVER_IP":/opt/paynext/.env + rm -f server.env paynext.tgz - name: Deploy using Docker run: | ssh "$SSH_USER@$SERVER_IP" << 'EOF' set -e - cd /opt/paynext - docker compose down --remove-orphans || true - - rm -rf web docker-compose.yml - + rm -rf web db docker-compose.yml tar -xzf /tmp/paynext.tgz - - rm /tmp/paynext.tgz - + rm -f /tmp/paynext.tgz docker compose up -d --build - docker image prune -f EOF diff --git a/.gitignore b/.gitignore index f7227db..33b8884 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ node_modules/ *.log .DS_Store dist/ -build/ \ No newline at end of file +build/get-docker.sh diff --git a/db/init.sql b/db/init.sql new file mode 100644 index 0000000..350b6c5 --- /dev/null +++ b/db/init.sql @@ -0,0 +1,96 @@ +-- Enable UUID generation +CREATE EXTENSION IF NOT EXISTS "pgcrypto"; + +-- Custom Data Types (Enums) +CREATE TYPE user_status AS ENUM ('active', 'suspended', 'deleted'); +CREATE TYPE wallet_status AS ENUM ('active', 'frozen', 'closed'); +CREATE TYPE transaction_type AS ENUM ('top_up', 'withdrawal', 'transfer_in', 'transfer_out', 'request_in', 'request_out'); +CREATE TYPE transaction_status AS ENUM ('pending', 'completed', 'failed', 'cancelled'); +CREATE TYPE request_status AS ENUM ('pending', 'paid', 'declined', 'cancelled'); + +-- 1. USERS TABLE +CREATE TABLE users ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + email VARCHAR(255) UNIQUE NOT NULL, + password_hash VARCHAR(255) NOT NULL, + full_name VARCHAR(100) NOT NULL, + phone VARCHAR(20), + status user_status DEFAULT 'active', + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- 2. WALLETS TABLE +CREATE TABLE wallets ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, + wallet_number VARCHAR(50) UNIQUE NOT NULL, + currency VARCHAR(3) DEFAULT 'USD', + balance NUMERIC(15, 2) DEFAULT 0.00 CHECK (balance >= 0), + status wallet_status DEFAULT 'active', + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- 3. MASTER LEDGER (TRANSACTIONS) +CREATE TABLE transactions ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + wallet_id UUID NOT NULL REFERENCES wallets(id) ON DELETE CASCADE, + type transaction_type NOT NULL, + amount NUMERIC(15, 2) NOT NULL CHECK (amount > 0), + balance_after NUMERIC(15, 2) NOT NULL, + reference_id UUID, -- Links to transfers, requests, or gateway logs + description TEXT, + status transaction_status DEFAULT 'completed', + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- 4. INTERNAL P2P TRANSFERS +CREATE TABLE transfers ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + from_wallet_id UUID NOT NULL REFERENCES wallets(id) ON DELETE CASCADE, + to_wallet_id UUID NOT NULL REFERENCES wallets(id) ON DELETE CASCADE, + amount NUMERIC(15, 2) NOT NULL CHECK (amount > 0), + currency VARCHAR(3) NOT NULL, + status transaction_status DEFAULT 'completed', + note TEXT, + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- 5. PAYMENT REQUESTS +CREATE TABLE payment_requests ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + requester_wallet_id UUID NOT NULL REFERENCES wallets(id) ON DELETE CASCADE, + payer_wallet_id UUID REFERENCES wallets(id) ON DELETE SET NULL, + payer_email VARCHAR(255), -- Used if requesting from an unregistered email + amount NUMERIC(15, 2) NOT NULL CHECK (amount > 0), + currency VARCHAR(3) NOT NULL, + status request_status DEFAULT 'pending', + note TEXT, + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- 6. PAYMENT GATEWAY LOGS (Stripe, PayPal, Mock Bank) +CREATE TABLE gateway_transactions ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + wallet_id UUID NOT NULL REFERENCES wallets(id) ON DELETE CASCADE, + provider VARCHAR(50) NOT NULL, -- 'stripe', 'razorpay', 'mock' + provider_transaction_id VARCHAR(255), + type VARCHAR(20) NOT NULL CHECK (type IN ('top_up', 'withdrawal')), + amount NUMERIC(15, 2) NOT NULL CHECK (amount > 0), + currency VARCHAR(3) NOT NULL, + status transaction_status DEFAULT 'pending', + metadata JSONB, -- Stores raw JSON response from the payment gateway + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- Indexes for fast querying +CREATE INDEX idx_wallets_user_id ON wallets(user_id); +CREATE INDEX idx_transactions_wallet_id ON transactions(wallet_id); +CREATE INDEX idx_transactions_type ON transactions(type); +CREATE INDEX idx_transfers_from_wallet ON transfers(from_wallet_id); +CREATE INDEX idx_transfers_to_wallet ON transfers(to_wallet_id); +CREATE INDEX idx_payment_requests_requester ON payment_requests(requester_wallet_id); +CREATE INDEX idx_gateway_wallet ON gateway_transactions(wallet_id); \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index de02b67..b2e47d7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,3 +10,36 @@ services: interval: 30s timeout: 5s retries: 3 + + db: + image: postgres:16-alpine + container_name: paynext-db + restart: unless-stopped + env_file: + - .env + environment: + POSTGRES_USER: ${DB_USER} + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_DB: ${DB_NAME} + ports: + - "127.0.0.1:5432:5432" + volumes: + - postgres_data:/var/lib/postgresql/data + - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] + interval: 5s + timeout: 5s + retries: 5 + + adminer: + image: adminer + container_name: paynext-adminer + restart: unless-stopped + ports: + - "8080:8080" + depends_on: + - db + +volumes: + postgres_data: From c10f9319fed3792cb29c421bae3a14dd450b3a4b Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 01:49:23 +0600 Subject: [PATCH 03/23] Add .env.example for team setup --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 33b8884..8058b05 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ node_modules/ .DS_Store dist/ build/get-docker.sh +.env From ab6bfa7d9e9e3ffd7d83641fa4b64d6e6d2cb47d Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 02:10:50 +0600 Subject: [PATCH 04/23] Square Rounded logo --- assets/payNEXT_logo.png | Bin 179884 -> 0 bytes assets/paynext.png | Bin 0 -> 182111 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 assets/payNEXT_logo.png create mode 100644 assets/paynext.png diff --git a/assets/payNEXT_logo.png b/assets/payNEXT_logo.png deleted file mode 100644 index 0bb399a70005473c26852e818021c421cb6dd9cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179884 zcmeFa2UwHOvp*WTA|MEY(vc2A5_(6P^dcRk7(#&1388mIK&m20ktS8TO7AF5x-

amGdr_8$-BHzQ<25TCC3E-0QmB9(&_*J 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�!Y*>X( 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

h}h}! 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 diff --git a/assets/paynext.png b/assets/paynext.png new file mode 100644 index 0000000000000000000000000000000000000000..4c47de53edf2b30ff3a0386cb441d080013dbcb0 GIT binary patch literal 182111 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

cvN=jw+gWoc;r^C|ek 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%0DAi>!qj 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 K3PRH%{C@$}ZahB# literal 0 HcmV?d00001 From d6bf5de664e7c2c48d589e9d414f5a6cad077f19 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 02:11:47 +0600 Subject: [PATCH 05/23] Square Rounded logo --- assets/{paynext.png => payNEXT.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename assets/{paynext.png => payNEXT.png} (100%) diff --git a/assets/paynext.png b/assets/payNEXT.png similarity index 100% rename from assets/paynext.png rename to assets/payNEXT.png From 9b24bc92463cee0ac18bf074ff5d152228e03039 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 02:12:41 +0600 Subject: [PATCH 06/23] fixed path --- assets/{payNEXT.png => payNEXT_logo.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename assets/{payNEXT.png => payNEXT_logo.png} (100%) diff --git a/assets/payNEXT.png b/assets/payNEXT_logo.png similarity index 100% rename from assets/payNEXT.png rename to assets/payNEXT_logo.png From e605b39c37d0084e1a0b270414626d84d8358b16 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 12:31:20 +0600 Subject: [PATCH 07/23] Fixed logo alignment issue, centered the logo --- assets/payNEXT_logo.png | Bin 182111 -> 181250 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/payNEXT_logo.png b/assets/payNEXT_logo.png index 4c47de53edf2b30ff3a0386cb441d080013dbcb0..e713d5ca2c280a9256f30dac7b85e74bafa6e720 100644 GIT binary patch literal 181250 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

RXjZcc!qaTja0_bkHN@o7)#ww< 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 DLqkag literal 182111 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

cvN=jw+gWoc;r^C|ek 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%0DAi>!qj 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 K3PRH%{C@$}ZahB# From 78ba29e50d781d4faa916bb574cbeb7f8b98cfc1 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 14:31:57 +0600 Subject: [PATCH 08/23] Database Schema --- db/db_schema.svg | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 db/db_schema.svg diff --git a/db/db_schema.svg b/db/db_schema.svg new file mode 100644 index 0000000..3eee0cd --- /dev/null +++ b/db/db_schema.svg @@ -0,0 +1,20 @@ +1*1*1*1*1*1*1*usersiduuidemailvarchar(255)password_hashvarchar(255)full_namevarchar(100)phonevarchar(20)statususer_statuscreated_attimestampupdated_attimestampwalletsiduuiduser_iduuidwallet_numbervarchar(50)currencyvarchar(3)balancenumeric(15,2)statuswallet_statuscreated_attimestampupdated_attimestamptransactionsiduuidwallet_iduuidtypetransaction_typeamountnumeric(15,2)balance_afternumeric(15,2)reference_iduuiddescriptiontextstatustransaction_statuscreated_attimestamptransfersiduuidfrom_wallet_iduuidto_wallet_iduuidamountnumeric(15,2)currencyvarchar(3)statustransaction_statusnotetextcreated_attimestamppayment_requestsiduuidrequester_wallet_iduuidpayer_wallet_iduuidpayer_emailvarchar(255)amountnumeric(15,2)currencyvarchar(3)statusrequest_statusnotetextcreated_attimestampupdated_attimestampgateway_transactionsiduuidwallet_iduuidprovidervarchar(50)provider_transaction_idvarchar(255)typevarchar(20)amountnumeric(15,2)currencyvarchar(3)statustransaction_statusmetadatajsonbcreated_attimestampupdated_attimestamp \ No newline at end of file From 1c1a9682fee6f3c3420e64ee16d7e575607045fe Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 15:14:08 +0600 Subject: [PATCH 09/23] Updated Docker and nginx file for API --- docker-compose.yml | 14 ++++++++++++++ web/nginx.conf | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index b2e47d7..5a26ced 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,12 +5,26 @@ services: restart: unless-stopped ports: - "80:80" + depends_on: + - api healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost/healthz"] interval: 30s timeout: 5s retries: 3 + api: + build: ./api + container_name: paynext-api + restart: unless-stopped + env_file: + - .env + depends_on: + db: + condition: service_healthy + expose: + - "3000" + db: image: postgres:16-alpine container_name: paynext-db diff --git a/web/nginx.conf b/web/nginx.conf index adcbd85..4d9d082 100644 --- a/web/nginx.conf +++ b/web/nginx.conf @@ -11,6 +11,13 @@ server { add_header Content-Type text/plain; } + location /api/ { + proxy_pass http://api:3000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } + location / { try_files $uri $uri/ /index.html; } From 142cc0e510e65e21f31887936c98baac0be2473e Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 15:46:13 +0600 Subject: [PATCH 10/23] Removed all environment files from uploading --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8058b05..dafca71 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ node_modules/ .DS_Store dist/ build/get-docker.sh -.env + +# Block all .env files everywhere +**/.env +.env \ No newline at end of file From 16e499067d989f53f97f8b226e3be71a31e3aac0 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Fri, 14 Aug 2026 20:27:50 +0600 Subject: [PATCH 11/23] Added API feature --- api/.dockerignore | 3 + api/.env.example | 19 + api/Dockerfile | 7 + api/package-lock.json | 1114 +++++++++++++++++++++++++ api/package.json | 16 + api/src/app.js | 13 + api/src/config/db.js | 12 + api/src/controllers/authController.js | 70 ++ api/src/middleware/auth.js | 24 + api/src/middleware/errorHandler.js | 8 + api/src/models/userModel.js | 26 + api/src/routes/authRoutes.js | 10 + api/src/routes/index.js | 24 + api/src/routes/moneyRoutes.js | 0 api/src/routes/requestRoutes.js | 0 api/src/routes/walletRoutes.js | 16 + api/src/server.js | 5 + 17 files changed, 1367 insertions(+) create mode 100644 api/.dockerignore create mode 100644 api/.env.example create mode 100644 api/Dockerfile create mode 100644 api/package-lock.json create mode 100644 api/package.json create mode 100644 api/src/app.js create mode 100644 api/src/config/db.js create mode 100644 api/src/controllers/authController.js create mode 100644 api/src/middleware/auth.js create mode 100644 api/src/middleware/errorHandler.js create mode 100644 api/src/models/userModel.js create mode 100644 api/src/routes/authRoutes.js create mode 100644 api/src/routes/index.js create mode 100644 api/src/routes/moneyRoutes.js create mode 100644 api/src/routes/requestRoutes.js create mode 100644 api/src/routes/walletRoutes.js create mode 100644 api/src/server.js diff --git a/api/.dockerignore b/api/.dockerignore new file mode 100644 index 0000000..8e480e4 --- /dev/null +++ b/api/.dockerignore @@ -0,0 +1,3 @@ +node_modules +npm-debug.log +.env \ No newline at end of file diff --git a/api/.env.example b/api/.env.example new file mode 100644 index 0000000..3ef35fc --- /dev/null +++ b/api/.env.example @@ -0,0 +1,19 @@ +# ========================================== +# payNEXT Environment Variables Template +# ========================================== +# COPY THIS FILE AND RENAME IT TO .env +# Command: cp .env.example .env + +# Remote Shared Database +DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/paynext_db?sslmode=require + +# Optional split variables if your backend uses them +DB_HOST=your-db-host.supabase.com +DB_PORT=3000 +DB_USER=postgres +DB_PASSWORD=change_me +DB_NAME=postgres +DB_SSL=true + +# API Secrets +JWT_SECRET=choose_your_own_local_jwt_secret \ No newline at end of file diff --git a/api/Dockerfile b/api/Dockerfile new file mode 100644 index 0000000..542be05 --- /dev/null +++ b/api/Dockerfile @@ -0,0 +1,7 @@ +FROM node:20-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm install --omit=dev +COPY . . +EXPOSE 3000 +CMD ["node", "src/server.js"] \ No newline at end of file diff --git a/api/package-lock.json b/api/package-lock.json new file mode 100644 index 0000000..da6094b --- /dev/null +++ b/api/package-lock.json @@ -0,0 +1,1114 @@ +{ + "name": "paynext-api", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "paynext-api", + "version": "1.0.0", + "dependencies": { + "bcryptjs": "^2.4.3", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "jsonwebtoken": "^9.0.2", + "pg": "^8.12.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz", + "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/pg": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.23.0.tgz", + "integrity": "sha512-Ip2EQCngowJLGOfCwkFhPXU7/ljlhn6Rxlmy4XYfL2Y+vyRM59+8uR2xqRWKdYmbXmxCFOAmKxBuSUCdF34qLg==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.14.0", + "pg-pool": "^3.14.0", + "pg-protocol": "^1.16.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.4.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", + "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.0.tgz", + "integrity": "sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", + "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.16.0.tgz", + "integrity": "sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + } + } +} diff --git a/api/package.json b/api/package.json new file mode 100644 index 0000000..41c82e1 --- /dev/null +++ b/api/package.json @@ -0,0 +1,16 @@ +{ + "name": "paynext-api", + "version": "1.0.0", + "main": "src/server.js", + "scripts": { + "start": "node src/server.js", + "dev": "node --watch src/server.js" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "jsonwebtoken": "^9.0.2", + "pg": "^8.12.0" + } +} diff --git a/api/src/app.js b/api/src/app.js new file mode 100644 index 0000000..daa1419 --- /dev/null +++ b/api/src/app.js @@ -0,0 +1,13 @@ +const express = require("express"); +const routes = require("./routes"); +const errorHandler = require("./middleware/errorHandler"); + +const app = express(); +app.use(express.json()); +app.use("/api/v1", routes); +app.use((req, res) => + res.status(404).json({ success: false, error: "Route not found" }), +); +app.use(errorHandler); + +module.exports = app; diff --git a/api/src/config/db.js b/api/src/config/db.js new file mode 100644 index 0000000..f7131cb --- /dev/null +++ b/api/src/config/db.js @@ -0,0 +1,12 @@ +require("dotenv").config(); +const { Pool } = require("pg"); + +const pool = new Pool({ + host: process.env.DB_HOST || "localhost", + port: Number(process.env.DB_PORT || 5432), + user: process.env.DB_USER || "paynext", + password: process.env.DB_PASSWORD, + database: process.env.DB_NAME || "paynext_db", +}); + +module.exports = pool; diff --git a/api/src/controllers/authController.js b/api/src/controllers/authController.js new file mode 100644 index 0000000..4aa75e9 --- /dev/null +++ b/api/src/controllers/authController.js @@ -0,0 +1,70 @@ +const bcrypt = require("bcryptjs"); +const userModel = require("../models/userModel"); +const walletModel = require("../models/walletModel"); +const { signToken } = require("../middleware/auth"); + +const register = async (req, res, next) => { + try { + const { email, password, fullName, phone } = req.body; + if (!email || !password || !fullName) + return res.status(400).json({ success: false, error: "email, password and fullName are required" }); + if (password.length < 6) + return res.status(400).json({ success: false, error: "Password must be at least 6 characters" }); + + const existing = await userModel.findByEmail(email.toLowerCase()); + if (existing) + return res.status(409).json({ success: false, error: "Email already registered" }); + + const passwordHash = await bcrypt.hash(password, 10); + const user = await userModel.create({ + email: email.toLowerCase(), + passwordHash, + fullName, + phone, + }); + + const wallet = await walletModel.create(user.id, "USD"); + const token = signToken(user); + + res.status(201).json({ + success: true, + message: "Registered successfully", + data: { user, wallet, token }, + }); + } catch (e) { + next(e); + } +}; + +const login = async (req, res, next) => { + try { + const { email, password } = req.body; + const user = await userModel.findByEmail((email || "").toLowerCase()); + if (!user) + return res.status(401).json({ success: false, error: "Invalid credentials" }); + + const ok = await bcrypt.compare(password || "", user.password_hash); + if (!ok) + return res.status(401).json({ success: false, error: "Invalid credentials" }); + + const token = signToken(user); + const { password_hash, ...safeUser } = user; + + res.json({ success: true, message: "Login successful", data: { user: safeUser, token } }); + } catch (e) { + next(e); + } +}; + +const me = async (req, res, next) => { + try { + const user = await userModel.findById(req.user.sub); + if (!user) + return res.status(404).json({ success: false, error: "User not found" }); + res.json({ success: true, data: user }); + } catch (e) { + next(e); + } +}; + +module.exports = { register, login, me }; diff --git a/api/src/middleware/auth.js b/api/src/middleware/auth.js new file mode 100644 index 0000000..080e1a9 --- /dev/null +++ b/api/src/middleware/auth.js @@ -0,0 +1,24 @@ +const jwt = require("jsonwebtoken"); + +function signToken(user) { + return jwt.sign({ sub: user.id, email: user.email }, process.env.JWT_SECRET, { + expiresIn: "7d", + }); +} + +function requireAuth(req, res, next) { + const header = req.headers.authorization || ""; + const token = header.startsWith("Bearer ") ? header.slice(7) : null; + if (!token) + return res.status(401).json({ success: false, error: "Missing token" }); + try { + req.user = jwt.verify(token, process.env.JWT_SECRET); + next(); + } catch { + return res + .status(401) + .json({ success: false, error: "Invalid or expired token" }); + } +} + +module.exports = { signToken, requireAuth }; diff --git a/api/src/middleware/errorHandler.js b/api/src/middleware/errorHandler.js new file mode 100644 index 0000000..f560675 --- /dev/null +++ b/api/src/middleware/errorHandler.js @@ -0,0 +1,8 @@ +module.exports = (err, req, res, next) => { + console.error(err); + const status = err.status || 500; + res.status(status).json({ + success: false, + error: status === 500 ? "Internal server error" : err.message, + }); +}; diff --git a/api/src/models/userModel.js b/api/src/models/userModel.js new file mode 100644 index 0000000..f02b456 --- /dev/null +++ b/api/src/models/userModel.js @@ -0,0 +1,26 @@ +const pool = require("../config/db"); + +async function findByEmail(email) { + const r = await pool.query("SELECT * FROM users WHERE email = $1", [email]); + return r.rows[0]; +} + +async function findById(id) { + const r = await pool.query( + "SELECT id, email, full_name, phone, status, created_at FROM users WHERE id = $1", + [id], + ); + return r.rows[0]; +} + +async function create({ email, passwordHash, fullName, phone }) { + const r = await pool.query( + `INSERT INTO users (email, password_hash, full_name, phone) + VALUES ($1, $2, $3, $4) + RETURNING id, email, full_name, phone, status, created_at`, + [email, passwordHash, fullName, phone], + ); + return r.rows[0]; +} + +module.exports = { findByEmail, findById, create }; diff --git a/api/src/routes/authRoutes.js b/api/src/routes/authRoutes.js new file mode 100644 index 0000000..2b93097 --- /dev/null +++ b/api/src/routes/authRoutes.js @@ -0,0 +1,10 @@ +const express = require("express"); +const router = express.Router(); +const authController = require("../controllers/authController"); +const { requireAuth } = require("../middleware/auth"); + +router.post("/register", authController.register); +router.post("/login", authController.login); +router.get("/me", requireAuth, authController.me); + +module.exports = router; diff --git a/api/src/routes/index.js b/api/src/routes/index.js new file mode 100644 index 0000000..3c78460 --- /dev/null +++ b/api/src/routes/index.js @@ -0,0 +1,24 @@ +// api/src/routes/index.js (Master Router) +const express = require("express"); +const router = express.Router(); + +const authRoutes = require("./authRoutes"); +const walletRoutes = require("./walletRoutes"); +const moneyRoutes = require("./moneyRoutes"); +const requestRoutes = require("./requestRoutes"); + +router.get("/health", (req, res) => + res.json({ + success: true, + service: "paynext-api", + time: new Date().toISOString(), + }), +); + +// Mount team routes +router.use("/auth", authRoutes); +router.use("/wallets", walletRoutes); +router.use("/transfers", moneyRoutes); +router.use("/payment-requests", requestRoutes); + +module.exports = router; diff --git a/api/src/routes/moneyRoutes.js b/api/src/routes/moneyRoutes.js new file mode 100644 index 0000000..e69de29 diff --git a/api/src/routes/requestRoutes.js b/api/src/routes/requestRoutes.js new file mode 100644 index 0000000..e69de29 diff --git a/api/src/routes/walletRoutes.js b/api/src/routes/walletRoutes.js new file mode 100644 index 0000000..293c733 --- /dev/null +++ b/api/src/routes/walletRoutes.js @@ -0,0 +1,16 @@ +const express = require("express"); +const router = express.Router(); +const walletController = require("../controllers/walletController"); +const moneyController = require("../controllers/moneyController"); +const { requireAuth } = require("../middleware/auth"); + +router.post("/", requireAuth, walletController.createWallet); +router.get("/", requireAuth, walletController.myWallets); +router.get("/:id", requireAuth, walletController.getWallet); +router.get("/:id/balance", requireAuth, walletController.getBalance); +router.get("/:id/transactions", requireAuth, walletController.getTransactions); + +router.post("/:id/top-up", requireAuth, moneyController.topUp); +router.post("/:id/withdraw", requireAuth, moneyController.withdraw); + +module.exports = router; diff --git a/api/src/server.js b/api/src/server.js new file mode 100644 index 0000000..4edc2e2 --- /dev/null +++ b/api/src/server.js @@ -0,0 +1,5 @@ +require("dotenv").config(); +const app = require("./app"); + +const port = process.env.PORT || 3000; +app.listen(port, () => console.log(`payNEXT API listening on port ${port}`)); From adea41a8e3352a39bc1161fcf4c46238e9c28e12 Mon Sep 17 00:00:00 2001 From: Rohan Date: Sat, 15 Aug 2026 13:02:50 +0600 Subject: [PATCH 12/23] feat: implement wallet create/view and balance check --- api/src/controllers/walletController.js | 84 +++++++++++++++++++++++++ api/src/models/walletModel.js | 26 ++++++++ 2 files changed, 110 insertions(+) create mode 100644 api/src/controllers/walletController.js create mode 100644 api/src/models/walletModel.js diff --git a/api/src/controllers/walletController.js b/api/src/controllers/walletController.js new file mode 100644 index 0000000..9f56287 --- /dev/null +++ b/api/src/controllers/walletController.js @@ -0,0 +1,84 @@ +const walletModel = require("../models/walletModel"); +const transactionModel = require("../models/transactionModel"); + +async function loadOwnWallet(req) { + const wallet = await walletModel.findById(req.params.id); + if (!wallet) return { error: "Wallet not found", status: 404 }; + if (wallet.user_id !== req.user.sub) + return { error: "Not your wallet", status: 403 }; + return { wallet }; +} + +const createWallet = async (req, res, next) => { + try { + const wallet = await walletModel.create( + req.user.sub, + req.body.currency || "USD", + ); + res + .status(201) + .json({ success: true, message: "Wallet created", data: wallet }); + } catch (e) { + next(e); + } +}; + +const myWallets = async (req, res, next) => { + try { + const wallets = await walletModel.listByUser(req.user.sub); + res.json({ success: true, count: wallets.length, data: wallets }); + } catch (e) { + next(e); + } +}; + +const getWallet = async (req, res, next) => { + try { + const { wallet, error, status } = await loadOwnWallet(req); + if (error) return res.status(status).json({ success: false, error }); + res.json({ success: true, data: wallet }); + } catch (e) { + next(e); + } +}; + +const getBalance = async (req, res, next) => { + try { + const { wallet, error, status } = await loadOwnWallet(req); + if (error) return res.status(status).json({ success: false, error }); + res.json({ + success: true, + data: { + walletId: wallet.id, + walletNumber: wallet.wallet_number, + currency: wallet.currency, + balance: wallet.balance, + }, + }); + } catch (e) { + next(e); + } +}; + +const getTransactions = async (req, res, next) => { + try { + const { wallet, error, status } = await loadOwnWallet(req); + if (error) return res.status(status).json({ success: false, error }); + + const limit = Math.min(Number(req.query.limit) || 20, 100); + const offset = Number(req.query.offset) || 0; + + const rows = await transactionModel.listByWallet(wallet.id, limit, offset); + res.json({ success: true, count: rows.length, data: rows }); + } catch (e) { + next(e); + } +}; + +module.exports = { + createWallet, + myWallets, + getWallet, + getBalance, + getTransactions, +}; diff --git a/api/src/models/walletModel.js b/api/src/models/walletModel.js new file mode 100644 index 0000000..8de29f0 --- /dev/null +++ b/api/src/models/walletModel.js @@ -0,0 +1,26 @@ +const pool = require("../config/db"); + +async function create(userId, currency = "USD") { + const walletNumber = "PAYNX-" + Math.floor(100000 + Math.random() * 900000); + const r = await pool.query( + `INSERT INTO wallets (user_id, wallet_number, currency) + VALUES ($1, $2, $3) RETURNING *`, + [userId, walletNumber, currency], + ); + return r.rows[0]; +} + +async function listByUser(userId) { + const r = await pool.query( + "SELECT * FROM wallets WHERE user_id = $1 ORDER BY created_at", + [userId], + ); + return r.rows; +} + +async function findById(id) { + const r = await pool.query("SELECT * FROM wallets WHERE id = $1", [id]); + return r.rows[0]; +} + +module.exports = { create, listByUser, findById }; From ab07db7d3f1ecd72dd77a5f35dff976b60ce1236 Mon Sep 17 00:00:00 2001 From: NaosinLineya Date: Sat, 15 Aug 2026 20:14:17 +0600 Subject: [PATCH 13/23] initial moneycontroller --- api/src/controllers/moneyController.js | 154 +++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 api/src/controllers/moneyController.js diff --git a/api/src/controllers/moneyController.js b/api/src/controllers/moneyController.js new file mode 100644 index 0000000..5a2df55 --- /dev/null +++ b/api/src/controllers/moneyController.js @@ -0,0 +1,154 @@ +const { + ApiError, + withTransaction, + lockWallet, + setBalance, + logTx, + gatewayLog, +} = require("../services/moneyService"); + +const topUp = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); + + const data = await withTransaction(async (client) => { + const wallet = await lockWallet(client, req.params.id); + if (!wallet) throw new ApiError("Wallet not found", 404); + if (wallet.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); + if (wallet.status !== "active") throw new ApiError("Wallet is not active", 400); + + const provider = req.body.provider || "mock"; + const gw = await gatewayLog(client, { + walletId: wallet.id, + provider, + providerRef: "MOCK-" + Date.now(), + type: "top_up", + amount, + currency: wallet.currency, + status: "completed", + }); + + const newBalance = Number(wallet.balance) + amount; + await setBalance(client, wallet, newBalance); + const tx = await logTx(client, { + walletId: wallet.id, + type: "top_up", + amount, + balanceAfter: newBalance, + referenceId: gw.id, + description: req.body.description || `Top-up via ${provider}`, + }); + + return { newBalance: newBalance.toFixed(2), transaction: tx, gateway: gw }; + }); + + res.status(201).json({ success: true, message: "Top-up successful", data }); + } catch (e) { + next(e); + } +}; + +const withdraw = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); + + const data = await withTransaction(async (client) => { + const wallet = await lockWallet(client, req.params.id); + if (!wallet) throw new ApiError("Wallet not found", 404); + if (wallet.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); + if (wallet.status !== "active") throw new ApiError("Wallet is not active", 400); + if (Number(wallet.balance) < amount) throw new ApiError("Insufficient balance", 400); + + const provider = req.body.provider || "mock"; + const gw = await gatewayLog(client, { + walletId: wallet.id, + provider, + providerRef: "MOCK-" + Date.now(), + type: "withdrawal", + amount, + currency: wallet.currency, + status: "completed", + }); + + const newBalance = Number(wallet.balance) - amount; + await setBalance(client, wallet, newBalance); + const tx = await logTx(client, { + walletId: wallet.id, + type: "withdrawal", + amount, + balanceAfter: newBalance, + referenceId: gw.id, + description: req.body.description || `Withdrawal via ${provider}`, + }); + + return { newBalance: newBalance.toFixed(2), transaction: tx, gateway: gw }; + }); + + res.status(201).json({ success: true, message: "Withdrawal successful", data }); + } catch (e) { + next(e); + } +}; + +const sendMoney = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + const { fromWalletId, toWalletNumber, note } = req.body; + if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); + if (!fromWalletId || !toWalletNumber) + throw new ApiError("fromWalletId and toWalletNumber are required", 400); + + const data = await withTransaction(async (client) => { + const from = await lockWallet(client, fromWalletId); + if (!from) throw new ApiError("Sender wallet not found", 404); + if (from.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); + + const toRes = await client.query( + "SELECT * FROM wallets WHERE wallet_number = $1", + [toWalletNumber] + ); + const to = toRes.rows[0]; + if (!to) throw new ApiError("Receiver wallet not found", 404); + if (to.id === from.id) throw new ApiError("Cannot send to the same wallet", 400); + if (from.status !== "active" || to.status !== "active") + throw new ApiError("Wallet is not active", 400); + if (from.currency !== to.currency) throw new ApiError("Currency mismatch", 400); + if (Number(from.balance) < amount) throw new ApiError("Insufficient balance", 400); + + const lockedTo = await lockWallet(client, to.id); + + const tr = await client.query( + `INSERT INTO transfers (from_wallet_id, to_wallet_id, amount, currency, note) + VALUES ($1, $2, $3, $4, $5) RETURNING *`, + [from.id, to.id, amount, from.currency, note || null] + ); + const transfer = tr.rows[0]; + + const fromBalance = Number(from.balance) - amount; + const toBalance = Number(lockedTo.balance) + amount; + await setBalance(client, from, fromBalance); + await setBalance(client, lockedTo, toBalance); + + await logTx(client, { + walletId: from.id, type: "transfer_out", amount, + balanceAfter: fromBalance, referenceId: transfer.id, + description: note || `Sent to ${to.wallet_number}`, + }); + await logTx(client, { + walletId: to.id, type: "transfer_in", amount, + balanceAfter: toBalance, referenceId: transfer.id, + description: note || `Received from ${from.wallet_number}`, + }); + + return { transfer, fromBalance: fromBalance.toFixed(2), toBalance: toBalance.toFixed(2) }; + }); + + res.status(201).json({ success: true, message: "Transfer successful", data }); + } catch (e) { + next(e); + } +}; + +module.exports = { topUp, withdraw, sendMoney }; From 0b70d5cdfdf8bb06cac23f86cbf0868196e1b05f Mon Sep 17 00:00:00 2001 From: NaosinLineya Date: Sat, 15 Aug 2026 20:15:32 +0600 Subject: [PATCH 14/23] initial moneyroutes --- api/src/routes/moneyRoutes.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/api/src/routes/moneyRoutes.js b/api/src/routes/moneyRoutes.js index e69de29..87e5417 100644 --- a/api/src/routes/moneyRoutes.js +++ b/api/src/routes/moneyRoutes.js @@ -0,0 +1,9 @@ +const express = require("express"); +const router = express.Router(); +const moneyController = require("../controllers/moneyController"); +const { requireAuth } = require("../middleware/auth"); + +// Note: top-up and withdraw are on the wallet router, but sendMoney is here +router.post("/", requireAuth, moneyController.sendMoney); + +module.exports = router; \ No newline at end of file From 2ab817509ddb6888dec2767a2db43d591c332ef5 Mon Sep 17 00:00:00 2001 From: NaosinLineya Date: Sat, 15 Aug 2026 20:30:46 +0600 Subject: [PATCH 15/23] Create dummy --- api/src/services/dummy | 1 + 1 file changed, 1 insertion(+) create mode 100644 api/src/services/dummy diff --git a/api/src/services/dummy b/api/src/services/dummy new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/api/src/services/dummy @@ -0,0 +1 @@ + From 45acc591f9d93e49c98b5eac0382d05504ac9294 Mon Sep 17 00:00:00 2001 From: NaosinLineya Date: Sat, 15 Aug 2026 20:31:18 +0600 Subject: [PATCH 16/23] initial moneyService --- api/src/services/moneyService.js | 71 ++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 api/src/services/moneyService.js diff --git a/api/src/services/moneyService.js b/api/src/services/moneyService.js new file mode 100644 index 0000000..dd92431 --- /dev/null +++ b/api/src/services/moneyService.js @@ -0,0 +1,71 @@ +const pool = require("../config/db"); + +class ApiError extends Error { + constructor(message, status) { + super(message); + this.status = status; + } +} + +async function withTransaction(fn) { + const client = await pool.connect(); + try { + await client.query("BEGIN"); + const result = await fn(client); + await client.query("COMMIT"); + return result; + } catch (e) { + await client.query("ROLLBACK"); + throw e; + } finally { + client.release(); + } +} + +async function lockWallet(client, id) { + const r = await client.query( + "SELECT * FROM wallets WHERE id = $1 FOR UPDATE", + [id], + ); + return r.rows[0]; +} + +async function setBalance(client, wallet, balance) { + await client.query( + "UPDATE wallets SET balance = $1, updated_at = CURRENT_TIMESTAMP WHERE id = $2", + [balance, wallet.id], + ); +} + +async function logTx( + client, + { walletId, type, amount, balanceAfter, referenceId, description }, +) { + const r = await client.query( + `INSERT INTO transactions (wallet_id, type, amount, balance_after, reference_id, description) + VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, + [walletId, type, amount, balanceAfter, referenceId, description], + ); + return r.rows[0]; +} + +async function gatewayLog( + client, + { walletId, provider, providerRef, type, amount, currency, status }, +) { + const r = await client.query( + `INSERT INTO gateway_transactions (wallet_id, provider, provider_transaction_id, type, amount, currency, status) + VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING *`, + [walletId, provider, providerRef, type, amount, currency, status], + ); + return r.rows[0]; +} + +module.exports = { + ApiError, + withTransaction, + lockWallet, + setBalance, + logTx, + gatewayLog, +}; From 56d81bb97620e1e36d330a81e6c2044ff7da6b0b Mon Sep 17 00:00:00 2001 From: NaosinLineya Date: Sat, 15 Aug 2026 20:35:45 +0600 Subject: [PATCH 17/23] Delete api/src/services/dummy --- api/src/services/dummy | 1 - 1 file changed, 1 deletion(-) delete mode 100644 api/src/services/dummy diff --git a/api/src/services/dummy b/api/src/services/dummy deleted file mode 100644 index 8b13789..0000000 --- a/api/src/services/dummy +++ /dev/null @@ -1 +0,0 @@ - From ef3b5ca6b0258bfc0143acc3513d488ba3a0ad9c Mon Sep 17 00:00:00 2001 From: taskifbin Date: Sat, 15 Aug 2026 22:02:49 +0600 Subject: [PATCH 18/23] Docker updated for neon ading server --- docker-compose.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5a26ced..4b5a759 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,41 +19,12 @@ services: restart: unless-stopped env_file: - .env - depends_on: - db: - condition: service_healthy expose: - "3000" - db: - image: postgres:16-alpine - container_name: paynext-db - restart: unless-stopped - env_file: - - .env - environment: - POSTGRES_USER: ${DB_USER} - POSTGRES_PASSWORD: ${DB_PASSWORD} - POSTGRES_DB: ${DB_NAME} - ports: - - "127.0.0.1:5432:5432" - volumes: - - postgres_data:/var/lib/postgresql/data - - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql - healthcheck: - test: ["CMD-SHELL", "pg_isready -U ${DB_USER} -d ${DB_NAME}"] - interval: 5s - timeout: 5s - retries: 5 - adminer: image: adminer container_name: paynext-adminer restart: unless-stopped ports: - "8080:8080" - depends_on: - - db - -volumes: - postgres_data: From 1ebde0fddd2e789c55d699fc6b527a43493221df Mon Sep 17 00:00:00 2001 From: taskifbin Date: Sat, 15 Aug 2026 22:07:08 +0600 Subject: [PATCH 19/23] Docker updated for neon ading server --- .github/workflows/deploy.yml | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 7be2e70..d6cb8a0 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -36,10 +36,13 @@ jobs: if: github.ref == 'refs/heads/main' environment: name: production - env: + env: SERVER_IP: ${{ secrets.SERVER_IP }} SSH_USER: ${{ secrets.SSH_USER }} SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }} + DB_HOST: ${{ secrets.DB_HOST }} + DB_USER: ${{ secrets.DB_USER }} + DB_NAME: ${{ secrets.DB_NAME }} DB_PASSWORD: ${{ secrets.DB_PASSWORD }} JWT_SECRET: ${{ secrets.JWT_SECRET }} steps: @@ -56,14 +59,15 @@ jobs: - name: Create deployment folder on server run: ssh "$SSH_USER@$SERVER_IP" "mkdir -p /opt/paynext" - - name: Build server .env on the runner (never stored in repo) + - name: Build server .env on the runner run: | { - echo "DB_HOST=db" + echo "DB_HOST=$DB_HOST" echo "DB_PORT=5432" - echo "DB_USER=paynext" + echo "DB_USER=$DB_USER" echo "DB_PASSWORD=$DB_PASSWORD" - echo "DB_NAME=paynext_db" + echo "DB_NAME=$DB_NAME" + echo "DB_SSL=true" echo "JWT_SECRET=$JWT_SECRET" } > server.env From df7e3e2753878bf647d8e65f30e4c8de58e25e67 Mon Sep 17 00:00:00 2001 From: Tanvir Alam Shihab Date: Sat, 15 Aug 2026 23:49:48 +0600 Subject: [PATCH 20/23] Implement : History, Request Money CRUD, Merchant Payment Gateway --- ...ory_8.Request Money_9.Payment Gateway.json | 191 ++++++++++++++++++ api/src/controllers/merchantController.js | 107 ++++++++++ api/src/controllers/requestController.js | 169 ++++++++++++++++ api/src/controllers/transactionController.js | 23 +++ api/src/models/merchantModel.js | 46 +++++ api/src/models/paymentRequestModel.js | 84 ++++++++ api/src/models/transactionModel.js | 11 + api/src/routes/index.js | 6 + api/src/routes/merchantRoutes.js | 16 ++ api/src/routes/requestRoutes.js | 15 ++ api/src/routes/transactionRoutes.js | 8 + db/init.sql | 26 ++- 12 files changed, 701 insertions(+), 1 deletion(-) create mode 100644 7.View History_8.Request Money_9.Payment Gateway.json create mode 100644 api/src/controllers/merchantController.js create mode 100644 api/src/controllers/requestController.js create mode 100644 api/src/controllers/transactionController.js create mode 100644 api/src/models/merchantModel.js create mode 100644 api/src/models/paymentRequestModel.js create mode 100644 api/src/models/transactionModel.js create mode 100644 api/src/routes/merchantRoutes.js create mode 100644 api/src/routes/transactionRoutes.js diff --git a/7.View History_8.Request Money_9.Payment Gateway.json b/7.View History_8.Request Money_9.Payment Gateway.json new file mode 100644 index 0000000..2f317d1 --- /dev/null +++ b/7.View History_8.Request Money_9.Payment Gateway.json @@ -0,0 +1,191 @@ +{ + "info": { + "name": "PayNEXT - Assignment 3 (Shihab)", + "_postman_id": "60b57ecf-2ff8-4463-ac9d-ff5e4765d135", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "variable": [ + { + "key": "token", + "value": "" + } + ], + "item": [ + { + "name": "0. Authentication", + "item": [ + { + "name": "REGISTER User (POST)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "var jsonData = pm.response.json();", + "if(jsonData.data && jsonData.data.token) {", + " pm.collectionVariables.set(\"token\", jsonData.data.token);", + "}" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"email\": \"test1@example.com\",\n \"password\": \"123456\",\n \"fullName\": \"Test User\",\n \"phone\": \"01712345678\"\n}" + }, + "url": { + "raw": "http://localhost/api/v1/auth/register", + "host": [ + "localhost" + ], + "path": [ + "api", + "v1", + "auth", + "register" + ] + } + } + }, + { + "name": "LOGIN User (POST)", + "event": [ + { + "listen": "test", + "script": { + "exec": [ + "var jsonData = pm.response.json();", + "if(jsonData.data && jsonData.data.token) {", + " pm.collectionVariables.set(\"token\", jsonData.data.token);", + "}" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"email\": \"test1@example.com\",\n \"password\": \"123456\"\n}" + }, + "url": { + "raw": "http://localhost/api/v1/auth/login", + "host": [ + "localhost" + ], + "path": [ + "api", + "v1", + "auth", + "login" + ] + } + } + } + ] + }, + { + "name": "1. Transaction History", + "item": [ + { + "name": "GET History", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{token}}" + } + ], + "url": { + "raw": "http://localhost/api/v1/history", + "host": [ + "localhost" + ], + "path": [ + "api", + "v1", + "history" + ] + } + } + } + ] + }, + { + "name": "2. Merchant Payment Gateway (CRUD)", + "item": [ + { + "name": "CREATE Merchant (POST)", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"name\": \"Daraz Online\"\n}" + }, + "url": { + "raw": "http://localhost/api/v1/merchants", + "host": [ + "localhost" + ], + "path": [ + "api", + "v1", + "merchants" + ] + } + } + }, + { + "name": "READ All Merchants (GET)", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{token}}" + } + ], + "url": { + "raw": "http://localhost/api/v1/merchants", + "host": [ + "localhost" + ], + "path": [ + "api", + "v1", + "merchants" + ] + } + } + } + ] + } + ] +} \ No newline at end of file diff --git a/api/src/controllers/merchantController.js b/api/src/controllers/merchantController.js new file mode 100644 index 0000000..f43df2b --- /dev/null +++ b/api/src/controllers/merchantController.js @@ -0,0 +1,107 @@ +const merchantModel = require("../models/merchantModel"); +const walletModel = require("../models/walletModel"); +const { ApiError, withTransaction, lockWallet, setBalance, logTx } = require("../services/moneyService"); + +const createMerchant = async (req, res, next) => { + try { + if (!req.body.name) throw new ApiError("Merchant name is required", 400); + const merchant = await merchantModel.create({ name: req.body.name }); + res.status(201).json({ success: true, message: "Merchant created", data: merchant }); + } catch (e) { + next(e); + } +}; + +const getAllMerchants = async (req, res, next) => { + try { + const merchants = await merchantModel.findAll(); + res.json({ success: true, count: merchants.length, data: merchants }); + } catch (e) { + next(e); + } +}; + +const getMerchantById = async (req, res, next) => { + try { + const merchant = await merchantModel.findById(req.params.id); + if (!merchant) throw new ApiError("Merchant not found", 404); + res.json({ success: true, data: merchant }); + } catch (e) { + next(e); + } +}; + +const updateMerchant = async (req, res, next) => { + try { + const { name, status } = req.body; + if (!name || !status) throw new ApiError("Name and status are required", 400); + const merchant = await merchantModel.update(req.params.id, name, status); + if (!merchant) throw new ApiError("Merchant not found", 404); + res.json({ success: true, message: "Merchant updated", data: merchant }); + } catch (e) { + next(e); + } +}; + +const deleteMerchant = async (req, res, next) => { + try { + const merchant = await merchantModel.remove(req.params.id); + if (!merchant) throw new ApiError("Merchant not found", 404); + res.json({ success: true, message: "Merchant deleted", data: merchant }); + } catch (e) { + next(e); + } +}; + +const payMerchant = async (req, res, next) => { + try { + const { merchantId, amount } = req.body; + if (!merchantId || !amount || amount <= 0) { + throw new ApiError("Valid merchantId and amount > 0 are required", 400); + } + + const data = await withTransaction(async (client) => { + // 1. Verify merchant exists + const merchant = await merchantModel.findById(merchantId); + if (!merchant) throw new ApiError("Merchant not found", 404); + if (merchant.status !== 'active') throw new ApiError("Merchant is not active", 400); + + // 2. Lock the user's wallet + const wallets = await walletModel.listByUser(req.user.sub); + if (!wallets || wallets.length === 0) throw new ApiError("No wallet found", 404); + + const userWallet = await lockWallet(client, wallets[0].id); + const paymentAmount = Number(amount); + + if (Number(userWallet.balance) < paymentAmount) { + throw new ApiError("Insufficient balance to pay merchant", 400); + } + + // 3. Deduct balance + const newBalance = Number(userWallet.balance) - paymentAmount; + await setBalance(client, userWallet, newBalance); + + // 4. Log in master ledger + await logTx(client, { + walletId: userWallet.id, + type: 'transfer_out', + amount: paymentAmount, + balanceAfter: newBalance, + description: `Payment to merchant: ${merchant.name}` + }); + + // 5. Log in merchant payments table + const paymentLog = await merchantModel.logPayment( + client, merchant.id, userWallet.id, paymentAmount, userWallet.currency + ); + + return { paymentLog, newBalance }; + }); + + res.json({ success: true, message: "Payment successful", data }); + } catch (e) { + next(e); + } +}; + +module.exports = { createMerchant, getAllMerchants, getMerchantById, updateMerchant, deleteMerchant, payMerchant }; diff --git a/api/src/controllers/requestController.js b/api/src/controllers/requestController.js new file mode 100644 index 0000000..65ca93a --- /dev/null +++ b/api/src/controllers/requestController.js @@ -0,0 +1,169 @@ +const walletModel = require("../models/walletModel"); +const paymentRequestModel = require("../models/paymentRequestModel"); +const { + ApiError, + withTransaction, + lockWallet, + setBalance, + logTx, +} = require("../services/moneyService"); + +const createRequest = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + const { requesterWalletId, payerEmail, note } = req.body; + if (!amount || amount <= 0) + throw new ApiError("amount must be greater than 0", 400); + if (!requesterWalletId || !payerEmail) + throw new ApiError("requesterWalletId and payerEmail are required", 400); + + const wallet = await walletModel.findById(requesterWalletId); + if (!wallet) throw new ApiError("Wallet not found", 404); + if (wallet.user_id !== req.user.sub) + throw new ApiError("Not your wallet", 403); + + const request = await paymentRequestModel.create({ + requesterWalletId: wallet.id, + payerEmail: payerEmail.toLowerCase(), + amount, + currency: wallet.currency, + note: note || null, + }); + + res + .status(201) + .json({ success: true, message: "Payment request sent", data: request }); + } catch (e) { + next(e); + } +}; + +const myRequests = async (req, res, next) => { + try { + const rows = await paymentRequestModel.listForUser( + req.user.sub, + req.user.email, + ); + res.json({ success: true, count: rows.length, data: rows }); + } catch (e) { + next(e); + } +}; + +const approveRequest = async (req, res, next) => { + try { + const { fromWalletId } = req.body; + if (!fromWalletId) throw new ApiError("fromWalletId is required", 400); + + const data = await withTransaction(async (client) => { + const request = await paymentRequestModel.findByIdForUpdate( + client, + req.params.id, + ); + if (!request) throw new ApiError("Payment request not found", 404); + if (request.status !== "pending") + throw new ApiError("Request is not pending", 400); + if (request.payer_email !== req.user.email) + throw new ApiError("Only the payer can approve this request", 403); + + const payerWallet = await lockWallet(client, fromWalletId); + if (!payerWallet) throw new ApiError("Payer wallet not found", 404); + if (payerWallet.user_id !== req.user.sub) + throw new ApiError("Not your wallet", 403); + + const amount = Number(request.amount); + if (Number(payerWallet.balance) < amount) + throw new ApiError("Insufficient balance", 400); + + const requesterWallet = await lockWallet( + client, + request.requester_wallet_id, + ); + + const payerBalance = Number(payerWallet.balance) - amount; + const requesterBalance = Number(requesterWallet.balance) + amount; + await setBalance(client, payerWallet, payerBalance); + await setBalance(client, requesterWallet, requesterBalance); + + await logTx(client, { + walletId: payerWallet.id, + type: "request_out", + amount, + balanceAfter: payerBalance, + referenceId: request.id, + description: request.note || "Paid request", + }); + await logTx(client, { + walletId: requesterWallet.id, + type: "request_in", + amount, + balanceAfter: requesterBalance, + referenceId: request.id, + description: request.note || "Request paid", + }); + + const paid = await paymentRequestModel.markPaid( + client, + request.id, + payerWallet.id, + ); + return { paymentRequest: paid }; + }); + + res.json({ success: true, message: "Payment request paid", data }); + } catch (e) { + next(e); + } +}; + +const declineRequest = async (req, res, next) => { + try { + const declined = await paymentRequestModel.decline( + req.params.id, + req.user.email, + ); + if (!declined) + return res + .status(404) + .json({ success: false, error: "Pending request not found for you" }); + res.json({ success: true, message: "Request declined", data: declined }); + } catch (e) { + next(e); + } +}; +const getRequestById = async (req, res, next) => { + try { + const request = await paymentRequestModel.findById(req.params.id); + if (!request) throw new ApiError("Payment request not found", 404); + res.json({ success: true, data: request }); + } catch (e) { + next(e); + } +}; + +const updateRequest = async (req, res, next) => { + try { + const { amount, note } = req.body; + if (!amount || amount <= 0) throw new ApiError("Amount must be > 0", 400); + + const updated = await paymentRequestModel.update(req.params.id, amount, note, req.user.email); + if (!updated) throw new ApiError("Pending request not found for you", 404); + + res.json({ success: true, message: "Payment request updated", data: updated }); + } catch (e) { + next(e); + } +}; + +const deleteRequest = async (req, res, next) => { + try { + const deleted = await paymentRequestModel.remove(req.params.id, req.user.email); + if (!deleted) throw new ApiError("Pending request not found for you", 404); + + res.json({ success: true, message: "Payment request deleted", data: deleted }); + } catch (e) { + next(e); + } +}; + +module.exports = { createRequest, myRequests, approveRequest, declineRequest, getRequestById, updateRequest, deleteRequest }; diff --git a/api/src/controllers/transactionController.js b/api/src/controllers/transactionController.js new file mode 100644 index 0000000..7689419 --- /dev/null +++ b/api/src/controllers/transactionController.js @@ -0,0 +1,23 @@ +const transactionModel = require("../models/transactionModel"); +const walletModel = require("../models/walletModel"); + +const getHistory = async (req, res, next) => { + try { + const { limit = 10, offset = 0 } = req.query; + + // Find the user's wallet to get transactions + const wallets = await walletModel.listByUser(req.user.sub); + if (!wallets || wallets.length === 0) { + return res.status(404).json({ success: false, error: "Wallet not found for this user" }); + } + const wallet = wallets[0]; // Get the primary wallet + + const transactions = await transactionModel.listByWallet(wallet.id, limit, offset); + + res.json({ success: true, count: transactions.length, data: transactions }); + } catch (e) { + next(e); + } +}; + +module.exports = { getHistory }; diff --git a/api/src/models/merchantModel.js b/api/src/models/merchantModel.js new file mode 100644 index 0000000..d999d95 --- /dev/null +++ b/api/src/models/merchantModel.js @@ -0,0 +1,46 @@ +const pool = require("../config/db"); +const crypto = require("crypto"); + +async function create({ name }) { + const apiKey = "pk_" + crypto.randomBytes(16).toString("hex"); + const r = await pool.query( + "INSERT INTO merchants (name, api_key) VALUES ($1, $2) RETURNING *", + [name, apiKey] + ); + return r.rows[0]; +} + +async function findAll() { + const r = await pool.query("SELECT * FROM merchants ORDER BY created_at DESC"); + return r.rows; +} + +async function findById(id) { + const r = await pool.query("SELECT * FROM merchants WHERE id = $1", [id]); + return r.rows[0]; +} + +async function update(id, name, status) { + const r = await pool.query( + "UPDATE merchants SET name = $1, status = $2, updated_at = CURRENT_TIMESTAMP WHERE id = $3 RETURNING *", + [name, status, id] + ); + return r.rows[0]; +} + +async function remove(id) { + const r = await pool.query("DELETE FROM merchants WHERE id = $1 RETURNING *", [id]); + return r.rows[0]; +} + +// Log a payment in the database (Called during a transaction) +async function logPayment(client, merchantId, walletId, amount, currency) { + const r = await client.query( + `INSERT INTO merchant_payments (merchant_id, wallet_id, amount, currency) + VALUES ($1, $2, $3, $4) RETURNING *`, + [merchantId, walletId, amount, currency] + ); + return r.rows[0]; +} + +module.exports = { create, findAll, findById, update, remove, logPayment }; diff --git a/api/src/models/paymentRequestModel.js b/api/src/models/paymentRequestModel.js new file mode 100644 index 0000000..3398c72 --- /dev/null +++ b/api/src/models/paymentRequestModel.js @@ -0,0 +1,84 @@ +const pool = require("../config/db"); + +async function create({ + requesterWalletId, + payerEmail, + amount, + currency, + note, +}) { + const r = await pool.query( + `INSERT INTO payment_requests (requester_wallet_id, payer_email, amount, currency, note) + VALUES ($1, $2, $3, $4, $5) RETURNING *`, + [requesterWalletId, payerEmail, amount, currency, note], + ); + return r.rows[0]; +} + +async function listForUser(userId, email) { + const r = await pool.query( + `SELECT pr.*, w.wallet_number AS requester_wallet_number + FROM payment_requests pr + JOIN wallets w ON w.id = pr.requester_wallet_id + WHERE w.user_id = $1 OR pr.payer_email = $2 + ORDER BY pr.created_at DESC`, + [userId, email], + ); + return r.rows; +} + +async function decline(id, payerEmail) { + const r = await pool.query( + `UPDATE payment_requests + SET status = 'declined', updated_at = CURRENT_TIMESTAMP + WHERE id = $1 AND payer_email = $2 AND status = 'pending' RETURNING *`, + [id, payerEmail], + ); + return r.rows[0]; +} + +// Used inside a DB transaction (client), not standalone +async function findByIdForUpdate(client, id) { + const r = await client.query( + "SELECT * FROM payment_requests WHERE id = $1 FOR UPDATE", + [id], + ); + return r.rows[0]; +} + +async function markPaid(client, id, payerWalletId) { + const r = await client.query( + `UPDATE payment_requests + SET status = 'paid', payer_wallet_id = $1, updated_at = CURRENT_TIMESTAMP + WHERE id = $2 RETURNING *`, + [payerWalletId, id], + ); + return r.rows[0]; +} + + +async function findById(id) { + const r = await pool.query("SELECT * FROM payment_requests WHERE id = $1", [id]); + return r.rows[0]; +} + +async function update(id, amount, note, email) { + const r = await pool.query( + `UPDATE payment_requests + SET amount = $1, note = $2, updated_at = CURRENT_TIMESTAMP + WHERE id = $3 AND payer_email = $4 AND status = 'pending' RETURNING *`, + [amount, note, id, email] + ); + return r.rows[0]; +} + +async function remove(id, email) { + const r = await pool.query( + `DELETE FROM payment_requests + WHERE id = $1 AND payer_email = $2 AND status = 'pending' RETURNING *`, + [id, email] + ); + return r.rows[0]; +} + +module.exports = { create, listForUser, decline, findByIdForUpdate, markPaid, findById, update, remove }; diff --git a/api/src/models/transactionModel.js b/api/src/models/transactionModel.js new file mode 100644 index 0000000..39cd020 --- /dev/null +++ b/api/src/models/transactionModel.js @@ -0,0 +1,11 @@ +const pool = require("../config/db"); + +async function listByWallet(walletId, limit, offset) { + const r = await pool.query( + "SELECT * FROM transactions WHERE wallet_id = $1 ORDER BY created_at DESC LIMIT $2 OFFSET $3", + [walletId, limit, offset], + ); + return r.rows; +} + +module.exports = { listByWallet }; diff --git a/api/src/routes/index.js b/api/src/routes/index.js index 3c78460..ee55c37 100644 --- a/api/src/routes/index.js +++ b/api/src/routes/index.js @@ -6,6 +6,8 @@ const authRoutes = require("./authRoutes"); const walletRoutes = require("./walletRoutes"); const moneyRoutes = require("./moneyRoutes"); const requestRoutes = require("./requestRoutes"); +const transactionRoutes = require("./transactionRoutes"); +const merchantRoutes = require("./merchantRoutes"); router.get("/health", (req, res) => res.json({ @@ -21,4 +23,8 @@ router.use("/wallets", walletRoutes); router.use("/transfers", moneyRoutes); router.use("/payment-requests", requestRoutes); +// Mount your new routes +router.use("/history", transactionRoutes); +router.use("/merchants", merchantRoutes); + module.exports = router; diff --git a/api/src/routes/merchantRoutes.js b/api/src/routes/merchantRoutes.js new file mode 100644 index 0000000..2c74612 --- /dev/null +++ b/api/src/routes/merchantRoutes.js @@ -0,0 +1,16 @@ +const express = require("express"); +const router = express.Router(); +const merchantController = require("../controllers/merchantController"); +const { requireAuth } = require("../middleware/auth"); + +// CRUD Routes for Merchants +router.post("/", requireAuth, merchantController.createMerchant); +router.get("/", requireAuth, merchantController.getAllMerchants); +router.get("/:id", requireAuth, merchantController.getMerchantById); +router.put("/:id", requireAuth, merchantController.updateMerchant); +router.delete("/:id", requireAuth, merchantController.deleteMerchant); + +// Action Route +router.post("/pay", requireAuth, merchantController.payMerchant); + +module.exports = router; diff --git a/api/src/routes/requestRoutes.js b/api/src/routes/requestRoutes.js index e69de29..d8fcb7c 100644 --- a/api/src/routes/requestRoutes.js +++ b/api/src/routes/requestRoutes.js @@ -0,0 +1,15 @@ +const express = require("express"); +const router = express.Router(); +const requestController = require("../controllers/requestController"); +const { requireAuth } = require("../middleware/auth"); + +router.post("/", requireAuth, requestController.createRequest); +router.get("/", requireAuth, requestController.myRequests); +router.get("/:id", requireAuth, requestController.getRequestById); // NEW (Read Single) +router.put("/:id", requireAuth, requestController.updateRequest); // NEW (Update) +router.delete("/:id", requireAuth, requestController.deleteRequest); // NEW (Delete) + +router.post("/:id/approve", requireAuth, requestController.approveRequest); +router.post("/:id/decline", requireAuth, requestController.declineRequest); + +module.exports = router; diff --git a/api/src/routes/transactionRoutes.js b/api/src/routes/transactionRoutes.js new file mode 100644 index 0000000..ea82615 --- /dev/null +++ b/api/src/routes/transactionRoutes.js @@ -0,0 +1,8 @@ +const express = require("express"); +const router = express.Router(); +const transactionController = require("../controllers/transactionController"); +const { requireAuth } = require("../middleware/auth"); + +router.get("/", requireAuth, transactionController.getHistory); + +module.exports = router; diff --git a/db/init.sql b/db/init.sql index 350b6c5..80c694e 100644 --- a/db/init.sql +++ b/db/init.sql @@ -93,4 +93,28 @@ CREATE INDEX idx_transactions_type ON transactions(type); CREATE INDEX idx_transfers_from_wallet ON transfers(from_wallet_id); CREATE INDEX idx_transfers_to_wallet ON transfers(to_wallet_id); CREATE INDEX idx_payment_requests_requester ON payment_requests(requester_wallet_id); -CREATE INDEX idx_gateway_wallet ON gateway_transactions(wallet_id); \ No newline at end of file +CREATE INDEX idx_gateway_wallet ON gateway_transactions(wallet_id); + +-- 7. MERCHANTS +CREATE TABLE merchants ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + name VARCHAR(255) NOT NULL, + api_key VARCHAR(255) UNIQUE NOT NULL, + status user_status DEFAULT 'active', + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +-- 8. MERCHANT PAYMENTS +CREATE TABLE merchant_payments ( + id UUID PRIMARY KEY DEFAULT gen_random_uuid(), + merchant_id UUID NOT NULL REFERENCES merchants(id) ON DELETE CASCADE, + wallet_id UUID NOT NULL REFERENCES wallets(id) ON DELETE CASCADE, + amount NUMERIC(15, 2) NOT NULL CHECK (amount > 0), + currency VARCHAR(3) NOT NULL, + status transaction_status DEFAULT 'completed', + created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_merchant_payments_merchant ON merchant_payments(merchant_id); +CREATE INDEX idx_merchant_payments_wallet ON merchant_payments(wallet_id); \ No newline at end of file From 888d4d5540af2939189a92f2bba59dc36ba84a21 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Sun, 16 Aug 2026 00:02:06 +0600 Subject: [PATCH 21/23] DB for Server Cnn --- api/src/config/db.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/api/src/config/db.js b/api/src/config/db.js index f7131cb..c9171df 100644 --- a/api/src/config/db.js +++ b/api/src/config/db.js @@ -1,12 +1,18 @@ require("dotenv").config(); const { Pool } = require("pg"); +const isNeon = (process.env.DB_HOST || "").endsWith(".neon.tech"); + const pool = new Pool({ host: process.env.DB_HOST || "localhost", port: Number(process.env.DB_PORT || 5432), user: process.env.DB_USER || "paynext", password: process.env.DB_PASSWORD, database: process.env.DB_NAME || "paynext_db", + ssl: + process.env.DB_SSL === "true" || isNeon + ? { rejectUnauthorized: false } + : false, }); module.exports = pool; From fb3fec949c33e72912e96cfa1dc538b46377afd9 Mon Sep 17 00:00:00 2001 From: taskifbin Date: Sun, 16 Aug 2026 11:49:09 +0600 Subject: [PATCH 22/23] Client server api --- server/.dockerignore | 3 + server/.env.example | 19 + server/Dockerfile | 7 + server/package-lock.json | 1114 +++++++++++++++++ server/package.json | 16 + server/src/app.js | 13 + server/src/config/db.js | 18 + server/src/controllers/authController.js | 70 ++ server/src/controllers/merchantController.js | 107 ++ server/src/controllers/moneyController.js | 154 +++ server/src/controllers/requestController.js | 169 +++ .../src/controllers/transactionController.js | 23 + server/src/controllers/walletController.js | 84 ++ server/src/middleware/auth.js | 24 + server/src/middleware/errorHandler.js | 8 + server/src/models/merchantModel.js | 46 + server/src/models/paymentRequestModel.js | 84 ++ server/src/models/transactionModel.js | 11 + server/src/models/userModel.js | 26 + server/src/models/walletModel.js | 26 + server/src/routes/authRoutes.js | 10 + server/src/routes/index.js | 30 + server/src/routes/merchantRoutes.js | 16 + server/src/routes/moneyRoutes.js | 9 + server/src/routes/requestRoutes.js | 15 + server/src/routes/transactionRoutes.js | 8 + server/src/routes/walletRoutes.js | 16 + server/src/server.js | 5 + server/src/services/moneyService.js | 71 ++ 29 files changed, 2202 insertions(+) create mode 100644 server/.dockerignore create mode 100644 server/.env.example create mode 100644 server/Dockerfile create mode 100644 server/package-lock.json create mode 100644 server/package.json create mode 100644 server/src/app.js create mode 100644 server/src/config/db.js create mode 100644 server/src/controllers/authController.js create mode 100644 server/src/controllers/merchantController.js create mode 100644 server/src/controllers/moneyController.js create mode 100644 server/src/controllers/requestController.js create mode 100644 server/src/controllers/transactionController.js create mode 100644 server/src/controllers/walletController.js create mode 100644 server/src/middleware/auth.js create mode 100644 server/src/middleware/errorHandler.js create mode 100644 server/src/models/merchantModel.js create mode 100644 server/src/models/paymentRequestModel.js create mode 100644 server/src/models/transactionModel.js create mode 100644 server/src/models/userModel.js create mode 100644 server/src/models/walletModel.js create mode 100644 server/src/routes/authRoutes.js create mode 100644 server/src/routes/index.js create mode 100644 server/src/routes/merchantRoutes.js create mode 100644 server/src/routes/moneyRoutes.js create mode 100644 server/src/routes/requestRoutes.js create mode 100644 server/src/routes/transactionRoutes.js create mode 100644 server/src/routes/walletRoutes.js create mode 100644 server/src/server.js create mode 100644 server/src/services/moneyService.js diff --git a/server/.dockerignore b/server/.dockerignore new file mode 100644 index 0000000..8e480e4 --- /dev/null +++ b/server/.dockerignore @@ -0,0 +1,3 @@ +node_modules +npm-debug.log +.env \ No newline at end of file diff --git a/server/.env.example b/server/.env.example new file mode 100644 index 0000000..3ef35fc --- /dev/null +++ b/server/.env.example @@ -0,0 +1,19 @@ +# ========================================== +# payNEXT Environment Variables Template +# ========================================== +# COPY THIS FILE AND RENAME IT TO .env +# Command: cp .env.example .env + +# Remote Shared Database +DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/paynext_db?sslmode=require + +# Optional split variables if your backend uses them +DB_HOST=your-db-host.supabase.com +DB_PORT=3000 +DB_USER=postgres +DB_PASSWORD=change_me +DB_NAME=postgres +DB_SSL=true + +# API Secrets +JWT_SECRET=choose_your_own_local_jwt_secret \ No newline at end of file diff --git a/server/Dockerfile b/server/Dockerfile new file mode 100644 index 0000000..542be05 --- /dev/null +++ b/server/Dockerfile @@ -0,0 +1,7 @@ +FROM node:20-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm install --omit=dev +COPY . . +EXPOSE 3000 +CMD ["node", "src/server.js"] \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..da6094b --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,1114 @@ +{ + "name": "paynext-api", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "paynext-api", + "version": "1.0.0", + "dependencies": { + "bcryptjs": "^2.4.3", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "jsonwebtoken": "^9.0.2", + "pg": "^8.12.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz", + "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dotenv": { + "version": "16.6.1", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", + "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "license": "MIT", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", + "license": "MIT" + }, + "node_modules/pg": { + "version": "8.23.0", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.23.0.tgz", + "integrity": "sha512-Ip2EQCngowJLGOfCwkFhPXU7/ljlhn6Rxlmy4XYfL2Y+vyRM59+8uR2xqRWKdYmbXmxCFOAmKxBuSUCdF34qLg==", + "license": "MIT", + "dependencies": { + "pg-connection-string": "^2.14.0", + "pg-pool": "^3.14.0", + "pg-protocol": "^1.16.0", + "pg-types": "2.2.0", + "pgpass": "1.0.5" + }, + "engines": { + "node": ">= 16.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.4.0" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", + "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.0.tgz", + "integrity": "sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==", + "license": "MIT" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", + "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.16.0.tgz", + "integrity": "sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==", + "license": "MIT" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", + "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", + "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", + "license": "BSD-3-Clause", + "dependencies": { + "es-define-property": "^1.0.1", + "side-channel": "^1.1.1" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/side-channel": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", + "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4", + "side-channel-list": "^1.0.1", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..41c82e1 --- /dev/null +++ b/server/package.json @@ -0,0 +1,16 @@ +{ + "name": "paynext-api", + "version": "1.0.0", + "main": "src/server.js", + "scripts": { + "start": "node src/server.js", + "dev": "node --watch src/server.js" + }, + "dependencies": { + "bcryptjs": "^2.4.3", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "jsonwebtoken": "^9.0.2", + "pg": "^8.12.0" + } +} diff --git a/server/src/app.js b/server/src/app.js new file mode 100644 index 0000000..daa1419 --- /dev/null +++ b/server/src/app.js @@ -0,0 +1,13 @@ +const express = require("express"); +const routes = require("./routes"); +const errorHandler = require("./middleware/errorHandler"); + +const app = express(); +app.use(express.json()); +app.use("/api/v1", routes); +app.use((req, res) => + res.status(404).json({ success: false, error: "Route not found" }), +); +app.use(errorHandler); + +module.exports = app; diff --git a/server/src/config/db.js b/server/src/config/db.js new file mode 100644 index 0000000..c9171df --- /dev/null +++ b/server/src/config/db.js @@ -0,0 +1,18 @@ +require("dotenv").config(); +const { Pool } = require("pg"); + +const isNeon = (process.env.DB_HOST || "").endsWith(".neon.tech"); + +const pool = new Pool({ + host: process.env.DB_HOST || "localhost", + port: Number(process.env.DB_PORT || 5432), + user: process.env.DB_USER || "paynext", + password: process.env.DB_PASSWORD, + database: process.env.DB_NAME || "paynext_db", + ssl: + process.env.DB_SSL === "true" || isNeon + ? { rejectUnauthorized: false } + : false, +}); + +module.exports = pool; diff --git a/server/src/controllers/authController.js b/server/src/controllers/authController.js new file mode 100644 index 0000000..4aa75e9 --- /dev/null +++ b/server/src/controllers/authController.js @@ -0,0 +1,70 @@ +const bcrypt = require("bcryptjs"); +const userModel = require("../models/userModel"); +const walletModel = require("../models/walletModel"); +const { signToken } = require("../middleware/auth"); + +const register = async (req, res, next) => { + try { + const { email, password, fullName, phone } = req.body; + if (!email || !password || !fullName) + return res.status(400).json({ success: false, error: "email, password and fullName are required" }); + if (password.length < 6) + return res.status(400).json({ success: false, error: "Password must be at least 6 characters" }); + + const existing = await userModel.findByEmail(email.toLowerCase()); + if (existing) + return res.status(409).json({ success: false, error: "Email already registered" }); + + const passwordHash = await bcrypt.hash(password, 10); + const user = await userModel.create({ + email: email.toLowerCase(), + passwordHash, + fullName, + phone, + }); + + const wallet = await walletModel.create(user.id, "USD"); + const token = signToken(user); + + res.status(201).json({ + success: true, + message: "Registered successfully", + data: { user, wallet, token }, + }); + } catch (e) { + next(e); + } +}; + +const login = async (req, res, next) => { + try { + const { email, password } = req.body; + const user = await userModel.findByEmail((email || "").toLowerCase()); + if (!user) + return res.status(401).json({ success: false, error: "Invalid credentials" }); + + const ok = await bcrypt.compare(password || "", user.password_hash); + if (!ok) + return res.status(401).json({ success: false, error: "Invalid credentials" }); + + const token = signToken(user); + const { password_hash, ...safeUser } = user; + + res.json({ success: true, message: "Login successful", data: { user: safeUser, token } }); + } catch (e) { + next(e); + } +}; + +const me = async (req, res, next) => { + try { + const user = await userModel.findById(req.user.sub); + if (!user) + return res.status(404).json({ success: false, error: "User not found" }); + res.json({ success: true, data: user }); + } catch (e) { + next(e); + } +}; + +module.exports = { register, login, me }; diff --git a/server/src/controllers/merchantController.js b/server/src/controllers/merchantController.js new file mode 100644 index 0000000..f43df2b --- /dev/null +++ b/server/src/controllers/merchantController.js @@ -0,0 +1,107 @@ +const merchantModel = require("../models/merchantModel"); +const walletModel = require("../models/walletModel"); +const { ApiError, withTransaction, lockWallet, setBalance, logTx } = require("../services/moneyService"); + +const createMerchant = async (req, res, next) => { + try { + if (!req.body.name) throw new ApiError("Merchant name is required", 400); + const merchant = await merchantModel.create({ name: req.body.name }); + res.status(201).json({ success: true, message: "Merchant created", data: merchant }); + } catch (e) { + next(e); + } +}; + +const getAllMerchants = async (req, res, next) => { + try { + const merchants = await merchantModel.findAll(); + res.json({ success: true, count: merchants.length, data: merchants }); + } catch (e) { + next(e); + } +}; + +const getMerchantById = async (req, res, next) => { + try { + const merchant = await merchantModel.findById(req.params.id); + if (!merchant) throw new ApiError("Merchant not found", 404); + res.json({ success: true, data: merchant }); + } catch (e) { + next(e); + } +}; + +const updateMerchant = async (req, res, next) => { + try { + const { name, status } = req.body; + if (!name || !status) throw new ApiError("Name and status are required", 400); + const merchant = await merchantModel.update(req.params.id, name, status); + if (!merchant) throw new ApiError("Merchant not found", 404); + res.json({ success: true, message: "Merchant updated", data: merchant }); + } catch (e) { + next(e); + } +}; + +const deleteMerchant = async (req, res, next) => { + try { + const merchant = await merchantModel.remove(req.params.id); + if (!merchant) throw new ApiError("Merchant not found", 404); + res.json({ success: true, message: "Merchant deleted", data: merchant }); + } catch (e) { + next(e); + } +}; + +const payMerchant = async (req, res, next) => { + try { + const { merchantId, amount } = req.body; + if (!merchantId || !amount || amount <= 0) { + throw new ApiError("Valid merchantId and amount > 0 are required", 400); + } + + const data = await withTransaction(async (client) => { + // 1. Verify merchant exists + const merchant = await merchantModel.findById(merchantId); + if (!merchant) throw new ApiError("Merchant not found", 404); + if (merchant.status !== 'active') throw new ApiError("Merchant is not active", 400); + + // 2. Lock the user's wallet + const wallets = await walletModel.listByUser(req.user.sub); + if (!wallets || wallets.length === 0) throw new ApiError("No wallet found", 404); + + const userWallet = await lockWallet(client, wallets[0].id); + const paymentAmount = Number(amount); + + if (Number(userWallet.balance) < paymentAmount) { + throw new ApiError("Insufficient balance to pay merchant", 400); + } + + // 3. Deduct balance + const newBalance = Number(userWallet.balance) - paymentAmount; + await setBalance(client, userWallet, newBalance); + + // 4. Log in master ledger + await logTx(client, { + walletId: userWallet.id, + type: 'transfer_out', + amount: paymentAmount, + balanceAfter: newBalance, + description: `Payment to merchant: ${merchant.name}` + }); + + // 5. Log in merchant payments table + const paymentLog = await merchantModel.logPayment( + client, merchant.id, userWallet.id, paymentAmount, userWallet.currency + ); + + return { paymentLog, newBalance }; + }); + + res.json({ success: true, message: "Payment successful", data }); + } catch (e) { + next(e); + } +}; + +module.exports = { createMerchant, getAllMerchants, getMerchantById, updateMerchant, deleteMerchant, payMerchant }; diff --git a/server/src/controllers/moneyController.js b/server/src/controllers/moneyController.js new file mode 100644 index 0000000..5a2df55 --- /dev/null +++ b/server/src/controllers/moneyController.js @@ -0,0 +1,154 @@ +const { + ApiError, + withTransaction, + lockWallet, + setBalance, + logTx, + gatewayLog, +} = require("../services/moneyService"); + +const topUp = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); + + const data = await withTransaction(async (client) => { + const wallet = await lockWallet(client, req.params.id); + if (!wallet) throw new ApiError("Wallet not found", 404); + if (wallet.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); + if (wallet.status !== "active") throw new ApiError("Wallet is not active", 400); + + const provider = req.body.provider || "mock"; + const gw = await gatewayLog(client, { + walletId: wallet.id, + provider, + providerRef: "MOCK-" + Date.now(), + type: "top_up", + amount, + currency: wallet.currency, + status: "completed", + }); + + const newBalance = Number(wallet.balance) + amount; + await setBalance(client, wallet, newBalance); + const tx = await logTx(client, { + walletId: wallet.id, + type: "top_up", + amount, + balanceAfter: newBalance, + referenceId: gw.id, + description: req.body.description || `Top-up via ${provider}`, + }); + + return { newBalance: newBalance.toFixed(2), transaction: tx, gateway: gw }; + }); + + res.status(201).json({ success: true, message: "Top-up successful", data }); + } catch (e) { + next(e); + } +}; + +const withdraw = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); + + const data = await withTransaction(async (client) => { + const wallet = await lockWallet(client, req.params.id); + if (!wallet) throw new ApiError("Wallet not found", 404); + if (wallet.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); + if (wallet.status !== "active") throw new ApiError("Wallet is not active", 400); + if (Number(wallet.balance) < amount) throw new ApiError("Insufficient balance", 400); + + const provider = req.body.provider || "mock"; + const gw = await gatewayLog(client, { + walletId: wallet.id, + provider, + providerRef: "MOCK-" + Date.now(), + type: "withdrawal", + amount, + currency: wallet.currency, + status: "completed", + }); + + const newBalance = Number(wallet.balance) - amount; + await setBalance(client, wallet, newBalance); + const tx = await logTx(client, { + walletId: wallet.id, + type: "withdrawal", + amount, + balanceAfter: newBalance, + referenceId: gw.id, + description: req.body.description || `Withdrawal via ${provider}`, + }); + + return { newBalance: newBalance.toFixed(2), transaction: tx, gateway: gw }; + }); + + res.status(201).json({ success: true, message: "Withdrawal successful", data }); + } catch (e) { + next(e); + } +}; + +const sendMoney = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + const { fromWalletId, toWalletNumber, note } = req.body; + if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); + if (!fromWalletId || !toWalletNumber) + throw new ApiError("fromWalletId and toWalletNumber are required", 400); + + const data = await withTransaction(async (client) => { + const from = await lockWallet(client, fromWalletId); + if (!from) throw new ApiError("Sender wallet not found", 404); + if (from.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); + + const toRes = await client.query( + "SELECT * FROM wallets WHERE wallet_number = $1", + [toWalletNumber] + ); + const to = toRes.rows[0]; + if (!to) throw new ApiError("Receiver wallet not found", 404); + if (to.id === from.id) throw new ApiError("Cannot send to the same wallet", 400); + if (from.status !== "active" || to.status !== "active") + throw new ApiError("Wallet is not active", 400); + if (from.currency !== to.currency) throw new ApiError("Currency mismatch", 400); + if (Number(from.balance) < amount) throw new ApiError("Insufficient balance", 400); + + const lockedTo = await lockWallet(client, to.id); + + const tr = await client.query( + `INSERT INTO transfers (from_wallet_id, to_wallet_id, amount, currency, note) + VALUES ($1, $2, $3, $4, $5) RETURNING *`, + [from.id, to.id, amount, from.currency, note || null] + ); + const transfer = tr.rows[0]; + + const fromBalance = Number(from.balance) - amount; + const toBalance = Number(lockedTo.balance) + amount; + await setBalance(client, from, fromBalance); + await setBalance(client, lockedTo, toBalance); + + await logTx(client, { + walletId: from.id, type: "transfer_out", amount, + balanceAfter: fromBalance, referenceId: transfer.id, + description: note || `Sent to ${to.wallet_number}`, + }); + await logTx(client, { + walletId: to.id, type: "transfer_in", amount, + balanceAfter: toBalance, referenceId: transfer.id, + description: note || `Received from ${from.wallet_number}`, + }); + + return { transfer, fromBalance: fromBalance.toFixed(2), toBalance: toBalance.toFixed(2) }; + }); + + res.status(201).json({ success: true, message: "Transfer successful", data }); + } catch (e) { + next(e); + } +}; + +module.exports = { topUp, withdraw, sendMoney }; diff --git a/server/src/controllers/requestController.js b/server/src/controllers/requestController.js new file mode 100644 index 0000000..65ca93a --- /dev/null +++ b/server/src/controllers/requestController.js @@ -0,0 +1,169 @@ +const walletModel = require("../models/walletModel"); +const paymentRequestModel = require("../models/paymentRequestModel"); +const { + ApiError, + withTransaction, + lockWallet, + setBalance, + logTx, +} = require("../services/moneyService"); + +const createRequest = async (req, res, next) => { + try { + const amount = Number(req.body.amount); + const { requesterWalletId, payerEmail, note } = req.body; + if (!amount || amount <= 0) + throw new ApiError("amount must be greater than 0", 400); + if (!requesterWalletId || !payerEmail) + throw new ApiError("requesterWalletId and payerEmail are required", 400); + + const wallet = await walletModel.findById(requesterWalletId); + if (!wallet) throw new ApiError("Wallet not found", 404); + if (wallet.user_id !== req.user.sub) + throw new ApiError("Not your wallet", 403); + + const request = await paymentRequestModel.create({ + requesterWalletId: wallet.id, + payerEmail: payerEmail.toLowerCase(), + amount, + currency: wallet.currency, + note: note || null, + }); + + res + .status(201) + .json({ success: true, message: "Payment request sent", data: request }); + } catch (e) { + next(e); + } +}; + +const myRequests = async (req, res, next) => { + try { + const rows = await paymentRequestModel.listForUser( + req.user.sub, + req.user.email, + ); + res.json({ success: true, count: rows.length, data: rows }); + } catch (e) { + next(e); + } +}; + +const approveRequest = async (req, res, next) => { + try { + const { fromWalletId } = req.body; + if (!fromWalletId) throw new ApiError("fromWalletId is required", 400); + + const data = await withTransaction(async (client) => { + const request = await paymentRequestModel.findByIdForUpdate( + client, + req.params.id, + ); + if (!request) throw new ApiError("Payment request not found", 404); + if (request.status !== "pending") + throw new ApiError("Request is not pending", 400); + if (request.payer_email !== req.user.email) + throw new ApiError("Only the payer can approve this request", 403); + + const payerWallet = await lockWallet(client, fromWalletId); + if (!payerWallet) throw new ApiError("Payer wallet not found", 404); + if (payerWallet.user_id !== req.user.sub) + throw new ApiError("Not your wallet", 403); + + const amount = Number(request.amount); + if (Number(payerWallet.balance) < amount) + throw new ApiError("Insufficient balance", 400); + + const requesterWallet = await lockWallet( + client, + request.requester_wallet_id, + ); + + const payerBalance = Number(payerWallet.balance) - amount; + const requesterBalance = Number(requesterWallet.balance) + amount; + await setBalance(client, payerWallet, payerBalance); + await setBalance(client, requesterWallet, requesterBalance); + + await logTx(client, { + walletId: payerWallet.id, + type: "request_out", + amount, + balanceAfter: payerBalance, + referenceId: request.id, + description: request.note || "Paid request", + }); + await logTx(client, { + walletId: requesterWallet.id, + type: "request_in", + amount, + balanceAfter: requesterBalance, + referenceId: request.id, + description: request.note || "Request paid", + }); + + const paid = await paymentRequestModel.markPaid( + client, + request.id, + payerWallet.id, + ); + return { paymentRequest: paid }; + }); + + res.json({ success: true, message: "Payment request paid", data }); + } catch (e) { + next(e); + } +}; + +const declineRequest = async (req, res, next) => { + try { + const declined = await paymentRequestModel.decline( + req.params.id, + req.user.email, + ); + if (!declined) + return res + .status(404) + .json({ success: false, error: "Pending request not found for you" }); + res.json({ success: true, message: "Request declined", data: declined }); + } catch (e) { + next(e); + } +}; +const getRequestById = async (req, res, next) => { + try { + const request = await paymentRequestModel.findById(req.params.id); + if (!request) throw new ApiError("Payment request not found", 404); + res.json({ success: true, data: request }); + } catch (e) { + next(e); + } +}; + +const updateRequest = async (req, res, next) => { + try { + const { amount, note } = req.body; + if (!amount || amount <= 0) throw new ApiError("Amount must be > 0", 400); + + const updated = await paymentRequestModel.update(req.params.id, amount, note, req.user.email); + if (!updated) throw new ApiError("Pending request not found for you", 404); + + res.json({ success: true, message: "Payment request updated", data: updated }); + } catch (e) { + next(e); + } +}; + +const deleteRequest = async (req, res, next) => { + try { + const deleted = await paymentRequestModel.remove(req.params.id, req.user.email); + if (!deleted) throw new ApiError("Pending request not found for you", 404); + + res.json({ success: true, message: "Payment request deleted", data: deleted }); + } catch (e) { + next(e); + } +}; + +module.exports = { createRequest, myRequests, approveRequest, declineRequest, getRequestById, updateRequest, deleteRequest }; diff --git a/server/src/controllers/transactionController.js b/server/src/controllers/transactionController.js new file mode 100644 index 0000000..7689419 --- /dev/null +++ b/server/src/controllers/transactionController.js @@ -0,0 +1,23 @@ +const transactionModel = require("../models/transactionModel"); +const walletModel = require("../models/walletModel"); + +const getHistory = async (req, res, next) => { + try { + const { limit = 10, offset = 0 } = req.query; + + // Find the user's wallet to get transactions + const wallets = await walletModel.listByUser(req.user.sub); + if (!wallets || wallets.length === 0) { + return res.status(404).json({ success: false, error: "Wallet not found for this user" }); + } + const wallet = wallets[0]; // Get the primary wallet + + const transactions = await transactionModel.listByWallet(wallet.id, limit, offset); + + res.json({ success: true, count: transactions.length, data: transactions }); + } catch (e) { + next(e); + } +}; + +module.exports = { getHistory }; diff --git a/server/src/controllers/walletController.js b/server/src/controllers/walletController.js new file mode 100644 index 0000000..9f56287 --- /dev/null +++ b/server/src/controllers/walletController.js @@ -0,0 +1,84 @@ +const walletModel = require("../models/walletModel"); +const transactionModel = require("../models/transactionModel"); + +async function loadOwnWallet(req) { + const wallet = await walletModel.findById(req.params.id); + if (!wallet) return { error: "Wallet not found", status: 404 }; + if (wallet.user_id !== req.user.sub) + return { error: "Not your wallet", status: 403 }; + return { wallet }; +} + +const createWallet = async (req, res, next) => { + try { + const wallet = await walletModel.create( + req.user.sub, + req.body.currency || "USD", + ); + res + .status(201) + .json({ success: true, message: "Wallet created", data: wallet }); + } catch (e) { + next(e); + } +}; + +const myWallets = async (req, res, next) => { + try { + const wallets = await walletModel.listByUser(req.user.sub); + res.json({ success: true, count: wallets.length, data: wallets }); + } catch (e) { + next(e); + } +}; + +const getWallet = async (req, res, next) => { + try { + const { wallet, error, status } = await loadOwnWallet(req); + if (error) return res.status(status).json({ success: false, error }); + res.json({ success: true, data: wallet }); + } catch (e) { + next(e); + } +}; + +const getBalance = async (req, res, next) => { + try { + const { wallet, error, status } = await loadOwnWallet(req); + if (error) return res.status(status).json({ success: false, error }); + res.json({ + success: true, + data: { + walletId: wallet.id, + walletNumber: wallet.wallet_number, + currency: wallet.currency, + balance: wallet.balance, + }, + }); + } catch (e) { + next(e); + } +}; + +const getTransactions = async (req, res, next) => { + try { + const { wallet, error, status } = await loadOwnWallet(req); + if (error) return res.status(status).json({ success: false, error }); + + const limit = Math.min(Number(req.query.limit) || 20, 100); + const offset = Number(req.query.offset) || 0; + + const rows = await transactionModel.listByWallet(wallet.id, limit, offset); + res.json({ success: true, count: rows.length, data: rows }); + } catch (e) { + next(e); + } +}; + +module.exports = { + createWallet, + myWallets, + getWallet, + getBalance, + getTransactions, +}; diff --git a/server/src/middleware/auth.js b/server/src/middleware/auth.js new file mode 100644 index 0000000..080e1a9 --- /dev/null +++ b/server/src/middleware/auth.js @@ -0,0 +1,24 @@ +const jwt = require("jsonwebtoken"); + +function signToken(user) { + return jwt.sign({ sub: user.id, email: user.email }, process.env.JWT_SECRET, { + expiresIn: "7d", + }); +} + +function requireAuth(req, res, next) { + const header = req.headers.authorization || ""; + const token = header.startsWith("Bearer ") ? header.slice(7) : null; + if (!token) + return res.status(401).json({ success: false, error: "Missing token" }); + try { + req.user = jwt.verify(token, process.env.JWT_SECRET); + next(); + } catch { + return res + .status(401) + .json({ success: false, error: "Invalid or expired token" }); + } +} + +module.exports = { signToken, requireAuth }; diff --git a/server/src/middleware/errorHandler.js b/server/src/middleware/errorHandler.js new file mode 100644 index 0000000..f560675 --- /dev/null +++ b/server/src/middleware/errorHandler.js @@ -0,0 +1,8 @@ +module.exports = (err, req, res, next) => { + console.error(err); + const status = err.status || 500; + res.status(status).json({ + success: false, + error: status === 500 ? "Internal server error" : err.message, + }); +}; diff --git a/server/src/models/merchantModel.js b/server/src/models/merchantModel.js new file mode 100644 index 0000000..d999d95 --- /dev/null +++ b/server/src/models/merchantModel.js @@ -0,0 +1,46 @@ +const pool = require("../config/db"); +const crypto = require("crypto"); + +async function create({ name }) { + const apiKey = "pk_" + crypto.randomBytes(16).toString("hex"); + const r = await pool.query( + "INSERT INTO merchants (name, api_key) VALUES ($1, $2) RETURNING *", + [name, apiKey] + ); + return r.rows[0]; +} + +async function findAll() { + const r = await pool.query("SELECT * FROM merchants ORDER BY created_at DESC"); + return r.rows; +} + +async function findById(id) { + const r = await pool.query("SELECT * FROM merchants WHERE id = $1", [id]); + return r.rows[0]; +} + +async function update(id, name, status) { + const r = await pool.query( + "UPDATE merchants SET name = $1, status = $2, updated_at = CURRENT_TIMESTAMP WHERE id = $3 RETURNING *", + [name, status, id] + ); + return r.rows[0]; +} + +async function remove(id) { + const r = await pool.query("DELETE FROM merchants WHERE id = $1 RETURNING *", [id]); + return r.rows[0]; +} + +// Log a payment in the database (Called during a transaction) +async function logPayment(client, merchantId, walletId, amount, currency) { + const r = await client.query( + `INSERT INTO merchant_payments (merchant_id, wallet_id, amount, currency) + VALUES ($1, $2, $3, $4) RETURNING *`, + [merchantId, walletId, amount, currency] + ); + return r.rows[0]; +} + +module.exports = { create, findAll, findById, update, remove, logPayment }; diff --git a/server/src/models/paymentRequestModel.js b/server/src/models/paymentRequestModel.js new file mode 100644 index 0000000..3398c72 --- /dev/null +++ b/server/src/models/paymentRequestModel.js @@ -0,0 +1,84 @@ +const pool = require("../config/db"); + +async function create({ + requesterWalletId, + payerEmail, + amount, + currency, + note, +}) { + const r = await pool.query( + `INSERT INTO payment_requests (requester_wallet_id, payer_email, amount, currency, note) + VALUES ($1, $2, $3, $4, $5) RETURNING *`, + [requesterWalletId, payerEmail, amount, currency, note], + ); + return r.rows[0]; +} + +async function listForUser(userId, email) { + const r = await pool.query( + `SELECT pr.*, w.wallet_number AS requester_wallet_number + FROM payment_requests pr + JOIN wallets w ON w.id = pr.requester_wallet_id + WHERE w.user_id = $1 OR pr.payer_email = $2 + ORDER BY pr.created_at DESC`, + [userId, email], + ); + return r.rows; +} + +async function decline(id, payerEmail) { + const r = await pool.query( + `UPDATE payment_requests + SET status = 'declined', updated_at = CURRENT_TIMESTAMP + WHERE id = $1 AND payer_email = $2 AND status = 'pending' RETURNING *`, + [id, payerEmail], + ); + return r.rows[0]; +} + +// Used inside a DB transaction (client), not standalone +async function findByIdForUpdate(client, id) { + const r = await client.query( + "SELECT * FROM payment_requests WHERE id = $1 FOR UPDATE", + [id], + ); + return r.rows[0]; +} + +async function markPaid(client, id, payerWalletId) { + const r = await client.query( + `UPDATE payment_requests + SET status = 'paid', payer_wallet_id = $1, updated_at = CURRENT_TIMESTAMP + WHERE id = $2 RETURNING *`, + [payerWalletId, id], + ); + return r.rows[0]; +} + + +async function findById(id) { + const r = await pool.query("SELECT * FROM payment_requests WHERE id = $1", [id]); + return r.rows[0]; +} + +async function update(id, amount, note, email) { + const r = await pool.query( + `UPDATE payment_requests + SET amount = $1, note = $2, updated_at = CURRENT_TIMESTAMP + WHERE id = $3 AND payer_email = $4 AND status = 'pending' RETURNING *`, + [amount, note, id, email] + ); + return r.rows[0]; +} + +async function remove(id, email) { + const r = await pool.query( + `DELETE FROM payment_requests + WHERE id = $1 AND payer_email = $2 AND status = 'pending' RETURNING *`, + [id, email] + ); + return r.rows[0]; +} + +module.exports = { create, listForUser, decline, findByIdForUpdate, markPaid, findById, update, remove }; diff --git a/server/src/models/transactionModel.js b/server/src/models/transactionModel.js new file mode 100644 index 0000000..39cd020 --- /dev/null +++ b/server/src/models/transactionModel.js @@ -0,0 +1,11 @@ +const pool = require("../config/db"); + +async function listByWallet(walletId, limit, offset) { + const r = await pool.query( + "SELECT * FROM transactions WHERE wallet_id = $1 ORDER BY created_at DESC LIMIT $2 OFFSET $3", + [walletId, limit, offset], + ); + return r.rows; +} + +module.exports = { listByWallet }; diff --git a/server/src/models/userModel.js b/server/src/models/userModel.js new file mode 100644 index 0000000..f02b456 --- /dev/null +++ b/server/src/models/userModel.js @@ -0,0 +1,26 @@ +const pool = require("../config/db"); + +async function findByEmail(email) { + const r = await pool.query("SELECT * FROM users WHERE email = $1", [email]); + return r.rows[0]; +} + +async function findById(id) { + const r = await pool.query( + "SELECT id, email, full_name, phone, status, created_at FROM users WHERE id = $1", + [id], + ); + return r.rows[0]; +} + +async function create({ email, passwordHash, fullName, phone }) { + const r = await pool.query( + `INSERT INTO users (email, password_hash, full_name, phone) + VALUES ($1, $2, $3, $4) + RETURNING id, email, full_name, phone, status, created_at`, + [email, passwordHash, fullName, phone], + ); + return r.rows[0]; +} + +module.exports = { findByEmail, findById, create }; diff --git a/server/src/models/walletModel.js b/server/src/models/walletModel.js new file mode 100644 index 0000000..8de29f0 --- /dev/null +++ b/server/src/models/walletModel.js @@ -0,0 +1,26 @@ +const pool = require("../config/db"); + +async function create(userId, currency = "USD") { + const walletNumber = "PAYNX-" + Math.floor(100000 + Math.random() * 900000); + const r = await pool.query( + `INSERT INTO wallets (user_id, wallet_number, currency) + VALUES ($1, $2, $3) RETURNING *`, + [userId, walletNumber, currency], + ); + return r.rows[0]; +} + +async function listByUser(userId) { + const r = await pool.query( + "SELECT * FROM wallets WHERE user_id = $1 ORDER BY created_at", + [userId], + ); + return r.rows; +} + +async function findById(id) { + const r = await pool.query("SELECT * FROM wallets WHERE id = $1", [id]); + return r.rows[0]; +} + +module.exports = { create, listByUser, findById }; diff --git a/server/src/routes/authRoutes.js b/server/src/routes/authRoutes.js new file mode 100644 index 0000000..2b93097 --- /dev/null +++ b/server/src/routes/authRoutes.js @@ -0,0 +1,10 @@ +const express = require("express"); +const router = express.Router(); +const authController = require("../controllers/authController"); +const { requireAuth } = require("../middleware/auth"); + +router.post("/register", authController.register); +router.post("/login", authController.login); +router.get("/me", requireAuth, authController.me); + +module.exports = router; diff --git a/server/src/routes/index.js b/server/src/routes/index.js new file mode 100644 index 0000000..ee55c37 --- /dev/null +++ b/server/src/routes/index.js @@ -0,0 +1,30 @@ +// api/src/routes/index.js (Master Router) +const express = require("express"); +const router = express.Router(); + +const authRoutes = require("./authRoutes"); +const walletRoutes = require("./walletRoutes"); +const moneyRoutes = require("./moneyRoutes"); +const requestRoutes = require("./requestRoutes"); +const transactionRoutes = require("./transactionRoutes"); +const merchantRoutes = require("./merchantRoutes"); + +router.get("/health", (req, res) => + res.json({ + success: true, + service: "paynext-api", + time: new Date().toISOString(), + }), +); + +// Mount team routes +router.use("/auth", authRoutes); +router.use("/wallets", walletRoutes); +router.use("/transfers", moneyRoutes); +router.use("/payment-requests", requestRoutes); + +// Mount your new routes +router.use("/history", transactionRoutes); +router.use("/merchants", merchantRoutes); + +module.exports = router; diff --git a/server/src/routes/merchantRoutes.js b/server/src/routes/merchantRoutes.js new file mode 100644 index 0000000..2c74612 --- /dev/null +++ b/server/src/routes/merchantRoutes.js @@ -0,0 +1,16 @@ +const express = require("express"); +const router = express.Router(); +const merchantController = require("../controllers/merchantController"); +const { requireAuth } = require("../middleware/auth"); + +// CRUD Routes for Merchants +router.post("/", requireAuth, merchantController.createMerchant); +router.get("/", requireAuth, merchantController.getAllMerchants); +router.get("/:id", requireAuth, merchantController.getMerchantById); +router.put("/:id", requireAuth, merchantController.updateMerchant); +router.delete("/:id", requireAuth, merchantController.deleteMerchant); + +// Action Route +router.post("/pay", requireAuth, merchantController.payMerchant); + +module.exports = router; diff --git a/server/src/routes/moneyRoutes.js b/server/src/routes/moneyRoutes.js new file mode 100644 index 0000000..87e5417 --- /dev/null +++ b/server/src/routes/moneyRoutes.js @@ -0,0 +1,9 @@ +const express = require("express"); +const router = express.Router(); +const moneyController = require("../controllers/moneyController"); +const { requireAuth } = require("../middleware/auth"); + +// Note: top-up and withdraw are on the wallet router, but sendMoney is here +router.post("/", requireAuth, moneyController.sendMoney); + +module.exports = router; \ No newline at end of file diff --git a/server/src/routes/requestRoutes.js b/server/src/routes/requestRoutes.js new file mode 100644 index 0000000..d8fcb7c --- /dev/null +++ b/server/src/routes/requestRoutes.js @@ -0,0 +1,15 @@ +const express = require("express"); +const router = express.Router(); +const requestController = require("../controllers/requestController"); +const { requireAuth } = require("../middleware/auth"); + +router.post("/", requireAuth, requestController.createRequest); +router.get("/", requireAuth, requestController.myRequests); +router.get("/:id", requireAuth, requestController.getRequestById); // NEW (Read Single) +router.put("/:id", requireAuth, requestController.updateRequest); // NEW (Update) +router.delete("/:id", requireAuth, requestController.deleteRequest); // NEW (Delete) + +router.post("/:id/approve", requireAuth, requestController.approveRequest); +router.post("/:id/decline", requireAuth, requestController.declineRequest); + +module.exports = router; diff --git a/server/src/routes/transactionRoutes.js b/server/src/routes/transactionRoutes.js new file mode 100644 index 0000000..ea82615 --- /dev/null +++ b/server/src/routes/transactionRoutes.js @@ -0,0 +1,8 @@ +const express = require("express"); +const router = express.Router(); +const transactionController = require("../controllers/transactionController"); +const { requireAuth } = require("../middleware/auth"); + +router.get("/", requireAuth, transactionController.getHistory); + +module.exports = router; diff --git a/server/src/routes/walletRoutes.js b/server/src/routes/walletRoutes.js new file mode 100644 index 0000000..293c733 --- /dev/null +++ b/server/src/routes/walletRoutes.js @@ -0,0 +1,16 @@ +const express = require("express"); +const router = express.Router(); +const walletController = require("../controllers/walletController"); +const moneyController = require("../controllers/moneyController"); +const { requireAuth } = require("../middleware/auth"); + +router.post("/", requireAuth, walletController.createWallet); +router.get("/", requireAuth, walletController.myWallets); +router.get("/:id", requireAuth, walletController.getWallet); +router.get("/:id/balance", requireAuth, walletController.getBalance); +router.get("/:id/transactions", requireAuth, walletController.getTransactions); + +router.post("/:id/top-up", requireAuth, moneyController.topUp); +router.post("/:id/withdraw", requireAuth, moneyController.withdraw); + +module.exports = router; diff --git a/server/src/server.js b/server/src/server.js new file mode 100644 index 0000000..4edc2e2 --- /dev/null +++ b/server/src/server.js @@ -0,0 +1,5 @@ +require("dotenv").config(); +const app = require("./app"); + +const port = process.env.PORT || 3000; +app.listen(port, () => console.log(`payNEXT API listening on port ${port}`)); diff --git a/server/src/services/moneyService.js b/server/src/services/moneyService.js new file mode 100644 index 0000000..dd92431 --- /dev/null +++ b/server/src/services/moneyService.js @@ -0,0 +1,71 @@ +const pool = require("../config/db"); + +class ApiError extends Error { + constructor(message, status) { + super(message); + this.status = status; + } +} + +async function withTransaction(fn) { + const client = await pool.connect(); + try { + await client.query("BEGIN"); + const result = await fn(client); + await client.query("COMMIT"); + return result; + } catch (e) { + await client.query("ROLLBACK"); + throw e; + } finally { + client.release(); + } +} + +async function lockWallet(client, id) { + const r = await client.query( + "SELECT * FROM wallets WHERE id = $1 FOR UPDATE", + [id], + ); + return r.rows[0]; +} + +async function setBalance(client, wallet, balance) { + await client.query( + "UPDATE wallets SET balance = $1, updated_at = CURRENT_TIMESTAMP WHERE id = $2", + [balance, wallet.id], + ); +} + +async function logTx( + client, + { walletId, type, amount, balanceAfter, referenceId, description }, +) { + const r = await client.query( + `INSERT INTO transactions (wallet_id, type, amount, balance_after, reference_id, description) + VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, + [walletId, type, amount, balanceAfter, referenceId, description], + ); + return r.rows[0]; +} + +async function gatewayLog( + client, + { walletId, provider, providerRef, type, amount, currency, status }, +) { + const r = await client.query( + `INSERT INTO gateway_transactions (wallet_id, provider, provider_transaction_id, type, amount, currency, status) + VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING *`, + [walletId, provider, providerRef, type, amount, currency, status], + ); + return r.rows[0]; +} + +module.exports = { + ApiError, + withTransaction, + lockWallet, + setBalance, + logTx, + gatewayLog, +}; From 4b16710da7d9b2286a325727eb424097e06106cb Mon Sep 17 00:00:00 2001 From: taskifbin Date: Sun, 16 Aug 2026 11:51:51 +0600 Subject: [PATCH 23/23] Client server --- .gitignore | 4 +- api/.dockerignore | 3 - api/.env.example | 19 - api/Dockerfile | 7 - api/package-lock.json | 1114 ------------------ api/package.json | 16 - api/src/app.js | 13 - api/src/config/db.js | 18 - api/src/controllers/authController.js | 70 -- api/src/controllers/merchantController.js | 107 -- api/src/controllers/moneyController.js | 154 --- api/src/controllers/requestController.js | 169 --- api/src/controllers/transactionController.js | 23 - api/src/controllers/walletController.js | 84 -- api/src/middleware/auth.js | 24 - api/src/middleware/errorHandler.js | 8 - api/src/models/merchantModel.js | 46 - api/src/models/paymentRequestModel.js | 84 -- api/src/models/transactionModel.js | 11 - api/src/models/userModel.js | 26 - api/src/models/walletModel.js | 26 - api/src/routes/authRoutes.js | 10 - api/src/routes/index.js | 30 - api/src/routes/merchantRoutes.js | 16 - api/src/routes/moneyRoutes.js | 9 - api/src/routes/requestRoutes.js | 15 - api/src/routes/transactionRoutes.js | 8 - api/src/routes/walletRoutes.js | 16 - api/src/server.js | 5 - api/src/services/moneyService.js | 71 -- {web => client}/.dockerignore | 0 {web => client}/Dockerfile | 0 {web => client}/nginx.conf | 0 {web => client}/public/index.html | 0 34 files changed, 3 insertions(+), 2203 deletions(-) delete mode 100644 api/.dockerignore delete mode 100644 api/.env.example delete mode 100644 api/Dockerfile delete mode 100644 api/package-lock.json delete mode 100644 api/package.json delete mode 100644 api/src/app.js delete mode 100644 api/src/config/db.js delete mode 100644 api/src/controllers/authController.js delete mode 100644 api/src/controllers/merchantController.js delete mode 100644 api/src/controllers/moneyController.js delete mode 100644 api/src/controllers/requestController.js delete mode 100644 api/src/controllers/transactionController.js delete mode 100644 api/src/controllers/walletController.js delete mode 100644 api/src/middleware/auth.js delete mode 100644 api/src/middleware/errorHandler.js delete mode 100644 api/src/models/merchantModel.js delete mode 100644 api/src/models/paymentRequestModel.js delete mode 100644 api/src/models/transactionModel.js delete mode 100644 api/src/models/userModel.js delete mode 100644 api/src/models/walletModel.js delete mode 100644 api/src/routes/authRoutes.js delete mode 100644 api/src/routes/index.js delete mode 100644 api/src/routes/merchantRoutes.js delete mode 100644 api/src/routes/moneyRoutes.js delete mode 100644 api/src/routes/requestRoutes.js delete mode 100644 api/src/routes/transactionRoutes.js delete mode 100644 api/src/routes/walletRoutes.js delete mode 100644 api/src/server.js delete mode 100644 api/src/services/moneyService.js rename {web => client}/.dockerignore (100%) rename {web => client}/Dockerfile (100%) rename {web => client}/nginx.conf (100%) rename {web => client}/public/index.html (100%) diff --git a/.gitignore b/.gitignore index dafca71..edc5428 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,6 @@ build/get-docker.sh # Block all .env files everywhere **/.env -.env \ No newline at end of file +.env +.agents +skills-lock.json \ No newline at end of file diff --git a/api/.dockerignore b/api/.dockerignore deleted file mode 100644 index 8e480e4..0000000 --- a/api/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -node_modules -npm-debug.log -.env \ No newline at end of file diff --git a/api/.env.example b/api/.env.example deleted file mode 100644 index 3ef35fc..0000000 --- a/api/.env.example +++ /dev/null @@ -1,19 +0,0 @@ -# ========================================== -# payNEXT Environment Variables Template -# ========================================== -# COPY THIS FILE AND RENAME IT TO .env -# Command: cp .env.example .env - -# Remote Shared Database -DATABASE_URL=postgresql://USER:PASSWORD@HOST:5432/paynext_db?sslmode=require - -# Optional split variables if your backend uses them -DB_HOST=your-db-host.supabase.com -DB_PORT=3000 -DB_USER=postgres -DB_PASSWORD=change_me -DB_NAME=postgres -DB_SSL=true - -# API Secrets -JWT_SECRET=choose_your_own_local_jwt_secret \ No newline at end of file diff --git a/api/Dockerfile b/api/Dockerfile deleted file mode 100644 index 542be05..0000000 --- a/api/Dockerfile +++ /dev/null @@ -1,7 +0,0 @@ -FROM node:20-alpine -WORKDIR /app -COPY package*.json ./ -RUN npm install --omit=dev -COPY . . -EXPOSE 3000 -CMD ["node", "src/server.js"] \ No newline at end of file diff --git a/api/package-lock.json b/api/package-lock.json deleted file mode 100644 index da6094b..0000000 --- a/api/package-lock.json +++ /dev/null @@ -1,1114 +0,0 @@ -{ - "name": "paynext-api", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "paynext-api", - "version": "1.0.0", - "dependencies": { - "bcryptjs": "^2.4.3", - "dotenv": "^16.4.5", - "express": "^4.19.2", - "jsonwebtoken": "^9.0.2", - "pg": "^8.12.0" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/bcryptjs": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", - "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==", - "license": "MIT" - }, - "node_modules/body-parser": { - "version": "1.20.6", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz", - "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.15.1", - "raw-body": "~2.5.3", - "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "license": "BSD-3-Clause" - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/dotenv": { - "version": "16.6.1", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz", - "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "license": "Apache-2.0", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", - "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", - "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.5", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.15.1", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/finalhandler": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", - "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "statuses": "~2.0.2", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", - "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/jsonwebtoken": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", - "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", - "license": "MIT", - "dependencies": { - "jws": "^4.0.1", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12", - "npm": ">=6" - } - }, - "node_modules/jsonwebtoken/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/jwa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", - "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", - "license": "MIT", - "dependencies": { - "buffer-equal-constant-time": "^1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", - "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", - "license": "MIT", - "dependencies": { - "jwa": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", - "license": "MIT" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", - "license": "MIT" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", - "license": "MIT" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", - "license": "MIT" - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", - "license": "MIT" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", - "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", - "license": "MIT" - }, - "node_modules/pg": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.23.0.tgz", - "integrity": "sha512-Ip2EQCngowJLGOfCwkFhPXU7/ljlhn6Rxlmy4XYfL2Y+vyRM59+8uR2xqRWKdYmbXmxCFOAmKxBuSUCdF34qLg==", - "license": "MIT", - "dependencies": { - "pg-connection-string": "^2.14.0", - "pg-pool": "^3.14.0", - "pg-protocol": "^1.16.0", - "pg-types": "2.2.0", - "pgpass": "1.0.5" - }, - "engines": { - "node": ">= 16.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.4.0" - }, - "peerDependencies": { - "pg-native": ">=3.0.1" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-cloudflare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.0.tgz", - "integrity": "sha512-Vo7z/6rrQYxpNRylp4Tlob2elzbh+N/MOQbxFVWCxS7oEx6jF53GTJFxK2WWpKuBRkmiin4Mt+xofFDjx09R0A==", - "license": "MIT", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.0.tgz", - "integrity": "sha512-XwWDGcLRGCXAR8F/AM5bG7Q+A3Wm2s6QeEjlOKZLlH3UYcguiqCWKyWXVag5TLTIjR7oOJUY8kcADaZgWPyLeg==", - "license": "MIT" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "license": "ISC", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz", - "integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==", - "license": "MIT", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.16.0.tgz", - "integrity": "sha512-sILXutLVjCLjcDuOmvhX5e2Z4cS5qG/6Bu3VkpFwdf/633ElGLpEh9bgmuI5I4sqKqkifQiGyiCcx1HdtrK7tg==", - "license": "MIT" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "license": "MIT", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "license": "MIT", - "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz", - "integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/qs": { - "version": "6.15.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz", - "integrity": "sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==", - "license": "BSD-3-Clause", - "dependencies": { - "es-define-property": "^1.0.1", - "side-channel": "^1.1.1" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", - "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.4.1", - "range-parser": "~1.2.1", - "statuses": "~2.0.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serve-static": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", - "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", - "license": "MIT", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "~0.19.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/side-channel": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz", - "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4", - "side-channel-list": "^1.0.1", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", - "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "license": "ISC", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "license": "MIT", - "engines": { - "node": ">=0.4" - } - } - } -} diff --git a/api/package.json b/api/package.json deleted file mode 100644 index 41c82e1..0000000 --- a/api/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "paynext-api", - "version": "1.0.0", - "main": "src/server.js", - "scripts": { - "start": "node src/server.js", - "dev": "node --watch src/server.js" - }, - "dependencies": { - "bcryptjs": "^2.4.3", - "dotenv": "^16.4.5", - "express": "^4.19.2", - "jsonwebtoken": "^9.0.2", - "pg": "^8.12.0" - } -} diff --git a/api/src/app.js b/api/src/app.js deleted file mode 100644 index daa1419..0000000 --- a/api/src/app.js +++ /dev/null @@ -1,13 +0,0 @@ -const express = require("express"); -const routes = require("./routes"); -const errorHandler = require("./middleware/errorHandler"); - -const app = express(); -app.use(express.json()); -app.use("/api/v1", routes); -app.use((req, res) => - res.status(404).json({ success: false, error: "Route not found" }), -); -app.use(errorHandler); - -module.exports = app; diff --git a/api/src/config/db.js b/api/src/config/db.js deleted file mode 100644 index c9171df..0000000 --- a/api/src/config/db.js +++ /dev/null @@ -1,18 +0,0 @@ -require("dotenv").config(); -const { Pool } = require("pg"); - -const isNeon = (process.env.DB_HOST || "").endsWith(".neon.tech"); - -const pool = new Pool({ - host: process.env.DB_HOST || "localhost", - port: Number(process.env.DB_PORT || 5432), - user: process.env.DB_USER || "paynext", - password: process.env.DB_PASSWORD, - database: process.env.DB_NAME || "paynext_db", - ssl: - process.env.DB_SSL === "true" || isNeon - ? { rejectUnauthorized: false } - : false, -}); - -module.exports = pool; diff --git a/api/src/controllers/authController.js b/api/src/controllers/authController.js deleted file mode 100644 index 4aa75e9..0000000 --- a/api/src/controllers/authController.js +++ /dev/null @@ -1,70 +0,0 @@ -const bcrypt = require("bcryptjs"); -const userModel = require("../models/userModel"); -const walletModel = require("../models/walletModel"); -const { signToken } = require("../middleware/auth"); - -const register = async (req, res, next) => { - try { - const { email, password, fullName, phone } = req.body; - if (!email || !password || !fullName) - return res.status(400).json({ success: false, error: "email, password and fullName are required" }); - if (password.length < 6) - return res.status(400).json({ success: false, error: "Password must be at least 6 characters" }); - - const existing = await userModel.findByEmail(email.toLowerCase()); - if (existing) - return res.status(409).json({ success: false, error: "Email already registered" }); - - const passwordHash = await bcrypt.hash(password, 10); - const user = await userModel.create({ - email: email.toLowerCase(), - passwordHash, - fullName, - phone, - }); - - const wallet = await walletModel.create(user.id, "USD"); - const token = signToken(user); - - res.status(201).json({ - success: true, - message: "Registered successfully", - data: { user, wallet, token }, - }); - } catch (e) { - next(e); - } -}; - -const login = async (req, res, next) => { - try { - const { email, password } = req.body; - const user = await userModel.findByEmail((email || "").toLowerCase()); - if (!user) - return res.status(401).json({ success: false, error: "Invalid credentials" }); - - const ok = await bcrypt.compare(password || "", user.password_hash); - if (!ok) - return res.status(401).json({ success: false, error: "Invalid credentials" }); - - const token = signToken(user); - const { password_hash, ...safeUser } = user; - - res.json({ success: true, message: "Login successful", data: { user: safeUser, token } }); - } catch (e) { - next(e); - } -}; - -const me = async (req, res, next) => { - try { - const user = await userModel.findById(req.user.sub); - if (!user) - return res.status(404).json({ success: false, error: "User not found" }); - res.json({ success: true, data: user }); - } catch (e) { - next(e); - } -}; - -module.exports = { register, login, me }; diff --git a/api/src/controllers/merchantController.js b/api/src/controllers/merchantController.js deleted file mode 100644 index f43df2b..0000000 --- a/api/src/controllers/merchantController.js +++ /dev/null @@ -1,107 +0,0 @@ -const merchantModel = require("../models/merchantModel"); -const walletModel = require("../models/walletModel"); -const { ApiError, withTransaction, lockWallet, setBalance, logTx } = require("../services/moneyService"); - -const createMerchant = async (req, res, next) => { - try { - if (!req.body.name) throw new ApiError("Merchant name is required", 400); - const merchant = await merchantModel.create({ name: req.body.name }); - res.status(201).json({ success: true, message: "Merchant created", data: merchant }); - } catch (e) { - next(e); - } -}; - -const getAllMerchants = async (req, res, next) => { - try { - const merchants = await merchantModel.findAll(); - res.json({ success: true, count: merchants.length, data: merchants }); - } catch (e) { - next(e); - } -}; - -const getMerchantById = async (req, res, next) => { - try { - const merchant = await merchantModel.findById(req.params.id); - if (!merchant) throw new ApiError("Merchant not found", 404); - res.json({ success: true, data: merchant }); - } catch (e) { - next(e); - } -}; - -const updateMerchant = async (req, res, next) => { - try { - const { name, status } = req.body; - if (!name || !status) throw new ApiError("Name and status are required", 400); - const merchant = await merchantModel.update(req.params.id, name, status); - if (!merchant) throw new ApiError("Merchant not found", 404); - res.json({ success: true, message: "Merchant updated", data: merchant }); - } catch (e) { - next(e); - } -}; - -const deleteMerchant = async (req, res, next) => { - try { - const merchant = await merchantModel.remove(req.params.id); - if (!merchant) throw new ApiError("Merchant not found", 404); - res.json({ success: true, message: "Merchant deleted", data: merchant }); - } catch (e) { - next(e); - } -}; - -const payMerchant = async (req, res, next) => { - try { - const { merchantId, amount } = req.body; - if (!merchantId || !amount || amount <= 0) { - throw new ApiError("Valid merchantId and amount > 0 are required", 400); - } - - const data = await withTransaction(async (client) => { - // 1. Verify merchant exists - const merchant = await merchantModel.findById(merchantId); - if (!merchant) throw new ApiError("Merchant not found", 404); - if (merchant.status !== 'active') throw new ApiError("Merchant is not active", 400); - - // 2. Lock the user's wallet - const wallets = await walletModel.listByUser(req.user.sub); - if (!wallets || wallets.length === 0) throw new ApiError("No wallet found", 404); - - const userWallet = await lockWallet(client, wallets[0].id); - const paymentAmount = Number(amount); - - if (Number(userWallet.balance) < paymentAmount) { - throw new ApiError("Insufficient balance to pay merchant", 400); - } - - // 3. Deduct balance - const newBalance = Number(userWallet.balance) - paymentAmount; - await setBalance(client, userWallet, newBalance); - - // 4. Log in master ledger - await logTx(client, { - walletId: userWallet.id, - type: 'transfer_out', - amount: paymentAmount, - balanceAfter: newBalance, - description: `Payment to merchant: ${merchant.name}` - }); - - // 5. Log in merchant payments table - const paymentLog = await merchantModel.logPayment( - client, merchant.id, userWallet.id, paymentAmount, userWallet.currency - ); - - return { paymentLog, newBalance }; - }); - - res.json({ success: true, message: "Payment successful", data }); - } catch (e) { - next(e); - } -}; - -module.exports = { createMerchant, getAllMerchants, getMerchantById, updateMerchant, deleteMerchant, payMerchant }; diff --git a/api/src/controllers/moneyController.js b/api/src/controllers/moneyController.js deleted file mode 100644 index 5a2df55..0000000 --- a/api/src/controllers/moneyController.js +++ /dev/null @@ -1,154 +0,0 @@ -const { - ApiError, - withTransaction, - lockWallet, - setBalance, - logTx, - gatewayLog, -} = require("../services/moneyService"); - -const topUp = async (req, res, next) => { - try { - const amount = Number(req.body.amount); - if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); - - const data = await withTransaction(async (client) => { - const wallet = await lockWallet(client, req.params.id); - if (!wallet) throw new ApiError("Wallet not found", 404); - if (wallet.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); - if (wallet.status !== "active") throw new ApiError("Wallet is not active", 400); - - const provider = req.body.provider || "mock"; - const gw = await gatewayLog(client, { - walletId: wallet.id, - provider, - providerRef: "MOCK-" + Date.now(), - type: "top_up", - amount, - currency: wallet.currency, - status: "completed", - }); - - const newBalance = Number(wallet.balance) + amount; - await setBalance(client, wallet, newBalance); - const tx = await logTx(client, { - walletId: wallet.id, - type: "top_up", - amount, - balanceAfter: newBalance, - referenceId: gw.id, - description: req.body.description || `Top-up via ${provider}`, - }); - - return { newBalance: newBalance.toFixed(2), transaction: tx, gateway: gw }; - }); - - res.status(201).json({ success: true, message: "Top-up successful", data }); - } catch (e) { - next(e); - } -}; - -const withdraw = async (req, res, next) => { - try { - const amount = Number(req.body.amount); - if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); - - const data = await withTransaction(async (client) => { - const wallet = await lockWallet(client, req.params.id); - if (!wallet) throw new ApiError("Wallet not found", 404); - if (wallet.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); - if (wallet.status !== "active") throw new ApiError("Wallet is not active", 400); - if (Number(wallet.balance) < amount) throw new ApiError("Insufficient balance", 400); - - const provider = req.body.provider || "mock"; - const gw = await gatewayLog(client, { - walletId: wallet.id, - provider, - providerRef: "MOCK-" + Date.now(), - type: "withdrawal", - amount, - currency: wallet.currency, - status: "completed", - }); - - const newBalance = Number(wallet.balance) - amount; - await setBalance(client, wallet, newBalance); - const tx = await logTx(client, { - walletId: wallet.id, - type: "withdrawal", - amount, - balanceAfter: newBalance, - referenceId: gw.id, - description: req.body.description || `Withdrawal via ${provider}`, - }); - - return { newBalance: newBalance.toFixed(2), transaction: tx, gateway: gw }; - }); - - res.status(201).json({ success: true, message: "Withdrawal successful", data }); - } catch (e) { - next(e); - } -}; - -const sendMoney = async (req, res, next) => { - try { - const amount = Number(req.body.amount); - const { fromWalletId, toWalletNumber, note } = req.body; - if (!amount || amount <= 0) throw new ApiError("amount must be greater than 0", 400); - if (!fromWalletId || !toWalletNumber) - throw new ApiError("fromWalletId and toWalletNumber are required", 400); - - const data = await withTransaction(async (client) => { - const from = await lockWallet(client, fromWalletId); - if (!from) throw new ApiError("Sender wallet not found", 404); - if (from.user_id !== req.user.sub) throw new ApiError("Not your wallet", 403); - - const toRes = await client.query( - "SELECT * FROM wallets WHERE wallet_number = $1", - [toWalletNumber] - ); - const to = toRes.rows[0]; - if (!to) throw new ApiError("Receiver wallet not found", 404); - if (to.id === from.id) throw new ApiError("Cannot send to the same wallet", 400); - if (from.status !== "active" || to.status !== "active") - throw new ApiError("Wallet is not active", 400); - if (from.currency !== to.currency) throw new ApiError("Currency mismatch", 400); - if (Number(from.balance) < amount) throw new ApiError("Insufficient balance", 400); - - const lockedTo = await lockWallet(client, to.id); - - const tr = await client.query( - `INSERT INTO transfers (from_wallet_id, to_wallet_id, amount, currency, note) - VALUES ($1, $2, $3, $4, $5) RETURNING *`, - [from.id, to.id, amount, from.currency, note || null] - ); - const transfer = tr.rows[0]; - - const fromBalance = Number(from.balance) - amount; - const toBalance = Number(lockedTo.balance) + amount; - await setBalance(client, from, fromBalance); - await setBalance(client, lockedTo, toBalance); - - await logTx(client, { - walletId: from.id, type: "transfer_out", amount, - balanceAfter: fromBalance, referenceId: transfer.id, - description: note || `Sent to ${to.wallet_number}`, - }); - await logTx(client, { - walletId: to.id, type: "transfer_in", amount, - balanceAfter: toBalance, referenceId: transfer.id, - description: note || `Received from ${from.wallet_number}`, - }); - - return { transfer, fromBalance: fromBalance.toFixed(2), toBalance: toBalance.toFixed(2) }; - }); - - res.status(201).json({ success: true, message: "Transfer successful", data }); - } catch (e) { - next(e); - } -}; - -module.exports = { topUp, withdraw, sendMoney }; diff --git a/api/src/controllers/requestController.js b/api/src/controllers/requestController.js deleted file mode 100644 index 65ca93a..0000000 --- a/api/src/controllers/requestController.js +++ /dev/null @@ -1,169 +0,0 @@ -const walletModel = require("../models/walletModel"); -const paymentRequestModel = require("../models/paymentRequestModel"); -const { - ApiError, - withTransaction, - lockWallet, - setBalance, - logTx, -} = require("../services/moneyService"); - -const createRequest = async (req, res, next) => { - try { - const amount = Number(req.body.amount); - const { requesterWalletId, payerEmail, note } = req.body; - if (!amount || amount <= 0) - throw new ApiError("amount must be greater than 0", 400); - if (!requesterWalletId || !payerEmail) - throw new ApiError("requesterWalletId and payerEmail are required", 400); - - const wallet = await walletModel.findById(requesterWalletId); - if (!wallet) throw new ApiError("Wallet not found", 404); - if (wallet.user_id !== req.user.sub) - throw new ApiError("Not your wallet", 403); - - const request = await paymentRequestModel.create({ - requesterWalletId: wallet.id, - payerEmail: payerEmail.toLowerCase(), - amount, - currency: wallet.currency, - note: note || null, - }); - - res - .status(201) - .json({ success: true, message: "Payment request sent", data: request }); - } catch (e) { - next(e); - } -}; - -const myRequests = async (req, res, next) => { - try { - const rows = await paymentRequestModel.listForUser( - req.user.sub, - req.user.email, - ); - res.json({ success: true, count: rows.length, data: rows }); - } catch (e) { - next(e); - } -}; - -const approveRequest = async (req, res, next) => { - try { - const { fromWalletId } = req.body; - if (!fromWalletId) throw new ApiError("fromWalletId is required", 400); - - const data = await withTransaction(async (client) => { - const request = await paymentRequestModel.findByIdForUpdate( - client, - req.params.id, - ); - if (!request) throw new ApiError("Payment request not found", 404); - if (request.status !== "pending") - throw new ApiError("Request is not pending", 400); - if (request.payer_email !== req.user.email) - throw new ApiError("Only the payer can approve this request", 403); - - const payerWallet = await lockWallet(client, fromWalletId); - if (!payerWallet) throw new ApiError("Payer wallet not found", 404); - if (payerWallet.user_id !== req.user.sub) - throw new ApiError("Not your wallet", 403); - - const amount = Number(request.amount); - if (Number(payerWallet.balance) < amount) - throw new ApiError("Insufficient balance", 400); - - const requesterWallet = await lockWallet( - client, - request.requester_wallet_id, - ); - - const payerBalance = Number(payerWallet.balance) - amount; - const requesterBalance = Number(requesterWallet.balance) + amount; - await setBalance(client, payerWallet, payerBalance); - await setBalance(client, requesterWallet, requesterBalance); - - await logTx(client, { - walletId: payerWallet.id, - type: "request_out", - amount, - balanceAfter: payerBalance, - referenceId: request.id, - description: request.note || "Paid request", - }); - await logTx(client, { - walletId: requesterWallet.id, - type: "request_in", - amount, - balanceAfter: requesterBalance, - referenceId: request.id, - description: request.note || "Request paid", - }); - - const paid = await paymentRequestModel.markPaid( - client, - request.id, - payerWallet.id, - ); - return { paymentRequest: paid }; - }); - - res.json({ success: true, message: "Payment request paid", data }); - } catch (e) { - next(e); - } -}; - -const declineRequest = async (req, res, next) => { - try { - const declined = await paymentRequestModel.decline( - req.params.id, - req.user.email, - ); - if (!declined) - return res - .status(404) - .json({ success: false, error: "Pending request not found for you" }); - res.json({ success: true, message: "Request declined", data: declined }); - } catch (e) { - next(e); - } -}; -const getRequestById = async (req, res, next) => { - try { - const request = await paymentRequestModel.findById(req.params.id); - if (!request) throw new ApiError("Payment request not found", 404); - res.json({ success: true, data: request }); - } catch (e) { - next(e); - } -}; - -const updateRequest = async (req, res, next) => { - try { - const { amount, note } = req.body; - if (!amount || amount <= 0) throw new ApiError("Amount must be > 0", 400); - - const updated = await paymentRequestModel.update(req.params.id, amount, note, req.user.email); - if (!updated) throw new ApiError("Pending request not found for you", 404); - - res.json({ success: true, message: "Payment request updated", data: updated }); - } catch (e) { - next(e); - } -}; - -const deleteRequest = async (req, res, next) => { - try { - const deleted = await paymentRequestModel.remove(req.params.id, req.user.email); - if (!deleted) throw new ApiError("Pending request not found for you", 404); - - res.json({ success: true, message: "Payment request deleted", data: deleted }); - } catch (e) { - next(e); - } -}; - -module.exports = { createRequest, myRequests, approveRequest, declineRequest, getRequestById, updateRequest, deleteRequest }; diff --git a/api/src/controllers/transactionController.js b/api/src/controllers/transactionController.js deleted file mode 100644 index 7689419..0000000 --- a/api/src/controllers/transactionController.js +++ /dev/null @@ -1,23 +0,0 @@ -const transactionModel = require("../models/transactionModel"); -const walletModel = require("../models/walletModel"); - -const getHistory = async (req, res, next) => { - try { - const { limit = 10, offset = 0 } = req.query; - - // Find the user's wallet to get transactions - const wallets = await walletModel.listByUser(req.user.sub); - if (!wallets || wallets.length === 0) { - return res.status(404).json({ success: false, error: "Wallet not found for this user" }); - } - const wallet = wallets[0]; // Get the primary wallet - - const transactions = await transactionModel.listByWallet(wallet.id, limit, offset); - - res.json({ success: true, count: transactions.length, data: transactions }); - } catch (e) { - next(e); - } -}; - -module.exports = { getHistory }; diff --git a/api/src/controllers/walletController.js b/api/src/controllers/walletController.js deleted file mode 100644 index 9f56287..0000000 --- a/api/src/controllers/walletController.js +++ /dev/null @@ -1,84 +0,0 @@ -const walletModel = require("../models/walletModel"); -const transactionModel = require("../models/transactionModel"); - -async function loadOwnWallet(req) { - const wallet = await walletModel.findById(req.params.id); - if (!wallet) return { error: "Wallet not found", status: 404 }; - if (wallet.user_id !== req.user.sub) - return { error: "Not your wallet", status: 403 }; - return { wallet }; -} - -const createWallet = async (req, res, next) => { - try { - const wallet = await walletModel.create( - req.user.sub, - req.body.currency || "USD", - ); - res - .status(201) - .json({ success: true, message: "Wallet created", data: wallet }); - } catch (e) { - next(e); - } -}; - -const myWallets = async (req, res, next) => { - try { - const wallets = await walletModel.listByUser(req.user.sub); - res.json({ success: true, count: wallets.length, data: wallets }); - } catch (e) { - next(e); - } -}; - -const getWallet = async (req, res, next) => { - try { - const { wallet, error, status } = await loadOwnWallet(req); - if (error) return res.status(status).json({ success: false, error }); - res.json({ success: true, data: wallet }); - } catch (e) { - next(e); - } -}; - -const getBalance = async (req, res, next) => { - try { - const { wallet, error, status } = await loadOwnWallet(req); - if (error) return res.status(status).json({ success: false, error }); - res.json({ - success: true, - data: { - walletId: wallet.id, - walletNumber: wallet.wallet_number, - currency: wallet.currency, - balance: wallet.balance, - }, - }); - } catch (e) { - next(e); - } -}; - -const getTransactions = async (req, res, next) => { - try { - const { wallet, error, status } = await loadOwnWallet(req); - if (error) return res.status(status).json({ success: false, error }); - - const limit = Math.min(Number(req.query.limit) || 20, 100); - const offset = Number(req.query.offset) || 0; - - const rows = await transactionModel.listByWallet(wallet.id, limit, offset); - res.json({ success: true, count: rows.length, data: rows }); - } catch (e) { - next(e); - } -}; - -module.exports = { - createWallet, - myWallets, - getWallet, - getBalance, - getTransactions, -}; diff --git a/api/src/middleware/auth.js b/api/src/middleware/auth.js deleted file mode 100644 index 080e1a9..0000000 --- a/api/src/middleware/auth.js +++ /dev/null @@ -1,24 +0,0 @@ -const jwt = require("jsonwebtoken"); - -function signToken(user) { - return jwt.sign({ sub: user.id, email: user.email }, process.env.JWT_SECRET, { - expiresIn: "7d", - }); -} - -function requireAuth(req, res, next) { - const header = req.headers.authorization || ""; - const token = header.startsWith("Bearer ") ? header.slice(7) : null; - if (!token) - return res.status(401).json({ success: false, error: "Missing token" }); - try { - req.user = jwt.verify(token, process.env.JWT_SECRET); - next(); - } catch { - return res - .status(401) - .json({ success: false, error: "Invalid or expired token" }); - } -} - -module.exports = { signToken, requireAuth }; diff --git a/api/src/middleware/errorHandler.js b/api/src/middleware/errorHandler.js deleted file mode 100644 index f560675..0000000 --- a/api/src/middleware/errorHandler.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = (err, req, res, next) => { - console.error(err); - const status = err.status || 500; - res.status(status).json({ - success: false, - error: status === 500 ? "Internal server error" : err.message, - }); -}; diff --git a/api/src/models/merchantModel.js b/api/src/models/merchantModel.js deleted file mode 100644 index d999d95..0000000 --- a/api/src/models/merchantModel.js +++ /dev/null @@ -1,46 +0,0 @@ -const pool = require("../config/db"); -const crypto = require("crypto"); - -async function create({ name }) { - const apiKey = "pk_" + crypto.randomBytes(16).toString("hex"); - const r = await pool.query( - "INSERT INTO merchants (name, api_key) VALUES ($1, $2) RETURNING *", - [name, apiKey] - ); - return r.rows[0]; -} - -async function findAll() { - const r = await pool.query("SELECT * FROM merchants ORDER BY created_at DESC"); - return r.rows; -} - -async function findById(id) { - const r = await pool.query("SELECT * FROM merchants WHERE id = $1", [id]); - return r.rows[0]; -} - -async function update(id, name, status) { - const r = await pool.query( - "UPDATE merchants SET name = $1, status = $2, updated_at = CURRENT_TIMESTAMP WHERE id = $3 RETURNING *", - [name, status, id] - ); - return r.rows[0]; -} - -async function remove(id) { - const r = await pool.query("DELETE FROM merchants WHERE id = $1 RETURNING *", [id]); - return r.rows[0]; -} - -// Log a payment in the database (Called during a transaction) -async function logPayment(client, merchantId, walletId, amount, currency) { - const r = await client.query( - `INSERT INTO merchant_payments (merchant_id, wallet_id, amount, currency) - VALUES ($1, $2, $3, $4) RETURNING *`, - [merchantId, walletId, amount, currency] - ); - return r.rows[0]; -} - -module.exports = { create, findAll, findById, update, remove, logPayment }; diff --git a/api/src/models/paymentRequestModel.js b/api/src/models/paymentRequestModel.js deleted file mode 100644 index 3398c72..0000000 --- a/api/src/models/paymentRequestModel.js +++ /dev/null @@ -1,84 +0,0 @@ -const pool = require("../config/db"); - -async function create({ - requesterWalletId, - payerEmail, - amount, - currency, - note, -}) { - const r = await pool.query( - `INSERT INTO payment_requests (requester_wallet_id, payer_email, amount, currency, note) - VALUES ($1, $2, $3, $4, $5) RETURNING *`, - [requesterWalletId, payerEmail, amount, currency, note], - ); - return r.rows[0]; -} - -async function listForUser(userId, email) { - const r = await pool.query( - `SELECT pr.*, w.wallet_number AS requester_wallet_number - FROM payment_requests pr - JOIN wallets w ON w.id = pr.requester_wallet_id - WHERE w.user_id = $1 OR pr.payer_email = $2 - ORDER BY pr.created_at DESC`, - [userId, email], - ); - return r.rows; -} - -async function decline(id, payerEmail) { - const r = await pool.query( - `UPDATE payment_requests - SET status = 'declined', updated_at = CURRENT_TIMESTAMP - WHERE id = $1 AND payer_email = $2 AND status = 'pending' RETURNING *`, - [id, payerEmail], - ); - return r.rows[0]; -} - -// Used inside a DB transaction (client), not standalone -async function findByIdForUpdate(client, id) { - const r = await client.query( - "SELECT * FROM payment_requests WHERE id = $1 FOR UPDATE", - [id], - ); - return r.rows[0]; -} - -async function markPaid(client, id, payerWalletId) { - const r = await client.query( - `UPDATE payment_requests - SET status = 'paid', payer_wallet_id = $1, updated_at = CURRENT_TIMESTAMP - WHERE id = $2 RETURNING *`, - [payerWalletId, id], - ); - return r.rows[0]; -} - - -async function findById(id) { - const r = await pool.query("SELECT * FROM payment_requests WHERE id = $1", [id]); - return r.rows[0]; -} - -async function update(id, amount, note, email) { - const r = await pool.query( - `UPDATE payment_requests - SET amount = $1, note = $2, updated_at = CURRENT_TIMESTAMP - WHERE id = $3 AND payer_email = $4 AND status = 'pending' RETURNING *`, - [amount, note, id, email] - ); - return r.rows[0]; -} - -async function remove(id, email) { - const r = await pool.query( - `DELETE FROM payment_requests - WHERE id = $1 AND payer_email = $2 AND status = 'pending' RETURNING *`, - [id, email] - ); - return r.rows[0]; -} - -module.exports = { create, listForUser, decline, findByIdForUpdate, markPaid, findById, update, remove }; diff --git a/api/src/models/transactionModel.js b/api/src/models/transactionModel.js deleted file mode 100644 index 39cd020..0000000 --- a/api/src/models/transactionModel.js +++ /dev/null @@ -1,11 +0,0 @@ -const pool = require("../config/db"); - -async function listByWallet(walletId, limit, offset) { - const r = await pool.query( - "SELECT * FROM transactions WHERE wallet_id = $1 ORDER BY created_at DESC LIMIT $2 OFFSET $3", - [walletId, limit, offset], - ); - return r.rows; -} - -module.exports = { listByWallet }; diff --git a/api/src/models/userModel.js b/api/src/models/userModel.js deleted file mode 100644 index f02b456..0000000 --- a/api/src/models/userModel.js +++ /dev/null @@ -1,26 +0,0 @@ -const pool = require("../config/db"); - -async function findByEmail(email) { - const r = await pool.query("SELECT * FROM users WHERE email = $1", [email]); - return r.rows[0]; -} - -async function findById(id) { - const r = await pool.query( - "SELECT id, email, full_name, phone, status, created_at FROM users WHERE id = $1", - [id], - ); - return r.rows[0]; -} - -async function create({ email, passwordHash, fullName, phone }) { - const r = await pool.query( - `INSERT INTO users (email, password_hash, full_name, phone) - VALUES ($1, $2, $3, $4) - RETURNING id, email, full_name, phone, status, created_at`, - [email, passwordHash, fullName, phone], - ); - return r.rows[0]; -} - -module.exports = { findByEmail, findById, create }; diff --git a/api/src/models/walletModel.js b/api/src/models/walletModel.js deleted file mode 100644 index 8de29f0..0000000 --- a/api/src/models/walletModel.js +++ /dev/null @@ -1,26 +0,0 @@ -const pool = require("../config/db"); - -async function create(userId, currency = "USD") { - const walletNumber = "PAYNX-" + Math.floor(100000 + Math.random() * 900000); - const r = await pool.query( - `INSERT INTO wallets (user_id, wallet_number, currency) - VALUES ($1, $2, $3) RETURNING *`, - [userId, walletNumber, currency], - ); - return r.rows[0]; -} - -async function listByUser(userId) { - const r = await pool.query( - "SELECT * FROM wallets WHERE user_id = $1 ORDER BY created_at", - [userId], - ); - return r.rows; -} - -async function findById(id) { - const r = await pool.query("SELECT * FROM wallets WHERE id = $1", [id]); - return r.rows[0]; -} - -module.exports = { create, listByUser, findById }; diff --git a/api/src/routes/authRoutes.js b/api/src/routes/authRoutes.js deleted file mode 100644 index 2b93097..0000000 --- a/api/src/routes/authRoutes.js +++ /dev/null @@ -1,10 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const authController = require("../controllers/authController"); -const { requireAuth } = require("../middleware/auth"); - -router.post("/register", authController.register); -router.post("/login", authController.login); -router.get("/me", requireAuth, authController.me); - -module.exports = router; diff --git a/api/src/routes/index.js b/api/src/routes/index.js deleted file mode 100644 index ee55c37..0000000 --- a/api/src/routes/index.js +++ /dev/null @@ -1,30 +0,0 @@ -// api/src/routes/index.js (Master Router) -const express = require("express"); -const router = express.Router(); - -const authRoutes = require("./authRoutes"); -const walletRoutes = require("./walletRoutes"); -const moneyRoutes = require("./moneyRoutes"); -const requestRoutes = require("./requestRoutes"); -const transactionRoutes = require("./transactionRoutes"); -const merchantRoutes = require("./merchantRoutes"); - -router.get("/health", (req, res) => - res.json({ - success: true, - service: "paynext-api", - time: new Date().toISOString(), - }), -); - -// Mount team routes -router.use("/auth", authRoutes); -router.use("/wallets", walletRoutes); -router.use("/transfers", moneyRoutes); -router.use("/payment-requests", requestRoutes); - -// Mount your new routes -router.use("/history", transactionRoutes); -router.use("/merchants", merchantRoutes); - -module.exports = router; diff --git a/api/src/routes/merchantRoutes.js b/api/src/routes/merchantRoutes.js deleted file mode 100644 index 2c74612..0000000 --- a/api/src/routes/merchantRoutes.js +++ /dev/null @@ -1,16 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const merchantController = require("../controllers/merchantController"); -const { requireAuth } = require("../middleware/auth"); - -// CRUD Routes for Merchants -router.post("/", requireAuth, merchantController.createMerchant); -router.get("/", requireAuth, merchantController.getAllMerchants); -router.get("/:id", requireAuth, merchantController.getMerchantById); -router.put("/:id", requireAuth, merchantController.updateMerchant); -router.delete("/:id", requireAuth, merchantController.deleteMerchant); - -// Action Route -router.post("/pay", requireAuth, merchantController.payMerchant); - -module.exports = router; diff --git a/api/src/routes/moneyRoutes.js b/api/src/routes/moneyRoutes.js deleted file mode 100644 index 87e5417..0000000 --- a/api/src/routes/moneyRoutes.js +++ /dev/null @@ -1,9 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const moneyController = require("../controllers/moneyController"); -const { requireAuth } = require("../middleware/auth"); - -// Note: top-up and withdraw are on the wallet router, but sendMoney is here -router.post("/", requireAuth, moneyController.sendMoney); - -module.exports = router; \ No newline at end of file diff --git a/api/src/routes/requestRoutes.js b/api/src/routes/requestRoutes.js deleted file mode 100644 index d8fcb7c..0000000 --- a/api/src/routes/requestRoutes.js +++ /dev/null @@ -1,15 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const requestController = require("../controllers/requestController"); -const { requireAuth } = require("../middleware/auth"); - -router.post("/", requireAuth, requestController.createRequest); -router.get("/", requireAuth, requestController.myRequests); -router.get("/:id", requireAuth, requestController.getRequestById); // NEW (Read Single) -router.put("/:id", requireAuth, requestController.updateRequest); // NEW (Update) -router.delete("/:id", requireAuth, requestController.deleteRequest); // NEW (Delete) - -router.post("/:id/approve", requireAuth, requestController.approveRequest); -router.post("/:id/decline", requireAuth, requestController.declineRequest); - -module.exports = router; diff --git a/api/src/routes/transactionRoutes.js b/api/src/routes/transactionRoutes.js deleted file mode 100644 index ea82615..0000000 --- a/api/src/routes/transactionRoutes.js +++ /dev/null @@ -1,8 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const transactionController = require("../controllers/transactionController"); -const { requireAuth } = require("../middleware/auth"); - -router.get("/", requireAuth, transactionController.getHistory); - -module.exports = router; diff --git a/api/src/routes/walletRoutes.js b/api/src/routes/walletRoutes.js deleted file mode 100644 index 293c733..0000000 --- a/api/src/routes/walletRoutes.js +++ /dev/null @@ -1,16 +0,0 @@ -const express = require("express"); -const router = express.Router(); -const walletController = require("../controllers/walletController"); -const moneyController = require("../controllers/moneyController"); -const { requireAuth } = require("../middleware/auth"); - -router.post("/", requireAuth, walletController.createWallet); -router.get("/", requireAuth, walletController.myWallets); -router.get("/:id", requireAuth, walletController.getWallet); -router.get("/:id/balance", requireAuth, walletController.getBalance); -router.get("/:id/transactions", requireAuth, walletController.getTransactions); - -router.post("/:id/top-up", requireAuth, moneyController.topUp); -router.post("/:id/withdraw", requireAuth, moneyController.withdraw); - -module.exports = router; diff --git a/api/src/server.js b/api/src/server.js deleted file mode 100644 index 4edc2e2..0000000 --- a/api/src/server.js +++ /dev/null @@ -1,5 +0,0 @@ -require("dotenv").config(); -const app = require("./app"); - -const port = process.env.PORT || 3000; -app.listen(port, () => console.log(`payNEXT API listening on port ${port}`)); diff --git a/api/src/services/moneyService.js b/api/src/services/moneyService.js deleted file mode 100644 index dd92431..0000000 --- a/api/src/services/moneyService.js +++ /dev/null @@ -1,71 +0,0 @@ -const pool = require("../config/db"); - -class ApiError extends Error { - constructor(message, status) { - super(message); - this.status = status; - } -} - -async function withTransaction(fn) { - const client = await pool.connect(); - try { - await client.query("BEGIN"); - const result = await fn(client); - await client.query("COMMIT"); - return result; - } catch (e) { - await client.query("ROLLBACK"); - throw e; - } finally { - client.release(); - } -} - -async function lockWallet(client, id) { - const r = await client.query( - "SELECT * FROM wallets WHERE id = $1 FOR UPDATE", - [id], - ); - return r.rows[0]; -} - -async function setBalance(client, wallet, balance) { - await client.query( - "UPDATE wallets SET balance = $1, updated_at = CURRENT_TIMESTAMP WHERE id = $2", - [balance, wallet.id], - ); -} - -async function logTx( - client, - { walletId, type, amount, balanceAfter, referenceId, description }, -) { - const r = await client.query( - `INSERT INTO transactions (wallet_id, type, amount, balance_after, reference_id, description) - VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`, - [walletId, type, amount, balanceAfter, referenceId, description], - ); - return r.rows[0]; -} - -async function gatewayLog( - client, - { walletId, provider, providerRef, type, amount, currency, status }, -) { - const r = await client.query( - `INSERT INTO gateway_transactions (wallet_id, provider, provider_transaction_id, type, amount, currency, status) - VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING *`, - [walletId, provider, providerRef, type, amount, currency, status], - ); - return r.rows[0]; -} - -module.exports = { - ApiError, - withTransaction, - lockWallet, - setBalance, - logTx, - gatewayLog, -}; diff --git a/web/.dockerignore b/client/.dockerignore similarity index 100% rename from web/.dockerignore rename to client/.dockerignore diff --git a/web/Dockerfile b/client/Dockerfile similarity index 100% rename from web/Dockerfile rename to client/Dockerfile diff --git a/web/nginx.conf b/client/nginx.conf similarity index 100% rename from web/nginx.conf rename to client/nginx.conf diff --git a/web/public/index.html b/client/public/index.html similarity index 100% rename from web/public/index.html rename to client/public/index.html