Help Home
Admin - config.js
The data/config.js
file is used to customize your application.
On first install, the file does not exist. You can create one from scratch,
or get started by using the data/configExample.js
file as a template.
You can also import configuration from another file, like data/configOntario.js
,
then override the settings you want.
export const config = {};
// your configuration
export default config;
config.application = {};
Property Name |
Type |
Description |
Default Value |
applicationName |
string |
Make the application your own by changing the name. |
"Lottery Licence System" |
logoURL |
string |
The path to a custom logo. Square-shaped images work best. |
"/images/bingoBalls.png" |
httpPort |
number |
The listening port for HTTP. |
3000 |
https |
object |
The HTTPS configuration. |
(Described below) |
config.application.https = {};
Property Name |
Type |
Description |
Default Value |
port |
number |
The listening port for HTTPS. |
null |
keyPath |
string |
The path to the key file. |
null |
certPath |
string |
The path to the certificate file. |
null |
passphrase |
string |
The secret passphrase for the certificate. |
null |
config.session = {};
Property Name |
Type |
Description |
Default Value |
cookieName |
string |
The name of the session cookie. |
"lottery-licence-manager-user-sid" |
secret |
string |
The secret used to sign the session cookie. |
"cityssm/lottery-licence-manager" |
maxAgeMillis |
number |
The session timeout in milliseconds. |
3600000 |
doKeepAlive |
boolean |
When true , the browser will ping the web application to keep the session active. |
false |
config.admin = {};
Note that this property can be used to activate an admin user,
that can then be used to create a proper admin user in the users.db
.
It should not be used on an ongoing basis.
Property Name |
Type |
Description |
Default Value |
defaultPassword |
string |
A default password for the admin user. |
null |
config.activeDirectory = {};
See the configuration for activedirectory2 on npm.
Property Name |
Type |
Sample Value |
url |
string |
"ldap://dc.domain.com" |
baseDN |
string |
"dc=domain,dc=com" |
userName |
string |
username@domain.com |
password |
string |
p@ssword |
config.users = {};
Property Name |
Type |
Description |
testing |
string[] |
Test users able to log in when application.useTestDatabases is true. |
canLogin |
string[] |
All users (without their domain), that have access to the application. |
canCreate |
string[] |
All users (without their domain), that have create access. |
canUpdate |
string[] |
All users (without their domain), that have update access. |
isAdmin |
string[] |
All users (without their domain), that can access administrator areas. |
config.user = {};
Property Name |
Type |
Description |
Default Value |
createUpdateWindowMillis |
number |
The amount of time a create only user can update a record before it is restricted to full update users. |
3600000 |
config.defaults = {};
Property Name |
Type |
Description |
Default Value |
city |
string |
The default city, used when creating new locations and organizations. |
"" |
province |
string |
The default province, used when creating new locations and organizations. |
"" |
countryCode |
string |
The default two-letter country code, used when creating new locations and organizations. |
"" |
config.licences = {};
Property Name |
Type |
Description |
Default Value |
feeCalculationFn |
function |
A function that returns an object, calculating the licence fee for a given licence. |
(licenceObject) => { return { fee: 10, message: "Using base licence fee.", licenceHasErrors: false }; } |
printTemplate |
string |
The name of the ejs file that generates the licence print out. |
"licence-print" |
externalLicenceNumber |
object |
The external licence number configuration. |
(Described below) |
externalReceiptNumber |
object |
The external receipt number configuration. |
(Described below) |
config.licences.externalLicenceNumber = {};
Property Name |
Type |
Description |
Default Value |
fieldLabel |
string |
The label to describe the customizable licence number. |
"External Licence Number" |
newCalculation |
string |
An option to automatically calculate the new externalLicenceNumber value. Set to "range" to use the calculation. |
"" |
isPreferredID |
boolean |
When true, the external licence number will be more prominently shown. |
false |
config.licences.externalReceiptNumber = {};
Property Name |
Type |
Description |
Default Value |
fieldLabel |
string |
The label to describe the customizable receipt number. |
"Receipt Number" |
config.licenceTypes = [licenceTypeA, licenceTypeB, …];
An array of licence type configuration objects.
licenceType = {};
Property Name |
Type |
Description |
Sample Value |
licenceTypeKey |
string |
The two-character key for the licence type. |
"NV" |
licenceType |
string |
The human readable name of the licence type. |
"Nevada" |
totalPrizeValueMax |
number |
The maximum prize value permitted for the licence type. |
5000 |
isActive |
boolean |
Whether or not the licence type is available for new licences. |
true |
ticketTypes |
array |
An optional array of ticket type objects if ticket types must be tracked. |
(Described below) |
licenceFields |
array |
An optional array of fields that are filled out alongside the licence. |
(Described below) |
eventFields |
array |
An optional array of fields that are filled out alongside each licence event. |
(Described below) |
printSettings |
object |
Specific settings to pass to the licence report print. |
{} |
ticketTypes = [ticketTypeA, ticketTypeB, …];
Property Name |
Type |
Description |
Sample Value |
ticketType |
string |
The one-to-five character ticket type key. |
"BN26" |
ticketPrice |
number |
The price of a single ticket. |
1 |
ticketCount |
number |
The total number of tickets in a single unit. |
16800 |
prizesPerDeal |
number |
The total amount of prizes. |
11440 |
feePerUnit |
number |
The licence fee per unit. |
343.2 |
licenceFields = [licenceFieldA, licenceFieldB, …];
Property Name |
Type |
Description |
Sample Value |
fieldKey |
string |
The one-to-twenty character field key. |
"units" |
fieldLabel |
string |
The visible label for the field. |
"Total Number of Units" |
isShownOnEvent |
boolean |
Whether or not the field should be shown on the event view. |
true |
isActive |
boolean |
Whether or not the field should be available on new licences. |
true |
inputAttributes |
object |
An object containing HTML attributes for the field’s input element. |
{ type: "number", min: 1, max: 10000, step: 1 } |
eventFields = [eventFieldA, eventFieldB, …];
Property Name |
Type |
Description |
Sample Value |
fieldKey |
string |
The one-to-twenty character field key. |
"distributorCommission" |
fieldLabel |
string |
The visible label for the field. |
"Distributor Commission" |
isActive |
boolean |
Whether or not the field should be available on new licences. |
true |
inputAttributes |
object |
An object containing HTML attributes for the field’s input element. |
{ type: "number", min: 0, max: 10000.00, step: 0.01 } |
config.amendments = {};
Property Name |
Type |
Description |
Default Value |
displayCount |
number |
The number of amendments to display in the licence views. |
5 |
trackLicenceFeeUpdate |
boolean |
Whether or not to create an amendment record when a licence fee is changed. |
true |
trackDateTimeUpdate |
boolean |
Whether or not to create an amendment record when the date or time range for a licence is changed. |
true |
trackOrganizationUpdate |
boolean |
Whether or not to create an amendment record when the organization associated with a licence is changed. |
true |
trackLocationUpdate |
boolean |
Whether or not to create an amendment record when the location associated with a licence is changed. |
true |
trackTicketTypeNew |
boolean |
Whether or not to create an amendment record when a new ticket type is added to a licence. |
true |
trackTicketTypeUpdate |
boolean |
Whether or not to create an amendment record when the number of units associated with a licence ticket type is changed. |
true |
trackTicketTypeDelete |
boolean |
Whether or not to create an amendment record when a ticket type is removed from a licence. |
true |