# @moralisweb3/parse-server

> # Parse Server Moralis Streams

Latest version **2.27.2** (published 2024-08-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install @moralisweb3/parse-server
pnpm add @moralisweb3/parse-server
yarn add @moralisweb3/parse-server
bun add @moralisweb3/parse-server
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.27.2 |
| Published | 2024-08-12 |
| First published | 2022-10-28 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 27.3 KB |
| Known vulnerabilities | 0 (+2 in 1 direct dependencies) |
| Install scripts | no |
| Author | Moralis |
| Maintainers | locothedev, ernow, cicdmoralis, y0moo, capplequoppe, gerardo15, ivanontech |

## Links

- npm: https://www.npmjs.com/package/@moralisweb3/parse-server
- npm.io page: https://npm.io/package/@moralisweb3/parse-server

## Dependencies (8)

- [parse](https://npm.io/package/parse.md) 3.4.4
- [express](https://npm.io/package/express.md) ^4.18.1
- [moralis](https://npm.io/package/moralis.md) ^2.27.2
- [body-parser](https://npm.io/package/body-parser.md) ^1.20.0
- [@moralisweb3/streams](https://npm.io/package/@moralisweb3/streams.md) ^2.27.2
- [@moralisweb3/api-utils](https://npm.io/package/@moralisweb3/api-utils.md) ^2.27.2
- [@moralisweb3/common-core](https://npm.io/package/@moralisweb3/common-core.md) ^2.27.2
- [@moralisweb3/streams-typings](https://npm.io/package/@moralisweb3/streams-typings.md) ^1.0.6

## Recent versions

- 2.27.2 (latest) — 2024-08-12
- 2.27.1 — 2024-07-31
- 2.27.0 — 2024-07-26
- 2.26.9 — 2024-07-12
- 2.26.8 — 2024-07-05
- 2.26.7 — 2024-06-26
- 2.26.6 — 2024-06-24
- 2.26.5 — 2024-06-18
- 2.26.4 — 2024-06-10
- 2.26.3 — 2024-06-04
- 2.26.2 — 2024-05-17
- 2.26.1 — 2024-04-19
- 2.26.0 — 2024-04-18
- 2.25.4 — 2024-04-11
- 2.25.3 — 2024-04-11
- … 47 more at https://npm.io/package/@moralisweb3/parse-server/versions

## README

# @moralisweb3/parse-server

# Parse Server Moralis Streams

This Plugin adapts parse-server to support [streams](https://docs.moralis.io/docs/what-is-streams-api-1)

# 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:

```bash
yarn add parse-server
```

Then add moralis parse server plugin:

```bash
yarn add @moralisweb3/parse-server
```

## Setup parse server

Initialize parse server in your express app:

```javascript
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:

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

```

the initializeStreams function takes the following options:
- the parse server instance
- Other options

```typescript
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

```typescript
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](https://github.com/MoralisWeb3/Moralis-JS-SDK/tree/main/demos/parse-server-migration)

---
_Source: https://npm.io/package/@moralisweb3/parse-server · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
