Fix notifikasi

Deskripsi:
- Fix notifikasi investasi
This commit is contained in:
2024-12-24 16:48:09 +08:00
parent 4a62205d8b
commit 0ca12c5318
24 changed files with 618 additions and 394 deletions

View File

@@ -23,6 +23,7 @@ export async function notifikasi_funInvestasiCheckStatus({
message: "Investasi tidak ditemukan",
statusName: "",
};
return {
status: 200,
message: "Berhasil di cek",

View File

@@ -0,0 +1,32 @@
"use server";
import { prisma } from "@/app/lib";
import _ from "lodash";
export async function notifikasi_funInvestasiChecInvestaorStatus({
id,
}: {
id: string;
}) {
const data = await prisma.investasi_Invoice.findUnique({
where: {
id: id,
},
select: {
StatusInvoice: true,
},
});
if (!data)
return {
status: 400,
message: "Investasi tidak ditemukan",
statusName: "",
};
return {
status: 200,
message: "Berhasil di cek",
statusName: _.lowerCase(data.StatusInvoice?.name),
};
}

View File

@@ -2,23 +2,29 @@
import prisma from "@/app/lib/prisma";
import { MODEL_NOTIFIKASI } from "../../model/interface";
import backendLogger from "@/util/backendLogger";
export default async function notifikasiToUser_funCreate({
data,
}: {
data: MODEL_NOTIFIKASI;
}) {
const created = await prisma.notifikasi.create({
data: {
userId: data.userId,
appId: data.appId,
status: data.status,
title: data.title,
pesan: data.pesan,
kategoriApp: data.kategoriApp,
userRoleId: "1",
},
});
if (!created) return { status: 400, message: "Gagal mengirim notifikasi" };
return { status: 201, message: "Berhasil mengirim notifikasi" };
try {
const created = await prisma.notifikasi.create({
data: {
userId: data.userId,
appId: data.appId,
status: data.status,
title: data.title,
pesan: data.pesan,
kategoriApp: data.kategoriApp,
userRoleId: "1",
},
});
if (!created) return { status: 400, message: "Gagal mengirim notifikasi" };
return { status: 201, message: "Berhasil mengirim notifikasi" };
} catch (error) {
backendLogger.error("Gagal mengirim notifikasi", error);
return { status: 401, message: "Error server" };
}
}

View File

@@ -0,0 +1,22 @@
"use server";
import prisma from "@/app/lib/prisma";
export default async function notifikasi_funGetStatusTransaksiById({
notifId,
}: {
notifId: string;
}) {
const data = await prisma.notifikasi.findFirst({
where: {
id: notifId,
},
select: {
status: true,
},
});
if (!data) return { status: 400 };
return { status: 200, data: data };
}

View File

@@ -1,11 +1,15 @@
import { notifikasi_funEventCheckStatus } from "./check/fun_check_event_status";
import { notifikasi_funInvestasiChecInvestaorStatus } from "./check/fun_check_investor_status";
import notifikasiToAdmin_funCreate from "./create/create_notif_to_admin";
import notifikasiToUser_funCreate from "./create/create_notif_to_user";
import { notifikasiToUser_CreateGroupCollaboration } from "./create/create_notif_to_user_collaboration";
import { notifikasiToUser_CreateKabarDonasi } from "./create/create_notif_to_user_kabar_donasi";
import notifikasi_funGetStatusTransaksiById from "./get/fun_get_status_transaksi";
export { notifikasiToAdmin_funCreate };
export { notifikasiToUser_CreateGroupCollaboration };
export { notifikasiToUser_CreateKabarDonasi };
export { notifikasiToUser_funCreate };
export { notifikasi_funEventCheckStatus };
export { notifikasi_funGetStatusTransaksiById };
export { notifikasi_funInvestasiChecInvestaorStatus };