make config easier to define
parent
b5eb0be5b3
commit
10c374c470
|
|
@ -0,0 +1,3 @@
|
||||||
|
import type { Config } from "../types/configTypes";
|
||||||
|
export declare const config: Config;
|
||||||
|
export default config;
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
export const config = {
|
||||||
|
application: {},
|
||||||
|
session: {},
|
||||||
|
reverseProxy: {},
|
||||||
|
users: {},
|
||||||
|
aliases: {},
|
||||||
|
settings: {
|
||||||
|
fees: {},
|
||||||
|
map: {},
|
||||||
|
lot: {},
|
||||||
|
lotOccupancy: {},
|
||||||
|
workOrders: {},
|
||||||
|
adminCleanup: {}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
export default config;
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
import type { Config } from "../types/configTypes";
|
||||||
|
|
||||||
|
export const config: Config = {
|
||||||
|
application: {},
|
||||||
|
session: {},
|
||||||
|
reverseProxy: {},
|
||||||
|
users: {},
|
||||||
|
aliases: {},
|
||||||
|
settings: {
|
||||||
|
fees: {},
|
||||||
|
map: {},
|
||||||
|
lot: {},
|
||||||
|
lotOccupancy: {},
|
||||||
|
workOrders: {},
|
||||||
|
adminCleanup: {}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export default config;
|
||||||
|
|
@ -1,3 +1,2 @@
|
||||||
import type { Config } from "../types/configTypes";
|
export declare const config: import("../types/configTypes.js").Config;
|
||||||
export declare const config: Config;
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,13 @@
|
||||||
export const config = {
|
import { config as baseConfig } from "./config.base.js";
|
||||||
application: {
|
export const config = Object.assign({}, baseConfig);
|
||||||
applicationName: "Cemetery Management System",
|
config.application = {
|
||||||
backgroundURL: "/images/cemetery-background.jpg",
|
applicationName: "Cemetery Management System",
|
||||||
logoURL: "/images/cemetery-logo.svg"
|
backgroundURL: "/images/cemetery-background.jpg",
|
||||||
},
|
logoURL: "/images/cemetery-logo.svg"
|
||||||
aliases: {
|
|
||||||
lot: "Burial Site",
|
|
||||||
lots: "Burial Sites",
|
|
||||||
map: "Cemetery",
|
|
||||||
maps: "Cemeteries"
|
|
||||||
},
|
|
||||||
settings: {
|
|
||||||
lotOccupancy: {
|
|
||||||
occupancyEndDateIsRequired: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
config.aliases.lot = "Burial Site";
|
||||||
|
config.aliases.lots = "Burial Sites";
|
||||||
|
config.aliases.map = "Cemetery";
|
||||||
|
config.aliases.maps = "Cemeteries";
|
||||||
|
config.settings.lotOccupancy.occupancyEndDateIsRequired = false;
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,6 @@
|
||||||
import { config as cemeteryConfig } from "./config.cemetery.js";
|
import { config as cemeteryConfig } from "./config.cemetery.js";
|
||||||
export const config = Object.assign({}, cemeteryConfig);
|
export const config = Object.assign({}, cemeteryConfig);
|
||||||
config.settings.lotOccupancy.occupantProvinceDefault = "ON";
|
config.settings.lotOccupancy.occupantProvinceDefault = "ON";
|
||||||
config.settings.map = {
|
config.settings.map.mapProvinceDefault = "ON";
|
||||||
mapProvinceDefault: "ON"
|
config.settings.fees.taxPercentageDefault = 13;
|
||||||
};
|
|
||||||
config.settings.fees = {
|
|
||||||
taxPercentageDefault: 13
|
|
||||||
};
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -4,12 +4,8 @@ export const config = Object.assign({}, cemeteryConfig);
|
||||||
|
|
||||||
config.settings.lotOccupancy.occupantProvinceDefault = "ON";
|
config.settings.lotOccupancy.occupantProvinceDefault = "ON";
|
||||||
|
|
||||||
config.settings.map = {
|
config.settings.map.mapProvinceDefault = "ON";
|
||||||
mapProvinceDefault: "ON"
|
|
||||||
};
|
|
||||||
|
|
||||||
config.settings.fees = {
|
config.settings.fees.taxPercentageDefault = 13;
|
||||||
taxPercentageDefault: 13
|
|
||||||
};
|
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
@ -1,34 +1,30 @@
|
||||||
import { config as cemeteryConfig } from "./config.cemetery.ontario.js";
|
import { config as cemeteryConfig } from "./config.cemetery.ontario.js";
|
||||||
export const config = Object.assign({}, cemeteryConfig);
|
export const config = Object.assign({}, cemeteryConfig);
|
||||||
config.settings.lot = {
|
config.aliases.externalReceiptNumber = "GP Receipt Number";
|
||||||
lotNamePattern: /^[A-Z]{2}(-\d*[A-Z]?){3,5}$/,
|
config.settings.lot.lotNamePattern = /^[A-Z]{2}(-\d*[A-Z]?){3,5}$/;
|
||||||
lotNameSortNameFunction: (lotName) => {
|
config.settings.lot.lotNameSortNameFunction = (lotName) => {
|
||||||
const numericPadding = "00000";
|
const numericPadding = "00000";
|
||||||
const lotNameSplit = lotName.toUpperCase().split("-");
|
const lotNameSplit = lotName.toUpperCase().split("-");
|
||||||
const cleanLotNamePieces = [];
|
const cleanLotNamePieces = [];
|
||||||
for (const lotNamePiece of lotNameSplit) {
|
for (const lotNamePiece of lotNameSplit) {
|
||||||
let numericPiece = numericPadding;
|
let numericPiece = numericPadding;
|
||||||
let letterPiece = "";
|
let letterPiece = "";
|
||||||
for (const letter of lotNamePiece) {
|
for (const letter of lotNamePiece) {
|
||||||
if (letterPiece === "" && "0123456789".includes(letter)) {
|
if (letterPiece === "" && "0123456789".includes(letter)) {
|
||||||
numericPiece += letter;
|
numericPiece += letter;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
letterPiece += letter;
|
letterPiece += letter;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
cleanLotNamePieces.push(numericPiece.slice(-1 * numericPadding.length) + letterPiece);
|
|
||||||
}
|
}
|
||||||
return cleanLotNamePieces.join("-");
|
cleanLotNamePieces.push(numericPiece.slice(-1 * numericPadding.length) + letterPiece);
|
||||||
}
|
}
|
||||||
|
return cleanLotNamePieces.join("-");
|
||||||
};
|
};
|
||||||
config.settings.lotOccupancy.occupantCityDefault = "Sault Ste. Marie";
|
config.settings.lotOccupancy.occupantCityDefault = "Sault Ste. Marie";
|
||||||
config.settings.lotOccupancy.prints = ["pdf/ssm.cemetery.burialPermit"];
|
config.settings.lotOccupancy.prints = ["pdf/ssm.cemetery.burialPermit"];
|
||||||
config.settings.map.mapCityDefault = "Sault Ste. Marie";
|
config.settings.map.mapCityDefault = "Sault Ste. Marie";
|
||||||
config.settings.workOrders = {
|
config.settings.workOrders.workOrderNumberLength = 6;
|
||||||
workOrderNumberLength: 6,
|
config.settings.workOrders.workOrderMilestoneDateRecentBeforeDays = 7;
|
||||||
workOrderMilestoneDateRecentBeforeDays: 7,
|
config.settings.workOrders.workOrderMilestoneDateRecentAfterDays = 30;
|
||||||
workOrderMilestoneDateRecentAfterDays: 30
|
|
||||||
};
|
|
||||||
config.aliases.externalReceiptNumber = "GP Receipt Number";
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,11 @@ import {
|
||||||
|
|
||||||
export const config = Object.assign({}, cemeteryConfig);
|
export const config = Object.assign({}, cemeteryConfig);
|
||||||
|
|
||||||
config.settings.lot = {
|
config.aliases.externalReceiptNumber = "GP Receipt Number";
|
||||||
lotNamePattern: /^[A-Z]{2}(-\d*[A-Z]?){3,5}$/,
|
|
||||||
lotNameSortNameFunction: (lotName) => {
|
config.settings.lot.lotNamePattern = /^[A-Z]{2}(-\d*[A-Z]?){3,5}$/;
|
||||||
|
|
||||||
|
config.settings.lot.lotNameSortNameFunction = (lotName) => {
|
||||||
|
|
||||||
const numericPadding = "00000";
|
const numericPadding = "00000";
|
||||||
|
|
||||||
|
|
@ -32,20 +34,15 @@ config.settings.lot = {
|
||||||
}
|
}
|
||||||
|
|
||||||
return cleanLotNamePieces.join("-");
|
return cleanLotNamePieces.join("-");
|
||||||
}
|
};
|
||||||
};
|
|
||||||
|
|
||||||
config.settings.lotOccupancy.occupantCityDefault = "Sault Ste. Marie";
|
config.settings.lotOccupancy.occupantCityDefault = "Sault Ste. Marie";
|
||||||
config.settings.lotOccupancy.prints = ["pdf/ssm.cemetery.burialPermit"];
|
config.settings.lotOccupancy.prints = ["pdf/ssm.cemetery.burialPermit"];
|
||||||
|
|
||||||
config.settings.map.mapCityDefault = "Sault Ste. Marie";
|
config.settings.map.mapCityDefault = "Sault Ste. Marie";
|
||||||
|
|
||||||
config.settings.workOrders = {
|
config.settings.workOrders.workOrderNumberLength = 6;
|
||||||
workOrderNumberLength: 6,
|
config.settings.workOrders.workOrderMilestoneDateRecentBeforeDays = 7;
|
||||||
workOrderMilestoneDateRecentBeforeDays: 7,
|
config.settings.workOrders.workOrderMilestoneDateRecentAfterDays = 30;
|
||||||
workOrderMilestoneDateRecentAfterDays: 30
|
|
||||||
};
|
|
||||||
|
|
||||||
config.aliases.externalReceiptNumber = "GP Receipt Number";
|
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
@ -1,22 +1,18 @@
|
||||||
import type { Config } from "../types/configTypes";
|
import { config as baseConfig } from "./config.base.js";
|
||||||
|
|
||||||
export const config: Config = {
|
export const config = Object.assign({}, baseConfig);
|
||||||
application: {
|
|
||||||
applicationName: "Cemetery Management System",
|
config.application = {
|
||||||
backgroundURL: "/images/cemetery-background.jpg",
|
applicationName: "Cemetery Management System",
|
||||||
logoURL: "/images/cemetery-logo.svg"
|
backgroundURL: "/images/cemetery-background.jpg",
|
||||||
},
|
logoURL: "/images/cemetery-logo.svg"
|
||||||
aliases: {
|
|
||||||
lot: "Burial Site",
|
|
||||||
lots: "Burial Sites",
|
|
||||||
map: "Cemetery",
|
|
||||||
maps: "Cemeteries"
|
|
||||||
},
|
|
||||||
settings: {
|
|
||||||
lotOccupancy: {
|
|
||||||
occupancyEndDateIsRequired: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config.aliases.lot = "Burial Site";
|
||||||
|
config.aliases.lots = "Burial Sites";
|
||||||
|
config.aliases.map = "Cemetery";
|
||||||
|
config.aliases.maps = "Cemeteries";
|
||||||
|
|
||||||
|
config.settings.lotOccupancy.occupancyEndDateIsRequired = false;
|
||||||
|
|
||||||
export default config;
|
export default config;
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
export interface Config {
|
export interface Config {
|
||||||
application?: ConfigApplication;
|
application: ConfigApplication;
|
||||||
session?: ConfigSession;
|
session: ConfigSession;
|
||||||
reverseProxy?: {
|
reverseProxy: {
|
||||||
disableCompression: boolean;
|
disableCompression?: boolean;
|
||||||
disableEtag: boolean;
|
disableEtag?: boolean;
|
||||||
urlPrefix: string;
|
urlPrefix?: string;
|
||||||
};
|
};
|
||||||
activeDirectory?: ConfigActiveDirectory;
|
activeDirectory?: ConfigActiveDirectory;
|
||||||
users?: {
|
users: {
|
||||||
testing?: string[];
|
testing?: string[];
|
||||||
canLogin?: string[];
|
canLogin?: string[];
|
||||||
canUpdate?: string[];
|
canUpdate?: string[];
|
||||||
isAdmin?: string[];
|
isAdmin?: string[];
|
||||||
};
|
};
|
||||||
aliases?: {
|
aliases: {
|
||||||
lot?: string;
|
lot?: string;
|
||||||
lots?: string;
|
lots?: string;
|
||||||
map?: string;
|
map?: string;
|
||||||
|
|
@ -24,32 +24,33 @@ export interface Config {
|
||||||
occupants?: string;
|
occupants?: string;
|
||||||
externalReceiptNumber?: string;
|
externalReceiptNumber?: string;
|
||||||
};
|
};
|
||||||
settings?: {
|
settings: {
|
||||||
fees?: {
|
fees: {
|
||||||
taxPercentageDefault?: number;
|
taxPercentageDefault?: number;
|
||||||
};
|
};
|
||||||
map?: {
|
map: {
|
||||||
mapCityDefault?: string;
|
mapCityDefault?: string;
|
||||||
mapProvinceDefault?: string;
|
mapProvinceDefault?: string;
|
||||||
};
|
};
|
||||||
lot?: {
|
lot: {
|
||||||
lotNamePattern?: RegExp;
|
lotNamePattern?: RegExp;
|
||||||
lotNameSortNameFunction?: (lotName: string) => string;
|
lotNameSortNameFunction?: (lotName: string) => string;
|
||||||
};
|
};
|
||||||
lotOccupancy?: {
|
lotOccupancy: {
|
||||||
lotIdIsRequired?: boolean;
|
lotIdIsRequired?: boolean;
|
||||||
occupancyEndDateIsRequired?: boolean;
|
occupancyEndDateIsRequired?: boolean;
|
||||||
occupantCityDefault?: string;
|
occupantCityDefault?: string;
|
||||||
occupantProvinceDefault?: string;
|
occupantProvinceDefault?: string;
|
||||||
prints?: string[];
|
prints?: string[];
|
||||||
};
|
};
|
||||||
workOrders?: {
|
workOrders: {
|
||||||
workOrderNumberLength?: number;
|
workOrderNumberLength?: number;
|
||||||
workOrderMilestoneDateRecentBeforeDays?: number;
|
workOrderMilestoneDateRecentBeforeDays?: number;
|
||||||
workOrderMilestoneDateRecentAfterDays?: number;
|
workOrderMilestoneDateRecentAfterDays?: number;
|
||||||
calendarEmailAddress?: string;
|
calendarEmailAddress?: string;
|
||||||
|
prints?: string[];
|
||||||
};
|
};
|
||||||
adminCleanup?: {
|
adminCleanup: {
|
||||||
recordDeleteAgeDays?: number;
|
recordDeleteAgeDays?: number;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,19 @@
|
||||||
export interface Config {
|
export interface Config {
|
||||||
application?: ConfigApplication;
|
application: ConfigApplication;
|
||||||
session?: ConfigSession;
|
session: ConfigSession;
|
||||||
reverseProxy?: {
|
reverseProxy: {
|
||||||
disableCompression: boolean;
|
disableCompression?: boolean;
|
||||||
disableEtag: boolean;
|
disableEtag?: boolean;
|
||||||
urlPrefix: string;
|
urlPrefix?: string;
|
||||||
};
|
};
|
||||||
activeDirectory?: ConfigActiveDirectory;
|
activeDirectory?: ConfigActiveDirectory;
|
||||||
users?: {
|
users: {
|
||||||
testing?: string[];
|
testing?: string[];
|
||||||
canLogin?: string[];
|
canLogin?: string[];
|
||||||
canUpdate?: string[];
|
canUpdate?: string[];
|
||||||
isAdmin?: string[];
|
isAdmin?: string[];
|
||||||
};
|
};
|
||||||
aliases?: {
|
aliases: {
|
||||||
lot?: string;
|
lot?: string;
|
||||||
lots?: string;
|
lots?: string;
|
||||||
map?: string;
|
map?: string;
|
||||||
|
|
@ -24,32 +24,33 @@ export interface Config {
|
||||||
occupants?: string;
|
occupants?: string;
|
||||||
externalReceiptNumber?: string;
|
externalReceiptNumber?: string;
|
||||||
};
|
};
|
||||||
settings?: {
|
settings: {
|
||||||
fees?: {
|
fees: {
|
||||||
taxPercentageDefault?: number;
|
taxPercentageDefault?: number;
|
||||||
};
|
};
|
||||||
map?: {
|
map: {
|
||||||
mapCityDefault?: string;
|
mapCityDefault?: string;
|
||||||
mapProvinceDefault?: string;
|
mapProvinceDefault?: string;
|
||||||
};
|
};
|
||||||
lot?: {
|
lot: {
|
||||||
lotNamePattern?: RegExp;
|
lotNamePattern?: RegExp;
|
||||||
lotNameSortNameFunction?: (lotName: string) => string;
|
lotNameSortNameFunction?: (lotName: string) => string;
|
||||||
};
|
};
|
||||||
lotOccupancy?: {
|
lotOccupancy: {
|
||||||
lotIdIsRequired?: boolean;
|
lotIdIsRequired?: boolean;
|
||||||
occupancyEndDateIsRequired?: boolean;
|
occupancyEndDateIsRequired?: boolean;
|
||||||
occupantCityDefault?: string;
|
occupantCityDefault?: string;
|
||||||
occupantProvinceDefault?: string;
|
occupantProvinceDefault?: string;
|
||||||
prints?: string[];
|
prints?: string[];
|
||||||
};
|
};
|
||||||
workOrders?: {
|
workOrders: {
|
||||||
workOrderNumberLength?: number;
|
workOrderNumberLength?: number;
|
||||||
workOrderMilestoneDateRecentBeforeDays?: number;
|
workOrderMilestoneDateRecentBeforeDays?: number;
|
||||||
workOrderMilestoneDateRecentAfterDays?: number;
|
workOrderMilestoneDateRecentAfterDays?: number;
|
||||||
calendarEmailAddress?: string;
|
calendarEmailAddress?: string;
|
||||||
|
prints?: string[];
|
||||||
};
|
};
|
||||||
adminCleanup?: {
|
adminCleanup: {
|
||||||
recordDeleteAgeDays?: number;
|
recordDeleteAgeDays?: number;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue