@mmpg-soft/server-admin
TypeScript icon, indicating that this package has built-in type declarations

1.1.20 • Public • Published
mmpg logo

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.

Readme

Keywords

Package Sidebar

Install

npm i @mmpg-soft/server-admin

Weekly Downloads

11

Version

1.1.20

License

MIT

Unpacked Size

53.7 kB

Total Files

39

Last publish

Collaborators

  • sketchdotnet
  • oussama_khalfi
  • mgross