## Deskripsi :
- Notifikasi donasi
### No Issue
This commit is contained in:
2024-08-02 17:39:31 +08:00
parent 7915f9bd91
commit 7131e93a49
25 changed files with 322 additions and 251 deletions

View File

@@ -46,4 +46,14 @@ export function redirectDonasiPage({
});
router.push(pathDetail, { scroll: false });
}
if (data.status === "Kabar Donasi") {
const pathKabar = RouterDonasi.detail_kabar + data.appId;
router.push(pathKabar, { scroll: false });
}
if (data.status === "Pencairan Dana") {
const pathPencairan = RouterDonasi.pencairan_dana + data.appId;
router.push(pathPencairan, { scroll: false });
}
}

View File

@@ -1,24 +1,58 @@
"use server";
import prisma from "@/app/lib/prisma";
import _ from "lodash";
import mqtt_client from "@/util/mqtt_client";
export async function notifikasiToUser_CreateKabarDonasi({
donasiId,
kabarId,
}: {
donasiId: string;
kabarId: string;
}) {
const getDataDonasi = await prisma.donasi.findFirst({
where: {
id: donasiId,
},
});
const getDonatur = await prisma.donasi_Invoice.findMany({
where: {
donasiId: donasiId,
},
select: {
Donasi: {
select: {
id: true,
authorId: true,
title: true,
},
},
authorId: true,
},
});
console.log(getDonatur)
const data = new Set(getDonatur.map((e) => e.authorId));
const dataFix = Array.from(data);
for (let authorId of dataFix) {
console.log(authorId);
const createNotifikasi = await prisma.notifikasi.create({
data: {
userRoleId: "1",
userId: authorId,
appId: kabarId,
pesan: getDataDonasi?.title as any,
kategoriApp: "DONASI",
status: "Kabar Donasi",
title: "Kabar terupdate donasi anda !",
},
});
if (!createNotifikasi)
return { status: 400, message: "Gagal membuat notifikasi" };
mqtt_client.publish(
"USER",
JSON.stringify({
userId: authorId,
count: 1,
})
);
}
return { status: 201, message: "Berhasil membuat notifikasi" };
}

View File

@@ -31,7 +31,9 @@ export interface MODEL_NOTIFIKASI {
| "Proses"
| "Berhasil"
| "Gagal"
| "Donatur Baru";
| "Donatur Baru"
| "Kabar Donasi"
| "Pencairan Dana"
Role: MODEL_NEW_DEFAULT_MASTER;
userRoleId: String;