@joktec/firebase
v0.2.17
Published
JokTec - Firebase Admin Service
Readme
@joktec/firebase
Firebase Admin integration package for JokTec applications.
@joktec/firebase wraps Firebase Admin SDK initialization with JokTec config parsing, lifecycle hooks, and typed accessors for Firebase app services.
What It Provides
FirebaseModuleglobal Nest module.FirebaseServicebuilt onAbstractClientService.- Firebase credential and app option config models.
- Firebase client interface.
- Accessors for Auth, Realtime Database, Messaging, Storage, and Firestore.
Install
yarn add @joktec/firebaseUsage
import { FirebaseModule, FirebaseService } from '@joktec/firebase';
@Module({
imports: [FirebaseModule],
})
export class AppModule {}Inject FirebaseService into app services:
const user = await firebaseService.auth().getUser(uid);
await firebaseService.messaging().send({
token,
notification: { title: 'Welcome', body: 'Hello from JokTec' },
});Config
Configure the firebase section in the application config. Credentials may be supplied as a path or structured credential object.
firebase:
conId: default
credential: ./_credentials/firebase-cert.json
databaseURL: https://example.firebaseio.com
storageBucket: example.appspot.com
projectId: example-projectStructured credential object:
firebase:
conId: default
credential:
projectId: example-project
clientEmail: [email protected]
privateKey: ${FIREBASE_PRIVATE_KEY}Guidelines
- Do not commit real service account JSON files or private keys.
- Use ignored local credential files or environment-specific secret injection.
- Keep Firebase domain workflows in the consuming app.
- Package tests mock
firebase-admin; use live checks only in controlled integration environments.
Development
yarn lint --scope @joktec/firebase
yarn build --scope @joktec/firebase
yarn test --scope @joktec/firebase