courtbot-engine
v1.6.13
Published
An engine for courtbot-like functionality to be included in city/county services sites.
Downloads
22
Readme
courtbot-engine
This repository is the meat of the courtbot functionality, intended to be require'd by a project that wants to implement courtbot.
Registration Source
In order to store and retreive registrations and sent-messages a registration source must be configured. The easiest way to do that is to use https://github.com/codefortulsa/courtbot-engine-pg to fill this role.
Example code to fulfill this requirement:
var courtbot = require("courtbot-engine");
courtbot.setRegistrationSource(function(connectionString) {
return {
getRegistrationById: function (id) {
/* return the registration with the id provided */
return Promise.resolve(regs);
},
getRegistrationsByContact: function(contact, communicationType) {
/* return all registrations that are for the contact and type provided */
return Promise.resolve(regs);
},
getRegistrationsByState: function (state) {
/* return all registrations in the given state */
return Promise.resolve(regs);
},
createRegistration: function (registration) {
/* create a new registration and return its id */
return Promise.resolve(1);
},
updateRegistrationName: function (id, name) {
/* update the registration to the name provided */
return Promise.resolve();
},
updateRegistrationState: function (id, state) {
/* update the registration to state provided */
return Promise.resolve();
},
getSentMessage: function (contact, communication_type, date, description) {
/* get a matching sent message if it exists */
return Promise.resolve(msg);
},
createSentMessage: function (contact, communication_type, date, description) {
/* create a record of the sent message */
return Promise.resolve();
},
migrate: function() {
/* migrate to the most recent schema */
return Promise.resolve();
}
};
});
Communication
For courtbot to talk to someone via a communication method, you have to add that method. The following methods exist:
- SMS: courtbot-engine-twilio or you can get it from NPM
Usage
Express
The following example adds the necessary routes to your express app:
app.use("/", courtbot.routes({ dbUrl: process.env.DATABASE_URL });
Console test prompt
To enable the console prompt in a local courbot instance, set the environment variable USE_CONSOLE=1. This will allow you to communicate with courtbot without using twilio.
Background Tasks
The following functions should be run on a regular basis, at least once per day:
sendDueReminders(options)
- Sends reminders for cases that are within the reminder period.checkMissingCases(options)
- Looks for cases that were not initially found.