mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-16 08:20:14 +01:00
* 🧹 chore: Update logger imports to use @librechat/data-schemas across multiple files and remove unused sleep function from queue.js (#9930) * chore: Replace local isEnabled utility with @librechat/api import across multiple files, update test files * chore: Replace local logger import with @librechat/data-schemas logger in countTokens.js and fork.js * chore: Update logs volume path in docker-compose.yml to correct directory * chore: import order of isEnabled in static.js
39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
const firebase = require('firebase/app');
|
|
const { getStorage } = require('firebase/storage');
|
|
const { logger } = require('@librechat/data-schemas');
|
|
|
|
let i = 0;
|
|
let firebaseApp = null;
|
|
|
|
const initializeFirebase = () => {
|
|
// Return existing instance if already initialized
|
|
if (firebaseApp) {
|
|
return firebaseApp;
|
|
}
|
|
|
|
const firebaseConfig = {
|
|
apiKey: process.env.FIREBASE_API_KEY,
|
|
authDomain: process.env.FIREBASE_AUTH_DOMAIN,
|
|
projectId: process.env.FIREBASE_PROJECT_ID,
|
|
storageBucket: process.env.FIREBASE_STORAGE_BUCKET,
|
|
messagingSenderId: process.env.FIREBASE_MESSAGING_SENDER_ID,
|
|
appId: process.env.FIREBASE_APP_ID,
|
|
};
|
|
|
|
if (Object.values(firebaseConfig).some((value) => !value)) {
|
|
i === 0 && logger.info('[Optional] CDN not initialized.');
|
|
i++;
|
|
return null;
|
|
}
|
|
|
|
firebaseApp = firebase.initializeApp(firebaseConfig);
|
|
logger.info('Firebase CDN initialized');
|
|
return firebaseApp;
|
|
};
|
|
|
|
const getFirebaseStorage = () => {
|
|
const app = initializeFirebase();
|
|
return app ? getStorage(app) : null;
|
|
};
|
|
|
|
module.exports = { initializeFirebase, getFirebaseStorage };
|