UI & API Menu Landing Page, Submenu Desa Anti Korupsi

This commit is contained in:
2025-07-23 17:12:33 +08:00
parent 1bc6dd8dbf
commit bdf751ec3d
34 changed files with 1965 additions and 79 deletions

View File

@@ -14,27 +14,15 @@ const fileStorageCreate = async (context: Context) => {
const file = body.file;
const name = body.name;
if (!file) {
return {
status: 400,
body: "No file uploaded",
};
}
if (!file) return { status: 400, body: "No file uploaded" };
if (!name) return { status: 400, body: "No name provided" };
if (!UPLOAD_DIR) return { status: 500, body: "UPLOAD_DIR is not defined" };
if (!name) {
return {
status: 400,
body: "No name provided",
};
}
// Tentukan kategori berdasarkan mimeType
const isImage = file.type.startsWith("image/");
const category = isImage ? "image" : "document";
if (!UPLOAD_DIR) {
return {
status: 500,
body: "UPLOAD_DIR is not defined",
};
}
const pathName = "allFile";
const pathName = category === "image" ? "images" : "documents";
const rootPath = path.join(UPLOAD_DIR, pathName);
await fs.mkdir(rootPath, { recursive: true });
@@ -44,9 +32,10 @@ const fileStorageCreate = async (context: Context) => {
const data = await prisma.fileStorage.create({
data: {
name: newName,
realName: file.name, // Add the original file name as realName
realName: file.name,
path: rootPath,
mimeType: file.type,
category,
link: `/api/fileStorage/findUnique/${newName}`,
},
});
@@ -56,9 +45,7 @@ const fileStorageCreate = async (context: Context) => {
Buffer.from(await file.arrayBuffer())
);
return {
data,
};
return { data };
};
export default fileStorageCreate;
export default fileStorageCreate;

View File

@@ -1,6 +1,12 @@
import prisma from "@/lib/prisma";
import { Context } from "elysia";
export const fileStorageFindMany = async () => {
const data = await prisma.fileStorage.findMany();
return data;
export const fileStorageFindMany = async (context: Context) => {
const category = context.query?.category as string | undefined;
const data = await prisma.fileStorage.findMany({
where: category ? { category } : {},
});
return { data };
};