Bursa Investasi

# feat:
- Tampilan portofolio selesai
- Hapus investasi
- Function get data publish
### no issue
This commit is contained in:
2023-11-15 16:14:27 +08:00
parent 989c9eed32
commit e2e30c2af0
44 changed files with 910 additions and 414 deletions

View File

@@ -0,0 +1,26 @@
"use server";
import prisma from "@/app/lib/prisma";
import { RouterAdminInvestasi } from "@/app/lib/router_hipmi/router_admin";
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
import { revalidatePath } from "next/cache";
export default async function funDeleteInvestasi(id: string) {
const res = await prisma.investasi.delete({
where: {
id: id,
},
});
if (!res) return { status: 400, message: "Gagal Hapus Data" };
revalidatePath(RouterInvestasi.portofolio)
revalidatePath(RouterAdminInvestasi.main_investasi)
return {
status: 200,
message: "Berhasil Hapus",
};
}

View File

@@ -2,6 +2,7 @@
import prisma from "@/app/lib/prisma";
import { RouterAdminInvestasi } from "@/app/lib/router_hipmi/router_admin";
import { RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
import { revalidatePath } from "next/cache";
export default async function funGantiStatusInvestasi(id: string, val: string) {
@@ -16,7 +17,7 @@ export default async function funGantiStatusInvestasi(id: string, val: string) {
if(!data) return {status: 400}
revalidatePath("/dev/investasi/main/portofolio")
revalidatePath(RouterInvestasi.portofolio)
revalidatePath(RouterAdminInvestasi.main_investasi)
return {

View File

@@ -2,9 +2,13 @@
import prisma from "@/app/lib/prisma";
export default async function getInvestasiById(id: string) {
export default async function getInvestasiByStatusId(
id: string,
) {
const data = await prisma.user.findUnique({
where: { id: id },
where: {
id: id,
},
select: {
Investasi: {
select: {

View File

@@ -1,13 +0,0 @@
"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,44 @@
"use server";
import prisma from "@/app/lib/prisma";
export async function getListAllPublish() {
const data = await prisma.investasi.findMany({
orderBy: {
updatedAt: "desc",
},
where: {
MasterStatusInvestasi: {
name: {
equals: "Publish",
},
},
AND: {
active: true
}
},
select: {
id: true,
title: true,
authorId: true,
hargaLembar: true,
targetDana: true,
totalLembar: true,
roi: true,
active: true,
createdAt: true,
updatedAt: true,
imagesId: true,
MasterStatusInvestasi: true,
BeritaInvestasi: true,
DokumenInvestasi: true,
ProspektusInvestasi: true,
MasterPembagianDeviden: true,
MasterPencarianInvestor: true,
MasterPeriodeDeviden: true,
SahamTerbeli: true,
},
});
return data;
}

View File

@@ -16,6 +16,9 @@ export default async function getOneInvestasiById(id: string) {
totalLembar: true,
roi: true,
active: true,
createdAt: true,
updatedAt: true,
catatan: true,
imagesId: true,
MasterStatusInvestasi: true,
BeritaInvestasi: true,

View File

@@ -0,0 +1,104 @@
"use server";
import prisma from "@/app/lib/prisma";
export default async function getPortoByStatusId(id: string, statusId: number) {
// Draft
if (statusId === 1) {
const data = await prisma.investasi.findMany({
orderBy: {
updatedAt: "desc",
},
where: {
authorId: id,
MasterStatusInvestasi: {
name: "Draft",
},
},
select: {
id: true,
title: true,
imagesId: true,
// hargaLembar: true,
// targetDana: true,
// totalLembar: true,
// roi: true,
// active: true,
// MasterStatusInvestasi: true,
// BeritaInvestasi: true,
// DokumenInvestasi: true,
// ProspektusInvestasi: true,
// MasterPembagianDeviden: true,
// MasterPencarianInvestor: true,
// MasterPeriodeDeviden: true,
// SahamTerbeli: true,
},
});
return data;
}
// Review
if (statusId === 2) {
const data = await prisma.investasi.findMany({
orderBy: {
createdAt: "desc",
},
where: {
authorId: id,
MasterStatusInvestasi: {
name: "Review",
},
},
select: {
id: true,
title: true,
imagesId: true,
},
});
return data;
}
// Publish
if (statusId === 3) {
const data = await prisma.investasi.findMany({
orderBy: {
updatedAt: "desc",
},
where: {
authorId: id,
MasterStatusInvestasi: {
name: "Publish",
},
},
select: {
id: true,
title: true,
imagesId: true,
updatedAt: true,
MasterPencarianInvestor: true,
},
});
return data;
}
// Reject
if (statusId === 4) {
const data = await prisma.investasi.findMany({
orderBy: {
updatedAt: "desc",
},
where: {
authorId: id,
MasterStatusInvestasi: {
name: "Reject",
},
},
select: {
id: true,
title: true,
imagesId: true,
},
});
return data;
}
}