4 Commits

Author SHA1 Message Date
7e80a1f311 Merge pull request 'fix:api mobile' (#57) from amalia/06-okt-25 into join
Reviewed-on: bip/sistem-desa-mandiri#57
2025-10-06 17:23:56 +08:00
b648735b06 fix:api mobile
Deskripsi:
- filter notif duplikat pada fitur pengumuman, diskusi umum, diskusi divisi, divisi, kegiatan dan tugas divisi

NO Issues
2025-10-06 17:08:07 +08:00
a3d8bf1e92 Merge pull request 'upd: home api mobile' (#56) from amalia/03-okt-25 into join
Reviewed-on: bip/sistem-desa-mandiri#56
2025-10-03 17:32:20 +08:00
c2c52ed5fd upd: home api mobile 2025-10-03 16:53:31 +08:00
7 changed files with 39 additions and 14 deletions

View File

@@ -255,15 +255,20 @@ export async function POST(request: Request) {
const dataNotifFilter = dataNotif.filter((v: any) => v.idUserTo != undefined && v.idUserTo != null && v.idUserTo != "" && v.idUserTo != userId)
const dataNotifFilterUnique = dataNotifFilter
.filter((v: any, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.idUserTo == v.idUserTo)
)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Pengumuman Baru', body: title } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
data: dataNotifFilterUnique
})
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");
await sendFCMNotificationMany({
token: tokenUnique,
title: "Pengumuman Baru",

View File

@@ -210,9 +210,13 @@ export async function POST(request: Request) {
}
dataNotif.filter((v: any) => v.idUserTo != undefined && v.idUserTo != null && v.idUserTo != "" && v.idUserTo != userId)
const dataNotifUnique = dataNotif
.filter((v: any, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.idUserTo == v.idUserTo)
)
const insertNotif = await prisma.notifications.createMany({
data: dataNotif
data: dataNotifUnique
})
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");

View File

@@ -263,12 +263,16 @@ export async function POST(request: Request) {
}
const dataNotifFilter = dataNotif.filter((v: any) => v.idUserTo != undefined && v.idUserTo != null && v.idUserTo != "" && v.idUserTo != userId)
const dataNotifFilterUnique = dataNotifFilter
.filter((v: any, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.idUserTo == v.idUserTo)
)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: deskripsiNotif, title: 'Diskusi Baru' } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
data: dataNotifFilterUnique
})
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");

View File

@@ -314,12 +314,16 @@ export async function POST(request: Request) {
}
const dataNotifFilter = dataNotif.filter((v: any) => v.idUserTo != undefined && v.idUserTo != null && v.idUserTo != "" && v.idUserTo != userId)
const dataNotifFilterUnique = dataNotifFilter
.filter((v: any, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.idUserTo == v.idUserTo)
)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
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
data: dataNotifFilterUnique
})
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");

View File

@@ -425,19 +425,19 @@ export async function GET(request: Request) {
isActive: true,
status: 1,
idVillage: idVillage
},
}
kondisi = {
kondisi = {
isActive: true,
status: 1,
Division: {
isActive: true,
status: 1,
Division: {
idVillage: idVillage,
Group: {
isActive: true,
idVillage: idVillage,
Group: {
isActive: true,
}
}
}
}
} else {
kondisiUmum = {
isActive: true,

View File

@@ -385,11 +385,15 @@ export async function POST(request: Request) {
}
const dataNotifFilter = dataNotif.filter((item) => item.idUserTo != undefined && item.idUserTo != null && item.idUserTo != "" && item.idUserTo != userId)
const dataNotifFilterUnique = dataNotifFilter
.filter((v: any, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.idUserTo == v.idUserTo)
)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { title: 'Kegiatan Baru', body: title } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
data: dataNotifFilterUnique
})
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");

View File

@@ -356,11 +356,15 @@ export async function POST(request: Request) {
}
const dataNotifFilter = dataNotif.filter((v: any) => v.idUserTo != undefined && v.idUserTo != null && v.idUserTo != "" && v.idUserTo != userId)
const dataNotifFilterUnique = dataNotifFilter
.filter((v: any, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.idUserTo == v.idUserTo)
)
const pushNotif = dataPush.filter((item) => item.subscription != undefined)
const sendWebPush = await funSendWebPush({ sub: pushNotif, message: { body: title, title: 'Tugas Divisi Baru' } })
const insertNotif = await prisma.notifications.createMany({
data: dataNotifFilter
data: dataNotifFilterUnique
})
const tokenUnique = [...new Set(tokenDup.flat())].filter((v: any) => v != undefined && v != null && v != "");