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/config.sample.js
file as a template.
If you wish to use TypeScript to validate your config.js file,
see types/configTypes.d.ts
.
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. | "Attendance Tracking" |
httpPort |
number | The listening port for HTTP. | 7000 |
userDomain |
string | The domain used when authenticating users. | null |
backgroundURL |
string | The path to background used on the login page. | "/images/truck-background.jpg" |
bigLogoURL |
string | The path to a custom logo, displayed on the login page. | "/images/app-big.svg" |
smallLogoURL |
string | The path to a custom logo, displayed in the top-left corner. Square-shaped images work best. | "/images/app-small.svg" |
maximumProcesses |
number | The maximum number of server threads. May be limited by your processor. | 4 |
config.tempUsers = ConfigTemporaryUserCredentials[]
Note that temporary user credentials should only be used to aid with initial setup, and not long term.
There are preconfigured temporary users in data/temporaryUsers.js
that can be imported.
Note that before they can be used, passwords must be set.
ConfigTemporaryUserCredentials Property Name | Type | Description |
---|---|---|
user.userName |
string | User name, starting with “~~”. |
user.isAdmin |
boolean | Whether the user has admin access or not. |
user.canLogin |
boolean | Whether the user can log in or not. |
user.permissions |
Record<string, string> | Granular permissions assigned to the user. |
password |
string | Please keep security in mind. |
config.session = {}
Property Name | Type | Description | Default Value |
---|---|---|---|
cookieName |
string | The name of the session cookie. | "attendance-tracking-user-sid" |
secret |
string | The secret used to sign the session cookie. | "cityssm/attendance-tracking" |
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.reverseProxy = {}
The settings below help when running the application behind a reverse proxy like IIS.
Property | Type | Description | Default |
---|---|---|---|
disableCompression |
boolean | false |
|
disableEtag |
boolean | false |
|
blockViaXForwardedFor |
boolean | false |
|
urlPrefix |
string | Prefixes all application URLs to make them appear inside a folder. | "" |
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.mssql = {}
See the configuration for node-mssql on npm.
config.features = {}
Property | Type | Default |
---|---|---|
attendance.absences |
boolean | true |
attendance.afterHours |
boolean | true |
attendance.callOuts |
boolean | true |
attendance.returnsToWork |
boolean | true |
employees.avantiSync |
boolean | false |
selfService |
boolean | false |
config.settings = {}
Property | Type | Description | Default |
---|---|---|---|
printPdf.contentDisposition |
string | Either attachment or inline . |
attachment |
avantiSync.config |
node-avanti-api Configuration | Client details for connecting to the Avanti API. | null |
avantiSync.locationCodes |
string[] | The location codes to sync from the Avanti API. | [] |
employeeSortKeyFunctions |
See below | Options to sort employees within call out lists. | [] |
employeeEligibilityFunctions |
See below | Options to test employee eligibility for call out lists. | [] |
recentDays |
number | The number of days of data to display to users without raw export abilities. | 10 |
updateDays |
number | The number of days users with update permissions can update past records. | 5 |
selfService.path |
string | The path after the main application URL to get to the self service area. | "/selfService" |
config.settings.employeeSortKeyFunctions = []
See data/functions.ts for examples.
Property | Type | Description | Sample Value |
---|---|---|---|
functionName |
string | The name of the function to display in the application. | "Alphabetical" |
sortKeyFunction |
(employee: Employee, employeePropertyName?: string) => string | The function that takes an employee record, and returns a string that can be used to sort the employees in a list. |
config.settings.employeeEligibilityFunctions = []
See data/functions.ts for examples.
Property | Type | Description | Sample Value |
---|---|---|---|
functionName |
string | The name of the function to display in the application. | "Has Property" |
sortKeyFunction |
(employee: Employee, employeePropertyName?: string) => boolean | The function that takes an employee record, and returns true if the employee passes the eligibility criteria. |