mirror of
https://github.com/modelec/urlsh-qrcode.git
synced 2026-01-18 16:57:25 +01:00
remove prisma
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -178,3 +178,5 @@ dist
|
||||
prisma/**/migrations/
|
||||
prisma/*.db
|
||||
prisma/*-journal
|
||||
|
||||
dev.db
|
||||
@@ -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"]
|
||||
|
||||
38
index.ts
38
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) {
|
||||
@@ -77,3 +77,7 @@ Bun.serve({
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
process.on("exit", async () => {
|
||||
db.close();
|
||||
});
|
||||
@@ -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",
|
||||
|
||||
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user