Desc:
- Fitur crowdfunding
- Fitur Investasi
- Fitur tambah investasi
No issue
This commit is contained in:
2023-10-20 10:15:17 +08:00
parent 66fcad8634
commit bff07e84b1
47 changed files with 1172 additions and 49 deletions

View File

@@ -0,0 +1,74 @@
"use server";
import prisma from "@/app/lib/prisma";
import _ from "lodash";
import { v4 } from "uuid";
import fs from "fs";
import { INVESTASI } from "@/app_modules/models/investasi";
import { revalidatePath } from "next/cache";
export async function funCreateInvestasi(formData: FormData, data: INVESTASI) {
const file: any = formData.get("file");
// console.log(file)
const fName = file.name;
const fExt = _.lowerCase(file.name.split(".").pop());
const fRandomName = v4(fName) + "." + fExt;
const upload = await prisma.images.create({
data: {
url: fRandomName,
},
select: {
id: true,
url: true,
},
});
if (!upload)
return {
status: 400,
message: "File Kosong",
};
// if (upload) {
// await prisma.investasi.update({
// where: {
// authorId: data.authorId,
// },
// data: {
// imagesId: upload.id,
// },
// });
// }
const upFolder = Buffer.from(await file.arrayBuffer());
fs.writeFileSync(`./public/investasi/${upload.url}`, upFolder);
const createInvest = await prisma.investasi.create({
data: {
authorId: data.authorId,
title: data.title,
targetDana: data.targetDana,
hargaLembar: data.hargaLembar,
totalLembar: data.totalLembar,
roi: data.roi,
masterPembagianDevidenId: data.masterPembagianDevidenId,
masterPeriodeDevidenId: data.masterPeriodeDevidenId,
masterPencarianInvestorId: data.masterPencarianInvestorId,
imagesId: upload.id,
},
});
if (!createInvest)
return {
status: 400,
message: "Gagal Disimpan",
};
revalidatePath("/dev/investasi/main");
return {
status: 201,
message: "Berhasil Disimpan",
};
}

View File

@@ -0,0 +1,13 @@
"use server";
import prisma from "@/app/lib/prisma";
export async function getListAllInvestasi() {
const data = await prisma.investasi.findMany({
orderBy: {
createdAt: "desc"
}
});
return data;
}

View File

@@ -0,0 +1,15 @@
"use server";
import prisma from "@/app/lib/prisma";
export default async function getPembagianDeviden() {
const data = await prisma.masterPembagianDeviden.findMany({
select: {
id: true,
name: true,
active: true,
},
});
return data;
}

View File

@@ -0,0 +1,15 @@
"use server";
import prisma from "@/app/lib/prisma";
export default async function getPencarianInvestor() {
const data = await prisma.masterPencarianInvestor.findMany({
select: {
id: true,
name: true,
active: true
}
});
return data;
}

View File

@@ -0,0 +1,15 @@
"use server";
import prisma from "@/app/lib/prisma";
export default async function getPeriodeDeviden() {
const data = await prisma.masterPeriodeDeviden.findMany({
select: {
id: true,
name: true,
active: true,
},
});
return data;
}