looood / src /lib /firebase-admin.ts
looda3131's picture
Clean push without any binary history
cc276cc
import { initializeApp, getApps, App, cert, ServiceAccount } from 'firebase-admin/app';
import { getDatabase } from 'firebase-admin/database';
import { getFirestore } from 'firebase-admin/firestore';
import { getMessaging } from 'firebase-admin/messaging';
import serviceAccount from '@/../service-account.json';
let adminApp: App;
if (!getApps().length) {
console.log("Firebase Admin SDK: Initializing a new app instance.");
adminApp = initializeApp({
credential: cert(serviceAccount as ServiceAccount),
databaseURL: "https://whisperlink-2moar-default-rtdb.firebaseio.com",
});
} else {
console.log("Firebase Admin SDK: Using existing app instance.");
adminApp = getApps()[0];
}
const adminDb = getDatabase(adminApp);
const adminFirestore = getFirestore(adminApp);
const adminMessaging = getMessaging(adminApp);
export { adminApp, adminDb, adminFirestore, adminMessaging };