From 22134b76db686d824cdbedf2286bb3fb9336e94e Mon Sep 17 00:00:00 2001 From: rizrmd Date: Fri, 17 May 2024 17:38:43 +0700 Subject: [PATCH] fix --- bun.lockb | Bin 124139 -> 123432 bytes pkgs/utils/query.ts | 17 ++++++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/bun.lockb b/bun.lockb index 150be70005d321c6ba4eae9c5c896e113b2de4a6..e727161d502a3b2962ae0f07082bb3933e426287 100755 GIT binary patch delta 6155 zcmeI0X>1i$7>4Im7AXQP6fOm^RD`lB1yR|A(v7lN7bpTEi+~GIN|96$E+C4c#x?^E z#s!cB3L*jpE5Rrdh)Y7;4aODY63{9b;}3tR&pY=MuMwLRiHS+SLI(zIwn?CCbmuVOO6k%N@~5V(EmK8L9{V7gzBCT4d4RHH$!F8^B_qXOqvMo zAQ^gqOxh57D}zbZZ>BPsGy(dW_Vc{kNqQcM(4?wxC8*(5Ad@QJA2g9cAd@OTL>Ww~ z8^{Lv^FZzL!SicoMx5t&D9P|gm9&jE!c_dl4)ov`P-8hg*Rc}0~|4AT|%0C%Y z|7Ociwfrw}Qm>)@3i#Z^ZDnHk>81?*Kw??8$ z%+m#vYF_h|!K4~%A?W3<09jpB{jCgJol(Q_!wMRp95l@eYY?xR$Xd{9zkqB__F(#@cbwwP9;vUt^g^<`w^JaKCPM;FJ%$TZ zXsXd#k(VpQ{B=>ihql%})p;X4-By})BvrB_7ftM9^T(_FmzY0Zo!@I=Buk|kRw`Ap ztL5Xh4gRamAFs}zGh4rGOJ)~wtyvg}s?u<)Db)xgOh=(A8m-GeXmk7%tz4?)B+JKZ zL;O?CAE(i9!0A>X)dXgk&NBbG(5Cb|pZ?Tksr6gxY%l)lp!6>l{+?GyORa-{qv|5+ zSCqBN(xO{sJ)Vs^zosmb+Js(w>m^<(otu_Pp|{pb&!pN`>nK;1$8_-r7f1XBcO^xe zk*Tzn|AlG+Y_svuXt;%Tnxi&V!`;-=t;qCPg_@pyykaZlECLpWJqPj1C1E%90n0pl z4pP18`haCKPeE&Yi)nnIf-4MM!p)=%R$Jhrzp0%N?jh6D@kxEa5+A7Wbi%-;K41w0 z7_FH2Kt+#7`TBr`2k~zLm->L^{~56Kse8aubjbXvs|C5 zWv51+SBJ|d33Y8&l+a|T{zCWwGc4Gj<+Avx|Mj<+guq^$`czfGGR>#3 z>k+Hh$9y^tH8Njc^XVjzXz9yM^;@b_DbXGwlQ|W;ZI=_f!hDM3o(nyE`Z1pZ-;U!(h4sZ*AU zli+QT4Kbe%o4Y`hA8Njqq(_1*%Y3bL|6^i4Zs7uihdz@Pm{XtZihx<2J`uJjeIe!Q_>a@!6wMS{ zlOH@);4Ths$Z;JLPIrAl~9uH3CxXaw? zAU)T0YN&HiX;6^sdbnA^os!YP#$4Avc^m~CUcK=!0lEf9a$S*22s-Dvw9ZZO45w3l z8PK2hNANLx0-u6DMH~)p%X6LFw&3AB7fDteSqcl_PG}eG&2v4XT}Wm?SI`2{yVF9` z!qThI3FR5s4$s04cn);7dK3cCDeQjGTAB$u-rfQ?!DP4@w5IeL^wi&^U#+9gj?aKy zNVJAF5CMIqXbvqP30lHeH25060WCUxF?t@V;RR4cw-WA!`(QOZ2oJ%+;FWxr5nWDl z9+W^a%!N5H6Q;q9Fak!xXwdR302WHP1TRH(Uewv~0ay+z;2u~B_riTJn|jmGE$B$} zEi}V1jMk^tqdpcLgqJ{TaUbl4txy4LAQL9R6c_?oFbw)bZ_twDtBcnTE`k&IzJs;F zk>Rd=v@glaVJc)p4s3*{;R$#W@*$n3>(Nc1U#jlt8dQ5d8Qvj(CG3J3Fafkhd%`lx zZ%0+{eY6V30z0X1_!0S9G6SF=Xe)h-9)LnnSsK0r+N{``G2xb~K2+e|Yn1rfn3%Ww v;$TOi>t6k1p_|q-v21b7TXuK#_9ZUIC05=YbCe&e{$;6aJ|npPOSkTKq)|(n delta 6531 zcmeI1c~DhV9LMhgMFLUKmk-1Ow*+Jn5*OTA+(1NY1Q%Qomjv-4sHw@*N-@nD^@`UD z9k&^mv_Mp}#>6q5nrSR5Z5b;ktu&X&%50j^zTbO)=(ChjC;#I&^LgKMerLV+o^$Ux z=WTz#(ZvrNt&9xa^7n5e{ zV}ipGm7S%R+hX(@o2Sn;lhRZhIf9)moh-Rr)dRj^fUQ0w=~UJ_09)3m!O z`%xh2RJJt-GzKpL+Jh+TTWppx)oBJ@9Jk_ZU=?8ZSDW5Dl^t0N8iDna?yBzaZ3Ha8 z3DEwlR{M8Ju%6&n6k>9Z%K1K!A>~06XwC zpt&k<*%`om-vj153;67RmiR@eyS}?HNZ&Qh(;U{nz(c#6vZh}FYq|<(R6pPjCvSld z6GhpQ4RN|27k?c(oaOGw$cGRh6|{u%l7gioDub=@!;ZBTzpJ|G3v%qknDCUOx++VB zh@Z-!`MUU*wm`g(1}9vL16R z-j6nxhRg!`||V>rj@fKsw$-+I}eG2cS~K zT-MxsX(Pks5w2~}ojR5_JQX2*e1gNmy2&j#pKwvft?+o%hzDtv2F z+;!iYB~}y(Q3euXysr1NS`SGyj`UIeoHuS-#?HhbiK%YV!CP_oS~3IdY01M6+e*pT zS$y1jH4n?9T>iH~c-GVyg69~afF#TO?&ZX(-> zuZQ?JYubyir}%i(5hlJ~rVpQPuA;g2r}dVMTx(7cAGdD|HU;ew;8pe&pD)6-8+G1T z=Ht$G4`Aox#n%ks6hKQ5Uvq?q%F;pOm|$TWNCWJB5*&OxJ`TbGjk`tW{b0@S5>;`Xvw?P@;X3qfY0Jnj!fQ4WR;HG*K7z@UM@qh!4&yCON6V!`= zmt`J8bbzA;umgX<^OB~(7jU!L9Q=p^KY{arBa-J(xKy?%x236o4Pyu#=)u05#fJ`s}^ab%C0mOl5z(Wxp_5^|;a1p-C zxci^=R{_paL^^|5kOdM!64(s3fc0Pl7zo;+@J8rXz}HqsXbF@PzZv)pah`ea0h7UK zkOnvx7a=_d%6zAwd%*}z>uS!cVTcR|JwO-0d36bT1k|Pl!&k)-0Na{o&M$YoEh-NW zP$xZF)V?B^{w1daZ1VzRL#hh%ul=W?_V0yY`8%QVc&f?{&oKXhz~HO>*TGGVjg9Oc zi96?*`CP&D3D~Eses57!r)wAPonljAW|NrJ3#`U#iueh!RSul5Iw`w#a*xS*&Pw&_ zIjdXm;Ao>PRryzLdqG{u_UUW27Bw;Vxk-73-x<})@GVlFEzNjgRD_jK7!ey89Ua*z MvT({gUDd4n2VUr*u>b%7 diff --git a/pkgs/utils/query.ts b/pkgs/utils/query.ts index 84433fc..9532169 100644 --- a/pkgs/utils/query.ts +++ b/pkgs/utils/query.ts @@ -1,5 +1,6 @@ import { Property, createPrismaSchemaBuilder } from "@mrleebo/prisma-ast"; import { readAsync } from "fs-jetpack"; +//@ts-ignore import { Prisma } from "../../app/db/db"; import { dir } from "./dir"; import { gunzipAsync } from "./gzip"; @@ -326,11 +327,17 @@ export const execQuery = async (args: DBArg, prisma: any) => { const method = tableInstance[action]; if (method) { - if ( - action === "deleteMany" && - (!params[0] || (params[0] && Object.keys(params[0]).length === 0)) - ) { - throw new Error("deleteMany without condition is forbidden"); + if (action === "deleteMany") { + if (!params[0] || (params[0] && Object.keys(params[0]).length === 0)) + throw new Error("deleteMany without condition is forbidden"); + + if (params[0] && params[0].where) { + const filtered = Object.values(params[0].where).filter( + (e) => e + ).length; + if (filtered === 0) + throw new Error("deleteMany without condition is forbidden"); + } } const result = await method(...params);