fix collaboration notifikasi

This commit is contained in:
2025-03-03 15:27:01 +08:00
parent 55ecd9191c
commit 0d2d39ccc4
7 changed files with 126 additions and 73 deletions

View File

@@ -36,6 +36,8 @@ import colab_funCreatePartisipan from "../../fun/create/fun_create_partisipan_by
import { MODEL_COLLABORATION_PARTISIPASI } from "../../model/interface";
import { Collaboration_SkeletonListPrtisipanIsUser } from "../skeleton_view";
import ComponentColab_AuthorNameOnListPartisipan from "./header_author_list_partisipan";
import { WibuRealtime } from "wibu-pkg";
import { IRealtimeData } from "@/lib/global_state";
export default function ComponentColab_DetailListPartisipasiUser({
userLoginId,
@@ -103,37 +105,42 @@ export default function ComponentColab_DetailListPartisipasiUser({
});
if (res.status === 201) {
// const dataNotif = {
// appId: res?.data?.ProjectCollaboration?.id,
// userId: res?.data?.ProjectCollaboration?.userId,
// pesan: res?.data?.ProjectCollaboration?.title,
// status: "Partisipan Project",
// kategoriApp: "COLLABORATION",
// title: "Partisipan baru telah bergabung !",
// };
const dataNotifikasi: IRealtimeData = {
appId: res?.data?.ProjectCollaboration?.id,
userId: res?.data?.ProjectCollaboration?.userId as any,
pesan: res?.data?.ProjectCollaboration?.title,
status: "Partisipan Project" as any,
kategoriApp: "COLLABORATION",
title: "Partisipan baru telah bergabung !",
};
// const createNotifikasi = await notifikasiToUser_funCreate({
// data: dataNotif as any,
// });
const createNotifikasi = await notifikasiToUser_funCreate({
data: dataNotifikasi as any,
});
// if (createNotifikasi.status === 201) {
// mqtt_client.publish(
// "USER",
// JSON.stringify({
// userId: dataNotif.userId,
// count: 1,
// })
// );
// }
if (createNotifikasi.status === 201) {
WibuRealtime.setData({
type: "trigger",
pushNotificationTo: "USER",
dataMessage: dataNotifikasi,
});
// mqtt_client.publish(
// "USER",
// JSON.stringify({
// userId: dataNotif.userId,
// count: 1,
// })
// );
}
const respone = await apiGetOneCollaborationById({
const response = await apiGetOneCollaborationById({
id: params.id,
kategori: "list_partisipan",
page: `${activePage}`,
});
if (respone) {
setData(respone.data);
if (response) {
setData(response.data);
}
const cekPartisipan = await apiGetOneCollaborationById({
@@ -274,8 +281,8 @@ export default function ComponentColab_DetailListPartisipasiUser({
}
styles={{
input: {
backgroundColor: MainColor.white
}
backgroundColor: MainColor.white,
},
}}
placeholder="Deskripsikan diri anda yang sesuai dengan proyek ini.."
minRows={4}

View File

@@ -12,37 +12,46 @@ export default async function colab_funCreatePartisipan({
id: string;
deskripsi: string;
}) {
const userLoginId = await funGetUserIdByToken();
try {
const userLoginId = await funGetUserIdByToken();
if (userLoginId == null) {
return {
status: 500,
message: "Gagal mendapatkan data, user id tidak ada",
};
}
if (!userLoginId) {
return {
status: 404,
message: "Gagal mendapatkan data, user id tidak ada",
};
}
const create = await prisma.projectCollaboration_Partisipasi.create({
data: {
projectCollaborationId: id,
userId: userLoginId,
deskripsi_diri: deskripsi,
},
select: {
ProjectCollaboration: {
select: {
id: true,
title: true,
userId: true,
const create = await prisma.projectCollaboration_Partisipasi.create({
data: {
projectCollaborationId: id,
userId: userLoginId,
deskripsi_diri: deskripsi,
},
select: {
ProjectCollaboration: {
select: {
id: true,
title: true,
userId: true,
},
},
},
},
});
});
if (!create) return { status: 400, message: "Gagal menambahkan partisipan" };
revalidatePath(RouterColab.main_detail + id);
return {
data: create,
status: 201,
message: "Berhasil menambahkan partisipan",
};
if (!create)
return { status: 400, message: "Gagal menambahkan partisipan" };
revalidatePath(RouterColab.main_detail + id);
return {
data: create,
status: 201,
message: "Berhasil menambahkan partisipan",
};
} catch (error) {
return {
status: 500,
message: "Error menambahkan partisipan",
error: (error as Error).message,
};
}
}