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