From 6af1e8f32667acdcbb577fc907e1a04b04051aed Mon Sep 17 00:00:00 2001 From: C4illin Date: Tue, 3 Jun 2025 17:13:20 +0200 Subject: [PATCH] refactor: create db types --- src/db/types.ts | 23 +++++++++++++++++++++++ src/index.tsx | 22 +--------------------- src/pages/convert.tsx | 3 ++- src/pages/history.tsx | 2 +- src/pages/results.tsx | 2 +- src/pages/root.tsx | 3 ++- src/pages/user.tsx | 7 +------ 7 files changed, 31 insertions(+), 31 deletions(-) create mode 100644 src/db/types.ts diff --git a/src/db/types.ts b/src/db/types.ts new file mode 100644 index 0000000..146a1b1 --- /dev/null +++ b/src/db/types.ts @@ -0,0 +1,23 @@ +export class Filename { + id!: number; + job_id!: number; + file_name!: string; + output_file_name!: string; + status!: string; +} + +export class Jobs { + finished_files!: number; + id!: number; + user_id!: number; + date_created!: string; + status!: string; + num_files!: number; + files_detailed!: Filename[]; +} + +export class User { + id!: number; + email!: string; + password!: string; +} \ No newline at end of file diff --git a/src/index.tsx b/src/index.tsx index c1521ea..a801b84 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -17,33 +17,13 @@ import { deleteFile } from "./pages/deleteFile"; import { listConverters } from "./pages/listConverters"; import { chooseConverter } from "./pages/chooseConverter"; import db from "./db/db"; +import { Jobs } from "./db/types"; mkdir("./data", { recursive: true }).catch(console.error); export const uploadsDir = "./data/uploads/"; export const outputDir = "./data/output/"; -// init db if not exists - - -export class Filename { - id!: number; - job_id!: number; - file_name!: string; - output_file_name!: string; - status!: string; -} - -export class Jobs { - finished_files!: number; - id!: number; - user_id!: number; - date_created!: string; - status!: string; - num_files!: number; - files_detailed!: Filename[]; -} - const app = new Elysia({ serve: { maxRequestBodySize: Number.MAX_SAFE_INTEGER, diff --git a/src/pages/convert.tsx b/src/pages/convert.tsx index 6049c99..9f8835e 100644 --- a/src/pages/convert.tsx +++ b/src/pages/convert.tsx @@ -1,7 +1,7 @@ import { mkdir } from "node:fs/promises"; import { Elysia, t } from "elysia"; import sanitize from "sanitize-filename"; -import { Jobs, outputDir, uploadsDir } from ".."; +import { outputDir, uploadsDir } from ".."; import { mainConverter } from "../converters/main"; import { WEBROOT } from "../helpers/env"; import db from "../db/db"; @@ -10,6 +10,7 @@ import { normalizeOutputFiletype, } from "../helpers/normalizeFiletype"; import { userService } from "./user"; +import { Jobs } from "../db/types"; export const convert = new Elysia().use(userService).post( "/convert", diff --git a/src/pages/history.tsx b/src/pages/history.tsx index c9810e9..648efcb 100644 --- a/src/pages/history.tsx +++ b/src/pages/history.tsx @@ -4,7 +4,7 @@ import { Html } from "@elysiajs/html"; import { Header } from "../components/header"; import { userService } from "./user"; import { ALLOW_UNAUTHENTICATED, HIDE_HISTORY, WEBROOT } from "../helpers/env"; -import { Filename, Jobs } from ".."; +import { Filename, Jobs } from "../db/types"; import db from "../db/db"; export const history = new Elysia() diff --git a/src/pages/results.tsx b/src/pages/results.tsx index fd69ad6..8d5f916 100644 --- a/src/pages/results.tsx +++ b/src/pages/results.tsx @@ -2,7 +2,7 @@ import { Elysia } from "elysia"; import { userService } from "./user"; import { Html } from "@elysiajs/html"; import { ALLOW_UNAUTHENTICATED, WEBROOT } from "../helpers/env"; -import { Filename, Jobs } from ".."; +import { Filename, Jobs } from "../db/types"; import { Header } from "../components/header"; import { BaseHtml } from "../components/base"; import db from "../db/db"; diff --git a/src/pages/root.tsx b/src/pages/root.tsx index 0537e93..8c23471 100644 --- a/src/pages/root.tsx +++ b/src/pages/root.tsx @@ -1,6 +1,6 @@ import { Elysia } from "elysia"; import { Html } from "@elysiajs/html"; -import { FIRST_RUN, User, userService } from "./user"; +import { FIRST_RUN, userService } from "./user"; import { ACCOUNT_REGISTRATION, ALLOW_UNAUTHENTICATED, HIDE_HISTORY, HTTP_ALLOWED, WEBROOT } from "../helpers/env"; import { JWTPayloadSpec } from "@elysiajs/jwt"; import { randomInt } from "node:crypto"; @@ -8,6 +8,7 @@ import { BaseHtml } from "../components/base"; import { Header } from "../components/header"; import { getAllTargets } from "../converters/main"; import db from "../db/db"; +import { User } from "../db/types"; export const root = new Elysia() .use(userService) diff --git a/src/pages/user.tsx b/src/pages/user.tsx index 8ea271e..07d8a85 100644 --- a/src/pages/user.tsx +++ b/src/pages/user.tsx @@ -7,12 +7,7 @@ import { randomUUID } from "node:crypto"; import { ACCOUNT_REGISTRATION, WEBROOT, HIDE_HISTORY, ALLOW_UNAUTHENTICATED, HTTP_ALLOWED } from "../helpers/env"; import db from "../db/db"; - -export class User { - id!: number; - email!: string; - password!: string; -} +import { User } from "../db/types"; export let FIRST_RUN = db.query("SELECT * FROM users").get() === null || false;