Fix notifikasi server action to API

This commit is contained in:
2024-12-19 06:34:12 +08:00
parent 6bb690e0b5
commit 2322ab8444
43 changed files with 507 additions and 1031 deletions

View File

@@ -0,0 +1,20 @@
import { prisma } from "@/app/lib";
import backendLogger from "@/util/backendLogger";
import { NextResponse } from "next/server";
export const dynamic = "force-dynamic";
export async function GET(request: Request) {
try {
const data = await prisma.projectCollaborationMaster_Industri.findMany({});
return NextResponse.json(
{ success: true, message: "Berhasil mendapatkan data", data: data },
{ status: 200 }
);
} catch (error) {
backendLogger.error("Master Collaboration:=========>", error);
return NextResponse.json(
{ success: false, message: "Gagal mendapatkan data" },
{ status: 500 }
);
}
}

View File

@@ -0,0 +1,28 @@
import { prisma } from "@/app/lib";
import { newFunGetUserId } from "@/app/lib/new_fun_user_id";
import backendLogger from "@/util/backendLogger";
import { NextResponse } from "next/server";
export const dynamic = "force-dynamic";
export async function GET(request: Request) {
try {
const userLoginId = await newFunGetUserId();
const count = await prisma.notifikasi.findMany({
where: {
userId: userLoginId,
isRead: false,
userRoleId: "1",
},
});
return NextResponse.json({ success: true, data: count.length });
} catch (error) {
backendLogger.error("Gagal mendapatkan data count notifikasi", error);
return NextResponse.json(
{ success: false, message: "Gagal mendapatkan data" },
{ status: 500 }
);
}
}

View File

@@ -7,37 +7,34 @@ import { NextResponse } from "next/server";
export const dynamic = "force-dynamic";
export async function GET(request: Request) {
if (request.method === "GET") {
try {
const { searchParams } = new URL(request.url);
const category = searchParams.get("category") as ICategoryapp;
const page = searchParams.get("page");
try {
let fixData;
const { searchParams } = new URL(request.url);
const category = searchParams.get("category") as ICategoryapp;
const page = searchParams.get("page");
const userLoginId = await newFunGetUserId();
const fixPage = _.toNumber(page);
const takeData = 10;
const skipData = fixPage * takeData - takeData;
const userLoginId = await newFunGetUserId();
const fixPage = _.toNumber(page);
const takeData = 10;
const skipData = fixPage * takeData - takeData;
if (category === "Semua") {
const data = await prisma.notifikasi.findMany({
take: takeData,
skip: skipData,
orderBy: [
{
isRead: "asc",
},
{ createdAt: "desc" },
],
where: {
userId: userLoginId,
userRoleId: "1",
if (category === "Semua") {
fixData = await prisma.notifikasi.findMany({
take: takeData,
skip: skipData,
orderBy: [
{
isRead: "asc",
},
});
return NextResponse.json({ success: true, data });
}
const allData = await prisma.notifikasi.findMany({
{ createdAt: "desc" },
],
where: {
userId: userLoginId,
userRoleId: "1",
},
});
} else {
fixData = await prisma.notifikasi.findMany({
take: takeData,
skip: skipData,
orderBy: [
@@ -52,12 +49,17 @@ export async function GET(request: Request) {
kategoriApp: _.upperCase(category),
},
});
return NextResponse.json({ success: true, data: allData });
} catch (error) {
backendLogger.error("Error get data notifikasi: " + error);
}
} else {
return NextResponse.json({ success: false, message: "Method not allowed" });
return NextResponse.json(
{ success: true, data: fixData, message: "Berhasil mendapatkan data" },
{ status: 200 }
);
} catch (error) {
backendLogger.error("Error get data notifikasi: " + error);
return NextResponse.json(
{ success: false, message: "Gagal mendapatkan data" },
{ status: 500 }
);
}
}

View File

@@ -0,0 +1,35 @@
import { prisma } from "@/app/lib";
import backendLogger from "@/util/backendLogger";
import { NextResponse } from "next/server";
export const dynamic = "force-dynamic";
export async function GET(request: Request) {
try {
const data = await prisma.masterKategoriApp.findMany({
where: {
isActive: true,
},
});
data.unshift({
id: "0",
isActive: true,
createdAt: new Date(),
updatedAt: new Date(),
name: "Semua",
value: null,
});
return NextResponse.json(
{ success: true, data, message: "Berhasil mendapatkan data" },
{ status: 200 }
);
} catch (error) {
backendLogger.error("Master Notifikasi:", error);
return NextResponse.json(
{ success: false, message: "Gagal mendapatkan data" },
{ status: 500 }
);
}
}