From 1871abee00d32809c2aeefb6a1b8866448a084da Mon Sep 17 00:00:00 2001 From: Holly Date: Sat, 1 Feb 2025 02:51:22 +0000 Subject: [PATCH] move actions to a more suitable location --- bun.lockb | Bin 70082 -> 72259 bytes controllers/AccountController.ts | 40 ++++++++++++++++++- controllers/Controller.ts | 1 + controllers/HomeController.ts | 54 +------------------------- controllers/UploadController.ts | 39 +++++++++++++++++++ index.ts | 13 ++++++- objects/Config.ts | 3 +- objects/RequestCtx.ts | 4 ++ package.json | 3 +- views/{home => account}/dashboard.ejs | 0 views/{home => account}/imagelist.ejs | 0 11 files changed, 99 insertions(+), 58 deletions(-) create mode 100644 controllers/UploadController.ts rename views/{home => account}/dashboard.ejs (100%) rename views/{home => account}/imagelist.ejs (100%) diff --git a/bun.lockb b/bun.lockb index 93d7318d011bb90110e43694bcd1e99bb8cb6666..1afd8f65919521b9cd2517a060503c93ac4450bb 100755 GIT binary patch delta 13606 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