Files
hipmi/src/app_modules/investasi/fun/fun_upload_dokumen.ts
Bagasbanuna02 14c0fb4e21 Dokumen investasi
# feat:
- Tampilan upload dokuman
- Function upload
- Function delete
- Function get data dokumen
### No issue
2023-11-08 16:40:22 +08:00

40 lines
1.0 KiB
TypeScript

"use server";
import prisma from "@/app/lib/prisma";
import _ from "lodash";
import { v4 } from "uuid";
import fs from "fs";
import { revalidatePath } from "next/cache";
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
export default async function funUploadDokumenInvestasi(
formData: FormData,
data: any
) {
const file: any = formData.get("file");
const fName = file.name;
const fExt = _.lowerCase(file.name.split(".").pop());
// console.log(fName)
// console.log(fExt)
const fRandomName = v4(fName) + "." + fExt;
const uploadFile = await prisma.dokumenInvestasi.create({
data: {
investasiId: data.idInves,
title: data.title,
url: fRandomName,
},
});
if (!uploadFile) return { status: 400, message: "Gagal Upload" };
const upFolder = Buffer.from(await file.arrayBuffer());
fs.writeFileSync(`./public/file/${uploadFile.url}`, upFolder);
revalidatePath(RouterInvestasi.edit_dokumen);
return {
status: 201,
message: "File tersimpan ",
};
}