Initial commit

This commit is contained in:
meusinfirmary
2025-04-22 14:31:37 +07:00
commit b7e852126c
115 changed files with 23188 additions and 0 deletions

72
library/LibFirebase.js Normal file
View File

@ -0,0 +1,72 @@
const fs = require('fs');
const path = require("path");
const firebase = require('firebase-admin');
// const account = fs.readFileSync(path.join(__dirname, '../files/keys/bingcorp-tracker-firebase-adminsdk-7tcet-7399bbf4fc.json')); // jadinya buffer
const account = require(path.join(__dirname, '../files/keys/bingcorp-tracker-firebase-adminsdk-7tcet-7399bbf4fc.json')); // langsung json
const firebaseAdmin = firebase.initializeApp({
credential: firebase.credential.cert(account),
databaseURL: 'https://bingcorp-tracker-default-rtdb.asia-southeast1.firebasedatabase.app',
});
class LibFirebase {
static upLocActiveOrder = 1;
static upPhotoOtwDrop = 2;
static upLocIdle = 3;
static scTfMoney = 6; // success transfer pocket money to driver
static blastNotif = 7; // notif per 6jam semua driver baik ada order / kaga
firebaseAdmin = null;
firebaseInit() {
const firebase = require('firebase-admin');
// const account = fs.readFileSync(path.join(__dirname, '../files/keys/bingcorp-tracker-firebase-adminsdk-7tcet-7399bbf4fc.json')); // jadinya buffer
const account = require(path.join(__dirname, '../files/keys/bingcorp-tracker-firebase-adminsdk-7tcet-7399bbf4fc.json')); // langsung json
return firebase.initializeApp({
credential: firebase.credential.cert(account),
databaseURL: 'https://bingcorp-tracker-default-rtdb.asia-southeast1.firebasedatabase.app',
});
}
/**
* https://firebase.google.com/docs/cloud-messaging/send-message
* https://firebase.google.com/docs/reference/admin/node/firebase-admin.messaging.messaging#messagingsendtodevice
*
* https://firebase.google.com/docs/reference/admin/node/firebase-admin.messaging.messagingoptions.md#messagingoptions_interface
*/
sendToDevice(registrationToken = '', payload = {}, options = {}) {
// const obj = this;
return new Promise(async (resolve, reject) => {
try {
// console.log('check value => ', obj.firebaseAdmin);
// if (obj.firebaseAdmin === null) {
// // obj.firebaseAdmin = this.firebaseInit();
// obj.firebaseAdmin = 'udah di assign';
// }
// console.log('check value => ', obj.firebaseAdmin);
if (!options['priority']) {
options.priority = 'normal';
}
if (!options['timeToLive']) {
options.timeToLive = 60 * 60 * 24;
}
const response = await firebaseAdmin.messaging().sendToDevice(registrationToken, payload, options);
resolve(response);
// {
// results: [ { error: [FirebaseMessagingError] } ],
// canonicalRegistrationTokenCount: 0,
// failureCount: 1,
// successCount: 0,
// multicastId: 7795206774601661000
// }
} catch (err) {
console.log('error sending message');
reject(err);
}
});
}
}
module.exports = LibFirebase;