@mmpg-soft/server-admin
v1.1.20
Published
MMPG Softwares server admin library
Downloads
2
Keywords
Readme
Introduction
MMPG Softwares server admin
MMPG Softwares server admin library
Getting started
Install the package with npm by running: npm install @mmpg-soft/server-admin@latest
Requirements
This package requires:
- Next js
- Firebase Admin SDK
How to use it
In order to be able to use this package, you need to adhere to the following instructions
firebase-admin.config.ts
In your firebase admin sdk config file, define your firestore database id in the function setServerFirestoreDatabaseId("YourFirestoreDatabaseId")
Example:
import { setServerFirestoreDatabaseId } from '@mmpg-soft/server-admin';
import {
cert,
getApp,
getApps,
initializeApp,
AppOptions,
} from 'firebase-admin/app';
import { firestoreDatabaseId } from './firebase';
export const firebaseAdminConfig = {
type: process.env.NEXT_FIREBASE_ADMIN_TYPE,
project_id: process.env.NEXT_FIREBASE_ADMIN_PROJECT_ID,
private_key_id: process.env.NEXT_FIREBASE_ADMIN_PRIVATE_KEY_ID,
private_key: process.env.NEXT_FIREBASE_ADMIN_PRIVATE_KEY,
client_email: process.env.NEXT_FIREBASE_ADMIN_CLIENT_EMAIL,
client_id: process.env.NEXT_FIREBASE_ADMIN_CLIENT_ID,
auth_uri: process.env.NEXT_FIREBASE_ADMIN_AUTH_URI,
token_uri: process.env.NEXT_FIREBASE_ADMIN_TOKEN_URI,
auth_provider_x509_cert_url:
process.env.NEXT_FIREBASE_ADMIN_AUTH_PROVIDER_X509_CERT_URL,
client_x509_cert_url: process.env.NEXT_FIREBASE_ADMIN_CLIENT_X509_CERT_URL,
universe_domain: process.env.NEXT_FIREBASE_ADMIN_UNIVERSE_DOMAIN,
} as AppOptions;
export const initFirebaseAdminApp = () => {
setServerFirestoreDatabaseId(firestoreDatabaseId);
if (getApps().length > 0) {
return getApp();
}
const credential = cert(firebaseAdminConfig);
return initializeApp({ credential });
};
api/yourRoute/route.ts
In all your project api routes, you need to call the function initFirebaseAdminApp()
import { initFirebaseAdminApp } from '@/config/firebase-admin';
import { NextRequest } from 'next/server';
export async function GET(request: NextRequest) {
initFirebaseAdminApp();
...
}
After fullfilling all the prerequesties, you can start using all the package features.