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 };