181 lines
5.3 KiB
JavaScript
181 lines
5.3 KiB
JavaScript
import { lotOccupancyDB as databasePath } from "../data/databasePaths.js";
|
|
import { initializeDatabase } from "./initializer.database.js";
|
|
import { addLotType } from "./lotOccupancyDB/addLotType.js";
|
|
import { addOccupancyType } from "./lotOccupancyDB/addOccupancyType.js";
|
|
import { addOccupancyTypeField } from "./lotOccupancyDB/addOccupancyTypeField.js";
|
|
import { addLotStatus } from "./lotOccupancyDB/addLotStatus.js";
|
|
import { addLotOccupantType } from "./lotOccupancyDB/addLotOccupantType.js";
|
|
import { addFeeCategory } from "./lotOccupancyDB/addFeeCategory.js";
|
|
import Debug from "debug";
|
|
const debug = Debug("lot-occupancy-system:initialize");
|
|
const session = {
|
|
user: {
|
|
userName: "init.cemetery",
|
|
userProperties: {
|
|
canUpdate: true,
|
|
isAdmin: true
|
|
}
|
|
}
|
|
};
|
|
const initializeCemeteryDatabase = () => {
|
|
debug("Checking for " + databasePath + "...");
|
|
const databaseInitialized = initializeDatabase();
|
|
if (!databaseInitialized) {
|
|
debug("Database already created.\n" +
|
|
"To initialize this database with cemetery types, delete the database file first, then rerun this script.");
|
|
return;
|
|
}
|
|
debug("New database file created. Proceeding with initialization.");
|
|
addLotType({
|
|
lotType: "Casket Grave",
|
|
orderNumber: 1
|
|
}, session);
|
|
addLotType({
|
|
lotType: "Columbarium",
|
|
orderNumber: 2
|
|
}, session);
|
|
addLotType({
|
|
lotType: "Mausoleum",
|
|
orderNumber: 2
|
|
}, session);
|
|
addLotType({
|
|
lotType: "Niche Wall",
|
|
orderNumber: 2
|
|
}, session);
|
|
addLotType({
|
|
lotType: "Urn Garden",
|
|
orderNumber: 2
|
|
}, session);
|
|
addLotType({
|
|
lotType: "Crematorium",
|
|
orderNumber: 3
|
|
}, session);
|
|
addLotStatus({
|
|
lotStatus: "Available",
|
|
orderNumber: 1
|
|
}, session);
|
|
addLotStatus({
|
|
lotStatus: "Reserved",
|
|
orderNumber: 2
|
|
}, session);
|
|
addLotStatus({
|
|
lotStatus: "Taken",
|
|
orderNumber: 3
|
|
}, session);
|
|
addLotOccupantType({
|
|
lotOccupantType: "Deceased",
|
|
orderNumber: 1
|
|
}, session);
|
|
addLotOccupantType({
|
|
lotOccupantType: "Preneed Owner",
|
|
orderNumber: 2
|
|
}, session);
|
|
addLotOccupantType({
|
|
lotOccupantType: "Arranger",
|
|
orderNumber: 3
|
|
}, session);
|
|
addOccupancyType({
|
|
occupancyType: "Preneed",
|
|
orderNumber: 1
|
|
}, session);
|
|
const intermentOccupancyTypeId = addOccupancyType({
|
|
occupancyType: "Interment",
|
|
orderNumber: 2
|
|
}, session);
|
|
addOccupancyType({
|
|
occupancyType: "Cremation",
|
|
orderNumber: 3
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Death Date",
|
|
occupancyTypeFieldValues: "",
|
|
pattern: "\\d{4}([\\/-]\\d{2}){2}",
|
|
isRequired: "",
|
|
minimumLength: 10,
|
|
maximumLength: 10,
|
|
orderNumber: 1
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Death Age",
|
|
occupancyTypeFieldValues: "",
|
|
pattern: "\\d+",
|
|
isRequired: "",
|
|
minimumLength: 1,
|
|
maximumLength: 3,
|
|
orderNumber: 2
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Death Age Period",
|
|
occupancyTypeFieldValues: "Years,Months,Days,Stillborn",
|
|
pattern: "",
|
|
isRequired: "",
|
|
minimumLength: 1,
|
|
maximumLength: 10,
|
|
orderNumber: 3
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Funeral Home",
|
|
occupancyTypeFieldValues: "",
|
|
pattern: "",
|
|
isRequired: "",
|
|
minimumLength: 1,
|
|
maximumLength: 100,
|
|
orderNumber: 10
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Funeral Date",
|
|
occupancyTypeFieldValues: "",
|
|
pattern: "\\d{4}([\\/-]\\d{2}){2}",
|
|
isRequired: "",
|
|
minimumLength: 10,
|
|
maximumLength: 10,
|
|
orderNumber: 11
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Container Type",
|
|
occupancyTypeFieldValues: "",
|
|
pattern: "",
|
|
isRequired: "",
|
|
minimumLength: 1,
|
|
maximumLength: 100,
|
|
orderNumber: 20
|
|
}, session);
|
|
addOccupancyTypeField({
|
|
occupancyTypeId: intermentOccupancyTypeId,
|
|
occupancyTypeField: "Committal Type",
|
|
occupancyTypeFieldValues: "",
|
|
pattern: "",
|
|
isRequired: "",
|
|
minimumLength: 1,
|
|
maximumLength: 100,
|
|
orderNumber: 21
|
|
}, session);
|
|
addFeeCategory({
|
|
feeCategory: "Interment Rights",
|
|
orderNumber: 1
|
|
}, session);
|
|
addFeeCategory({
|
|
feeCategory: "Cremation Services",
|
|
orderNumber: 2
|
|
}, session);
|
|
addFeeCategory({
|
|
feeCategory: "Burial Charges",
|
|
orderNumber: 3
|
|
}, session);
|
|
addFeeCategory({
|
|
feeCategory: "Disinterment of Human Remains",
|
|
orderNumber: 4
|
|
}, session);
|
|
addFeeCategory({
|
|
feeCategory: "Additional Services",
|
|
orderNumber: 5
|
|
}, session);
|
|
};
|
|
initializeCemeteryDatabase();
|