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