Travis tests: https://travis-ci.org/owsas/parse-server-addon-cloud-algolia
Keeps in sync your database with Algolia, adding new behaviours on the afterSave
and afterDelete
functions on the Cloud Code.
This is an addon for ParseCloudClass, and parse-server
npm install --save parse-server-addon-cloud-class-algolia
Note: This package is Typescript friendly and comes with Intellisense :)
- Adds new objects in your class to algolia
- Updates the objects in algolia when they change
- Deletes the objects in algolia as they get removed from your database
- Works for both PostgresSQL and MongoDB
This package requires you to check first parse-server-addon-cloud-class
and how it works.
// cloud/main.js
import {
ParseCloudClass
} from 'parse-server-addon-cloud-class';
import {
AlgoliaCloudAddon
} from 'parse-server-addon-cloud-class-algolia';
const algoliaAddon = new AlgoliaCloudAddon()
// initialize this with your credentials
.initialize('ALGOLIA_APP_ID', 'ALGOLIA_KEY', 'INDEX_NAME')
// set the keys you want to index in algolia
// for each of your objects
.setKeysToIndex([ 'name', 'location', 'numShares', 'otherObj' ]);
// Now we create the configuration for our class. For more information, refer to its docs
// here: https://github.com/owsas/parse-cloud-class
const classConfig = new ParseCloudClass();
classConfig.useAddon(algoliaAddon);
// Now we finish configuring the class to
// use our given configuration
ParseCloudClass.configureClass(Parse, 'MyParseClass', classConfig);
You will have a sync between your desired Parse class, stored in PostgreSQL or MongoDB and Algolia for efficient searching.
This addon will setup the following hooks:
- afterSave
- afterDelete
You can easily extend the Algolia Cloud Addon as it is a normal Javascript class, doing the following:
import {
AlgoliaCloudAddon
} from 'parse-server-addon-cloud-class-algolia';
export class MyModified extends AlgoliaCloudAddon {
// your new implementations to the lyfecycle functions
}
Note: Check all the possibilities here
Developed by Juan Camilo Guarín Peñaranda,
Otherwise SAS, Colombia
2017
MIT.