open-index/open-npm huggingface dataset:
npm package: @mmpg-soft/server-admin
Description: MMPG Softwares server admin library
Author: MMPG Softwares
Latest version: 1.1.20

<div align="center">
    <img src="https://mmpg.xyz/images/logo.png" alt="mmpg logo">
</div>
<br>

# 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.
npm package: @mmpro/ac-bootstrap-bull
Description: Bull helper
Author: Mark Poepping
Latest version: 0.1.21

# AdmiralCloud Bull Queue List
This helper initialitzes Bull lists and helper functions and makes them available on a globally scoped variable.

# Usage
```
const bullOptions = {
  activateListeners: true/false,
  worker: BatchProcessCollector, // optional module that has all worker functions available
  handlers: {
    'global:completed': BullHelper // optional module that reacts to global:completed events - functions in there must be named after the jobList name (e.g. sendEmail)
  },
  jobLists: [{
    jobList: 'sendEmail',
    enabled: true
  }, ...]
}

// acapi should be globally available throughout your app to access Bull functions
const acapi = {}
// make bull (and bull helper functions) available on acapi.bull
acapi.bull = acbBull(acapi)
// init the bull lists
acapi.bull.init(bullOptions, done)
```

Also make sure to initialize redis-lock (https://github.com/mmpro/ac-redislock) in your application:
```
redisLock.init({
  redis: acapi.redis.acEvents, // redis server instance
  logger: acapi.log, // logger instance (winston)
  logLevel: 'silly'
})
```

TBC
npm package: @mmpro/ac-bootstrap-elasticsearch
Description: Elasticsearch init for AC apps
Author: Mark Poepping
Latest version: 1.0.7
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# AdmiralCloud ElasticSearch Connector
This helper initialitzes ElastistSearch instances and makes them available on a global variable 

# Usage
```
const esOptions = {
  servers: [
    { server: 'cluster', host: 'localhost', port: 9243, auth: 'username:password', apiVersion: '7.1', protocol: 'https' }
  ],
  indices: [
    { model: 'books', type: 'item', indexInfix: 'books', server: 'cluster', resetForTest: true, instance: 'books' }
  ]
}


TBC