Notifikasi

# feat:
- Notifikasi di bagian admin

## No issue
This commit is contained in:
2024-06-10 16:22:05 +08:00
parent 0e16d6501f
commit 76f0396005
35 changed files with 618 additions and 200 deletions

View File

@@ -0,0 +1,35 @@
"use server";
import prisma from "@/app/lib/prisma";
import { MODEL_NOTIFIKASI } from "../../model/interface";
export default async function notifikasi_funCreate({
data,
}: {
data: MODEL_NOTIFIKASI;
}) {
const getAdmin = await prisma.user.findMany({
where: {
active: true,
masterUserRoleId: "2",
},
});
for (let a of getAdmin) {
const create = await prisma.notifikasi.create({
data: {
adminId: a.id,
userId: data.userId,
appId: data.appId,
status: data.status,
title: data.title,
pesan: data.pesan,
kategoriApp: data.kategoriApp,
userRoleId: "2",
},
});
if (!create) return { status: 400, message: "Gagal mengirim notifikasi" };
}
return { status: 201, message: "Berhasil mengirim notifikasi" };
}

View File

@@ -0,0 +1,9 @@
"use server"
import { user_getOneUserId } from "@/app_modules/fun_global/get_user_token"
export default async function notifikasi_getByUserId() {
const userId = await user_getOneUserId()
}

View File

@@ -0,0 +1 @@
// test notif

View File

@@ -0,0 +1,20 @@
import { MODEL_USER } from "@/app_modules/home/model/interface";
import { MODEL_NEW_DEFAULT_MASTER } from "@/app_modules/model_global/interface";
export interface MODEL_NOTIFIKASI {
id: string;
isActive: boolean;
createdAt: Date;
updatedAt: Date;
appId: string;
kategoriApp: string;
isRead: boolean;
title: string,
pesan: string;
User: MODEL_USER;
userId: string;
Admin: MODEL_USER;
adminId: string;
status?: string;
Role: MODEL_NEW_DEFAULT_MASTER;
userRoleId: String;
}