Skip to content

Commit

Permalink
Merge pull request #472 from rl404/develop
Browse files Browse the repository at this point in the history
fix: handle not using firebase
  • Loading branch information
rl404 committed Feb 8, 2024
2 parents b25f3c0 + 8df4e15 commit 8b85b29
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
24 changes: 16 additions & 8 deletions app/api/firebase/formula/[user]/[type]/route.ts
Expand Up @@ -3,16 +3,24 @@ import { DefaultFormula } from '@/src/utils/formula';

export type Data = string;

const database = admin.database();

export async function GET(_: Request, { params }: { params: { user: string; type: string } }) {
const snapshot = await database.ref(`/formulas/${params.user}/${params.type}`).once(`value`);
if (snapshot.exists()) return Response.json(snapshot.val());
return Response.json(DefaultFormula);
try {
const database = admin.database();
const snapshot = await database.ref(`/formulas/${params.user}/${params.type}`).once(`value`);
if (snapshot.exists()) return Response.json(snapshot.val());
return Response.json(DefaultFormula);
} catch (err) {
return Response.json(DefaultFormula);
}
}

export async function POST(request: Request, { params }: { params: { user: string; type: string } }) {
const { formula } = await request.json();
await database.ref(`/formulas/${params.user}/${params.type}`).set(formula);
return Response.json(formula);
try {
const { formula } = await request.json();
const database = admin.database();
await database.ref(`/formulas/${params.user}/${params.type}`).set(formula);
return Response.json(formula);
} catch (err) {
return Response.json(DefaultFormula);
}
}
17 changes: 10 additions & 7 deletions src/utils/firebase.ts
@@ -1,12 +1,15 @@
import admin from 'firebase-admin';

const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT || '{}');

if (!admin.apps.length) {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: process.env.FIREBASE_DATABASE_URL,
});
if (process.env.FIREBASE_SERVICE_ACCOUNT) {
const serviceAccount = JSON.parse(process.env.FIREBASE_SERVICE_ACCOUNT || '{}');
if (!admin.apps.length) {
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: process.env.FIREBASE_DATABASE_URL,
});
}
} else {
console.log('not using firebase');
}

export default admin;

0 comments on commit 8b85b29

Please sign in to comment.