diff --git a/software/backend/routes/api.routes.ts b/software/backend/routes/api.routes.ts index d55f752..cfa5475 100644 --- a/software/backend/routes/api.routes.ts +++ b/software/backend/routes/api.routes.ts @@ -1,5 +1,6 @@ import { Request, Response, NextFunction, Router } from 'express' import { deleteAllTables, deleteExerciseProgressTables, prepopulateDatabase, prepopulateExerciseDatabase } from '../scripts/databaseHelper' +import fs from "fs" export const api = Router() @@ -24,4 +25,29 @@ api.get("/resetExerciseProgress", async (req: Request, res: Response, next: Next await prepopulateExerciseDatabase() res.status(200).send() +}) + +/** + * Get all uploaded file names + */ +api.get("/files", async (req: Request, res: Response) => { + let dirNames = fs.readdirSync("./backend/images") + let result = [] + + dirNames.forEach(dir => { + let fileNames = fs.readdirSync("./backend/images/" + dir) + + result.push({ + folder: dir, + files: fileNames.map(file => { + return { + name: file, + size: fs.statSync("./backend/images/" + dir + "/" + file).size, + url: "http://localhost:3000/static/" + dir + "/" + file + } + }) + }) + }) + + res.status(200).json(result) }) \ No newline at end of file diff --git a/software/src/components/basics/actionDialog.vue b/software/src/components/basics/actionDialog.vue index da7c3aa..b483a71 100644 --- a/software/src/components/basics/actionDialog.vue +++ b/software/src/components/basics/actionDialog.vue @@ -29,7 +29,7 @@ defineProps({ -