@mmpg-soft/server-admin
v1.1.20
Published
MMPG Softwares server admin library
Downloads
20
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.