Spaces:
Running
Running
Update app.js
Browse files
app.js
CHANGED
|
@@ -7,24 +7,20 @@ import fs from 'fs';
|
|
| 7 |
import admin from 'firebase-admin';
|
| 8 |
|
| 9 |
// --- FIREBASE SETUP ---
|
| 10 |
-
//
|
| 11 |
let db = null;
|
| 12 |
try {
|
| 13 |
-
|
| 14 |
-
// exactly like the serviceAccountKey.json contents
|
| 15 |
-
|
| 16 |
-
if (process.env.FIREBASE_SERVICE_ACCOUNT_JSON !== "") {
|
| 17 |
const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT_JSON);
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
admin.initializeApp({
|
| 21 |
credential: admin.credential.cert(serviceAccount),
|
| 22 |
-
|
|
|
|
| 23 |
});
|
| 24 |
db = admin.database();
|
| 25 |
console.log("🔥 Firebase Connected");
|
| 26 |
} else {
|
| 27 |
-
console.warn("⚠️ No
|
| 28 |
}
|
| 29 |
} catch (e) {
|
| 30 |
console.error("Firebase Init Error:", e);
|
|
@@ -41,7 +37,6 @@ app.use(bodyParser.json({ limit: '50mb' }));
|
|
| 41 |
|
| 42 |
// --- HELPERS ---
|
| 43 |
const validateRequest = (req, res, next) => {
|
| 44 |
-
// For Onboarding, IDs might be generated on the fly, so we skip rigid validation there
|
| 45 |
if (req.path.includes('/onboarding')) return next();
|
| 46 |
|
| 47 |
const { userId, projectId } = req.body;
|
|
|
|
| 7 |
import admin from 'firebase-admin';
|
| 8 |
|
| 9 |
// --- FIREBASE SETUP ---
|
| 10 |
+
// Using environment variable injection as requested
|
| 11 |
let db = null;
|
| 12 |
try {
|
| 13 |
+
if (process.env.FIREBASE_SERVICE_ACCOUNT_JSON && process.env.FIREBASE_SERVICE_ACCOUNT_JSON !== "") {
|
|
|
|
|
|
|
|
|
|
| 14 |
const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT_JSON);
|
| 15 |
+
admin.initializeApp({
|
|
|
|
|
|
|
| 16 |
credential: admin.credential.cert(serviceAccount),
|
| 17 |
+
// Make sure to replace this URL or add it to env variables as well
|
| 18 |
+
databaseURL: "https://roblox-ai-builder.firebaseio.com"
|
| 19 |
});
|
| 20 |
db = admin.database();
|
| 21 |
console.log("🔥 Firebase Connected");
|
| 22 |
} else {
|
| 23 |
+
console.warn("⚠️ No FIREBASE_SERVICE_ACCOUNT_JSON found. Running in Memory-Only mode.");
|
| 24 |
}
|
| 25 |
} catch (e) {
|
| 26 |
console.error("Firebase Init Error:", e);
|
|
|
|
| 37 |
|
| 38 |
// --- HELPERS ---
|
| 39 |
const validateRequest = (req, res, next) => {
|
|
|
|
| 40 |
if (req.path.includes('/onboarding')) return next();
|
| 41 |
|
| 42 |
const { userId, projectId } = req.body;
|