This repository is the meat of the courtbot functionality, intended to be require'd by a project that wants to implement courtbot.
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:
varcourtbot=require("courtbot-engine");courtbot.setRegistrationSource(function(connectionString){return{getRegistrationById: function(id){/* return the registration with the id provided */returnPromise.resolve(regs);},getRegistrationsByContact: function(contact,communicationType){/* return all registrations that are for the contact and type provided */returnPromise.resolve(regs);},getRegistrationsByState: function(state){/* return all registrations in the given state */returnPromise.resolve(regs);},createRegistration: function(registration){/* create a new registration and return its id */returnPromise.resolve(1);},updateRegistrationName: function(id,name){/* update the registration to the name provided */returnPromise.resolve();},updateRegistrationState: function(id,state){/* update the registration to state provided */returnPromise.resolve();},getSentMessage: function(contact,communication_type,date,description){/* get a matching sent message if it exists */returnPromise.resolve(msg);},createSentMessage: function(contact,communication_type,date,description){/* create a record of the sent message */returnPromise.resolve();},migrate: function(){/* migrate to the most recent schema */returnPromise.resolve();}};});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
The following example adds the necessary routes to your express app:
app.use("/",courtbot.routes({dbUrl: process.env.DATABASE_URL});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.
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.