File size: 916 Bytes
cc276cc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

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