communibase-connector-js --- a Node.js connector for the Communibase service
A general-purpose Communibase client for node.js projects. It is primarily a Singleton connector doing REST-calls on the Communibase API using a queuing system. It returns A+ promises for Communibase responses. Behaviour is reflected by a PHP-version that can be found at Github.
npm install --save communibase-connector-js
Make sure environment variable exists with your API-key called COMMUNIBASE_KEY
cbc = ;cbc;
When you need to connect using multiple Communibase API Keys for some reason, you need to 'clone' the connector per key.
cbc = ;
If you need to connect to a specific version of the endpoint, you may want to set a environment variable
COMMUNIBASE_API_URL= COMMUNIBASE_API_HOST=api.communibase.nl node script.js
The following methods exists, all returning a promise for a result.
"selectors" may be provided MongoDb style.
"params" is a key value store for e.g. fields, limit, page and/or sort . See API docs for more details.
includeMetadata will set a metadata-property on the promise, when available.
cbc: Promise for Entity;cbc: Promise for Entity;cbc: Promise for Entity;cbc: Promise for id;cbc: Promise for id;cbc: Promise for Entity;cbc: Promise for Entity;cbc: Promise for null;cbc: Promise for null;
"firstName": "Tim""addresses":"street": "Breestraat"
update-Promise may be rejected if an entity is not considered valid. The Error has one or more of the following properties:
"message": <a simplified error-string>"code": <http response code of API>"errors":"field": "<string>""message": "<string>"...
cbc : Stream;
First, find the _id of both the document and the version you are looking for. To find all available versions of a specific document, use
cbc : Promise for VersionInformation;
Alternatively, you can search the entire history of documents to look for specific properties. e.g.
//Lookup all versions of any person (even deleted documents) ever with first name Tim.cbc: Promise for VersionInformation
VersionInformation has the following structure
With an _id and a refId, we can lookup that specific version via the API
cbc : Promise for version of document;
Aggregate document data via Mongodb pipeline. For more information, see http://docs.mongodb.org/manual/core/aggregation-pipeline/
cbc;//Example:var participantCounters = cbc;
A DocumentReference is a unified specification to point to some other (sub-)doucment within the administration. A DocumentReference looks like:
rootDocumentId: '524aca8947bd91000600000c'rootDocumentEntityType: 'Person'path:field: 'addresses'objectId: '53440792463cda7161000003'...
The contents will be parsed and the requested data will be retrieved.
The connector may cache documents locally. To enable in-memory cache for a certain instance of the connector:
Contact Kingsquare for these values in your particular scenario and use with caution: BEWARE of excessive memory usage!