upd: notif insert

Deskripsi:
- mengganti kalimat notifikasi sesuai dengan content yg diinputkan
- upd api version

No Issues
This commit is contained in:
2025-09-30 14:40:37 +08:00
parent 6910f8fdff
commit 9a6a4d66df
15 changed files with 67 additions and 60 deletions

View File

@@ -184,7 +184,7 @@ export async function POST(request: Request) {
category: 'announcement',
idContent: data.id,
title: 'Pengumuman Baru',
desc: 'Anda memiliki pengumuman baru. Silakan periksa detailnya.'
desc: title
}))
const dataPush = memberNotif.map((v: any) => ({
@@ -217,7 +217,7 @@ export async function POST(request: Request) {
category: 'announcement',
idContent: data.id,
title: 'Pengumuman Baru',
desc: 'Anda memiliki pengumuman baru. Silakan periksa detailnya.'
desc: title
})
dataPush.push({
@@ -229,7 +229,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Pengumuman Baru', body: 'Anda memiliki pengumuman baru. Silakan periksa detailnya.' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Pengumuman Baru', body: title } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotif
})

View File

@@ -147,7 +147,7 @@ export async function POST(request: Request) {
category: 'discussion',
idContent: data.id,
title: 'Diskusi Umum Baru',
desc: 'Terdapat diskusi umum baru. Silakan periksa detailnya.'
desc: title
}))
if (userRoleLogin != "supadmin") {
@@ -173,7 +173,7 @@ export async function POST(request: Request) {
category: 'discussion',
idContent: data.id,
title: 'Diskusi Umum Baru',
desc: 'Terdapat diskusi umum baru. Silakan periksa detailnya.'
desc: title
})
}

View File

@@ -146,6 +146,8 @@ export async function POST(request: Request) {
}
})
const descNotif = desc.length > 300 ? desc.substring(0, 300) + '...' : desc
// mengirim notifikasi
// datanotif untuk realtime notifikasi
@@ -157,7 +159,7 @@ export async function POST(request: Request) {
category: 'division/' + idDivision + '/discussion',
idContent: data.id,
title: 'Diskusi Baru',
desc: 'Terdapat diskusi baru. Silakan periksa detailnya.'
desc: descNotif
}))
const dataPush = memberDivision.map((v: any) => ({
@@ -189,7 +191,7 @@ export async function POST(request: Request) {
category: 'division/' + idDivision + '/discussion',
idContent: data.id,
title: 'Diskusi Baru',
desc: 'Terdapat diskusi baru. Silakan periksa detailnya.'
desc: descNotif
})
dataPush.push({
@@ -221,7 +223,7 @@ export async function POST(request: Request) {
category: 'division/' + idDivision + '/discussion',
idContent: data.id,
title: 'Diskusi Baru',
desc: 'Terdapat diskusi baru. Silakan periksa detailnya.'
desc: descNotif
})
dataPush.push({
@@ -232,7 +234,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: 'Terdapat diskusi baru. Silakan periksa detailnya.', title: 'Diskusi Baru' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: descNotif, title: 'Diskusi Baru' } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotif
})

View File

@@ -174,7 +174,7 @@ export async function POST(request: Request) {
category: 'division',
idContent: data.id,
title: 'Divisi Baru',
desc: 'Terdapat divisi baru. Silakan periksa detailnya.'
desc: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`
}))
const selectUser = await prisma.divisionMember.findMany({
@@ -225,7 +225,7 @@ export async function POST(request: Request) {
category: 'division',
idContent: data.id,
title: 'Divisi Baru',
desc: 'Terdapat divisi baru. Silakan periksa detailnya.'
desc: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`
})
dataPush.push({
@@ -262,7 +262,7 @@ export async function POST(request: Request) {
category: 'division',
idContent: data.id,
title: 'Divisi Baru',
desc: 'Terdapat divisi baru. Silakan periksa detailnya.'
desc: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`
}))
const omitPush = atasanGroup.map((v: any) => ({
@@ -279,7 +279,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Divisi Baru', body: 'Terdapat divisi baru. Silakan periksa detailnya.' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Divisi Baru', body: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.` } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotif
})

View File

@@ -203,7 +203,7 @@ export async function POST(request: Request) {
category: 'announcement',
idContent: data.id,
title: 'Pengumuman Baru',
desc: 'Anda memiliki pengumuman baru. Silakan periksa detailnya.'
desc: title
}))
@@ -244,7 +244,7 @@ export async function POST(request: Request) {
category: 'announcement',
idContent: data.id,
title: 'Pengumuman Baru',
desc: 'Anda memiliki pengumuman baru. Silakan periksa detailnya.'
desc: title
})
dataPush.push({
@@ -258,7 +258,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Pengumuman Baru', body: 'Anda memiliki pengumuman baru. Silakan periksa detailnya.' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Pengumuman Baru', body: title } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
})
@@ -267,7 +267,7 @@ export async function POST(request: Request) {
await sendFCMNotificationMany({
token: tokenUnique,
title: "Pengumuman Baru",
body: "Anda memiliki pengumuman baru. Silakan periksa detailnya.",
body: title,
data: { id: data.id, category: "announcement", content: data.id }
})

View File

@@ -103,11 +103,13 @@ export async function POST(request: Request, context: { params: { id: string } }
tokenDup.push(perbekel?.TokenDeviceUser.map((v: any) => v.token).flat())
}
const commentNotif = data.comment.length > 300 ? data.comment.substring(0, 300) + '...' : data.comment;
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");
await sendFCMNotificationMany({
token: tokenUnique,
title: "Komentar Baru",
body: `${userSent?.name}: ${data.comment}`,
body: `${userSent?.name}: ${commentNotif}`,
data: { id: data.id, category: "discussion-general", content: id }
})

View File

@@ -172,7 +172,7 @@ export async function POST(request: Request) {
category: 'discussion',
idContent: data.id,
title: 'Diskusi Umum Baru',
desc: 'Terdapat diskusi umum baru. Silakan periksa detailnya.'
desc: title
}))
if (userRoleLogin != "supadmin") {
@@ -205,7 +205,7 @@ export async function POST(request: Request) {
category: 'discussion',
idContent: data.id,
title: 'Diskusi Umum Baru',
desc: 'Terdapat diskusi umum baru. Silakan periksa detailnya.'
desc: title
})
}
@@ -219,7 +219,7 @@ export async function POST(request: Request) {
await sendFCMNotificationMany({
token: tokenUnique,
title: "Diskusi Umum Baru",
body: "Anda memiliki diskusi umum baru. Silakan periksa detailnya.",
body: title,
data: { id: data.id, category: "discussion", content: data.id }
})

View File

@@ -119,11 +119,13 @@ export async function POST(request: Request, context: { params: { id: string } }
tokenDup.push(perbekel?.TokenDeviceUser.map((v: any) => v.token).flat())
}
const commentNotif = comment.length > 300 ? comment.substring(0, 300) + '...' : comment;
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");
await sendFCMNotificationMany({
token: tokenUnique,
title: "Komentar Baru",
body: `${userSent?.name}: ${comment}`,
body: `${userSent?.name}: ${commentNotif}`,
data: { id: data.id, category: `division/${dataDivision?.idDivision}/discussion`, content: id }
})

View File

@@ -155,6 +155,8 @@ export async function POST(request: Request) {
}
})
const deskripsiNotif = desc.length > 300 ? desc.substring(0, 300) + '...' : desc;
// mengirim notifikasi
// dataFCM untuk push notifikasi mobile
@@ -173,7 +175,7 @@ export async function POST(request: Request) {
category: 'division/' + idDivision + '/discussion',
idContent: data.id,
title: 'Diskusi Baru',
desc: 'Terdapat diskusi baru. Silakan periksa detailnya.'
desc: deskripsiNotif
}))
const dataPush = memberDivision.map((v: any) => ({
@@ -212,7 +214,7 @@ export async function POST(request: Request) {
category: 'division/' + idDivision + '/discussion',
idContent: data.id,
title: 'Diskusi Baru',
desc: 'Terdapat diskusi baru. Silakan periksa detailnya.'
desc: deskripsiNotif
})
dataPush.push({
@@ -251,7 +253,7 @@ export async function POST(request: Request) {
category: 'division/' + idDivision + '/discussion',
idContent: data.id,
title: 'Diskusi Baru',
desc: 'Terdapat diskusi baru. Silakan periksa detailnya.'
desc: deskripsiNotif
})
dataPush.push({
@@ -264,7 +266,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: 'Terdapat diskusi baru. Silakan periksa detailnya.', title: 'Diskusi Baru' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: deskripsiNotif, title: 'Diskusi Baru' } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
})
@@ -274,7 +276,7 @@ export async function POST(request: Request) {
await sendFCMNotificationMany({
token: tokenUnique,
title: "Diskusi Baru",
body: "Anda memiliki diskusi baru. Silakan periksa detailnya.",
body: deskripsiNotif,
data: { id: data.id, category: "division/" + idDivision + "/discussion", content: data.id }
})

View File

@@ -183,7 +183,7 @@ export async function POST(request: Request) {
category: 'division',
idContent: data.id,
title: 'Divisi Baru',
desc: 'Terdapat divisi baru. Silakan periksa detailnya.'
desc: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`
}))
const selectUser = await prisma.divisionMember.findMany({
@@ -252,7 +252,7 @@ export async function POST(request: Request) {
category: 'division',
idContent: data.id,
title: 'Divisi Baru',
desc: 'Terdapat divisi baru. Silakan periksa detailnya.'
desc: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`
})
dataPush.push({
@@ -299,7 +299,7 @@ export async function POST(request: Request) {
category: 'division',
idContent: data.id,
title: 'Divisi Baru',
desc: 'Terdapat divisi baru. Silakan periksa detailnya.'
desc: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`
}))
const omitPush = atasanGroup.map((v: any) => ({
@@ -317,7 +317,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Divisi Baru', body: 'Terdapat divisi baru. Silakan periksa detailnya.' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Divisi Baru', body: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.` } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
})
@@ -326,7 +326,7 @@ export async function POST(request: Request) {
await sendFCMNotificationMany({
token: tokenUnique,
title: "Divisi Baru",
body: "Anda memiliki divisi baru. Silakan periksa detailnya.",
body: `Divisi ${sent.data.name} telah dibuat. Silakan periksa detailnya.`,
data: { id: data.id, category: "division", content: data.id }
})

View File

@@ -284,7 +284,7 @@ export async function POST(request: Request) {
category: 'project',
idContent: data.id,
title: 'Kegiatan Baru',
desc: 'Terdapat kegiatan baru. Silakan periksa detailnya.'
desc: title
}))
const dataPush = memberNotif.map((v: any) => ({
@@ -323,7 +323,7 @@ export async function POST(request: Request) {
category: 'project',
idContent: data.id,
title: 'Kegiatan Baru',
desc: 'Terdapat kegiatan baru. Silakan periksa detailnya.'
desc: title
})
dataPush.push({
@@ -370,7 +370,7 @@ export async function POST(request: Request) {
category: 'project',
idContent: data.id,
title: 'Kegiatan Baru',
desc: 'Terdapat kegiatan baru. Silakan periksa detailnya.'
desc: title
}))
const omitPush = atasanGroup.map((v: any) => ({
@@ -387,7 +387,7 @@ export async function POST(request: Request) {
const dataNotifFilter = dataNotif.filter((item) => item.idUserTo != undefined && item.idUserTo != null && item.idUserTo != "" && item.idUserTo != userId)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Kegiatan Baru', body: 'Terdapat kegiatan baru. Silakan periksa detailnya.' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Kegiatan Baru', body: title } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
})
@@ -396,7 +396,7 @@ export async function POST(request: Request) {
await sendFCMNotificationMany({
token: tokenUnique,
title: "Kegiatan Baru",
body: "Anda memiliki kegiatan baru. Silakan periksa detailnya.",
body: title,
data: { id: data.id, category: "project", content: data.id }
})

View File

@@ -267,8 +267,8 @@ export async function POST(request: Request) {
idUserFrom: String(userMobile.id),
category: 'division/' + idDivision + '/task',
idContent: data.id,
title: 'Tugas Baru',
desc: 'Terdapat tugas baru. Silakan periksa detailnya.'
title: 'Tugas Divisi Baru',
desc: title
}))
const dataPush = memberDivision.map((v: any) => ({
@@ -306,8 +306,8 @@ export async function POST(request: Request) {
idUserFrom: userId,
category: 'division/' + idDivision + '/task',
idContent: data.id,
title: 'Tugas Baru',
desc: 'Terdapat tugas baru. Silakan periksa detailnya.'
title: 'Tugas Divisi Baru',
desc: title
})
dataPush.push({
@@ -345,8 +345,8 @@ export async function POST(request: Request) {
idUserFrom: userId,
category: 'division/' + idDivision + '/task',
idContent: data.id,
title: 'Tugas Baru',
desc: 'Terdapat tugas baru. Silakan periksa detailnya.'
title: 'Tugas Divisi Baru',
desc: title
})
dataPush.push({
@@ -358,7 +358,7 @@ export async function POST(request: Request) {
const dataNotifFilter = dataNotif.filter((v: any) => v.idUserTo != undefined && v.idUserTo != null && v.idUserTo != "" && v.idUserTo != userId)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: 'Terdapat tugas baru. Silakan periksa detailnya.', title: 'Tugas Baru' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: title, title: 'Tugas Divisi Baru' } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
})
@@ -366,8 +366,8 @@ export async function POST(request: Request) {
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");
await sendFCMNotificationMany({
token: tokenUnique,
title: "Tugas Baru",
body: "Anda memiliki tugas baru. Silakan periksa detailnya.",
title: "Tugas Divisi Baru",
body: title,
data: { id: data.id, category: 'division/' + idDivision + '/task', content: data.id }
})

View File

@@ -262,7 +262,7 @@ export async function POST(request: Request) {
category: 'project',
idContent: data.id,
title: 'Kegiatan Baru',
desc: 'Terdapat kegiatan baru. Silakan periksa detailnya.'
desc: title
}))
const dataPush = memberNotif.map((v: any) => ({
@@ -294,7 +294,7 @@ export async function POST(request: Request) {
category: 'project',
idContent: data.id,
title: 'Kegiatan Baru',
desc: 'Terdapat kegiatan baru. Silakan periksa detailnya.'
desc: title
})
dataPush.push({
@@ -330,7 +330,7 @@ export async function POST(request: Request) {
category: 'project',
idContent: data.id,
title: 'Kegiatan Baru',
desc: 'Terdapat kegiatan baru. Silakan periksa detailnya.'
desc: title
}))
const omitPush = atasanGroup.map((v: any) => ({
@@ -346,7 +346,7 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Kegiatan Baru', body: 'Terdapat kegiatan baru. Silakan periksa detailnya.' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Kegiatan Baru', body: title } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotif
})

View File

@@ -253,8 +253,8 @@ export async function POST(request: Request) {
idUserFrom: String(user.id),
category: 'division/' + idDivision + '/task',
idContent: data.id,
title: 'Tugas Baru',
desc: 'Terdapat tugas baru. Silakan periksa detailnya.'
title: 'Tugas Divisi Baru',
desc: title
}))
const dataPush = memberDivision.map((v: any) => ({
@@ -285,8 +285,8 @@ export async function POST(request: Request) {
idUserFrom: userId,
category: 'division/' + idDivision + '/task',
idContent: data.id,
title: 'Tugas Baru',
desc: 'Terdapat tugas baru. Silakan periksa detailnya.'
title: 'Tugas Divisi Baru',
desc: title
})
dataPush.push({
@@ -317,8 +317,8 @@ export async function POST(request: Request) {
idUserFrom: userId,
category: 'division/' + idDivision + '/task',
idContent: data.id,
title: 'Tugas Baru',
desc: 'Terdapat tugas baru. Silakan periksa detailnya.'
title: 'Tugas Divisi Baru',
desc: title
})
dataPush.push({
@@ -329,13 +329,12 @@ export async function POST(request: Request) {
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: 'Terdapat tugas baru. Silakan periksa detailnya.', title: 'Tugas Baru' } })
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: title, title: 'Tugas Divisi Baru' } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotif
})
// create log user
// create log userc
const log = await createLogUser({ act: 'CREATE', desc: 'User membuat tugas divisi baru', table: 'divisionProject', data: data.id })

View File

@@ -2,7 +2,7 @@ import { NextResponse } from "next/server";
export async function GET(request: Request) {
try {
return NextResponse.json({ success: true, version: "2.0.3", tahap: "beta", update: "-api mobile; -login tanpa otp (mobile app); -tambah laporan pada project dan tugas divisi; -tambah upload link pada project dan tugas divisi; -tambah detail tanggal dan jam pada project dan tugas divisi; -api jenna ai; -privacy policy" }, { status: 200 });
return NextResponse.json({ success: true, version: "2.0.4", tahap: "beta", update: "-api mobile; -login tanpa otp (mobile app); -tambah laporan pada project dan tugas divisi; -tambah upload link pada project dan tugas divisi; -tambah detail tanggal dan jam pada project dan tugas divisi; -api jenna ai; -privacy policy" }, { status: 200 });
} catch (error) {
console.error(error);
return NextResponse.json({ success: false, version: "Gagal mendapatkan version, coba lagi nanti (error: 500)", reason: (error as Error).message, }, { status: 500 });