From 63b13ca5e8cc2dc001e48ccfede62bda64dbde23 Mon Sep 17 00:00:00 2001 From: Jesse Wierzbinski Date: Sun, 26 Nov 2023 11:54:20 -1000 Subject: [PATCH] Fix SIGSEGV bug!! --- bun.lockb | Bin 335032 -> 312200 bytes database/entities/Like.ts | 13 +++++++-- index.ts | 3 +- package.json | 5 +--- utils/request.ts | 58 +++++++++++++++++++++++--------------- 5 files changed, 48 insertions(+), 31 deletions(-) diff --git a/bun.lockb b/bun.lockb index c278d52e06abd3dd2157f87001773d5200739142..20aad1e5d073588fee86f5f003eaaf87b77c7a03 100755 GIT binary patch delta 70059 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%0DogG|Y&Q^O0RG9xNBZS#4Cc@Zr{@SYT zk%R=AYs-=&(}IY)Q7g1a82I2>rpF~v(6huILfna3VTseJHFs-Hws3>XK7BANPn*L8 z-*n!zO@@Eq8T4d<3_0Su*_yV;J5tcI$tUM#9tHS1T|c67@lPz4V6)HLt{ye}e5b2> z#;#lU6aQl4NTb*>6@jMh6Wd>zA?dfpwyAh$j>URrw3z>q!3XG%t9%yZQ%Tr_?iX3!GMkti~)0>(*{7*QZabim52umD9@Iz`b)?6*G)_wil<(kz0Jy zY^Rm^rtOiN+`e*>b^35xO)(7rPc7uymMoyxMdK5PaBWnUS|1nMqliAH=gfB_e`2b9 zTd;&)2|f{5+gYzWYN`u&3s!ijH7+#E-E-z3xfqge#fak_xqmfOdKJ^}zyHfX=kuod zbN`||QeXmeXXBwlQ;?v!p8MNQQ-7HsordpRda!1%{q{DpcL*$XTvmM3QpHs!S0nFd z%*BTU#asx=4qO77v9{iKsE&t=ni z5Bn4uRCav9Z-}9fN?w;$Vk#;c%$zSHB*ELdIQ@w|&+L}7uQ?p1(z(&Q%aexKc2c`u zaWB6PE{leII*bxyimGnZdc#PyDmA&&8nMI({6uT$8SWEXLg^>efW6yQ;>vdJm82Mx zPgm7ja{JUMk&a3EUR+haX{g(6Hl*3G#)=+(8zLTu#F2(**sWpODcR`IC2W384VAc` zIBDvZ{p6wCZsXO<)KTKfjke#?Fw%G3GDrISuBA5~cs)pN0q9(6OjAK=v7CA1#zW6F z9%@5cIx44*lLXqf-!Y@-m=N$j=jLy6*c;P68=HrePPWf)58{4P@#)Bb8>MH{(aCQ7 zrYdk#$QFOsJi%Pr)NN%pzR%rmR=Y{`Z6n*~x5zpTwLQI&-PUus**>oajCgvhV4Noj z>CL`loL9JS&igHojQaD#fWxARbgW$D(tCT;<*O{|pJKNF^AJZjY}4hv8esQKrv#luz5l-cfWli&$Dw6@L7A~2mXtq%C|;dGo_Us3@<5zzH|;Y zYj6cIcG=1mof!)G^VH!KO@id5Tm489Bvd* ztwW5`E`jzuyN9Bl5MtC+ew_&M4mVOO-%w1QH@_pDzM-^*OL52LIYM=Ty~2#_rY-Cl z280>js$>Ysj14mi^R3To!;F|@g>2c$n5xdMGV&&*>ult4HdXC826r)XQR!WU$Z2^O zqm^3d>&TAq@@Cm$!;LJa?^w7aqp+5k*}tpdX$JJ}ibd@e+0@l2?o!HLMdxltjs*S$ zIMYyx5lm0%Tham6L>Q@5+X$nhDeZ>i)!jIvmJBpXs1A|FGkf`_NAORe6M7g$<%%X4 zf?==rFczsiJ?U*;QAX;76H!K4XUWwJPVnnxY)xnJ^G$ddV@yk@^8IAwNti#$sGExJ z^Js>#)!ETeqGnN+(78q?b#<2EYIyUY&g?-1q*K1L=`zU$<7OLq|3!dC3Uy^B)p#(Q zPLZUWSyh~4cqbF2Q#ohSu<@e0@ zR8x{y$9EYi6H+G{X;Z47^U^KK95g0p$Szfj?Cjk?JhV?2{)F}J{Ii-m;~LQ(;)7iE@@R@HkS+^%Z6lgDN39r*<9v-95gA1!B=j2xMVidjKwM8=~CMq zUnjHD!pl9$+L4K?`oq&Di)z$EMqhm+MMClHE_$l!|f7t6ZUwyl(cJ11=D|9z_CS_F3-&JjT%Vsw- z&z77$YE-d-xgyrwa_*A6L&rU@?>qWB)U3@-OaG+BP3y=xx_oE!sGGLVy^KgWE;?1C ziVf$u#MF3oTtW;NAHg!bQNV=b(&HoIRT>S)Y2u@!674wT+fY$WKSPc)MSe=6nyPc1 z!Ku6#up-bwLX?k+O?2X1ps&2B&n7-DEiRgC3_&#r%%z4ZNSLZhh(LSXjB*@T0r{!6 zPO)Ut1c}ERahx&aJ0$D{tO*_jqy`dEjto-+D-mkKRMDz%by##%QWW%Lp>i6Jj3Okc zLJj;N%hfGV*hqCkRHA0I0moGaj~Nmkl@QNy z5z%o}oQsPMQxgtLP{qfma@>33XV!8|tE5yedJXZiAtdFlKlf zQ(PTdsNuv&b!^n2RIaoN<3^B^N9>@0h9E3b6+Hx11dJCM5UJAG42o7ogeDCdq)yIS7$wKAsJ>4BtzjrauBzp2Gf_Arb@6Gq~W;s7&vmdCNV*+ib>%LC7uN& zmxVg0L`&n7VyHfsYsL(7L_Qg^9tx>`mN}CT15$%cYO#EcIwqM6+zn3pQdQB>QJO?9 zZ2>C6i|L7fF{D`?Hbzr`)WB#7Er8^S&}h*fPS^9W$hcv#Xdoes$!#o|0WndrQ88!< zAZFBuoID*H7p}HZg{DOFsg3M2!<;-cfApZivi8Q^Qhk zEpak0_B3JqAjo)U5*rg7^Pl^qX3WJde4VeO4 zAoX+zBA2d8jhKtK0BKs~O57Ys(>I_olg|OK0{#>A$+MYFn0&ASD>qmZ9v1_BLzxPSST!K=BQ4li zSGQp?Q4UC++zC15$7`Z7|8ViBKrYm%Qq*KiN=!5YJwfxMspMK|x~O9lqY|Ukn%H3) zReTi3-9mmn)GGo~!$GZ?LHod|=QqJcPl01Xq%Q{Yz+<+oTuf9<54BBrD7OOw>RF~8 zvrwf;jSU+Tl_;PBS(*tX&!kHVRH3R+GCWM9(IloutJ_O*2Ou?^=ODNkw)9GX`>0y9 zS|vv1M@)U{C;Xq37!|E?P_X>QKyu7u#79?kj7=0C$koF zH8u$&84ga78|lIP+^sFgVS1)_ftGwfAf{`&r&KB&$m^0^ z((@L2$iOr|HhxKvlfK*jO#fJSX6UW}LQIi`NRZ+yC|DmD8aGTMt|s6X;PZg>fY&6& zha}W(AgjQsM-zZnz+pggbUz?XJ#QcxUOFMC`S$Gh9m;{6d3)wum*P{zZv*kAQ==3q&XZ6v;gYr+k&T2&uSq- zWB1IBc_61dt8fauF64PYGHf=GdNLeH1`h;M4>$B=a%XU?2kCVs`Da(guK`KVRv^}q z^csEGkW6=l|EZ@j$RO+pB#SNju^yE6Wv;jB&l;$Se2SG)7uK+P05ik~NDZ_Al0mgl zo`TK;W~eoxNl{p+=S8ueX8_4SO&St3 zHYzD2P~t99fu@qYnk4@b$!5bdAl177q@mj<$=3o&@f<0CJdmP4UgEuhG@E>ZR4&a9 z3392WRKQ3o@F9XVU@rCeI(k7dkQBx|fZp0*J6Feq$J*fJqRN05$koX}igHan{iA67DVV8n7}+^4&>p~^zfwkXmyG@Au?VF;4P~t64~+;uflN!^>Y)2;k;$q zHw*?jzAw}h`ayYZU>9(xNv}POsZ{}qhbE}PXt}>C$t_dZoQVfgevCRHLT!h6gM1p; zD2J<$Qur;DVzh)9~GWq@^nk46*6GF5~Gtp*!` zG!WT9TCQS&b%C8Ev;|s%SCM$hD5mHJkUTa5NCOosp*0Mk0O&cM=|2dp3Eo!1Arp`f zW70n(0%&sXl5je(8F&nkChtHXDGmfukM1E-2*&^$0^2}Nb1QC;8vRDEGMOjB)!1t= z(hZPb1^LE6>gY$*Bg6gxrctb4&SI`~oy^bZT__$ErjeVD`S`0FE0nR!g_6XcU0jsP3c9zIxOld6h|=I~4> zK7DLQMnx1@3#5)jMa0G>pyx}$$$pw@s%QfO!S1=?F!rQ zqJ4@jn_)Qea)G(5Vp$;dP{&J9ff{}cBoE=R8?BBSuKsKA>jnMa#{6Gnee)XlpJtuo zde(3=AoXAmkj8%18iwuiSi_ak6Y|t6aEgW3FrJo$*m&v&$GzFe%8lK`>J5`n_mCH# z6i<_ttB7)9Y;8jSDcD|bX08m{!q62+9*Bs;l)yD+D>LjYuma?9Kr%c`;<~5FZs4R( zH;X%hlcBn&PFHZ+;bL|$JpQ(bFSDTu zkZe5wIbofBOdg{ef`^r;gl&+MSMidvy)DT^7V zrO!r!0{lLVCB>f)Fz>$rlDBnJ{XFu?d*X{GC`^n@h)aryjk9Y#?av{ z1IMj9#XQ&oo*+Gg(4YmOw5|Q!b|y5eS}koqD$tm0moVN&gMA@dz2pxj$37-b>0aQZ zINl~)O)qxhhLPhr?)({6?kJE9(#3!-F5|G)P&ovpO{^+L-Q^rxo9JkZS0HJcc$*ki zJPNcv&l;Exq*#~$q@W5w1v1bRNIka)Qhw4#Ca-jnc}zEBbz`oZsk#{#ZzG<*IbDaJ zUZVQg2L3vg|2ky{N;7pC8ls^(e}x&A1x{;F`c)RRY9O7J{?iOy41*~KbOy$#;X_)6 zbpqK9*0Th4I35!??jShDLWP^G=ei)$jq$td%%CAO#&Lr$G%Db5o4Ha~K$@TF`BKGMuw0zqci6nolz7>@>*#@K-F?hs!{?~m;x31_6zI+${r-pS6{wGEBFp_|w(go{{Cu}TruV0UY(`x%y z4_G{72GNUUGEnEqU+W8S?pv; z=nh1i>6<0PbUW~BaFWjh(kx2TEv<()umkraAQ?1T8si8c@&B}+_#mGQ3VFvosXLQk z^`)(WbCvYyg4P_oD#}Ycv2dWKd0M9rtS+6{LJ_#ACq7sueq>&=1=1*$k#vd2MvR7i z30uxTz~)NG*V!J1b0eL&Fd@ZLLws}+4IWqNGb?}Q6Pq|qW{XZpOMiomDo}t$Q=Fo@ zGqLUnsym47LOu;+F3=P>9!LkRm~U)#wgsAj`vV&SXMJbRF$J#&9***aYf4!;iyvfw zA(uX-R5)zbI8FPL>Bk6(di!$*VmpU4@ioGS?D|9dKGxH7XXf6A?e6XGmQkh3+8y6J zZB$y9-fuOzbu|zBA4eTq%05nBy}t3nO>0&^Yd$!^>r^_Y=|95Z>a<%W7knB$40^TZ z{Gz*@|Jgcx-w~HbADwjZkKP~7nwRzUh#B<9z_xkQ+PtpuPV;U`?G}?J7e6*h1E z6VJHtJ3U)8f4L{-z2@%60&d)lAtlqE-&?ClfA!5h;%xZHjKK}tzcYCEaDU=K!K`Jy z)-S?)cPn-~*#1Fr@QJ9G7X3Fyt-Ex(>i!zvqmPsZ_DLCF)?~cu;u5>g-7dUnI6SU$ zFX2vev$Wc;I{Ke&WO>SGaq-$^HTQg8+h)q0koW3kRySJpZ_?lDvFW^LHO+2cj9Bt* z@T)F9y{8}eHfVS9{>AGC^~iozt5=Zs$xU8!b5c~sM;BcCqshqRZ*^t&`Uk&y72oT? zEBS(3FPruVz8Ki=UBTVzD_b0Xe(&r>`QzD+u{j$mjM&_FX4;5LX|JY^;~ehRDm=bo z+tEwguT1lEpE%?5P7V?ui6~PJMMpVfv#6`dY*Dw z8yk4L(cyI~>scj5>+pQY#R+eFCbg4)3V-nIerD@;@7F)g9dIanWl2hSmx@)6n}lRu z-eB1?z&QB!j`CM3zVj0fHaBxR=HGrw)8U7vjqjH9BcyKo&pkpGa6evuEe!Q7+RJOd z{{8ap)u*Taod2axgZF=|u<3rjOWIIrnq7Yj>@y)a@`_h-}nTIN2y&=-D`a>yyStWwuss-n7hC zPn&wOt&y$L4a{^Eo`oDQxT;A_dGLP=9$#t{X-5Ued&b-{FxlMzU3 z5V>ILsgPHM13U#2cUOKmQf`o!6@u**{6UGyMfM%6JMzki_J&}IA`^{7HXV$7AS0jg z*TH;5cFse=*TX{NB-W$6o?zr3Bho1sz+8l)_OAR@q)4A3#zDb1z)DQrl8L3_z}y5A z7gs(XDYBavEqVe*x?dJqzX! zhJsl8usTvi%pA!ZVY8wUhCaA`AQ-h}B$zrXWGhUB00*V)qKS~@pyZ9PTe%=lE|v@i zWBsK*tpsZ?WIMR>Pm!Wl4TRtz1#gAjgAFPT)c`QEwz3fHp^(k0BxD6B<;NjxAq4uk zn!H2G8QIhsOPGhwTj8}OUq@9GKt*-oQq}ov>!Bnf@`(g8-;jc{b z%1;NQ;jbo~TcF_2fsyCRkw5q{Rd5;tW1}7gMqXfSp~Mg=&~gr}1@hpbbr@Ofv44i? zU@(f{GSnma63P<-om}}_NYPkgOcV-}dexX67;diIuQ{iJ)J`lD?4#h9g3&yIb!hV; z7SL$fj2p3Z0emLI}MC6GvCRLXBS&uB$@UxrR_^tK<(u z=m~wCU^>pppr(*zr<4WN6bkK>CPGcNRFKyz3BeAcgJl6$xJYAqvTz&UDGT=EF&JYU|vF?y(@nWsUXP9Qcq-UY6-@UO4-C( zLV%-^KT?ZDl$ghtf>FQ3KFjQD3&sj1pI2KKo^Yh>Zfzk;p_Dn*5egMb`Mf$((8+Gq z5dxf)e0@BaQ7;WduZ4oqxM2(s%Tq0c0B5D_u!UgkqLh_@xhQ#0OJ*FKa#O*agg_Tp z*>Ow3*i|Y20D)34v2&H#)fKWJ7*dzx{3y)jTagOVj`5M%)A}hhs3!!tDS6*|EI2Ub zunVMuSlv zPZLkJrM?j0q2$dPu)ZSl92Bzf2122SQnsRjVC<=sJ!l{Vcq&cY8?xz!g_Wz#rp_7O z5JGn$aHpF=L&3PMQfAXg2xzP1dpBakS4Nm&uaF&SBosnevGFe~?^E)+tjg|M~Q(2VC!Mj&j3!|daKg8BSv)!SOPK9S1V)`GE*QufkX z2=GzzHVBIVQ3>S@YatXO?{o{n*cUN`&Cv^aV!!0!U|83%MlZhZ+x?qU00b6dQb0%IH1NHAKe*;G1XD+F{@ z$|~3iSsj(~c35+K1QSnJUW*jPCmX^WVB}1W0*bF{&$`Prbg>r-1C{)A2>(=DXfFf= zDfzDuQa#qP9lA(G5F}XsqrqqaMjn>OLty?wV34ca7`uQAtyc2(NMXtJaplJ%MGi)k zqb#ii&Vor>SDCY;kkwhqkA#3+0spsC$n(Kk)6C?bAVur35luO{5{DiqaT!cTips;0 zSTnbPQCBh1vD23PV&q5{SkHPzYdC&uit9lQ^QVxaNPq^dlMyy1IEV-ocz{u#;d=z$ zFfi5>=5Eu*&^4S&V%C+#t-HRV6k;-ct|mG7B<U(gZc{DeO>toq(XFZeis-`DRF(Q@Kcuui-hUzT97fO(Qs=ID)Mh;UPsQaCQO=o zv%oGxH}1Y;mi22%?~eO&n) zNFn^;XVbO{zB2mTn=!17gTa_#sAF0P_V1(Zxs*2yM20wo(MVx!pc#RkcmY^ig<)8+4S_-2Skn&0fqF)T#LQYlT=LP%>L1=D6B9VbP4 zhB#=Kq3a3$|?BNCsDN^f^@)y1K5vc*9tScr;KQXl#sbC>6(#;Uz&_fjU zLaLjXI*t@vALc5r*$W@XMA<~7SniEqvH%1LQ@jSL7%Im%?Za`Nx?am8!6F2cL2ia( zg6wj{qzMyM`e2YWVrmystS8?6scBL)2PvBRY+1hvhGAt)o{kBIH8RYVzk(EnDl26> zP`}g|FkeysNu*rGR2db%jfp9IKb6`n(xqfALxrp%O8N9q$tV0{q-gT9F|-d80-}}j zK5AO~v;AH9Wk@+8yBh5YvPWvcI7TUJGDrvj#10a&0Lupng)vI`+d*_5rRNiS1R#Zl zxarA8MF?53O4;5Bp)gh{Umr!QaZ#+R{4G+j9Vw^5G>()SgA~g>{!3PAh^}0Bq*(5J zq*#pyNCk>@ZKHLv;YcA?psxTamRlo6Tz)lf1~EdR#={Vlsd|nSQ{@n=D?A1%X4*-l zItbZA-3;S&#rh(}bgua&dxw;>5E$($pA}E>N2#|+i88+VP~BFB-A@)eRLDwF%I8Dq zDr8S|Gen}DSfhRdc|Fk0l^={0c^z9k)|X{q4s>*pT}}{;hbj50m|rvt*`YoVj0)pa z;iHgG0K?%k+EsQ~BN(UPG@K{|q~IK$h~tzvC@_MjSM;O-kC4euMj&<~!Me;p0%PHg zQ<$t(l8}|El*J?og{ew@Q4(AC&@c{IeR0pv}WP3 zfG4{~sk-MHI*F*kDE`E^2J)p~9^xa%`&7Yrw32T;T=#H??M~KrxR3>59)#3u?1AvX zcQBfncvs`D;JrpbgQ$->F$T;D46jYvDELc%GMv~=MzS*yo2$VRgB^|v`6{pg@tpex zDW(Blg&zWF=n$p|>cc zN#{C+#Uy*~$N;0@7M~3GV-jPty-YR>9frSQPBgp0s1xkmW%)+$FSEvJHe=J%yLXr%NcsE<~#pl42IoJl*iNwS+E z5}4Z#j%+y#R1JSBf0a;j5ST-dD^vhiR6paG-)VmuH= z8^K5)+XC)`wFWCEj#Yz2L7Q2_V71ta(2g(0>9 zm!&L^EqRGxosq}p=ut3op%|aC?@NWkB}%^6vR`XCMmigeDzI@c2I~tZ?hU;2a`s>& z?mqHKVBN(1zIeG1uuRDZtiZx07Df!3%m@4Ts5=WO*^2psd0c0uu2d{c@R?K8v}k4QvN89647`$3l<_WocU$S)q?R#C7-tXSInd+_?=)h zM7+4undhS4;!f8cDRQT{{`1qpg233!yd~v{F5}JCuqa_{AefKXBrOF;zF24y$WGS!d@wJu9vxGP!8-oR z^H{G70%|W6j7o}A-Q+l!2bcke*Al`ESN6yx&(j4g)d&Hjp0R~K2dq2Qpw~_EPhgl& zc(-l4f$g=3hpSEo8-&7jO8)0YT}`q-dlS>j2JsXzA$zKu(PkEMm~1fJ9gK!WJP7eI zU^H_WTL;!&G=$WB10(0aY)q8iTl8Hu4~&KlAE+=3o`AIk!%*YEGj*%py3F4MBQ0#r zuCq<|T7fzq2}XH1QlY(EFlrqgOm;FPBCboVx3d|_)}?4L8WnhVG$uY6nZbhi16Tl< z_~KWdx&z7u6DKz#Bxpe37H9Mdj9L-xk$dcfH^jX%4k@;VkY#yboy9sdS4zRyA~6HZ zIbUZd?N_6~d{Gk1Gv?SuFh7xD#>wjJ5(>8}`5wDi1?=?;os2*nP=XEi8L$vAw$!)S z{mX_2PDUW)ROYxGFuPx@5X|uxu4yMiOC-x8BDJGM}Y`;eGv0H-mkGalVrOL>v{xC6sTqpY@N`3-mWR;17)70tVjeSfRmdhD5(@X?xdcM8M|{4JeK;fp>{IeB59_*v z!Im!v!vcsmp2bN083a9#{5l`{Dfnezp{y@>muYyE9F&c(Fm6au0~lU>3mgtc$GdWz z_*)r&zMCnFFq=n|)s?CU8Z;254$Pvaes*xWfh70w5vp=1lfIWY1AJNs5D zBG(7zxEUeA#+%}46qud3`)ritZ2CO}V-BGOsO}#+HUln=1S7|z8BF>$QXZRC_oY0X zSk^lkong+v^hS)Uz^Gx?VJ(;q81hmT{0%T_jxFug&tjOx7b?AwqNcELop&+Q zSS&8+8O8SiqY)B+^MDt?e%0YGNhRR}^!g$jbcDcJk+ecBWAR(<7G$}Cq0=}jyaekA z#ysbI=~uM?CnFFxlC-XF1f!0NVZ^_a81rL`%erbb7|~$uMV03sIT?Wjfv^$%0Y>wm zeQox;!t57!1U?Il7H61@h%N?GfME=Aimi5)9jCDVU}Y4*q(vR^sgikOcw%1r5 zj(qskk^=Up&Vyjo1-4v$1?vjNx)5}o<*~EgBrqCR{B8m^ib^+xtP42P-C*Xzq%KZI zAPy+O&L5}2*c`*UCaZCiJ`?jHH(3L0IbQ`vlM;rVbTR@VyVxZ0EM|^oy-NloU2NOk z0Y>e>O8hnm2=i?4V<)3qOd-l)B^(XrC}g*BBQb@DcrfMPfKd&c5^xf5zs))c8{pz$ zV2;RRr{g>+4|@U5A&>MR?QWxw)hm%k-3M4XG0(S5zQ>3lpG8%cU1TMMQX z4Wf1H$$g>lhLX2@zXAY|QC%FjdKLhn9h6&?!4#Y(>0LslNs0>98O z8BA&bL3Ip_dcY=0rAN9^AS=6okr!FmW`faL!MuM6jC#lBjKO1;hs6S~Fr2}d(fGw1 zei#^OVI}jxsCBkTJO;xry*Rqc8axqyQ6S=pkab7NzkQqL6R$jCBJ6iQx~E7<2vNUyL^I8(_=;l$2M0F0Mv+fbD{m9rPg@v6xN( zYY)Z_69r(@b;b-{uVC=UjoL@1mY^IC=qd`Jn(c(@p>Ny5ts*}-c)*V)`9T*!;niFYYWE#sm z1Qx)mAv(*yVPBbG&>ANr5b7-m_NGhUMi6#K1?Gp_V6A^OUhlK+97(}G__I*>S}EK1SulR1h=V`X0TMJN=M{0#^lMAaBdS*5QeG;RNt?TZF5g05d*==e0`u%MvbrvQxBZa5U5 zB^P{S`WbrzMxA8L@jH7P%h(byPvqh31TA;KsCQDyQhjy>?3Wgk=0BKSi8J0p1 zMVV2YfzaWjv#LIH(_Ig@7j7PR2i$ZKQrjJg;3Aac4#rLL5ZrYABMN~fO@!zYqcrMi zZ?XKpVj0N#;UKbcz2H8lg-MZmK^QHyN-%!o@(+vlKU7g6HRI zX(U*Vn<}ipO&1|mTulTQA?4>1!9_@Xjf87~bP-m-y#u!)?%lX)s1D#JeTQ+=MM(9J z=wbi~vA}U48FUgiU4*3QG!b0?gru-YEcM?ZwR47IkP_!`lY;ZO=^`Y4fe0>rB!jNt zru?h8>C#8)DUPXP{!PlnMM(AT;HK*iZYp=bFMg1s2e`?QN4V+wJEU@t#axD@;2CZ+ z+%n3Pkn|XW%Y@=D^e5y9TQDkMBq2`(7a=8$@q^5(2&CGTN%&tP6*ZO0>m!M(7)X;G z3GvcLYN#6IlvN!+s5@p-IYLUBOY%Arr+=A*E<#FLN?adFR9BMMH9-GKaeYZZNXZ5g zC!}OUiT@o^2se|;H3yR6Eu`}LNFHnrIkjgmm3K&!3OYy`3W*bvB4>&J9a6rlluzgk zo(LpSk|Zaj22&(?Dv;`pkT7kOE+G|22O6QkB#CEA`ICXv)9FA`C`kFUr2IKj{(LEa zk(9q!;>&>KfmJ{0fz;puNq$I@AD8$^ApYYDB>5ji za1m1SjD%-_)bM#Ab?`c6Qv6YZ47dxVh8{@x7)TYKO8fOVJ@Hw*M zx3o4-(X{FOU>=08+sq34p& z@^Bz290Dv4OqS%sCHWX&Bgj_)N$(mU>DerU|Eb|E5D;#aa2v28_*EeO2>G~7lf68cw49fG73j7_C!oE`e z{~D(KZ!7#8edK`%$l)w5O3EiBo;E}h=p$vsKu%flQvTl|d2XnbPe}DNKpKi+5{{7a z2`M>R;u5C)Rq(f*8q#@+kYZsxkQ$sQDI}zF84^yCFjLCcM=F;k=41RPO9co?VYZlo z^OYngB>8knK0}i0BSrIEDSw`nPe={TmpCEmSqLN#Ed`p;{NErI_8lm~mVxNPp2q4Hf{Y z>}mX<1?oJJ|A5r+MdTA+mdX*5o+}bwmGGLBPe{*A_voL_q3fQMK}Z$vOPrAS1Bw4P zNJSq@^`1!e2uaUVi4zikM$t??d;>HAmP!Tw2`P9C=*M4>W<^;^PS_Z{g~SP|9Xp8= zlE>2MU*#lA+DIAygjCK^s^}z@|2w2|&QkvWfN5eus^B73ASCW8p&O8#;vsQQAoaut zNEacM_m%iRA(iu!$`O{K{l9}GAfy5vf#jMXiFcCn2`QicT~iWum3TKIxc&*L13jg3 z`p8rKsiX`-YB)^dgw$ZT#PyNN4U)=70?8xvcaKyw0Y9johKPj36D6*XX(UULG6-o} zjFC7YRU9jELgM2j{&z@*O_1^lsr*EV6B5smaFU_4|7S`C2+37bfK7l~ffa#=qz|MmUy;fY62A(h1IKNN-;wh5 zk;>hbMBX|5z$dNP3<~{O^!r-~`AKP9<7QhC~|$zYj;hCq_bX|=-oqf3ZL8D&|9h{Vf*Q%o33 zazbjWqQnV_SCP0rQvIruoRAEu4kUeMKm+==WiA!aN2*v$EP%gGlky3vq9t){F>g?l zCw&b;W!h3uZ9`*&%33#L12gfdj{dlq^w?1O|A3^Rl~k^^gtijeN%aUxkG;eR$qq*# z)pwHQdKfBJaF#L%Y3w~Du8*YHQ<4*sLN6dK108^r-%-jZBpwKqX)Vg5$1Tbm82$M} z>~?3VG+`x_9w2djBrO9WCsauoDwX>?q;g@%r>QnrDo04xMgu87Mvh>jKo}|s5~PBJ zR6rwfeI$9JBqyZBAx+}?NDYmFoXU@t@(HQEiIO}+j>UuqCQB;tPe=-Q9s8 z|AbV3hE$G_44F+9lY$%|9VS)+$>LQ&x(KOat|VV0$^RQ9J!?^(^yf+SH%RpfDL-wa zB+y67*aSH>yhSRwRVt^CWbi>rPDu3*Nt}@QVIb)_3Zw`vlJW`RfgtXjBp{>$*MU^= zh9oDX9^3+wqB~OlT_FDB9?=g84Yb831`X1lLPSNM1F7mOAgO#U75%?Ks`o~!M@amw z#QzS_ZW{MqD)>PvNJs{iNb*mToRAcLmhg*&U!{C~q?KDnYl4JSuZ+YADaqr9_=3(@ z%FsvBSxJ)rH%JZE6cu9SmFnpub*PpkCnSSv0~^x@-B!x@C!`|2_(6*NrSgQdWON3S z!eA-C3y{KXAdn1;1ky!F9gC4Tp?E-`gt)Xw8AJ7u8q`Rfl+>5*dO$DS;z|mns{?K_ zguctrMMw?)!}pmgRPJ9t*!=!LLoP|6p&@7f{y?)FULa4bz)cq+EmfD^ZNtM?+-M;KhXT+hZ)*D=)(;?vHbo(^ZNtM?+-M1r}+B=jrgI4 z-rD~DK=b~yiJ ztn%P4`?g2ByAE_R@3g+taJ!}6cT*A)?tUBHzDI=j#X8$BD()Nz$qiidVrP8O>Juk= z%{%5Xe~l*l3;!rfYtsZ@_rG1;us5#qs8zEz>{fjZ@V=2zbNZ;BP7f_*+X4qp8GQM3 zj>ViMD4Y(hbejwVUw*b@!&hS{+ z_4J>g%PkpL?e%zT_X4L&uZz>~?Dx5}KH71vi=xuHZYGARORsL4uL<5*U~#DG9d>G=NrP|nXBj&4=;M^`G7LU>v*E)P zi?)W>Tz+am(X)7sOVgC$7VcG8R8s;Vsu zNA_QEKhbrbY{g8MIVbx*J5kSITJyaNr!M|FnooA1KWEUHM<4fem*K~p9!<|YKQcN| z(Yw_y)s5Qb$1^@;H_2#nG-b;9z3uOINx4$K-kYEH=DpKY2TER92by|J*f{IOy3)$+ zvgRio>;6Ekb#DgqTCA#exn9jiN%ag;OM}hs?YUngqft%EQ@2;|TCgi~Us5Au>rRKK zUcY#-vu&lK138W6Z`)ILN=U6?9gVhRr2Mh%pegLpnMa@gbeG|lJCCMp?>z26lh%2& zBBrK{H`wna-)~Xo+OxF%9nW4IaPPy{hmBgbXkxy+Ncg*eQ`#P6jbv+|w z(}0*o-v_?;ONpp**}i2nAN%#yvZk{yRm?p4LaVzB?e8C%pZCpqYIpllt``=Ljy-s9 z$n0CwR*$l>EPHUi<>e)9DohG(-m8WA{$01iA5~tLJ=Oksvt7IUwi(m(Y7b+tO%J|k z1Fd1+)D|xqIEB}@9%>YE#@8<5lD6-%!#1}Tlm=K_y3pg%<&ucl_$gymD<79XZhj%~ zs#mGcpbw^pB8~kv*B$rj>k;~YiT)Z~`rQ`YWtd<&_0Z~h?io$@ZD`nRVd~~B$>Uf3 z?E1qk+UN2C zZhyfV&vI9%nEy;0sSNWTr_E~t^Il%uT2xK> zx&CU0X%E(~x$51&py~39eGgeZ@6$9gVM)p0%T?+e>unlw^t+Gt)xLQ5pgnnquV}iu zHG5=L_&V2m%5&JGn;KPhwgC;d_l|B9dn8%0KxP#cot`ve_-3o}hEJ|n(k#9ec>P9n zdVYr2rOlBM=1cSLe2vLS=(hn>a;s`(`j(a-U#4q^jXz%2 zoB!!}#gTgERp+#JcMZC0%~~3mX!~t2=pd`fY1eLmU6WJNAZ{oo_A)o`tIO7VWBd42%#U{-Q{V~4!>y(JD8`t~3>eQ{O#b=jqDs53~12gTzI|dyMIBoL-@a802 z_}9Y8po4*xc9+7Sht|o?z@%f`%l-|YM*E)MTW4P6kqaw|KhJRvpAmPcXEfD^dD6eU^=s4`X=gNn+8leB-=?)ehrlNKjtVO3S-R$0<@}H>_I0}CIgjcT zTy@;CTZ@8xp1g@3s~t6H|G5RxkNZ{LF!<((#Rbcacg82q^_w?lTJxbf$?G)FkM`EO zJ7E5OHEm+0Sg1LCaND@jJwppBgjmFHPu{2bbgOW3izyEdbiQ%L{=mf-efDL125u2^~`OiZ{5a|QB|C#n`U}nlRG4p7I%31_E>%E)Wj;6 zSEyPG4()_?NfzIqw7hQ~xB1QCjFB~rHjJpd;;brc%(tZX)^F#}e!^>C!aQxi<`^|= z?V9HBLv9;PidpNc|Lp#JMeHhhTi@;bi$aEY8a6KJHD}QLXp>2IoX3~_-tFwnI~K*; zj&0djSUvMZYlFDMPVK|`?nyjds_EA*nf`cDw_e!j+uJ|hXkR5u`=_#}E6bl)-_ol^ z^(`Y`OujO#Pn}CQdw1_Ru+4}5J1%#$FpoW0r`pOp&Dvh;eR}`gsmogRDc7m`_-ZZk zDrf^8Veh3an8mF)?XrBtosj|qC*OsEv(;~^-uGkoD|&d}PKmA*I=AKC?bCaQ)$8tO z<@B;&aIO2+w4KRgrZ1ka34D!=#H&;>2ix|Z)n|w2@>g!7 z<+42mZ*sdVEjjwitwPApfB|#I94K?pd~MP&yS`%_S4VxUGo$H`oPpKQ8eR8I;#G&2KC_)z z-^+XaXru5CR=(p4SDtB1r$(LkoH^|~Lm3uv7mSMY(e}?zRNUO9=IZXPmZhepIahXV zdMe=c_t>gOMwL$-(dlShoTB6MlCymr?bcS>avNNJZ+;4OCZMn18cG;}e&SfVp@R|Iu(>NQIGIQjDF-`|xG@m4Vj@;leZ;Sc*H>-Wm z-E{Mu)NtiJ!9n_GD|dbKb{pqc z2yswe{?RM)VB)>)&z~PyFzjCaorYgej+`OXviDv&TQ<4D^*_u*HY~Wd|K`CjHHRtA znl|6KY}xMJ6)%=f*}7X>MCP3-@^N_ec;Pt1iJO;x*tuoi7^g2;A9|1O7@uI?dPCn) z+{({quUt4K8zisu>Bkhylzmo1CbW#{bu;mB|Cd`oz8`)~&wC#F=C!}sx$f6V@4pS( zQN5s2xfa{og9WH1~Ltx!~O3Rl!4s4C>nL-dO*< z+-{LOJ58RQqaEc2^Srx%`*+YYudTj$FFQPHwx+vJar{`jk3O3> zFRkDGXM6K%8B12)-54GhK6P=cyxO}SCY~^lc`>*7u6sVg^?a>UUAgoDkFKv9_d;7tdTsV&k@M!X!}nv6%TZ#HD~2S{ zSHGp|PGeWxj5*x6R~?@|L${qAnsd}UM7H?m+8@)8&2S#|_>Jvp_lU@vHi{h;pBLV< z|6JbB(RK6n({Zh=mcA(y`h2aE*4+aw&9=oN=dZnMi$(6U2c}bOgJB+A@|X@`QBw|N z6<#b}-o3#B<;ZfcE!%H2T0OnC*`Uw`#??EoEx7X zn^$gcr@8Uu(yX+qbNs$rbf4-{HMiELhWoQNY8QIK-j|JGZ=lwhw(Xv6;h2w2An2rR z+Y|yLFB}hcH7eAeshycWi#O?SH`B(a=i$?~Ch=}b@AlNKs2)+W&$85M!1@ZdwI@1O zUwbw}mH#tlX#BlZ)p{gZKHeXm{-!Q0)~z$a+P9=OA8NJTnxUO8+NI4Ph-^pO4sD#> zv~lm)(L_b1q8#iQBDw?Bta1!5L310&Jd(@ zhG3L41S7NsBxo88fsG3UqqM0m5L_ieF$975mC;|9VP-4m7oUQvwt9D)?|8dm)VCGc zZL#?KuTq~j4ai?BJkBdUT|;)WalMGIy#vZ9RL0-SSQx!79yRjh;a2Oa72eO*jtVg_ z>)5ERf7C7Yf&91Aig%lRwwt$o`U$f$q4xqOT`jVA5k9AE@K~uXzUF+wcK^GhS3a$I zdTx57-6c~_e`_#4Id%PwY+6fnK{7^r%@yW4b%D9=Zm@rxHq#A)CnR`Df(cq@cL;L2 zLa@*sf(-3b68Lq4AW#WGrgp9pg3lxHfFN7@g#|f_)?qw7eGtk-Z>@@q%Esb{7fEdP88*4g#$2|OdteXwYx|V84iI( z5Cq$`Q9%%xsUavL!A`AtCkReL(9vRY;IeVAgQs;j=-PJUvw9SGcxJrWTUX*cE~k+PPgJ@EZa_DG3U+{@oz>OoF^_5S-F}Awh05`n$JI z$|Q@v_f+;@Z&p~;f8HW)`}eGfxyizt{aM-@*;&tyZQh@K@9dWK3-hOYF5L7$u-`eY z|Jybr*V(*pZS~~Xu5i8n7HJK7KyA+$w4?5U34G?)^u@Uq7JYxHGAPX^qK) z8|5v#>2vXFTZOWGRR8iF#x6+BOPSlcLZxHLWvU0O@?SQJU3ar|LCWGsep$!CM!1c?X#QQ-4|2(Gg8mobNbe$-k(D8b69$6Sy>1w&yyj=5KZA{a%oBK~WbV-{Ri*4#y zPq_Dj*0dM=5E%zQB=v$HF6pe+HmTlc`FG#1H7`5wxqf_W)e~FVpJ{V* z&b@6r%pbS%*l(R^`Ev31)@`g)^c+KnJKbg2xO(B?g#|kfbscd_+hXK_h3$^UtbDe3 z?YE;rE!r&o9%pJ-c+PoUk2mH!eK&nyz5DAs*{d?&U&LpOG4{7K>2cXUxu!N|DD0ik z2Y#S`Nk?}XcIn&bbI+c8rX4E(?EYa3^|;774V!k(unuiwxMYlJy>{nz)O60ZzQGyQ zh&!=IRS?$7*XnG?z#Ta+7d~v~mVS6#S*=9^;=$dzXR&5`^OJ8DkE~$bWLK9pyU$dA z+JF1C&}HwwXN--tcx->s;AT$i?-rGU>tF1-y2rQ)Zfgx%-VU@Zo@cOc<_r3JRo!$g z)|m!0bZ?MZV;D6FclslPhcc-t}0z`$JFRWKE04_&#rXYb7^W>E^F}sQJpKAIbjOa-s~o?#8Tl>k{k7ui+oy7j)%6FnSMInRF78N8>Vz17}o@v`F;Vs>vCrPMR;w!V4QzP@|s zKD6Lf!XG;$(xwCiCq>LKus(KSM2uIhT$_qD#;iXOHlWhw60_iTE!7S4zRoKha_q7! z_k-n>*=>B!WG+6V9jU>KrkhXaKmMGu?aqc~by8Mmg{xeTsw(F!S>t?dYfkh^yEAVO zyfZM3$!(!Hd2IfeFt0}s@(wrm^s@?@RjW(I4Z=&yVS3ix)wk~B#qb4@twOu{Z5e+v z=WvhR}pKGcVM&v~sb^?vyz2=|$t?=MK$^ zGxj-`rnO0g^Mv@4wTmO4H51nF(E2DRChjn7yf3={ihU&scmLQ}H#9WNzsn-KO2@y2 z%;w6uy4H$)-TPrg#CQM3Lx;8qAO3B|Sv~Xa>zg;#f6?lV1qD&7uX1lbb}Mgkcm8g} z6vbPAqvd&D%i486-B{7t-}(D7^XpINg;i@~S*^_eKX2>U-qaB`4Ys{<=HmN0aB@ zhsmAGr8IsZFUmO8&}ciX3xvz z*O{C-{nRO^(u&c(W^11=4eq?s#iWevO{2b(zHdpMVi%lUfBdFDv<+f=`^;%zYvtiJ zf9Q!(&gsQ*`sd-t`sOY3-hB0Eafzbp=Gj8mYv=4{1XbO6T5yi^>pSJ~u!FA>3LBM~ zf3!$2zcaVjgWSBP>$K~34_%h#|I{jZdJCJRFMjK_?#VE(qo43>n#_In&?Zw&wXL3S zI9N5Xyy2Gvk55+DY|bp%yy45yvU3xj6&*j+@4dTf@C3U}_d^R_B;OIrEt%sosmUq! z54*9q=TG&`dz}~EsHsWpx8@0l=RE&7H+IL6J89dxFFxCJ?WV%LULM@{vL~mRYJANL zGM_n?U1WVTxYy*?Q!_twsqu6~{AI7~20yefVP40Vu`Ty-aen#6OEzskG4^(f@!@XA zUs>Gf7TL1iZGYoU?)~%L$qFhue?6y~c&0e~%JgwB6rUpQ?v7ve^O$$IbwOS#y4r}vLX`2kgZtz}T@%Agh zb90wGY#)B3pNo5!`fWz9(oBzNI(FWap+}DGFFd=bqs^6;UVSoJN8O)UIx=%w^oN%= zHJ@Km4|*ud&@2&8>R9&~(zt;tJJipVoEzqrP=3%JyF7H~;a< z*AoJ5O6$fM6n<)ze0u!E732Hu8nC&7f5lS?xGK$RUYhbjsNb~ZDLySc`bl858zwpVtGnEDST|(4 z$GBt3OST1-@8kUBTEAHS>F}dh%SC^Auq4A`%a&<+dOt~j{wS(9R4-al{;TiK={K(% z*Q_^X?7KUzWyZ|1ZBbml*}RYqX}e0>0&m?b$yT>@tEj)~(RUQxWmpg~Frz_1y@1J~$H%{% zFmPD1m3@BEoo`=LX0-~+Ty1yyi}m0cWqXHpvAFQ@-O4Jxlh$0B{=&ZRt%J38PTI$N z2EBwL10(4>{a0=3ARI-%Y0m-DzU$fm8os!E>|n{_xZ?cb!9$HIzn(v>!KpX50(N^x zcQrYGKRKv&&V%7chd;VE!^Y-iSgRouQ>r9JW_|6m%e}?W196?l1}vdwq*hAx^-k;f zf2ey4xGJ-@-yily#Xv;?K~XVKFi6D)19L1?>_S0dR6r2L1Oq!j2bQfkc6WD-?U-YC zcXyrdwfDV;Jw7wfbKdv={y*m&K7Lv2{;j@N-0Kdxllr9=9&*Ni%&HFi*SAZ$RV!Qd zX;uT;=k-chUiG=kv=m{HcBrQT5YBKdb`5MRL4azmn*r} zcWIOwbh3KvzA3SB6w6 z;rn~L-|8gHEScx)xqQnkW4)!S9AVi~ zXJx4-<0fP>Z@`5-<+E>)4kaXZtQqc)V_abN4sz-fa)Obt3axvvM+<=UZ{kyWwwpPx11fHnMlC4u0u_ z_pUACKi2B>^rgPL#_o7v8?-T{Xu-g;NgMO3)VJI3TBJyg zq%f;_)^T&1b(@~{A^qpy7TL_KYuV|!cXEZ62X7qO*nLOv?%^qC`du!5XnEqWPo>Uo z`FJ+25q%WwR*uktlgBRhLMV@FbK2 zqS#xiJW(i)BT?d_Q1V%-y`mfv#Wfnm$x_8cqr{IwIVVa1OI5TtirZ+Eq~0h6E!AmJ zE{IY-2Bom28Ww{xdJM{4QHoe9pIDTNV^LCLQHo(LQ67j=yAO&h1ECMf)Nv?pMJZ{i zYQ~||8;`Oe4#gc?i}FE~;JzrOv2tIO#S>66^+PFZshageX+05T14<)LbGy%aSTz6B z2{t=w^ln=?cuzL3@xH2%&G`Q9C+7FwKev&`mA7{%#6J10@cl`(96n~LH>%Ht90QVj zI?O(8S+(rlFKO*(sIL>TdssXrd1K{xO4>Y$lI;7V_+sV$DB;N{2Sh24l?R|Wrl7

Ebk0 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 { return { id: like.id, @@ -21,6 +20,11 @@ export const toLysand = (like: Like): LysandLike => { }; }; +/** + * Create a like + * @param user User liking the status + * @param status Status being liked + */ export const createLike = async ( user: UserWithRelations, status: StatusWithRelations @@ -47,6 +51,11 @@ export const createLike = async ( } }; +/** + * Delete a like + * @param user User deleting their like + * @param status Status being unliked + */ export const deleteLike = async ( user: UserWithRelations, status: StatusWithRelations @@ -68,7 +77,7 @@ export const deleteLike = async ( }, }); - if (user.instanceId === null) { + if (user.instanceId === null && status.author.instanceId !== null) { // User is local, federate the delete // TODO: Federate this } diff --git a/index.ts b/index.ts index 88fc7000..b812efc9 100644 --- a/index.ts +++ b/index.ts @@ -4,7 +4,6 @@ import type { MatchedRoute } from "bun"; import chalk from "chalk"; import { appendFile } from "fs/promises"; import { matches } from "ip-matching"; -import "reflect-metadata"; import type { AuthData } from "~database/entities/User"; import { getFromRequest } from "~database/entities/User"; import type { APIRouteMeta } from "~types/api"; @@ -121,7 +120,7 @@ Bun.serve({ } } - return file.default(req, matchedRoute, auth); + return await file.default(req.clone(), matchedRoute, auth); } else { return new Response(undefined, { status: 404, diff --git a/package.json b/package.json index 5105a535..44457c58 100644 --- a/package.json +++ b/package.json @@ -78,10 +78,7 @@ "isomorphic-dompurify": "^1.9.0", "jsonld": "^8.3.1", "marked": "^9.1.2", - "pg": "^8.11.3", "prisma": "latest", - "reflect-metadata": "^0.1.13", - "sharp": "^0.32.6", - "typeorm": "^0.3.17" + "sharp": "^0.32.6" } } \ No newline at end of file diff --git a/utils/request.ts b/utils/request.ts index af5eae2f..53027326 100644 --- a/utils/request.ts +++ b/utils/request.ts @@ -7,6 +7,7 @@ */ export async function parseRequest(request: Request): Promise> { const query = new URL(request.url).searchParams; + let output: Partial = {}; // Parse SearchParams arrays into JSON arrays const arrayKeys = [...query.keys()].filter(key => key.endsWith("[]")); @@ -17,24 +18,46 @@ export async function parseRequest(request: Request): Promise> { query.append(key, JSON.stringify(value)); } - // If body is empty - if (request.body === null) { - return {}; + const queryEntries = [...query.entries()]; + + if (queryEntries.length > 0) { + const data: Record = {}; + + const arrayKeys = [...query.keys()].filter(key => key.endsWith("[]")); + + for (const key of arrayKeys) { + const value = query.getAll(key); + query.delete(key); + // @ts-expect-error JSON arrays are valid + data[key] = JSON.parse(value); + } + + output = { + ...output, + ...(data as T), + }; } // if request contains a JSON body if (request.headers.get("Content-Type")?.includes("application/json")) { - return (await request.json()) as T; + try { + output = { + ...output, + ...((await request.json()) as T), + }; + } catch { + // Invalid JSON + } } // If request contains FormData if (request.headers.get("Content-Type")?.includes("multipart/form-data")) { - const formData = await request.formData(); + const formData = [...(await request.formData()).entries()]; - if ([...formData.entries()].length > 0) { + if (formData.length > 0) { const data: Record = {}; - for (const [key, value] of formData.entries()) { + for (const [key, value] of formData) { // If object, parse as JSON try { // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-base-to-string @@ -51,23 +74,12 @@ export async function parseRequest(request: Request): Promise> { } } - return data as T; + output = { + ...output, + ...(data as T), + }; } } - if ([...query.entries()].length > 0) { - const data: Record = {}; - - for (const [key, value] of query.entries()) { - try { - data[key] = JSON.parse(value) as string[]; - } catch { - data[key] = value.toString(); - } - } - - return data as T; - } - - return {}; + return output; }