@moralisweb3/parse-server
TypeScript icon, indicating that this package has built-in type declarations

2.27.2 • Public • Published

@moralisweb3/parse-server

Parse Server Moralis Streams

This Plugin adapts parse-server to support streams

Usage

Since parse server is runs on express, this plugin is a middleware that can be added to the express app.

Installations

First add parse-server to your express app:

yarn add parse-server

Then add moralis parse server plugin:

yarn add @moralisweb3/parse-server

Setup parse server

Initialize parse server in your express app:

import ParseServer from 'parse-server';
import config from './config';

export const parseServer = new ParseServer({
  databaseURI: config.DATABASE_URI,
  cloud: config.CLOUD_PATH,
  appId: config.APPLICATION_ID,
  masterKey: config.MASTER_KEY,
  serverURL: config.SERVER_URL,
});

Setup moralis parse server plugin

Then add the plugin to your express app:

import { streamsSync } from '@moralisweb3/parse-server';

the initializeStreams function takes the following options:

  • the parse server instance
  • Other options
interface StreamOptions {
  webhookUrl?: string;
  apiKey: string;
}
  • apiKey: Your Moralis API key
  • webhookUrl - the url of choice to receive the stream data (optional). default path is /streams-webhook

Putting all together

import Moralis from 'moralis';
import express from 'express';
import config from './config';
import { streamsSync } from '@moralisweb3/parse-server';

const expressApp = express();

Moralis.start({
  apiKey: config.MORALIS_API_KEY,
});

expressApp.use(express.urlencoded({ extended: true }));
expressApp.use(express.json());

expressApp.use(cors());

expressApp.use(
  streamsSync(parseServer, {
    apiKey: config.MORALIS_API_KEY,
    webhookUrl: '/streams-webhook',
  }),
);

expressApp.use(`/${config.SERVER_ENDPOINT}`, parseServer.app);
expressApp.use(errorHandler);

app.listen(config.PORT, () => {
  console.log(`${config.APP_NAME} is running on port ${config.PORT}`);
});

The endpoint to receive webhooks is YOUR_EXPRESSAPP_URL/SET_WEBHOOKURL. This is the URL that you should use when setting up a stream.

Done!

After you have configured the plugin and created a stream you can see the data in the dashboard. Note that the stream tag will be concatenated with Txs and Logs meaning if you have a tag called "MyStream" you will have two collections in DB called "MyStreamTxs" and "MyStreamLogs", which will contain the transactions and logs respectively.

Full example can be found here

Readme

Keywords

none

Package Sidebar

Install

npm i @moralisweb3/parse-server

Weekly Downloads

56

Version

2.27.2

License

MIT

Unpacked Size

27.9 kB

Total Files

22

Last publish

Collaborators

  • locothedev
  • ernow
  • cicdmoralis
  • y0moo
  • capplequoppe
  • gerardo15
  • ivanontech