From 9346828540b95daa4483e3bdaf91911bc75e448b Mon Sep 17 00:00:00 2001 From: ackimixs Date: Sat, 13 Apr 2024 00:55:35 +0200 Subject: [PATCH] remove prisma --- .gitignore | 4 +++- Dockerfile | 6 ++---- bun.lockb | Bin 6383 -> 3517 bytes index.ts | 40 ++++++++++++++++++++++------------------ package.json | 6 +----- prisma/schema.prisma | 18 ------------------ 6 files changed, 28 insertions(+), 46 deletions(-) delete mode 100644 prisma/schema.prisma diff --git a/.gitignore b/.gitignore index 44d1be4..183a072 100644 --- a/.gitignore +++ b/.gitignore @@ -177,4 +177,6 @@ dist # prisma prisma/**/migrations/ prisma/*.db -prisma/*-journal \ No newline at end of file +prisma/*-journal + +dev.db \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index ee733c6..d515b3a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,17 +4,15 @@ LABEL maintainer="BreizhHardware" # Add your application files ADD .env /app/.env -ADD prisma /app/prisma -ADD bun.lockb /app/bun.lockb ADD index.ts /app/index.ts ADD noDb.ts /app/noDb.ts -ADD package-lock.json /app/package-lock.json ADD package.json /app/package.json ADD tsconfig.json /app/tsconfig.json +ADD bun.lockb /app/bun.lock # Change directory and run bun commands WORKDIR /app RUN bun install -CMD ["bun", "dev"] EXPOSE 8080 +CMD ["bun", "dev:db"] diff --git a/bun.lockb b/bun.lockb index 13d32c419dd89df61fcf48a41c5cf3c4082f61bb..c07e3698d7f6724fb25b26aafb443153142de07c 100755 GIT binary patch delta 746 zcmaEFxL10Dp60nX3V~aBFWMPIZ|0vge`D>VhM!ySrIu=cHqTBpzq_qYmzMzyI3|Y6 z2W46cEOt!BjFYQ?R1V|hT|jClS_S4ZFiw8S;R6&t z$0k16m(u}Rih1%(PLNa`yZGe4s8XzxJ-I+qdK}`D*K(ogVxRnz%V+XL?*7dQJaZVi zHbC8fgJW_mzr7*Q=70Yo0LX-U8Wb2H01E^TV4Q$}3g_fg{AOY-Kqe~?gTf{NDpdfI zQqqD27bsXjNKW)6nKCfUW0;&E zBw+?i0E)}OzRj^$fwOiqF~*td8JX#sK((r1DyV}hH~>s) vV8A{3l~9?~T3|eb5?hOf=^4ffzJCV5lm-H-ypyYhy(cG%D{WpW=Eej7YOakV literal 6383 zcmeHL2~<;88ct$VKm}18ajS_a3YwiQg19hrs;CuZsiH!bmkpE{&{cb1|f0U_|Lf6Cf1sJl|4)+(|P=t4T&Xe!-5L_1;-VKT{ApW)GHKw-OhaW zvWHjH)O2^w*l2M{P*8uyhE3;sd7KF0r#GcNR@P(=cr?mh8}R3cq1%q_`7SqQXWSK4 z7H`34?q5$5qxPL+j1$JM!lc0MZV8+PC?fC+0ORTjG>o#Xya>MxV7$74uLStOZs1da z!yk16U)4=KT+S1_(Z2@ZQ{I99J!tm??H{{TrLp?PC=um z@MFNb_NU;7bPnn81mTSUKb7=mL3XDB9d(b99_!j^#26(Wy z;r^ucvI%YVlM4cd{2vOi&<9%t^`8dtX#W6LXz*vNz`24yICrpLsGfpLSs%Uzes#sc4?X`pdCXHO}W&t)4zr(x)i4zTvKG=Iz@gU~HdyqyF#?>E?f#Zts_7ji5i=8m-i&Hm2|DwL=;- zznJ&e(RkqfGpD{88$7}%|GAw!ATL5cE4FQAk6H>Zb)7J0=DKo*-Z;3UWc8PW{nHC3 z=iGVaSH(&T>3g8uA*uGqO^cdmOG^8LQ&==Q@`<6=o{08>!D-JaHmD?^ZwW(IY~9`2$tw>-u?=G&Hre zO}2)e@^5kR-#Thq9OqGZsr!Oir3?Ils9v(^K(hMt#)4i zrm2^9a_mJBB}K}h(h0Hh=&V)4lK(zx_XnkUewT{nSA*ZokE8HX_bao)zw}A1*W8+` z_hO$n*&B@~mmUld<%j0tM4IeVkEdC5>7fnGexIxxmLsT~)-3I_O+2UdNyGDn3t6++ z2Or#6PT}p1f&esg#pc7KYwDZFeRwcweC<5X1q*trSo?gkM?E-Ga4YVfQ_O{nseC=B zV9@1Ap?&3$;_85+s)RB&K3E<6%ELJ$b`XUZ-9#Wg^SbERp<+(K4BsTf#hcR_+|T4k zE-IcrY^g46*#lE}?*s1F{I(9p$lW7_!}W^X;HY z#rmf+7`sm>*92@Y&Dq%IN#UiQr_87mvw5_K=U0{|rFb!_MY@6i-qc-A6eo|F#=J$p09 zpSpSj@WZn-W$(x;x}@5uKj@=%uUy)ne}AYls4lMO zstL#0Zjw7qZ2ewM=A1`szj9u?p(1>X?A)n06kd3aB4N7E+2H?R7ctGDD0E5o?vW8j zmxx%=lWPC-lj~k268n7%%h>;z^ZD$W(YzBGx${$cF63n{J!E1x*PRL(q~F@ysiar-VG3b%}n8xhVVGzBT@{l9jWY=2k7wkGg);rRdqN*N)h}?O)%y zlI7Iba3gZbLi!>3I$=uQ<*`wK*H(e&61wARK^gdAv=#gRXot=ApqCQxGD`!NYrXB`m*MR=`k#jCFHYkRVt=cOkjDjBx;pXqg9}@ zzqQRG&^dIUBstsb&&Y;x{VhXq2r!6*fq<)1R?GboohGV}@_FGF{ zm>mM5gg%Q5ejtKA?PC>KBZ$89(RX)$`eJV`pUbDwP{sg#!Q0Un3&0cbF@w%!lnVe) zyt#f{0gW~WcmPjolr3P;$p=5dxX?X;EtE3w15q`ijDi(|au+CY<7W(GuY;IXHP)mh$Y_;IF9K7=c22u^tpG&(P6kuuhJ1y z%tanZ*G;jkT%Js=!ZbuILFn*_Jf0p?s&GP|!qw;!;&853ujF+!i=M3`8@7l|+_CVY#M1117jY1`wY#0ZW~Eg@i16Pd~}sX>V< z3XG7&ax89iG5B|x1NW(D>lkd{q51`QsMYu4F^>fhn6(vYd;Dzh70nSDTFR`EEtY=Y zW76Qd>#F1SWe)m+xoPuhZCR`uj`?91Xb7+nSit78nL_9dImk_<0h@~~CgBE+TqRTe zEH%{(xJIpl7zq8iLfb}`gadRE&hg`Va|L|cFwkFsf{G*La|Hsf&(8p0hY+B$R=}`D;1BSa&#wQ$fByjkmglVi diff --git a/index.ts b/index.ts index 10fe085..7074419 100644 --- a/index.ts +++ b/index.ts @@ -1,5 +1,8 @@ -import { PrismaClient } from '@prisma/client' -const prisma = new PrismaClient(); +import { Database } from "bun:sqlite"; + +const db = new Database(Bun.env.BUN_DB_FILE || "./bun.db"); + +db.query("CREATE TABLE IF NOT EXISTS Url (url TEXT)").run(); Bun.serve({ port: Bun.env.PORT || 8080, @@ -10,13 +13,13 @@ Bun.serve({ if (req.body) { const { u, password } = await req.json() as { u: string, password: string }; if (u && password === Bun.env.ADMIN_PASSWORD) { - const uu = await prisma.url.create({ - data: { - url: u - } - }) + const query = db.query("INSERT INTO Url (url) VALUES ($u) RETURNING *"); - return new Response(JSON.stringify({body: uu}), { + const results = query.get({ + $u: u, + }); + + return new Response(JSON.stringify({body: results}), { status: 200 }) } @@ -25,7 +28,7 @@ Bun.serve({ if (req.body) { const { password } = await req.json() as { password: string }; if (password === Bun.env.ADMIN_PASSWORD) { - await prisma.url.deleteMany(); + db.query("DELETE FROM Url").run(); return new Response(JSON.stringify({body: "ok"}), { status: 200 }) @@ -35,7 +38,7 @@ Bun.serve({ if (req.body) { const {password} = await req.json() as { password: string }; if (password === Bun.env.ADMIN_PASSWORD) { - const urls = await prisma.url.findMany(); + const urls = db.query("SELECT * FROM Url").all(); return new Response(JSON.stringify({body: urls}), { status: 200 }) @@ -45,11 +48,9 @@ Bun.serve({ if (req.body) { const { u, password } = await req.json() as { u: string, password: string }; if (u && password === Bun.env.ADMIN_PASSWORD) { - await prisma.url.deleteMany({ - where: { - url: u - } - }) + db.query("DELETE FROM Url WHERE url = $u").run({ + $u: u, + }); return new Response(JSON.stringify({body: u}), { status: 200 }) @@ -59,8 +60,7 @@ Bun.serve({ } else if (req.method === "GET") { // random - const urls = await prisma.url.findMany(); - + const urls = db.query("SELECT * FROM Url").all() as any[]; const urlRes = urls[Math.floor(Math.random() * urls.length)]; if (urlRes) { @@ -76,4 +76,8 @@ Bun.serve({ status: 400 }) } -}) \ No newline at end of file +}) + +process.on("exit", async () => { + db.close(); +}); \ No newline at end of file diff --git a/package.json b/package.json index d61c019..053acf6 100644 --- a/package.json +++ b/package.json @@ -3,15 +3,11 @@ "module": "index.ts", "type": "module", "devDependencies": { - "@types/bun": "^1.0.4", - "prisma": "^5.8.1" + "@types/bun": "^1.0.4" }, "peerDependencies": { "typescript": "^5.0.0" }, - "dependencies": { - "@prisma/client": "5.8.1" - }, "scripts": { "dev": "bun run noDb.ts", "dev:db": "bun run index.ts", diff --git a/prisma/schema.prisma b/prisma/schema.prisma deleted file mode 100644 index 1886007..0000000 --- a/prisma/schema.prisma +++ /dev/null @@ -1,18 +0,0 @@ -// This is your Prisma schema file, -// learn more about it in the docs: https://pris.ly/d/prisma-schema - -generator client { - provider = "prisma-client-js" -} - -datasource db { - provider = "sqlite" - url = env("DATABASE_URL") -} - -model Url { - id Int @id @default(autoincrement()) - url String - createdAt DateTime @default(now()) - updatedAt DateTime @updatedAt -} \ No newline at end of file