From a8e921700603c67afce2a148d3a5408aacfc6814 Mon Sep 17 00:00:00 2001 From: amal Date: Wed, 2 Jul 2025 10:13:37 +0800 Subject: [PATCH] upd: fcm modifikasi --- src/app/api/mobile/announcement/route.ts | 13 ++++++++---- src/app/api/mobile/fcm/[[...slug]]/route.ts | 19 +++++++++--------- xsendMany.ts | 22 ++++++--------------- 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/src/app/api/mobile/announcement/route.ts b/src/app/api/mobile/announcement/route.ts index d475d75..2c826f5 100644 --- a/src/app/api/mobile/announcement/route.ts +++ b/src/app/api/mobile/announcement/route.ts @@ -101,10 +101,15 @@ export async function GET(request: Request) { })) // await sendFCMNotification('c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo') - await sendFCMNotificationMany([ - 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', - 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' - ]) + await sendFCMNotificationMany({ + token: [ + 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', + 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' + ], + title: "Judul Notifikasi Pengumuman", + body: "Pengumuman untuk perangkat", + data: { id: "cm1eqwkwj00067j2bzejyh9u7", category: "division", content: "cm1eqwkvu00017j2b8qnisp9g" } + }) return NextResponse.json({ success: true, message: "Berhasil mendapatkan pengumuman", data: allData, }, { status: 200 }); } catch (error) { diff --git a/src/app/api/mobile/fcm/[[...slug]]/route.ts b/src/app/api/mobile/fcm/[[...slug]]/route.ts index c1be658..8c06e71 100644 --- a/src/app/api/mobile/fcm/[[...slug]]/route.ts +++ b/src/app/api/mobile/fcm/[[...slug]]/route.ts @@ -6,16 +6,15 @@ const ApiV2 = new elysia({ prefix: "/api/mobile/fcm" }) .get("/", async () => { - - const token = [ - 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', - 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' - ] - // await sendFCMNotification('c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo') - await sendFCMNotificationMany([ - 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', - 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' - ]) + await sendFCMNotificationMany({ + token: [ + 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', + 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' + ], + title: "Judul Notifikasi Pengumuman", + body: "Pengumuman untuk perangkat", + data: { id: "cm1eqwkwj00067j2bzejyh9u7", category: "division", content: "cm1eqwkvu00017j2b8qnisp9g" } + }) return { data: "success elysia" }; diff --git a/xsendMany.ts b/xsendMany.ts index 708ac3e..72b05c5 100644 --- a/xsendMany.ts +++ b/xsendMany.ts @@ -7,9 +7,9 @@ const enc = "U2FsdGVkX1+ATdSSI7vdTGLCA8f6WjifHPoesp/SXL2VtKVRV4QkKjrU/CYBxWyA48n const decrypt = CryptoJs.AES.decrypt(enc, "amal").toString(CryptoJs.enc.Utf8) // Fungsi untuk mengirim notifikasi FCM -export async function sendFCMNotificationMany(token: string[]) { +export async function sendFCMNotificationMany({ token, title, body, data }: { token: string[], title: string, body: string, data: { id: string, category: string, content: string } }) { // const serviceAccount = await fs.readFile(path.join(process.cwd(), "key.json")); - if(getApps().length === 0){ + if (getApps().length === 0) { initializeApp({ credential: cert(JSON.parse(decrypt)), }); @@ -19,16 +19,11 @@ export async function sendFCMNotificationMany(token: string[]) { // Konfigurasi pesan const message = { notification: { - title: "Notifikasi Many Encrypted api downgrade", - body: "Isi notifikasi ke banyak device key diencrypt dan api downgrade", + title, + body, }, token, - data: { - id: 'cm1eqwkwj00067j2bzejyh9u7', - category: 'division', - content: 'cm1eqwkvu00017j2b8qnisp9g', - }, - // Opsional: konfigurasi Android + data, android: { priority: "high", notification: { @@ -57,9 +52,4 @@ export async function sendFCMNotificationMany(token: string[]) { console.error("Error mengirim notifikasi:", error); throw error; } -} - -// sendFCMNotificationMany([ -// 'c89yuexsS_uc1tOErVPu5a:APA91bEb6tEKXAfReZjFVJ2mMyOzoW_RXryLSnSJTpbIVV3G0L_DCNkLuRvJ02Ip-Erz88QCQBAt-C2SN8eCRxu3-v1sBzXzKPtDv-huXpkjXsyrkifqvUo', -// 'cRz96GHKTRaQaRJ35e8Hxa:APA91bEUSxE0VPbqKSzseQ_zGhbYsDofMexKykRw7o_3z2aPM9YFmZbeA2enrmb3qjdZ2g4-QQtiNHAyaZqAT1ITOrwo9jVJlShTeABmEFYP5GLEUZ3dlLc' -// ]) \ No newline at end of file +} \ No newline at end of file