/** * prod Firebase Admin 부트스트랩(side-effect 모듈). * * 반드시 src/* 모듈보다 "먼저" import해야 한다 — 그래야 src/firebase의 * initializeApp()가 재실행되지 않고 여기서 만든 앱(projectId·databaseURL 지정)을 * 재사용한다. 자격증명은 ADC(applicationDefault)를 쓴다: * gcloud auth application-default login * 또는 GOOGLE_APPLICATION_CREDENTIALS=<서비스계정.json> * * 도구는 RTDB를 쓰지 않지만 src/firebase가 getDatabase()를 호출하므로 * databaseURL이 없으면 import 시점에 throw한다 — 그래서 형식상 URL을 채워준다. */ import { initializeApp, getApps } from "firebase-admin/app"; const projectId = process.env.FIREBASE_PROJECT ?? process.env.GCLOUD_PROJECT ?? "mmday-panit"; const databaseURL = process.env.FIREBASE_DATABASE_URL ?? `https://${projectId}-default-rtdb.firebaseio.com`; if (getApps().length === 0) { initializeApp({ projectId, databaseURL }); } export const BOOTSTRAP_PROJECT = projectId;