refactoring

deepsource-autofix-76c6eb20
Dan Gowans 2022-12-29 16:15:44 -05:00
parent 8c2ef7d0d6
commit b9ace27a9c
249 changed files with 2205 additions and 2274 deletions

View File

@ -1,7 +1,7 @@
import { addFee } from "../../helpers/lotOccupancyDB/addFee.js"; import { addFee } from "../../helpers/lotOccupancyDB/addFee.js";
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js"; import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
export const handler = async (request, response) => { export const handler = async (request, response) => {
const feeId = addFee(request.body, request.session); const feeId = addFee({ feeForm: request.body, requestSession: request.session });
const feeCategories = getFeeCategories({}, { const feeCategories = getFeeCategories({}, {
includeFees: true includeFees: true
}); });

View File

@ -5,7 +5,7 @@ import { addFee } from "../../helpers/lotOccupancyDB/addFee.js";
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js"; import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
export const handler: RequestHandler = async (request, response) => { export const handler: RequestHandler = async (request, response) => {
const feeId = addFee(request.body, request.session); const feeId = addFee({ feeForm: request.body, requestSession: request.session });
const feeCategories = getFeeCategories( const feeCategories = getFeeCategories(
{}, {},

View File

@ -14,5 +14,5 @@ interface AddFeeForm {
isRequired: "" | "1"; isRequired: "" | "1";
orderNumber?: number; orderNumber?: number;
} }
export declare const addFee: (feeForm: AddFeeForm, requestSession: recordTypes.PartialSession) => number; export declare function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): number;
export default addFee; export default addFee;

View File

@ -1,21 +1,22 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addFee = (feeForm, requestSession) => { export function addFee(feeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into Fees (" + .prepare(`insert into Fees (
"feeCategoryId, feeName, feeDescription," + feeCategoryId,
" occupancyTypeId, lotTypeId," + feeName, feeDescription,
" feeAmount, feeFunction," + occupancyTypeId, lotTypeId,
" taxAmount, taxPercentage," + feeAmount, feeFunction,
" includeQuantity, quantityUnit," + taxAmount, taxPercentage,
" isRequired, orderNumber," + includeQuantity, quantityUnit,
" recordCreate_userName, recordCreate_timeMillis," + isRequired, orderNumber,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId || undefined, feeForm.lotTypeId || undefined, feeForm.feeAmount || undefined, feeForm.feeFunction || undefined, feeForm.taxAmount || undefined, feeForm.taxPercentage || undefined, feeForm.includeQuantity ? 1 : 0, feeForm.quantityUnit, feeForm.isRequired ? 1 : 0, feeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(feeForm.feeCategoryId, feeForm.feeName, feeForm.feeDescription, feeForm.occupancyTypeId || undefined, feeForm.lotTypeId || undefined, feeForm.feeAmount || undefined, feeForm.feeFunction || undefined, feeForm.taxAmount || undefined, feeForm.taxPercentage || undefined, feeForm.includeQuantity ? 1 : 0, feeForm.quantityUnit, feeForm.isRequired ? 1 : 0, feeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addFee; export default addFee;

View File

@ -19,26 +19,24 @@ interface AddFeeForm {
orderNumber?: number; orderNumber?: number;
} }
export const addFee = ( export function addFee(feeForm: AddFeeForm, requestSession: recordTypes.PartialSession): number {
feeForm: AddFeeForm,
requestSession: recordTypes.PartialSession
): number => {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into Fees (" + `insert into Fees (
"feeCategoryId, feeName, feeDescription," + feeCategoryId,
" occupancyTypeId, lotTypeId," + feeName, feeDescription,
" feeAmount, feeFunction," + occupancyTypeId, lotTypeId,
" taxAmount, taxPercentage," + feeAmount, feeFunction,
" includeQuantity, quantityUnit," + taxAmount, taxPercentage,
" isRequired, orderNumber," + includeQuantity, quantityUnit,
" recordCreate_userName, recordCreate_timeMillis," + isRequired, orderNumber,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
feeForm.feeCategoryId, feeForm.feeCategoryId,
@ -63,6 +61,6 @@ export const addFee = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addFee; export default addFee;

View File

@ -3,5 +3,5 @@ interface AddFeeCategoryForm {
feeCategory: string; feeCategory: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addFeeCategory: (feeCategoryForm: AddFeeCategoryForm, requestSession: recordTypes.PartialSession) => number; export declare function addFeeCategory(feeCategoryForm: AddFeeCategoryForm, requestSession: recordTypes.PartialSession): number;
export default addFeeCategory; export default addFeeCategory;

View File

@ -1,16 +1,16 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addFeeCategory = (feeCategoryForm, requestSession) => { export function addFeeCategory(feeCategoryForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into FeeCategories (" + .prepare(`insert into FeeCategories (
"feeCategory, orderNumber," + feeCategory, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(feeCategoryForm.feeCategory, feeCategoryForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(feeCategoryForm.feeCategory, feeCategoryForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addFeeCategory; export default addFeeCategory;

View File

@ -8,21 +8,21 @@ interface AddFeeCategoryForm {
orderNumber?: number; orderNumber?: number;
} }
export const addFeeCategory = ( export function addFeeCategory(
feeCategoryForm: AddFeeCategoryForm, feeCategoryForm: AddFeeCategoryForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into FeeCategories (" + `insert into FeeCategories (
"feeCategory, orderNumber," + feeCategory, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
feeCategoryForm.feeCategory, feeCategoryForm.feeCategory,
@ -36,6 +36,6 @@ export const addFeeCategory = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addFeeCategory; export default addFeeCategory;

View File

@ -10,5 +10,5 @@ interface AddLotForm {
lotTypeFieldIds?: string; lotTypeFieldIds?: string;
[lotFieldValue_lotTypeFieldId: string]: unknown; [lotFieldValue_lotTypeFieldId: string]: unknown;
} }
export declare const addLot: (lotForm: AddLotForm, requestSession: recordTypes.PartialSession) => number; export declare function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number;
export default addLot; export default addLot;

View File

@ -1,17 +1,17 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { addOrUpdateLotField } from "./addOrUpdateLotField.js"; import { addOrUpdateLotField } from "./addOrUpdateLotField.js";
export const addLot = (lotForm, requestSession) => { export function addLot(lotForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into Lots (" + .prepare(`insert into Lots (
"lotName, lotTypeId, lotStatusId," + lotName, lotTypeId, lotStatusId,
" mapId, mapKey," + mapId, mapKey,
" lotLatitude, lotLongitude," + lotLatitude, lotLongitude,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotForm.lotName, lotForm.lotTypeId, lotForm.lotStatusId === "" ? undefined : lotForm.lotStatusId, lotForm.mapId === "" ? undefined : lotForm.mapId, lotForm.mapKey, lotForm.lotLatitude === "" ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === "" ? undefined : lotForm.lotLongitude, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotForm.lotName, lotForm.lotTypeId, lotForm.lotStatusId === "" ? undefined : lotForm.lotStatusId, lotForm.mapId === "" ? undefined : lotForm.mapId, lotForm.mapKey, lotForm.lotLatitude === "" ? undefined : lotForm.lotLatitude, lotForm.lotLongitude === "" ? undefined : lotForm.lotLongitude, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
const lotId = result.lastInsertRowid; const lotId = result.lastInsertRowid;
const lotTypeFieldIds = (lotForm.lotTypeFieldIds || "").split(","); const lotTypeFieldIds = (lotForm.lotTypeFieldIds || "").split(",");
@ -27,5 +27,5 @@ export const addLot = (lotForm, requestSession) => {
} }
database.close(); database.close();
return lotId; return lotId;
}; }
export default addLot; export default addLot;

View File

@ -21,20 +21,20 @@ interface AddLotForm {
[lotFieldValue_lotTypeFieldId: string]: unknown; [lotFieldValue_lotTypeFieldId: string]: unknown;
} }
export const addLot = (lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number => { export function addLot(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into Lots (" + `insert into Lots (
"lotName, lotTypeId, lotStatusId," + lotName, lotTypeId, lotStatusId,
" mapId, mapKey," + mapId, mapKey,
" lotLatitude, lotLongitude," + lotLatitude, lotLongitude,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotForm.lotName, lotForm.lotName,
@ -73,6 +73,6 @@ export const addLot = (lotForm: AddLotForm, requestSession: recordTypes.PartialS
database.close(); database.close();
return lotId; return lotId;
}; }
export default addLot; export default addLot;

View File

@ -3,5 +3,5 @@ interface AddLotCommentForm {
lotId: string; lotId: string;
lotComment: string; lotComment: string;
} }
export declare const addLotComment: (lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotComment(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): number;
export default addLotComment; export default addLotComment;

View File

@ -1,17 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js"; import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const addLotComment = (lotCommentForm, requestSession) => { export function addLotComment(lotCommentForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
const result = database const result = database
.prepare("insert into LotComments (" + .prepare(`insert into LotComments (
"lotId, lotCommentDate, lotCommentTime, lotComment," + lotId,
" recordCreate_userName, recordCreate_timeMillis," + lotCommentDate, lotCommentTime, lotComment,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?, ?)") recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotCommentForm.lotId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), lotCommentForm.lotComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); .run(lotCommentForm.lotId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), lotCommentForm.lotComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addLotComment; export default addLotComment;

View File

@ -11,21 +11,22 @@ interface AddLotCommentForm {
lotComment: string; lotComment: string;
} }
export const addLotComment = ( export function addLotComment(
lotCommentForm: AddLotCommentForm, lotCommentForm: AddLotCommentForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
const result = database const result = database
.prepare( .prepare(
"insert into LotComments (" + `insert into LotComments (
"lotId, lotCommentDate, lotCommentTime, lotComment," + lotId,
" recordCreate_userName, recordCreate_timeMillis," + lotCommentDate, lotCommentTime, lotComment,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?, ?)" recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotCommentForm.lotId, lotCommentForm.lotId,
@ -41,6 +42,6 @@ export const addLotComment = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addLotComment; export default addLotComment;

View File

@ -18,5 +18,5 @@ interface AddLotOccupancyForm {
occupantEmailAddress?: string; occupantEmailAddress?: string;
occupantComment?: string; occupantComment?: string;
} }
export declare const addLotOccupancy: (lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => number; export declare function addLotOccupancy(lotOccupancyForm: AddLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): number;
export default addLotOccupancy; export default addLotOccupancy;

View File

@ -3,7 +3,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js"; import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
import { addOrUpdateLotOccupancyField } from "./addOrUpdateLotOccupancyField.js"; import { addOrUpdateLotOccupancyField } from "./addOrUpdateLotOccupancyField.js";
import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.js"; import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.js";
export const addLotOccupancy = (lotOccupancyForm, requestSession, connectedDatabase) => { export function addLotOccupancy(lotOccupancyForm, requestSession, connectedDatabase) {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const occupancyStartDate = dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyStartDateString); const occupancyStartDate = dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyStartDateString);
@ -11,12 +11,12 @@ export const addLotOccupancy = (lotOccupancyForm, requestSession, connectedDatab
console.error(lotOccupancyForm); console.error(lotOccupancyForm);
} }
const result = database const result = database
.prepare("insert into LotOccupancies (" + .prepare(`insert into LotOccupancies (
"occupancyTypeId, lotId," + occupancyTypeId, lotId,
" occupancyStartDate, occupancyEndDate," + occupancyStartDate, occupancyEndDate,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotOccupancyForm.occupancyTypeId, lotOccupancyForm.lotId === "" ? undefined : lotOccupancyForm.lotId, occupancyStartDate, lotOccupancyForm.occupancyEndDateString === "" .run(lotOccupancyForm.occupancyTypeId, lotOccupancyForm.lotId === "" ? undefined : lotOccupancyForm.lotId, occupancyStartDate, lotOccupancyForm.occupancyEndDateString === ""
? undefined ? undefined
: dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyEndDateString), requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); : dateTimeFunctions.dateStringToInteger(lotOccupancyForm.occupancyEndDateString), requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
@ -51,5 +51,5 @@ export const addLotOccupancy = (lotOccupancyForm, requestSession, connectedDatab
database.close(); database.close();
} }
return lotOccupancyId; return lotOccupancyId;
}; }
export default addLotOccupancy; export default addLotOccupancy;

View File

@ -31,11 +31,11 @@ interface AddLotOccupancyForm {
occupantComment?: string; occupantComment?: string;
} }
export const addLotOccupancy = ( export function addLotOccupancy(
lotOccupancyForm: AddLotOccupancyForm, lotOccupancyForm: AddLotOccupancyForm,
requestSession: recordTypes.PartialSession, requestSession: recordTypes.PartialSession,
connectedDatabase?: sqlite.Database connectedDatabase?: sqlite.Database
): number => { ): number {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
@ -50,12 +50,12 @@ export const addLotOccupancy = (
const result = database const result = database
.prepare( .prepare(
"insert into LotOccupancies (" + `insert into LotOccupancies (
"occupancyTypeId, lotId," + occupancyTypeId, lotId,
" occupancyStartDate, occupancyEndDate," + occupancyStartDate, occupancyEndDate,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotOccupancyForm.occupancyTypeId, lotOccupancyForm.occupancyTypeId,
@ -117,6 +117,6 @@ export const addLotOccupancy = (
} }
return lotOccupancyId; return lotOccupancyId;
}; }
export default addLotOccupancy; export default addLotOccupancy;

View File

@ -5,5 +5,5 @@ interface AddLotOccupancyCommentForm {
lotOccupancyCommentTimeString?: string; lotOccupancyCommentTimeString?: string;
lotOccupancyComment: string; lotOccupancyComment: string;
} }
export declare const addLotOccupancyComment: (commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotOccupancyComment(commentForm: AddLotOccupancyCommentForm, requestSession: recordTypes.PartialSession): number;
export default addLotOccupancyComment; export default addLotOccupancyComment;

View File

@ -1,7 +1,7 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const addLotOccupancyComment = (commentForm, requestSession) => { export function addLotOccupancyComment(commentForm, requestSession) {
const rightNow = new Date(); const rightNow = new Date();
let lotOccupancyCommentDate; let lotOccupancyCommentDate;
let lotOccupancyCommentTime; let lotOccupancyCommentTime;
@ -15,13 +15,15 @@ export const addLotOccupancyComment = (commentForm, requestSession) => {
} }
const database = sqlite(databasePath); const database = sqlite(databasePath);
const result = database const result = database
.prepare("insert into LotOccupancyComments (" + .prepare(`insert into LotOccupancyComments (
"lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, lotOccupancyComment," + lotOccupancyId,
" recordCreate_userName, recordCreate_timeMillis," + lotOccupancyCommentDate, lotOccupancyCommentTime,
" recordUpdate_userName, recordUpdate_timeMillis)" + lotOccupancyComment,
" values (?, ?, ?, ?, ?, ?, ?, ?)") recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?)`)
.run(commentForm.lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, commentForm.lotOccupancyComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); .run(commentForm.lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, commentForm.lotOccupancyComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addLotOccupancyComment; export default addLotOccupancyComment;

View File

@ -18,22 +18,18 @@ interface AddLotOccupancyCommentForm {
lotOccupancyComment: string; lotOccupancyComment: string;
} }
export const addLotOccupancyComment = ( export function addLotOccupancyComment(
commentForm: AddLotOccupancyCommentForm, commentForm: AddLotOccupancyCommentForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const rightNow = new Date(); const rightNow = new Date();
let lotOccupancyCommentDate: number; let lotOccupancyCommentDate: number;
let lotOccupancyCommentTime: number; let lotOccupancyCommentTime: number;
if (commentForm.lotOccupancyCommentDateString) { if (commentForm.lotOccupancyCommentDateString) {
lotOccupancyCommentDate = dateStringToInteger( lotOccupancyCommentDate = dateStringToInteger(commentForm.lotOccupancyCommentDateString);
commentForm.lotOccupancyCommentDateString lotOccupancyCommentTime = timeStringToInteger(commentForm.lotOccupancyCommentTimeString);
);
lotOccupancyCommentTime = timeStringToInteger(
commentForm.lotOccupancyCommentTimeString
);
} else { } else {
lotOccupancyCommentDate = dateToInteger(rightNow); lotOccupancyCommentDate = dateToInteger(rightNow);
lotOccupancyCommentTime = dateToTimeInteger(rightNow); lotOccupancyCommentTime = dateToTimeInteger(rightNow);
@ -43,11 +39,13 @@ export const addLotOccupancyComment = (
const result = database const result = database
.prepare( .prepare(
"insert into LotOccupancyComments (" + `insert into LotOccupancyComments (
"lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, lotOccupancyComment," + lotOccupancyId,
" recordCreate_userName, recordCreate_timeMillis," + lotOccupancyCommentDate, lotOccupancyCommentTime,
" recordUpdate_userName, recordUpdate_timeMillis)" + lotOccupancyComment,
" values (?, ?, ?, ?, ?, ?, ?, ?)" recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
commentForm.lotOccupancyId, commentForm.lotOccupancyId,
@ -63,6 +61,6 @@ export const addLotOccupancyComment = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addLotOccupancyComment; export default addLotOccupancyComment;

View File

@ -6,5 +6,5 @@ interface AddLotOccupancyFeeForm {
feeAmount?: number | string; feeAmount?: number | string;
taxAmount?: number | string; taxAmount?: number | string;
} }
export declare const addLotOccupancyFee: (lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession) => boolean; export declare function addLotOccupancyFee(lotOccupancyFeeForm: AddLotOccupancyFeeForm, requestSession: recordTypes.PartialSession): boolean;
export default addLotOccupancyFee; export default addLotOccupancyFee;

View File

@ -3,7 +3,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { calculateFeeAmount, calculateTaxAmount } from "../functions.fee.js"; import { calculateFeeAmount, calculateTaxAmount } from "../functions.fee.js";
import { getFee } from "./getFee.js"; import { getFee } from "./getFee.js";
import { getLotOccupancy } from "./getLotOccupancy.js"; import { getLotOccupancy } from "./getLotOccupancy.js";
export const addLotOccupancyFee = (lotOccupancyFeeForm, requestSession) => { export function addLotOccupancyFee(lotOccupancyFeeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let feeAmount; let feeAmount;
@ -25,29 +25,28 @@ export const addLotOccupancyFee = (lotOccupancyFeeForm, requestSession) => {
taxAmount = calculateTaxAmount(fee, feeAmount); taxAmount = calculateTaxAmount(fee, feeAmount);
} }
const record = database const record = database
.prepare("select feeAmount, taxAmount, recordDelete_timeMillis" + .prepare(`select feeAmount, taxAmount, recordDelete_timeMillis
" from LotOccupancyFees" + from LotOccupancyFees
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and feeId = ?") and feeId = ?`)
.get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); .get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
if (record) { if (record) {
if (record.recordDelete_timeMillis) { if (record.recordDelete_timeMillis) {
database database
.prepare("delete from LotOccupancyFees" + .prepare(`delete from LotOccupancyFees
" where recordDelete_timeMillis is not null" + where recordDelete_timeMillis is not null
" and lotOccupancyId = ?" + and lotOccupancyId = ?
" and feeId = ?") and feeId = ?`)
.run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
} }
else if (record.feeAmount === feeAmount && else if (record.feeAmount === feeAmount && record.taxAmount === taxAmount) {
record.taxAmount === taxAmount) {
database database
.prepare("update LotOccupancyFees" + .prepare(`update LotOccupancyFees
" set quantity = quantity + ?," + set quantity = quantity + ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and feeId = ?") and feeId = ?`)
.run(lotOccupancyFeeForm.quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); .run(lotOccupancyFeeForm.quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
database.close(); database.close();
return true; return true;
@ -57,28 +56,28 @@ export const addLotOccupancyFee = (lotOccupancyFeeForm, requestSession) => {
? Number.parseFloat(lotOccupancyFeeForm.quantity) ? Number.parseFloat(lotOccupancyFeeForm.quantity)
: lotOccupancyFeeForm.quantity; : lotOccupancyFeeForm.quantity;
database database
.prepare("update LotOccupancyFees" + .prepare(`update LotOccupancyFees
" set feeAmount = (feeAmount * quantity) + ?," + set feeAmount = (feeAmount * quantity) + ?,
" taxAmount = (taxAmount * quantity) + ?," + taxAmount = (taxAmount * quantity) + ?,
" quantity = 1," + quantity = 1,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and feeId = ?") and feeId = ?`)
.run(feeAmount * quantity, taxAmount * quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); .run(feeAmount * quantity, taxAmount * quantity, requestSession.user.userName, rightNowMillis, lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
database.close(); database.close();
return true; return true;
} }
} }
const result = database const result = database
.prepare("insert into LotOccupancyFees (" + .prepare(`insert into LotOccupancyFees (
"lotOccupancyId, feeId," + lotOccupancyId, feeId,
" quantity, feeAmount, taxAmount," + quantity, feeAmount, taxAmount,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId, lotOccupancyFeeForm.quantity, feeAmount, taxAmount, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId, lotOccupancyFeeForm.quantity, feeAmount, taxAmount, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default addLotOccupancyFee; export default addLotOccupancyFee;

View File

@ -18,16 +18,15 @@ interface AddLotOccupancyFeeForm {
taxAmount?: number | string; taxAmount?: number | string;
} }
export const addLotOccupancyFee = ( export function addLotOccupancyFee(
lotOccupancyFeeForm: AddLotOccupancyFeeForm, lotOccupancyFeeForm: AddLotOccupancyFeeForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
// Calculate fee and tax (if not set) // Calculate fee and tax (if not set)
let feeAmount: number; let feeAmount: number;
let taxAmount: number; let taxAmount: number;
@ -41,9 +40,7 @@ export const addLotOccupancyFee = (
? Number.parseFloat(lotOccupancyFeeForm.taxAmount) ? Number.parseFloat(lotOccupancyFeeForm.taxAmount)
: taxAmount; : taxAmount;
} else { } else {
const lotOccupancy = getLotOccupancy( const lotOccupancy = getLotOccupancy(lotOccupancyFeeForm.lotOccupancyId);
lotOccupancyFeeForm.lotOccupancyId
);
const fee = getFee(lotOccupancyFeeForm.feeId); const fee = getFee(lotOccupancyFeeForm.feeId);
feeAmount = calculateFeeAmount(fee, lotOccupancy); feeAmount = calculateFeeAmount(fee, lotOccupancy);
@ -51,17 +48,16 @@ export const addLotOccupancyFee = (
} }
// Check if record already exists // Check if record already exists
const record: { const record: {
feeAmount?: number; feeAmount?: number;
taxAmount?: number; taxAmount?: number;
recordDelete_timeMillis?: number; recordDelete_timeMillis?: number;
} = database } = database
.prepare( .prepare(
"select feeAmount, taxAmount, recordDelete_timeMillis" + `select feeAmount, taxAmount, recordDelete_timeMillis
" from LotOccupancyFees" + from LotOccupancyFees
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and feeId = ?" and feeId = ?`
) )
.get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId); .get(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
@ -69,27 +65,21 @@ export const addLotOccupancyFee = (
if (record.recordDelete_timeMillis) { if (record.recordDelete_timeMillis) {
database database
.prepare( .prepare(
"delete from LotOccupancyFees" + `delete from LotOccupancyFees
" where recordDelete_timeMillis is not null" + where recordDelete_timeMillis is not null
" and lotOccupancyId = ?" + and lotOccupancyId = ?
" and feeId = ?" and feeId = ?`
) )
.run( .run(lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.feeId);
lotOccupancyFeeForm.lotOccupancyId, } else if (record.feeAmount === feeAmount && record.taxAmount === taxAmount) {
lotOccupancyFeeForm.feeId
);
} else if (
record.feeAmount === feeAmount &&
record.taxAmount === taxAmount
) {
database database
.prepare( .prepare(
"update LotOccupancyFees" + `update LotOccupancyFees
" set quantity = quantity + ?," + set quantity = quantity + ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and feeId = ?" and feeId = ?`
) )
.run( .run(
lotOccupancyFeeForm.quantity, lotOccupancyFeeForm.quantity,
@ -110,14 +100,14 @@ export const addLotOccupancyFee = (
database database
.prepare( .prepare(
"update LotOccupancyFees" + `update LotOccupancyFees
" set feeAmount = (feeAmount * quantity) + ?," + set feeAmount = (feeAmount * quantity) + ?,
" taxAmount = (taxAmount * quantity) + ?," + taxAmount = (taxAmount * quantity) + ?,
" quantity = 1," + quantity = 1,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and feeId = ?" and feeId = ?`
) )
.run( .run(
feeAmount * quantity, feeAmount * quantity,
@ -135,15 +125,14 @@ export const addLotOccupancyFee = (
} }
// Create new record // Create new record
const result = database const result = database
.prepare( .prepare(
"insert into LotOccupancyFees (" + `insert into LotOccupancyFees (
"lotOccupancyId, feeId," + lotOccupancyId, feeId,
" quantity, feeAmount, taxAmount," + quantity, feeAmount, taxAmount,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotOccupancyFeeForm.lotOccupancyId, lotOccupancyFeeForm.lotOccupancyId,
@ -160,6 +149,6 @@ export const addLotOccupancyFee = (
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default addLotOccupancyFee; export default addLotOccupancyFee;

View File

@ -13,5 +13,5 @@ interface AddLotOccupancyOccupantForm {
occupantEmailAddress: string; occupantEmailAddress: string;
occupantComment?: string; occupantComment?: string;
} }
export declare const addLotOccupancyOccupant: (lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => number; export declare function addLotOccupancyOccupant(lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): number;
export default addLotOccupancyOccupant; export default addLotOccupancyOccupant;

View File

@ -1,35 +1,35 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addLotOccupancyOccupant = (lotOccupancyOccupantForm, requestSession, connectedDatabase) => { export function addLotOccupancyOccupant(lotOccupancyOccupantForm, requestSession, connectedDatabase) {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
let lotOccupantIndex = 0; let lotOccupantIndex = 0;
const maxIndexResult = database const maxIndexResult = database
.prepare("select lotOccupantIndex" + .prepare(`select lotOccupantIndex
" from LotOccupancyOccupants" + from LotOccupancyOccupants
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" order by lotOccupantIndex desc" + order by lotOccupantIndex desc
" limit 1") limit 1`)
.get(lotOccupancyOccupantForm.lotOccupancyId); .get(lotOccupancyOccupantForm.lotOccupancyId);
if (maxIndexResult) { if (maxIndexResult) {
lotOccupantIndex = maxIndexResult.lotOccupantIndex + 1; lotOccupantIndex = maxIndexResult.lotOccupantIndex + 1;
} }
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
database database
.prepare("insert into LotOccupancyOccupants (" + .prepare(`insert into LotOccupancyOccupants (
"lotOccupancyId, lotOccupantIndex," + lotOccupancyId, lotOccupantIndex,
" occupantName," + occupantName,
" occupantAddress1, occupantAddress2," + occupantAddress1, occupantAddress2,
" occupantCity, occupantProvince, occupantPostalCode," + occupantCity, occupantProvince, occupantPostalCode,
" occupantPhoneNumber, occupantEmailAddress," + occupantPhoneNumber, occupantEmailAddress,
" occupantComment," + occupantComment,
" lotOccupantTypeId," + lotOccupantTypeId,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotOccupancyOccupantForm.lotOccupancyId, lotOccupantIndex, lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment || "", lotOccupancyOccupantForm.lotOccupantTypeId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotOccupancyOccupantForm.lotOccupancyId, lotOccupantIndex, lotOccupancyOccupantForm.occupantName, lotOccupancyOccupantForm.occupantAddress1, lotOccupancyOccupantForm.occupantAddress2, lotOccupancyOccupantForm.occupantCity, lotOccupancyOccupantForm.occupantProvince, lotOccupancyOccupantForm.occupantPostalCode, lotOccupancyOccupantForm.occupantPhoneNumber, lotOccupancyOccupantForm.occupantEmailAddress, lotOccupancyOccupantForm.occupantComment || "", lotOccupancyOccupantForm.lotOccupantTypeId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
if (!connectedDatabase) { if (!connectedDatabase) {
database.close(); database.close();
} }
return lotOccupantIndex; return lotOccupantIndex;
}; }
export default addLotOccupancyOccupant; export default addLotOccupancyOccupant;

View File

@ -18,22 +18,22 @@ interface AddLotOccupancyOccupantForm {
occupantComment?: string; occupantComment?: string;
} }
export const addLotOccupancyOccupant = ( export function addLotOccupancyOccupant(
lotOccupancyOccupantForm: AddLotOccupancyOccupantForm, lotOccupancyOccupantForm: AddLotOccupancyOccupantForm,
requestSession: recordTypes.PartialSession, requestSession: recordTypes.PartialSession,
connectedDatabase?: sqlite.Database connectedDatabase?: sqlite.Database
): number => { ): number {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
let lotOccupantIndex = 0; let lotOccupantIndex = 0;
const maxIndexResult = database const maxIndexResult = database
.prepare( .prepare(
"select lotOccupantIndex" + `select lotOccupantIndex
" from LotOccupancyOccupants" + from LotOccupancyOccupants
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" order by lotOccupantIndex desc" + order by lotOccupantIndex desc
" limit 1" limit 1`
) )
.get(lotOccupancyOccupantForm.lotOccupancyId); .get(lotOccupancyOccupantForm.lotOccupancyId);
@ -45,17 +45,17 @@ export const addLotOccupancyOccupant = (
database database
.prepare( .prepare(
"insert into LotOccupancyOccupants (" + `insert into LotOccupancyOccupants (
"lotOccupancyId, lotOccupantIndex," + lotOccupancyId, lotOccupantIndex,
" occupantName," + occupantName,
" occupantAddress1, occupantAddress2," + occupantAddress1, occupantAddress2,
" occupantCity, occupantProvince, occupantPostalCode," + occupantCity, occupantProvince, occupantPostalCode,
" occupantPhoneNumber, occupantEmailAddress," + occupantPhoneNumber, occupantEmailAddress,
" occupantComment," + occupantComment,
" lotOccupantTypeId," + lotOccupantTypeId,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotOccupancyOccupantForm.lotOccupancyId, lotOccupancyOccupantForm.lotOccupancyId,
@ -81,6 +81,6 @@ export const addLotOccupancyOccupant = (
} }
return lotOccupantIndex; return lotOccupantIndex;
}; }
export default addLotOccupancyOccupant; export default addLotOccupancyOccupant;

View File

@ -7,5 +7,5 @@ interface AddLotOccupancyTransactionForm {
externalReceiptNumber: string; externalReceiptNumber: string;
transactionNote: string; transactionNote: string;
} }
export declare const addLotOccupancyTransaction: (lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotOccupancyTransaction(lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, requestSession: recordTypes.PartialSession): number;
export default addLotOccupancyTransaction; export default addLotOccupancyTransaction;

View File

@ -1,15 +1,15 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const addLotOccupancyTransaction = (lotOccupancyTransactionForm, requestSession) => { export function addLotOccupancyTransaction(lotOccupancyTransactionForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
let transactionIndex = 0; let transactionIndex = 0;
const maxIndexResult = database const maxIndexResult = database
.prepare("select transactionIndex" + .prepare(`select transactionIndex
" from LotOccupancyTransactions" + from LotOccupancyTransactions
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" order by transactionIndex desc" + order by transactionIndex desc
" limit 1") limit 1`)
.get(lotOccupancyTransactionForm.lotOccupancyId); .get(lotOccupancyTransactionForm.lotOccupancyId);
if (maxIndexResult) { if (maxIndexResult) {
transactionIndex = maxIndexResult.transactionIndex + 1; transactionIndex = maxIndexResult.transactionIndex + 1;
@ -22,16 +22,15 @@ export const addLotOccupancyTransaction = (lotOccupancyTransactionForm, requestS
? timeStringToInteger(lotOccupancyTransactionForm.transactionTimeString) ? timeStringToInteger(lotOccupancyTransactionForm.transactionTimeString)
: dateToTimeInteger(rightNow); : dateToTimeInteger(rightNow);
database database
.prepare("insert into LotOccupancyTransactions (" + .prepare(`insert into LotOccupancyTransactions (
"lotOccupancyId, transactionIndex," + lotOccupancyId, transactionIndex,
" transactionDate, transactionTime," + transactionDate, transactionTime,
" transactionAmount, externalReceiptNumber," + transactionAmount, externalReceiptNumber, transactionNote,
" transactionNote," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
.run(lotOccupancyTransactionForm.lotOccupancyId, transactionIndex, transactionDate, transactionTime, lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); .run(lotOccupancyTransactionForm.lotOccupancyId, transactionIndex, transactionDate, transactionTime, lotOccupancyTransactionForm.transactionAmount, lotOccupancyTransactionForm.externalReceiptNumber, lotOccupancyTransactionForm.transactionNote, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
database.close(); database.close();
return transactionIndex; return transactionIndex;
}; }
export default addLotOccupancyTransaction; export default addLotOccupancyTransaction;

View File

@ -20,21 +20,21 @@ interface AddLotOccupancyTransactionForm {
transactionNote: string; transactionNote: string;
} }
export const addLotOccupancyTransaction = ( export function addLotOccupancyTransaction(
lotOccupancyTransactionForm: AddLotOccupancyTransactionForm, lotOccupancyTransactionForm: AddLotOccupancyTransactionForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
let transactionIndex = 0; let transactionIndex = 0;
const maxIndexResult = database const maxIndexResult = database
.prepare( .prepare(
"select transactionIndex" + `select transactionIndex
" from LotOccupancyTransactions" + from LotOccupancyTransactions
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" order by transactionIndex desc" + order by transactionIndex desc
" limit 1" limit 1`
) )
.get(lotOccupancyTransactionForm.lotOccupancyId); .get(lotOccupancyTransactionForm.lotOccupancyId);
@ -54,14 +54,13 @@ export const addLotOccupancyTransaction = (
database database
.prepare( .prepare(
"insert into LotOccupancyTransactions (" + `insert into LotOccupancyTransactions (
"lotOccupancyId, transactionIndex," + lotOccupancyId, transactionIndex,
" transactionDate, transactionTime," + transactionDate, transactionTime,
" transactionAmount, externalReceiptNumber," + transactionAmount, externalReceiptNumber, transactionNote,
" transactionNote," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
) )
.run( .run(
lotOccupancyTransactionForm.lotOccupancyId, lotOccupancyTransactionForm.lotOccupancyId,
@ -80,6 +79,6 @@ export const addLotOccupancyTransaction = (
database.close(); database.close();
return transactionIndex; return transactionIndex;
}; }
export default addLotOccupancyTransaction; export default addLotOccupancyTransaction;

View File

@ -4,5 +4,5 @@ interface AddLotOccupantTypeForm {
fontAwesomeIconClass?: string; fontAwesomeIconClass?: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addLotOccupantType: (lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotOccupantType(lotOccupantTypeForm: AddLotOccupantTypeForm, requestSession: recordTypes.PartialSession): number;
export default addLotOccupantType; export default addLotOccupantType;

View File

@ -1,18 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearLotOccupantTypesCache } from "../functions.cache.js"; import { clearLotOccupantTypesCache } from "../functions.cache.js";
export const addLotOccupantType = (lotOccupantTypeForm, requestSession) => { export function addLotOccupantType(lotOccupantTypeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into LotOccupantTypes (" + .prepare(`insert into LotOccupantTypes (
"lotOccupantType, fontAwesomeIconClass, orderNumber," + lotOccupantType, fontAwesomeIconClass, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?)`)
.run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass || "", lotOccupantTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.fontAwesomeIconClass || "", lotOccupantTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearLotOccupantTypesCache(); clearLotOccupantTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addLotOccupantType; export default addLotOccupantType;

View File

@ -11,21 +11,21 @@ interface AddLotOccupantTypeForm {
orderNumber?: number; orderNumber?: number;
} }
export const addLotOccupantType = ( export function addLotOccupantType(
lotOccupantTypeForm: AddLotOccupantTypeForm, lotOccupantTypeForm: AddLotOccupantTypeForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into LotOccupantTypes (" + `insert into LotOccupantTypes (
"lotOccupantType, fontAwesomeIconClass, orderNumber," + lotOccupantType, fontAwesomeIconClass, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotOccupantTypeForm.lotOccupantType, lotOccupantTypeForm.lotOccupantType,
@ -42,6 +42,6 @@ export const addLotOccupantType = (
clearLotOccupantTypesCache(); clearLotOccupantTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addLotOccupantType; export default addLotOccupantType;

View File

@ -3,5 +3,5 @@ interface AddLotStatusForm {
lotStatus: string; lotStatus: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addLotStatus: (lotStatusForm: AddLotStatusForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotStatus(lotStatusForm: AddLotStatusForm, requestSession: recordTypes.PartialSession): number;
export default addLotStatus; export default addLotStatus;

View File

@ -1,18 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearLotStatusesCache } from "../functions.cache.js"; import { clearLotStatusesCache } from "../functions.cache.js";
export const addLotStatus = (lotStatusForm, requestSession) => { export function addLotStatus(lotStatusForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into LotStatuses (" + .prepare(`insert into LotStatuses (
"lotStatus, orderNumber," + lotStatus, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(lotStatusForm.lotStatus, lotStatusForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotStatusForm.lotStatus, lotStatusForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearLotStatusesCache(); clearLotStatusesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addLotStatus; export default addLotStatus;

View File

@ -10,21 +10,21 @@ interface AddLotStatusForm {
orderNumber?: number; orderNumber?: number;
} }
export const addLotStatus = ( export function addLotStatus(
lotStatusForm: AddLotStatusForm, lotStatusForm: AddLotStatusForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into LotStatuses (" + `insert into LotStatuses (
"lotStatus, orderNumber," + lotStatus, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotStatusForm.lotStatus, lotStatusForm.lotStatus,
@ -40,6 +40,6 @@ export const addLotStatus = (
clearLotStatusesCache(); clearLotStatusesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addLotStatus; export default addLotStatus;

View File

@ -3,5 +3,5 @@ interface AddLotTypeForm {
lotType: string; lotType: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addLotType: (lotTypeForm: AddLotTypeForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotType(lotTypeForm: AddLotTypeForm, requestSession: recordTypes.PartialSession): number;
export default addLotType; export default addLotType;

View File

@ -1,18 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearLotTypesCache } from "../functions.cache.js"; import { clearLotTypesCache } from "../functions.cache.js";
export const addLotType = (lotTypeForm, requestSession) => { export function addLotType(lotTypeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into LotTypes (" + .prepare(`insert into LotTypes (
"lotType, orderNumber," + lotType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(lotTypeForm.lotType, lotTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotTypeForm.lotType, lotTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearLotTypesCache(); clearLotTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addLotType; export default addLotType;

View File

@ -11,21 +11,21 @@ interface AddLotTypeForm {
orderNumber?: number; orderNumber?: number;
} }
export const addLotType = ( export function addLotType(
lotTypeForm: AddLotTypeForm, lotTypeForm: AddLotTypeForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into LotTypes (" + `insert into LotTypes (
"lotType, orderNumber," + lotType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotTypeForm.lotType, lotTypeForm.lotType,
@ -41,6 +41,6 @@ export const addLotType = (
clearLotTypesCache(); clearLotTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addLotType; export default addLotType;

View File

@ -9,5 +9,5 @@ interface AddLotTypeFieldForm {
maximumLength: string | number; maximumLength: string | number;
orderNumber?: number; orderNumber?: number;
} }
export declare const addLotTypeField: (lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession) => number; export declare function addLotTypeField(lotTypeFieldForm: AddLotTypeFieldForm, requestSession: recordTypes.PartialSession): number;
export default addLotTypeField; export default addLotTypeField;

View File

@ -1,21 +1,21 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearLotTypesCache } from "../functions.cache.js"; import { clearLotTypesCache } from "../functions.cache.js";
export const addLotTypeField = (lotTypeFieldForm, requestSession) => { export function addLotTypeField(lotTypeFieldForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into LotTypeFields (" + .prepare(`insert into LotTypeFields (
"lotTypeId, lotTypeField," + lotTypeId, lotTypeField, lotTypeFieldValues,
" lotTypeFieldValues, isRequired, pattern," + isRequired, pattern,
" minimumLength, maximumLength," + minimumLength, maximumLength,
" orderNumber," + orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(lotTypeFieldForm.lotTypeId, lotTypeFieldForm.lotTypeField, lotTypeFieldForm.lotTypeFieldValues || "", lotTypeFieldForm.isRequired ? 1 : 0, lotTypeFieldForm.pattern || "", lotTypeFieldForm.minimumLength || 0, lotTypeFieldForm.maximumLength || 100, lotTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotTypeFieldForm.lotTypeId, lotTypeFieldForm.lotTypeField, lotTypeFieldForm.lotTypeFieldValues || "", lotTypeFieldForm.isRequired ? 1 : 0, lotTypeFieldForm.pattern || "", lotTypeFieldForm.minimumLength || 0, lotTypeFieldForm.maximumLength || 100, lotTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearLotTypesCache(); clearLotTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addLotTypeField; export default addLotTypeField;

View File

@ -16,24 +16,24 @@ interface AddLotTypeFieldForm {
orderNumber?: number; orderNumber?: number;
} }
export const addLotTypeField = ( export function addLotTypeField(
lotTypeFieldForm: AddLotTypeFieldForm, lotTypeFieldForm: AddLotTypeFieldForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into LotTypeFields (" + `insert into LotTypeFields (
"lotTypeId, lotTypeField," + lotTypeId, lotTypeField, lotTypeFieldValues,
" lotTypeFieldValues, isRequired, pattern," + isRequired, pattern,
" minimumLength, maximumLength," + minimumLength, maximumLength,
" orderNumber," + orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
lotTypeFieldForm.lotTypeId, lotTypeFieldForm.lotTypeId,
@ -55,6 +55,6 @@ export const addLotTypeField = (
clearLotTypesCache(); clearLotTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addLotTypeField; export default addLotTypeField;

View File

@ -12,5 +12,5 @@ interface AddMapForm {
mapPostalCode: string; mapPostalCode: string;
mapPhoneNumber: string; mapPhoneNumber: string;
} }
export declare const addMap: (mapForm: AddMapForm, requestSession: recordTypes.PartialSession) => number; export declare function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): number;
export default addMap; export default addMap;

View File

@ -1,18 +1,20 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addMap = (mapForm, requestSession) => { export function addMap(mapForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into Maps (" + .prepare(`insert into Maps (
"mapName, mapDescription," + mapName, mapDescription,
" mapSVG, mapLatitude, mapLongitude," + mapSVG, mapLatitude, mapLongitude,
" mapAddress1, mapAddress2, mapCity, mapProvince, mapPostalCode, mapPhoneNumber," + mapAddress1, mapAddress2,
" recordCreate_userName, recordCreate_timeMillis," + mapCity, mapProvince, mapPostalCode,
" recordUpdate_userName, recordUpdate_timeMillis)" + mapPhoneNumber,
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(mapForm.mapName, mapForm.mapDescription, mapForm.mapSVG, mapForm.mapLatitude === "" ? undefined : mapForm.mapLatitude, mapForm.mapLongitude === "" ? undefined : mapForm.mapLongitude, mapForm.mapAddress1, mapForm.mapAddress2, mapForm.mapCity, mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(mapForm.mapName, mapForm.mapDescription, mapForm.mapSVG, mapForm.mapLatitude === "" ? undefined : mapForm.mapLatitude, mapForm.mapLongitude === "" ? undefined : mapForm.mapLongitude, mapForm.mapAddress1, mapForm.mapAddress2, mapForm.mapCity, mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addMap; export default addMap;

View File

@ -18,23 +18,22 @@ interface AddMapForm {
mapPhoneNumber: string; mapPhoneNumber: string;
} }
export const addMap = ( export function addMap(mapForm: AddMapForm, requestSession: recordTypes.PartialSession): number {
mapForm: AddMapForm,
requestSession: recordTypes.PartialSession
): number => {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into Maps (" + `insert into Maps (
"mapName, mapDescription," + mapName, mapDescription,
" mapSVG, mapLatitude, mapLongitude," + mapSVG, mapLatitude, mapLongitude,
" mapAddress1, mapAddress2, mapCity, mapProvince, mapPostalCode, mapPhoneNumber," + mapAddress1, mapAddress2,
" recordCreate_userName, recordCreate_timeMillis," + mapCity, mapProvince, mapPostalCode,
" recordUpdate_userName, recordUpdate_timeMillis)" + mapPhoneNumber,
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
mapForm.mapName, mapForm.mapName,
@ -57,6 +56,6 @@ export const addMap = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addMap; export default addMap;

View File

@ -3,5 +3,5 @@ interface AddOccupancyTypeForm {
occupancyType: string; occupancyType: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addOccupancyType: (occupancyTypeForm: AddOccupancyTypeForm, requestSession: recordTypes.PartialSession) => number; export declare function addOccupancyType(occupancyTypeForm: AddOccupancyTypeForm, requestSession: recordTypes.PartialSession): number;
export default addOccupancyType; export default addOccupancyType;

View File

@ -1,18 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearOccupancyTypesCache } from "../functions.cache.js"; import { clearOccupancyTypesCache } from "../functions.cache.js";
export const addOccupancyType = (occupancyTypeForm, requestSession) => { export function addOccupancyType(occupancyTypeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into OccupancyTypes (" + .prepare(`insert into OccupancyTypes (
"occupancyType, orderNumber," + occupancyType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearOccupancyTypesCache(); clearOccupancyTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addOccupancyType; export default addOccupancyType;

View File

@ -11,21 +11,21 @@ interface AddOccupancyTypeForm {
orderNumber?: number; orderNumber?: number;
} }
export const addOccupancyType = ( export function addOccupancyType(
occupancyTypeForm: AddOccupancyTypeForm, occupancyTypeForm: AddOccupancyTypeForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into OccupancyTypes (" + `insert into OccupancyTypes (
"occupancyType, orderNumber," + occupancyType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
occupancyTypeForm.occupancyType, occupancyTypeForm.occupancyType,
@ -41,6 +41,6 @@ export const addOccupancyType = (
clearOccupancyTypesCache(); clearOccupancyTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addOccupancyType; export default addOccupancyType;

View File

@ -9,5 +9,5 @@ interface AddOccupancyTypeFieldForm {
maximumLength: string | number; maximumLength: string | number;
orderNumber?: number; orderNumber?: number;
} }
export declare const addOccupancyTypeField: (occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession) => number; export declare function addOccupancyTypeField(occupancyTypeFieldForm: AddOccupancyTypeFieldForm, requestSession: recordTypes.PartialSession): number;
export default addOccupancyTypeField; export default addOccupancyTypeField;

View File

@ -1,21 +1,21 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearOccupancyTypesCache } from "../functions.cache.js"; import { clearOccupancyTypesCache } from "../functions.cache.js";
export const addOccupancyTypeField = (occupancyTypeFieldForm, requestSession) => { export function addOccupancyTypeField(occupancyTypeFieldForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into OccupancyTypeFields (" + .prepare(`insert into OccupancyTypeFields (
"occupancyTypeId, occupancyTypeField," + occupancyTypeId, occupancyTypeField,
" occupancyTypeFieldValues, isRequired, pattern," + occupancyTypeFieldValues, isRequired, pattern,
" minimumLength, maximumLength," + minimumLength, maximumLength,
" orderNumber," + orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(occupancyTypeFieldForm.occupancyTypeId || undefined, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues || "", occupancyTypeFieldForm.isRequired ? 1 : 0, occupancyTypeFieldForm.pattern || "", occupancyTypeFieldForm.minimumLength || 0, occupancyTypeFieldForm.maximumLength || 100, occupancyTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(occupancyTypeFieldForm.occupancyTypeId || undefined, occupancyTypeFieldForm.occupancyTypeField, occupancyTypeFieldForm.occupancyTypeFieldValues || "", occupancyTypeFieldForm.isRequired ? 1 : 0, occupancyTypeFieldForm.pattern || "", occupancyTypeFieldForm.minimumLength || 0, occupancyTypeFieldForm.maximumLength || 100, occupancyTypeFieldForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearOccupancyTypesCache(); clearOccupancyTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addOccupancyTypeField; export default addOccupancyTypeField;

View File

@ -16,24 +16,24 @@ interface AddOccupancyTypeFieldForm {
orderNumber?: number; orderNumber?: number;
} }
export const addOccupancyTypeField = ( export function addOccupancyTypeField(
occupancyTypeFieldForm: AddOccupancyTypeFieldForm, occupancyTypeFieldForm: AddOccupancyTypeFieldForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into OccupancyTypeFields (" + `insert into OccupancyTypeFields (
"occupancyTypeId, occupancyTypeField," + occupancyTypeId, occupancyTypeField,
" occupancyTypeFieldValues, isRequired, pattern," + occupancyTypeFieldValues, isRequired, pattern,
" minimumLength, maximumLength," + minimumLength, maximumLength,
" orderNumber," + orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
occupancyTypeFieldForm.occupancyTypeId || undefined, occupancyTypeFieldForm.occupancyTypeId || undefined,
@ -55,6 +55,6 @@ export const addOccupancyTypeField = (
clearOccupancyTypesCache(); clearOccupancyTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addOccupancyTypeField; export default addOccupancyTypeField;

View File

@ -4,5 +4,5 @@ interface OccupancyTypePrintForm {
printEJS: string; printEJS: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addOccupancyTypePrint: (occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession) => boolean; export declare function addOccupancyTypePrint(occupancyTypePrintForm: OccupancyTypePrintForm, requestSession: recordTypes.PartialSession): boolean;
export default addOccupancyTypePrint; export default addOccupancyTypePrint;

View File

@ -1,30 +1,29 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearOccupancyTypesCache } from "../functions.cache.js"; import { clearOccupancyTypesCache } from "../functions.cache.js";
export const addOccupancyTypePrint = (occupancyTypePrintForm, requestSession) => { export function addOccupancyTypePrint(occupancyTypePrintForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let result = database let result = database
.prepare("update OccupancyTypePrints" + .prepare(`update OccupancyTypePrints
" set recordUpdate_userName = ?," + set recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where occupancyTypeId = ?" + where occupancyTypeId = ?
" and printEJS = ?") and printEJS = ?`)
.run(requestSession.user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS); .run(requestSession.user.userName, rightNowMillis, occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS);
if (result.changes === 0) { if (result.changes === 0) {
result = database result = database
.prepare("insert into OccupancyTypePrints (" + .prepare(`insert into OccupancyTypePrints (
"occupancyTypeId, printEJS," + occupancyTypeId, printEJS, orderNumber,
" orderNumber," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?)`)
" values (?, ?, ?, ?, ?, ?, ?)")
.run(occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS, occupancyTypePrintForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.printEJS, occupancyTypePrintForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
} }
database.close(); database.close();
clearOccupancyTypesCache(); clearOccupancyTypesCache();
return result.changes > 0; return result.changes > 0;
}; }
export default addOccupancyTypePrint; export default addOccupancyTypePrint;

View File

@ -12,23 +12,23 @@ interface OccupancyTypePrintForm {
orderNumber?: number; orderNumber?: number;
} }
export const addOccupancyTypePrint = ( export function addOccupancyTypePrint(
occupancyTypePrintForm: OccupancyTypePrintForm, occupancyTypePrintForm: OccupancyTypePrintForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let result = database let result = database
.prepare( .prepare(
"update OccupancyTypePrints" + `update OccupancyTypePrints
" set recordUpdate_userName = ?," + set recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where occupancyTypeId = ?" + where occupancyTypeId = ?
" and printEJS = ?" and printEJS = ?`
) )
.run( .run(
requestSession.user.userName, requestSession.user.userName,
@ -40,12 +40,11 @@ export const addOccupancyTypePrint = (
if (result.changes === 0) { if (result.changes === 0) {
result = database result = database
.prepare( .prepare(
"insert into OccupancyTypePrints (" + `insert into OccupancyTypePrints (
"occupancyTypeId, printEJS," + occupancyTypeId, printEJS, orderNumber,
" orderNumber," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?)`
" values (?, ?, ?, ?, ?, ?, ?)"
) )
.run( .run(
occupancyTypePrintForm.occupancyTypeId, occupancyTypePrintForm.occupancyTypeId,
@ -63,6 +62,6 @@ export const addOccupancyTypePrint = (
clearOccupancyTypesCache(); clearOccupancyTypesCache();
return result.changes > 0; return result.changes > 0;
}; }
export default addOccupancyTypePrint; export default addOccupancyTypePrint;

View File

@ -5,5 +5,5 @@ interface LotFieldForm {
lotTypeFieldId: string | number; lotTypeFieldId: string | number;
lotFieldValue: string; lotFieldValue: string;
} }
export declare const addOrUpdateLotField: (lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => boolean; export declare function addOrUpdateLotField(lotFieldForm: LotFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean;
export default addOrUpdateLotField; export default addOrUpdateLotField;

View File

@ -1,31 +1,30 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addOrUpdateLotField = (lotFieldForm, requestSession, connectedDatabase) => { export function addOrUpdateLotField(lotFieldForm, requestSession, connectedDatabase) {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let result = database let result = database
.prepare("update LotFields" + .prepare(`update LotFields
" set lotFieldValue = ?," + set lotFieldValue = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where lotId = ?" + where lotId = ?
" and lotTypeFieldId = ?") and lotTypeFieldId = ?`)
.run(lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, lotFieldForm.lotId, lotFieldForm.lotTypeFieldId); .run(lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, lotFieldForm.lotId, lotFieldForm.lotTypeFieldId);
if (result.changes === 0) { if (result.changes === 0) {
result = database result = database
.prepare("insert into LotFields (" + .prepare(`insert into LotFields (
"lotId, lotTypeFieldId," + lotId, lotTypeFieldId, lotFieldValue,
" lotFieldValue," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?)`)
" values (?, ?, ?, ?, ?, ?, ?)")
.run(lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotFieldForm.lotId, lotFieldForm.lotTypeFieldId, lotFieldForm.lotFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
} }
if (!connectedDatabase) { if (!connectedDatabase) {
database.close(); database.close();
} }
return result.changes > 0; return result.changes > 0;
}; }
export default addOrUpdateLotField; export default addOrUpdateLotField;

View File

@ -10,25 +10,25 @@ interface LotFieldForm {
lotFieldValue: string; lotFieldValue: string;
} }
export const addOrUpdateLotField = ( export function addOrUpdateLotField(
lotFieldForm: LotFieldForm, lotFieldForm: LotFieldForm,
requestSession: recordTypes.PartialSession, requestSession: recordTypes.PartialSession,
connectedDatabase?: sqlite.Database connectedDatabase?: sqlite.Database
): boolean => { ): boolean {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let result = database let result = database
.prepare( .prepare(
"update LotFields" + `update LotFields
" set lotFieldValue = ?," + set lotFieldValue = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where lotId = ?" + where lotId = ?
" and lotTypeFieldId = ?" and lotTypeFieldId = ?`
) )
.run( .run(
lotFieldForm.lotFieldValue, lotFieldForm.lotFieldValue,
@ -41,12 +41,11 @@ export const addOrUpdateLotField = (
if (result.changes === 0) { if (result.changes === 0) {
result = database result = database
.prepare( .prepare(
"insert into LotFields (" + `insert into LotFields (
"lotId, lotTypeFieldId," + lotId, lotTypeFieldId, lotFieldValue,
" lotFieldValue," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?)`
" values (?, ?, ?, ?, ?, ?, ?)"
) )
.run( .run(
lotFieldForm.lotId, lotFieldForm.lotId,
@ -64,6 +63,6 @@ export const addOrUpdateLotField = (
} }
return result.changes > 0; return result.changes > 0;
}; }
export default addOrUpdateLotField; export default addOrUpdateLotField;

View File

@ -5,5 +5,5 @@ interface LotOccupancyFieldForm {
occupancyTypeFieldId: string | number; occupancyTypeFieldId: string | number;
lotOccupancyFieldValue: string; lotOccupancyFieldValue: string;
} }
export declare const addOrUpdateLotOccupancyField: (lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => boolean; export declare function addOrUpdateLotOccupancyField(lotOccupancyFieldForm: LotOccupancyFieldForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean;
export default addOrUpdateLotOccupancyField; export default addOrUpdateLotOccupancyField;

View File

@ -1,31 +1,30 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addOrUpdateLotOccupancyField = (lotOccupancyFieldForm, requestSession, connectedDatabase) => { export function addOrUpdateLotOccupancyField(lotOccupancyFieldForm, requestSession, connectedDatabase) {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let result = database let result = database
.prepare("update LotOccupancyFields" + .prepare(`update LotOccupancyFields
" set lotOccupancyFieldValue = ?," + set lotOccupancyFieldValue = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and occupancyTypeFieldId = ?") and occupancyTypeFieldId = ?`)
.run(lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId); .run(lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId);
if (result.changes === 0) { if (result.changes === 0) {
result = database result = database
.prepare("insert into LotOccupancyFields (" + .prepare(`insert into LotOccupancyFields (
"lotOccupancyId, occupancyTypeFieldId," + lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
" lotOccupancyFieldValue," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?)`)
" values (?, ?, ?, ?, ?, ?, ?)")
.run(lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.occupancyTypeFieldId, lotOccupancyFieldForm.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
} }
if (!connectedDatabase) { if (!connectedDatabase) {
database.close(); database.close();
} }
return result.changes > 0; return result.changes > 0;
}; }
export default addOrUpdateLotOccupancyField; export default addOrUpdateLotOccupancyField;

View File

@ -10,25 +10,25 @@ interface LotOccupancyFieldForm {
lotOccupancyFieldValue: string; lotOccupancyFieldValue: string;
} }
export const addOrUpdateLotOccupancyField = ( export function addOrUpdateLotOccupancyField(
lotOccupancyFieldForm: LotOccupancyFieldForm, lotOccupancyFieldForm: LotOccupancyFieldForm,
requestSession: recordTypes.PartialSession, requestSession: recordTypes.PartialSession,
connectedDatabase?: sqlite.Database connectedDatabase?: sqlite.Database
): boolean => { ): boolean {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
let result = database let result = database
.prepare( .prepare(
"update LotOccupancyFields" + `update LotOccupancyFields
" set lotOccupancyFieldValue = ?," + set lotOccupancyFieldValue = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where lotOccupancyId = ?" + where lotOccupancyId = ?
" and occupancyTypeFieldId = ?" and occupancyTypeFieldId = ?`
) )
.run( .run(
lotOccupancyFieldForm.lotOccupancyFieldValue, lotOccupancyFieldForm.lotOccupancyFieldValue,
@ -41,12 +41,11 @@ export const addOrUpdateLotOccupancyField = (
if (result.changes === 0) { if (result.changes === 0) {
result = database result = database
.prepare( .prepare(
"insert into LotOccupancyFields (" + `insert into LotOccupancyFields (
"lotOccupancyId, occupancyTypeFieldId," + lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
" lotOccupancyFieldValue," + recordCreate_userName, recordCreate_timeMillis,
" recordCreate_userName, recordCreate_timeMillis," + recordUpdate_userName, recordUpdate_timeMillis)
" recordUpdate_userName, recordUpdate_timeMillis)" + values (?, ?, ?, ?, ?, ?, ?)`
" values (?, ?, ?, ?, ?, ?, ?)"
) )
.run( .run(
lotOccupancyFieldForm.lotOccupancyId, lotOccupancyFieldForm.lotOccupancyId,
@ -64,6 +63,6 @@ export const addOrUpdateLotOccupancyField = (
} }
return result.changes > 0; return result.changes > 0;
}; }
export default addOrUpdateLotOccupancyField; export default addOrUpdateLotOccupancyField;

View File

@ -7,5 +7,5 @@ interface AddWorkOrderForm {
workOrderCloseDateString?: string; workOrderCloseDateString?: string;
lotOccupancyId?: string; lotOccupancyId?: string;
} }
export declare const addWorkOrder: (workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession) => number; export declare function addWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): number;
export default addWorkOrder; export default addWorkOrder;

View File

@ -1,9 +1,9 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { getNextWorkOrderNumber } from "./getNextWorkOrderNumber.js"; import { getNextWorkOrderNumber } from "./getNextWorkOrderNumber.js";
import { addWorkOrderLotOccupancy } from "./addWorkOrderLotOccupancy.js";
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
import addWorkOrderLotOccupancy from "./addWorkOrderLotOccupancy.js"; export function addWorkOrder(workOrderForm, requestSession) {
export const addWorkOrder = (workOrderForm, requestSession) => {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
let workOrderNumber = workOrderForm.workOrderNumber; let workOrderNumber = workOrderForm.workOrderNumber;
@ -11,12 +11,12 @@ export const addWorkOrder = (workOrderForm, requestSession) => {
workOrderNumber = getNextWorkOrderNumber(database); workOrderNumber = getNextWorkOrderNumber(database);
} }
const result = database const result = database
.prepare("insert into WorkOrders (" + .prepare(`insert into WorkOrders (
"workOrderTypeId, workOrderNumber, workOrderDescription," + workOrderTypeId, workOrderNumber, workOrderDescription,
" workOrderOpenDate, workOrderCloseDate," + workOrderOpenDate, workOrderCloseDate,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(workOrderForm.workOrderTypeId, workOrderNumber, workOrderForm.workOrderDescription, workOrderForm.workOrderOpenDateString .run(workOrderForm.workOrderTypeId, workOrderNumber, workOrderForm.workOrderDescription, workOrderForm.workOrderOpenDateString
? dateStringToInteger(workOrderForm.workOrderOpenDateString) ? dateStringToInteger(workOrderForm.workOrderOpenDateString)
: dateToInteger(rightNow), workOrderForm.workOrderCloseDateString : dateToInteger(rightNow), workOrderForm.workOrderCloseDateString
@ -31,5 +31,5 @@ export const addWorkOrder = (workOrderForm, requestSession) => {
} }
database.close(); database.close();
return workOrderId; return workOrderId;
}; }
export default addWorkOrder; export default addWorkOrder;

View File

@ -3,11 +3,11 @@ import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { getNextWorkOrderNumber } from "./getNextWorkOrderNumber.js"; import { getNextWorkOrderNumber } from "./getNextWorkOrderNumber.js";
import { addWorkOrderLotOccupancy } from "./addWorkOrderLotOccupancy.js";
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
import addWorkOrderLotOccupancy from "./addWorkOrderLotOccupancy.js";
interface AddWorkOrderForm { interface AddWorkOrderForm {
workOrderTypeId: number | string; workOrderTypeId: number | string;
@ -18,10 +18,10 @@ interface AddWorkOrderForm {
lotOccupancyId?: string; lotOccupancyId?: string;
} }
export const addWorkOrder = ( export function addWorkOrder(
workOrderForm: AddWorkOrderForm, workOrderForm: AddWorkOrderForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
@ -34,12 +34,12 @@ export const addWorkOrder = (
const result = database const result = database
.prepare( .prepare(
"insert into WorkOrders (" + `insert into WorkOrders (
"workOrderTypeId, workOrderNumber, workOrderDescription," + workOrderTypeId, workOrderNumber, workOrderDescription,
" workOrderOpenDate, workOrderCloseDate," + workOrderOpenDate, workOrderCloseDate,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
workOrderForm.workOrderTypeId, workOrderForm.workOrderTypeId,
@ -73,6 +73,6 @@ export const addWorkOrder = (
database.close(); database.close();
return workOrderId; return workOrderId;
}; }
export default addWorkOrder; export default addWorkOrder;

View File

@ -3,5 +3,5 @@ interface AddWorkOrderCommentForm {
workOrderId: string; workOrderId: string;
workOrderComment: string; workOrderComment: string;
} }
export declare const addWorkOrderComment: (workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession) => number; export declare function addWorkOrderComment(workOrderCommentForm: AddWorkOrderCommentForm, requestSession: recordTypes.PartialSession): number;
export default addWorkOrderComment; export default addWorkOrderComment;

View File

@ -1,17 +1,19 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js"; import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const addWorkOrderComment = (workOrderCommentForm, requestSession) => { export function addWorkOrderComment(workOrderCommentForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
const result = database const result = database
.prepare("insert into WorkOrderComments (" + .prepare(`insert into WorkOrderComments (
"workOrderId, workOrderCommentDate, workOrderCommentTime, workOrderComment," + workOrderId,
" recordCreate_userName, recordCreate_timeMillis," + workOrderCommentDate, workOrderCommentTime,
" recordUpdate_userName, recordUpdate_timeMillis)" + workOrderComment,
" values (?, ?, ?, ?, ?, ?, ?, ?)") recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?)`)
.run(workOrderCommentForm.workOrderId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), workOrderCommentForm.workOrderComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); .run(workOrderCommentForm.workOrderId, dateTimeFunctions.dateToInteger(rightNow), dateTimeFunctions.dateToTimeInteger(rightNow), workOrderCommentForm.workOrderComment, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addWorkOrderComment; export default addWorkOrderComment;

View File

@ -11,21 +11,23 @@ interface AddWorkOrderCommentForm {
workOrderComment: string; workOrderComment: string;
} }
export const addWorkOrderComment = ( export function addWorkOrderComment(
workOrderCommentForm: AddWorkOrderCommentForm, workOrderCommentForm: AddWorkOrderCommentForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
const result = database const result = database
.prepare( .prepare(
"insert into WorkOrderComments (" + `insert into WorkOrderComments (
"workOrderId, workOrderCommentDate, workOrderCommentTime, workOrderComment," + workOrderId,
" recordCreate_userName, recordCreate_timeMillis," + workOrderCommentDate, workOrderCommentTime,
" recordUpdate_userName, recordUpdate_timeMillis)" + workOrderComment,
" values (?, ?, ?, ?, ?, ?, ?, ?)" recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
workOrderCommentForm.workOrderId, workOrderCommentForm.workOrderId,
@ -41,6 +43,6 @@ export const addWorkOrderComment = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addWorkOrderComment; export default addWorkOrderComment;

View File

@ -3,5 +3,5 @@ interface AddWorkOrderLotForm {
workOrderId: number | string; workOrderId: number | string;
lotId: number | string; lotId: number | string;
} }
export declare const addWorkOrderLot: (workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession) => boolean; export declare function addWorkOrderLot(workOrderLotForm: AddWorkOrderLotForm, requestSession: recordTypes.PartialSession): boolean;
export default addWorkOrderLot; export default addWorkOrderLot;

View File

@ -1,39 +1,39 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addWorkOrderLot = (workOrderLotForm, requestSession) => { export function addWorkOrderLot(workOrderLotForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const row = database const row = database
.prepare("select recordDelete_timeMillis" + .prepare(`select recordDelete_timeMillis
" from WorkOrderLots" + from WorkOrderLots
" where workOrderId = ?" + where workOrderId = ?
" and lotId = ?") and lotId = ?`)
.get(workOrderLotForm.workOrderId, workOrderLotForm.lotId); .get(workOrderLotForm.workOrderId, workOrderLotForm.lotId);
if (row) { if (row) {
if (row.recordDelete_timeMillis) { if (row.recordDelete_timeMillis) {
database database
.prepare("update WorkOrderLots" + .prepare(`update WorkOrderLots
" set recordCreate_userName = ?," + set recordCreate_userName = ?,
" recordCreate_timeMillis = ?," + recordCreate_timeMillis = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where workOrderId = ?" + where workOrderId = ?
" and lotId = ?") and lotId = ?`)
.run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotForm.workOrderId, workOrderLotForm.lotId); .run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotForm.workOrderId, workOrderLotForm.lotId);
} }
} }
else { else {
database database
.prepare("insert into WorkOrderLots (" + .prepare(`insert into WorkOrderLots (
"workOrderId, lotId," + workOrderId, lotId,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(workOrderLotForm.workOrderId, workOrderLotForm.lotId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(workOrderLotForm.workOrderId, workOrderLotForm.lotId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
} }
database.close(); database.close();
return true; return true;
}; }
export default addWorkOrderLot; export default addWorkOrderLot;

View File

@ -9,20 +9,20 @@ interface AddWorkOrderLotForm {
lotId: number | string; lotId: number | string;
} }
export const addWorkOrderLot = ( export function addWorkOrderLot(
workOrderLotForm: AddWorkOrderLotForm, workOrderLotForm: AddWorkOrderLotForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const row: { recordDelete_timeMillis?: number } = database const row: { recordDelete_timeMillis?: number } = database
.prepare( .prepare(
"select recordDelete_timeMillis" + `select recordDelete_timeMillis
" from WorkOrderLots" + from WorkOrderLots
" where workOrderId = ?" + where workOrderId = ?
" and lotId = ?" and lotId = ?`
) )
.get(workOrderLotForm.workOrderId, workOrderLotForm.lotId); .get(workOrderLotForm.workOrderId, workOrderLotForm.lotId);
@ -30,15 +30,15 @@ export const addWorkOrderLot = (
if (row.recordDelete_timeMillis) { if (row.recordDelete_timeMillis) {
database database
.prepare( .prepare(
"update WorkOrderLots" + `update WorkOrderLots
" set recordCreate_userName = ?," + set recordCreate_userName = ?,
" recordCreate_timeMillis = ?," + recordCreate_timeMillis = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where workOrderId = ?" + where workOrderId = ?
" and lotId = ?" and lotId = ?`
) )
.run( .run(
requestSession.user.userName, requestSession.user.userName,
@ -52,11 +52,11 @@ export const addWorkOrderLot = (
} else { } else {
database database
.prepare( .prepare(
"insert into WorkOrderLots (" + `insert into WorkOrderLots (
"workOrderId, lotId," + workOrderId, lotId,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
workOrderLotForm.workOrderId, workOrderLotForm.workOrderId,
@ -71,6 +71,6 @@ export const addWorkOrderLot = (
database.close(); database.close();
return true; return true;
}; }
export default addWorkOrderLot; export default addWorkOrderLot;

View File

@ -4,5 +4,5 @@ interface AddWorkOrderLotOccupancyForm {
workOrderId: number | string; workOrderId: number | string;
lotOccupancyId: number | string; lotOccupancyId: number | string;
} }
export declare const addWorkOrderLotOccupancy: (workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database) => boolean; export declare function addWorkOrderLotOccupancy(workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, requestSession: recordTypes.PartialSession, connectedDatabase?: sqlite.Database): boolean;
export default addWorkOrderLotOccupancy; export default addWorkOrderLotOccupancy;

View File

@ -1,41 +1,41 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const addWorkOrderLotOccupancy = (workOrderLotOccupancyForm, requestSession, connectedDatabase) => { export function addWorkOrderLotOccupancy(workOrderLotOccupancyForm, requestSession, connectedDatabase) {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const row = database const row = database
.prepare("select recordDelete_timeMillis" + .prepare(`select recordDelete_timeMillis
" from WorkOrderLotOccupancies" + from WorkOrderLotOccupancies
" where workOrderId = ?" + where workOrderId = ?
" and lotOccupancyId = ?") and lotOccupancyId = ?`)
.get(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId); .get(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId);
if (row) { if (row) {
if (row.recordDelete_timeMillis) { if (row.recordDelete_timeMillis) {
database database
.prepare("update WorkOrderLotOccupancies" + .prepare(`update WorkOrderLotOccupancies
" set recordCreate_userName = ?," + set recordCreate_userName = ?,
" recordCreate_timeMillis = ?," + recordCreate_timeMillis = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where workOrderId = ?" + where workOrderId = ?
" and lotOccupancyId = ?") and lotOccupancyId = ?`)
.run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId); .run(requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis, workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId);
} }
} }
else { else {
database database
.prepare("insert into WorkOrderLotOccupancies (" + .prepare(`insert into WorkOrderLotOccupancies (
"workOrderId, lotOccupancyId," + workOrderId, lotOccupancyId,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
} }
if (!connectedDatabase) { if (!connectedDatabase) {
database.close(); database.close();
} }
return true; return true;
}; }
export default addWorkOrderLotOccupancy; export default addWorkOrderLotOccupancy;

View File

@ -9,21 +9,21 @@ interface AddWorkOrderLotOccupancyForm {
lotOccupancyId: number | string; lotOccupancyId: number | string;
} }
export const addWorkOrderLotOccupancy = ( export function addWorkOrderLotOccupancy(
workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm, workOrderLotOccupancyForm: AddWorkOrderLotOccupancyForm,
requestSession: recordTypes.PartialSession, requestSession: recordTypes.PartialSession,
connectedDatabase?: sqlite.Database connectedDatabase?: sqlite.Database
): boolean => { ): boolean {
const database = connectedDatabase || sqlite(databasePath); const database = connectedDatabase || sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const row: { recordDelete_timeMillis?: number } = database const row: { recordDelete_timeMillis?: number } = database
.prepare( .prepare(
"select recordDelete_timeMillis" + `select recordDelete_timeMillis
" from WorkOrderLotOccupancies" + from WorkOrderLotOccupancies
" where workOrderId = ?" + where workOrderId = ?
" and lotOccupancyId = ?" and lotOccupancyId = ?`
) )
.get(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId); .get(workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.lotOccupancyId);
@ -31,15 +31,15 @@ export const addWorkOrderLotOccupancy = (
if (row.recordDelete_timeMillis) { if (row.recordDelete_timeMillis) {
database database
.prepare( .prepare(
"update WorkOrderLotOccupancies" + `update WorkOrderLotOccupancies
" set recordCreate_userName = ?," + set recordCreate_userName = ?,
" recordCreate_timeMillis = ?," + recordCreate_timeMillis = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?," + recordUpdate_timeMillis = ?,
" recordDelete_userName = null," + recordDelete_userName = null,
" recordDelete_timeMillis = null" + recordDelete_timeMillis = null
" where workOrderId = ?" + where workOrderId = ?
" and lotOccupancyId = ?" and lotOccupancyId = ?`
) )
.run( .run(
requestSession.user.userName, requestSession.user.userName,
@ -53,11 +53,11 @@ export const addWorkOrderLotOccupancy = (
} else { } else {
database database
.prepare( .prepare(
"insert into WorkOrderLotOccupancies (" + `insert into WorkOrderLotOccupancies (
"workOrderId, lotOccupancyId," + workOrderId, lotOccupancyId,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
workOrderLotOccupancyForm.workOrderId, workOrderLotOccupancyForm.workOrderId,
@ -74,6 +74,6 @@ export const addWorkOrderLotOccupancy = (
} }
return true; return true;
}; }
export default addWorkOrderLotOccupancy; export default addWorkOrderLotOccupancy;

View File

@ -8,5 +8,5 @@ interface AddWorkOrderMilestoneForm {
workOrderMilestoneCompletionDateString?: string; workOrderMilestoneCompletionDateString?: string;
workOrderMilestoneCompletionTimeString?: string; workOrderMilestoneCompletionTimeString?: string;
} }
export declare const addWorkOrderMilestone: (milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession) => number; export declare function addWorkOrderMilestone(milestoneForm: AddWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): number;
export default addWorkOrderMilestone; export default addWorkOrderMilestone;

View File

@ -1,17 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { dateStringToInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const addWorkOrderMilestone = (milestoneForm, requestSession) => { export function addWorkOrderMilestone(milestoneForm, requestSession) {
const rightNow = new Date(); const rightNow = new Date();
const database = sqlite(databasePath); const database = sqlite(databasePath);
const result = database const result = database
.prepare("insert into WorkOrderMilestones (" + .prepare(`insert into WorkOrderMilestones (
"workOrderId, workOrderMilestoneTypeId," + workOrderId, workOrderMilestoneTypeId,
" workOrderMilestoneDate, workOrderMilestoneTime, workOrderMilestoneDescription," + workOrderMilestoneDate, workOrderMilestoneTime,
" workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime," + workOrderMilestoneDescription,
" recordCreate_userName, recordCreate_timeMillis," + workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)") recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(milestoneForm.workOrderId, milestoneForm.workOrderMilestoneTypeId || undefined, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString .run(milestoneForm.workOrderId, milestoneForm.workOrderMilestoneTypeId || undefined, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString
? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString) ? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString)
: 0, milestoneForm.workOrderMilestoneDescription, milestoneForm.workOrderMilestoneCompletionDateString : 0, milestoneForm.workOrderMilestoneDescription, milestoneForm.workOrderMilestoneCompletionDateString
@ -21,5 +22,5 @@ export const addWorkOrderMilestone = (milestoneForm, requestSession) => {
: undefined, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime()); : undefined, requestSession.user.userName, rightNow.getTime(), requestSession.user.userName, rightNow.getTime());
database.close(); database.close();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addWorkOrderMilestone; export default addWorkOrderMilestone;

View File

@ -19,43 +19,38 @@ interface AddWorkOrderMilestoneForm {
workOrderMilestoneCompletionTimeString?: string; workOrderMilestoneCompletionTimeString?: string;
} }
export const addWorkOrderMilestone = ( export function addWorkOrderMilestone(
milestoneForm: AddWorkOrderMilestoneForm, milestoneForm: AddWorkOrderMilestoneForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const rightNow = new Date(); const rightNow = new Date();
const database = sqlite(databasePath); const database = sqlite(databasePath);
const result = database const result = database
.prepare( .prepare(
"insert into WorkOrderMilestones (" + `insert into WorkOrderMilestones (
"workOrderId, workOrderMilestoneTypeId," + workOrderId, workOrderMilestoneTypeId,
" workOrderMilestoneDate, workOrderMilestoneTime, workOrderMilestoneDescription," + workOrderMilestoneDate, workOrderMilestoneTime,
" workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime," + workOrderMilestoneDescription,
" recordCreate_userName, recordCreate_timeMillis," + workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)" recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
milestoneForm.workOrderId, milestoneForm.workOrderId,
milestoneForm.workOrderMilestoneTypeId || undefined, milestoneForm.workOrderMilestoneTypeId || undefined,
dateStringToInteger(milestoneForm.workOrderMilestoneDateString), dateStringToInteger(milestoneForm.workOrderMilestoneDateString),
milestoneForm.workOrderMilestoneTimeString milestoneForm.workOrderMilestoneTimeString
? timeStringToInteger( ? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString)
milestoneForm.workOrderMilestoneTimeString
)
: 0, : 0,
milestoneForm.workOrderMilestoneDescription, milestoneForm.workOrderMilestoneDescription,
milestoneForm.workOrderMilestoneCompletionDateString milestoneForm.workOrderMilestoneCompletionDateString
? dateStringToInteger( ? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString)
milestoneForm.workOrderMilestoneCompletionDateString
)
: undefined, : undefined,
milestoneForm.workOrderMilestoneCompletionTimeString milestoneForm.workOrderMilestoneCompletionTimeString
? timeStringToInteger( ? timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString)
milestoneForm.workOrderMilestoneCompletionTimeString
)
: undefined, : undefined,
requestSession.user.userName, requestSession.user.userName,
rightNow.getTime(), rightNow.getTime(),
@ -66,6 +61,6 @@ export const addWorkOrderMilestone = (
database.close(); database.close();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addWorkOrderMilestone; export default addWorkOrderMilestone;

View File

@ -3,5 +3,5 @@ interface AddWorkOrderMilestoneTypeForm {
workOrderMilestoneType: string; workOrderMilestoneType: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addWorkOrderMilestoneType: (workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm, requestSession: recordTypes.PartialSession) => number; export declare function addWorkOrderMilestoneType(workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm, requestSession: recordTypes.PartialSession): number;
export default addWorkOrderMilestoneType; export default addWorkOrderMilestoneType;

View File

@ -1,18 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js"; import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
export const addWorkOrderMilestoneType = (workOrderMilestoneTypeForm, requestSession) => { export function addWorkOrderMilestoneType(workOrderMilestoneTypeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into WorkOrderMilestoneTypes (" + .prepare(`insert into WorkOrderMilestoneTypes (
"workOrderMilestoneType, orderNumber," + workOrderMilestoneType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(workOrderMilestoneTypeForm.workOrderMilestoneType, workOrderMilestoneTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(workOrderMilestoneTypeForm.workOrderMilestoneType, workOrderMilestoneTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearWorkOrderMilestoneTypesCache(); clearWorkOrderMilestoneTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addWorkOrderMilestoneType; export default addWorkOrderMilestoneType;

View File

@ -11,21 +11,21 @@ interface AddWorkOrderMilestoneTypeForm {
orderNumber?: number; orderNumber?: number;
} }
export const addWorkOrderMilestoneType = ( export function addWorkOrderMilestoneType(
workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm, workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into WorkOrderMilestoneTypes (" + `insert into WorkOrderMilestoneTypes (
"workOrderMilestoneType, orderNumber," + workOrderMilestoneType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
workOrderMilestoneTypeForm.workOrderMilestoneType, workOrderMilestoneTypeForm.workOrderMilestoneType,
@ -41,6 +41,6 @@ export const addWorkOrderMilestoneType = (
clearWorkOrderMilestoneTypesCache(); clearWorkOrderMilestoneTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addWorkOrderMilestoneType; export default addWorkOrderMilestoneType;

View File

@ -3,5 +3,5 @@ interface AddWorkOrderTypeForm {
workOrderType: string; workOrderType: string;
orderNumber?: number; orderNumber?: number;
} }
export declare const addWorkOrderType: (workOrderTypeForm: AddWorkOrderTypeForm, requestSession: recordTypes.PartialSession) => number; export declare function addWorkOrderType(workOrderTypeForm: AddWorkOrderTypeForm, requestSession: recordTypes.PartialSession): number;
export default addWorkOrderType; export default addWorkOrderType;

View File

@ -1,18 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { clearWorkOrderTypesCache } from "../functions.cache.js"; import { clearWorkOrderTypesCache } from "../functions.cache.js";
export const addWorkOrderType = (workOrderTypeForm, requestSession) => { export function addWorkOrderType(workOrderTypeForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("insert into WorkOrderTypes (" + .prepare(`insert into WorkOrderTypes (
"workOrderType, orderNumber," + workOrderType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)") values (?, ?, ?, ?, ?, ?)`)
.run(workOrderTypeForm.workOrderType, workOrderTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(workOrderTypeForm.workOrderType, workOrderTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
database.close(); database.close();
clearWorkOrderTypesCache(); clearWorkOrderTypesCache();
return result.lastInsertRowid; return result.lastInsertRowid;
}; }
export default addWorkOrderType; export default addWorkOrderType;

View File

@ -11,21 +11,21 @@ interface AddWorkOrderTypeForm {
orderNumber?: number; orderNumber?: number;
} }
export const addWorkOrderType = ( export function addWorkOrderType(
workOrderTypeForm: AddWorkOrderTypeForm, workOrderTypeForm: AddWorkOrderTypeForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"insert into WorkOrderTypes (" + `insert into WorkOrderTypes (
"workOrderType, orderNumber," + workOrderType, orderNumber,
" recordCreate_userName, recordCreate_timeMillis," + recordCreate_userName, recordCreate_timeMillis,
" recordUpdate_userName, recordUpdate_timeMillis)" + recordUpdate_userName, recordUpdate_timeMillis)
" values (?, ?, ?, ?, ?, ?)" values (?, ?, ?, ?, ?, ?)`
) )
.run( .run(
workOrderTypeForm.workOrderType, workOrderTypeForm.workOrderType,
@ -41,6 +41,6 @@ export const addWorkOrderType = (
clearWorkOrderTypesCache(); clearWorkOrderTypesCache();
return result.lastInsertRowid as number; return result.lastInsertRowid as number;
}; }
export default addWorkOrderType; export default addWorkOrderType;

View File

@ -1,5 +1,5 @@
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export declare const cleanupDatabase: (requestSession: recordTypes.PartialSession) => { export declare function cleanupDatabase(requestSession: recordTypes.PartialSession): {
inactivedRecordCount: number; inactivedRecordCount: number;
purgedRecordCount: number; purgedRecordCount: number;
}; };

View File

@ -1,7 +1,7 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import * as configFunctions from "../functions.config.js"; import * as configFunctions from "../functions.config.js";
export const cleanupDatabase = (requestSession) => { export function cleanupDatabase(requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const recordDelete_timeMillisMin = rightNowMillis - const recordDelete_timeMillisMin = rightNowMillis -
@ -9,86 +9,95 @@ export const cleanupDatabase = (requestSession) => {
let inactivedRecordCount = 0; let inactivedRecordCount = 0;
let purgedRecordCount = 0; let purgedRecordCount = 0;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update WorkOrderComments" + .prepare(`update WorkOrderComments
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)") and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrderComments where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderComments where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update WorkOrderLotOccupancies" + .prepare(`update WorkOrderLotOccupancies
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)") and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update WorkOrderLots" + .prepare(`update WorkOrderLots
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)") and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrderLots where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderLots where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update WorkOrderMilestones" + .prepare(`update WorkOrderMilestones
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)") and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrderMilestones where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderMilestones where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrders where recordDelete_timeMillis <= ?" + .prepare(`delete from WorkOrders
" and workOrderId not in (select workOrderId from WorkOrderComments)" + where recordDelete_timeMillis <= ?
" and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)" + and workOrderId not in (select workOrderId from WorkOrderComments)
" and workOrderId not in (select workOrderId from WorkOrderLots)" + and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)
" and workOrderId not in (select workOrderId from WorkOrderMilestones)") and workOrderId not in (select workOrderId from WorkOrderLots)
and workOrderId not in (select workOrderId from WorkOrderMilestones)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrderMilestoneTypes where recordDelete_timeMillis <= ?" + .prepare(`delete from WorkOrderMilestoneTypes
" and workOrderMilestoneTypeId not in (select workOrderMilestoneTypeId from WorkOrderMilestones)") where recordDelete_timeMillis <= ?
and workOrderMilestoneTypeId not in (
select workOrderMilestoneTypeId from WorkOrderMilestones)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from WorkOrderTypes where recordDelete_timeMillis <= ?" + .prepare(`delete from WorkOrderTypes
" and workOrderTypeId not in (select workOrderTypeId from WorkOrders)") where recordDelete_timeMillis <= ?
and workOrderTypeId not in (select workOrderTypeId from WorkOrders)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update LotOccupancyComments" + .prepare(`update LotOccupancyComments
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)") and lotOccupancyId in (
select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotOccupancyComments where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyComments where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update LotOccupancyFields" + .prepare(`update LotOccupancyFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)") and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotOccupancyFields where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyFields where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update LotOccupancyOccupants" + .prepare(`update LotOccupancyOccupants
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)") and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?")
@ -100,118 +109,128 @@ export const cleanupDatabase = (requestSession) => {
.prepare("delete from LotOccupancyTransactions where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyTransactions where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotOccupancies where recordDelete_timeMillis <= ?" + .prepare(`delete from LotOccupancies
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)" + where recordDelete_timeMillis <= ?
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)
" and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)") and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)
and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update Fees" + .prepare(`update Fees
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)") and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from Fees where recordDelete_timeMillis <= ?" + .prepare(`delete from Fees
" and feeId not in (select feeId from LotOccupancyFees)") where recordDelete_timeMillis <= ?
and feeId not in (select feeId from LotOccupancyFees)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from FeeCategories where recordDelete_timeMillis <= ?" + .prepare(`delete from FeeCategories
" and feeCategoryId not in (select feeCategoryId from Fees)") where recordDelete_timeMillis <= ?
and feeCategoryId not in (select feeCategoryId from Fees)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update OccupancyTypeFields" + .prepare(`update OccupancyTypeFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)") and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from OccupancyTypeFields where recordDelete_timeMillis <= ?" + .prepare(`delete from OccupancyTypeFields
" and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)") where recordDelete_timeMillis <= ?
and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update OccupancyTypePrints" + .prepare(`update OccupancyTypePrints
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)") and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from OccupancyTypePrints where recordDelete_timeMillis <= ?") .prepare("delete from OccupancyTypePrints where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from OccupancyTypes where recordDelete_timeMillis <= ?" + .prepare(`delete from OccupancyTypes
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)" + where recordDelete_timeMillis <= ?
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)" + and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)
" and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)" + and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)
" and occupancyTypeId not in (select occupancyTypeId from Fees)") and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)
and occupancyTypeId not in (select occupancyTypeId from Fees)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotOccupantTypes where recordDelete_timeMillis <= ?" + .prepare(`delete from LotOccupantTypes
" and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)") where recordDelete_timeMillis <= ?
and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update LotComments" + .prepare(`update LotComments
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)") and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotComments where recordDelete_timeMillis <= ?") .prepare("delete from LotComments where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update LotFields" + .prepare(`update LotFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)") and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotFields where recordDelete_timeMillis <= ?") .prepare("delete from LotFields where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update Lots" + .prepare(`update Lots
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)") and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from Lots where recordDelete_timeMillis <= ?" + .prepare(`delete from Lots
" and lotId not in (select lotId from LotComments)" + where recordDelete_timeMillis <= ?
" and lotId not in (select lotId from LotFields)" + and lotId not in (select lotId from LotComments)
" and lotId not in (select lotId from LotOccupancies)" + and lotId not in (select lotId from LotFields)
" and lotId not in (select lotId from WorkOrderLots)") and lotId not in (select lotId from LotOccupancies)
and lotId not in (select lotId from WorkOrderLots)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotStatuses where recordDelete_timeMillis <= ?" + .prepare(`delete from LotStatuses
" and lotStatusId not in (select lotStatusId from Lots)") where recordDelete_timeMillis <= ?
and lotStatusId not in (select lotStatusId from Lots)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
inactivedRecordCount += database inactivedRecordCount += database
.prepare("update LotTypeFields" + .prepare(`update LotTypeFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)") and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)`)
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotTypeFields where recordDelete_timeMillis <= ?" + .prepare(`delete from LotTypeFields
" and lotTypeFieldId not in (select lotTypeFieldId from LotFields)") where recordDelete_timeMillis <= ?
and lotTypeFieldId not in (select lotTypeFieldId from LotFields)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotTypes where recordDelete_timeMillis <= ?" + .prepare(`delete from LotTypes
" and lotTypeId not in (select lotTypeId from Lots)") where recordDelete_timeMillis <= ?
and lotTypeId not in (select lotTypeId from Lots)`)
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
database.close(); database.close();
return { return {
inactivedRecordCount, inactivedRecordCount,
purgedRecordCount purgedRecordCount
}; };
}; }
export default cleanupDatabase; export default cleanupDatabase;

View File

@ -6,7 +6,7 @@ import * as configFunctions from "../functions.config.js";
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => { export function cleanupDatabase(requestSession: recordTypes.PartialSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
@ -17,15 +17,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
let inactivedRecordCount = 0; let inactivedRecordCount = 0;
let purgedRecordCount = 0; let purgedRecordCount = 0;
// Work Order Comments /*
* Work Order Comments
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update WorkOrderComments" + `update WorkOrderComments
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)" and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -33,15 +36,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from WorkOrderComments where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderComments where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Work Order Lot Occupancies /*
* Work Order Lot Occupancies
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update WorkOrderLotOccupancies" + `update WorkOrderLotOccupancies
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)" and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -49,15 +55,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderLotOccupancies where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Work Order Lots /*
* Work Order Lots
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update WorkOrderLots" + `update WorkOrderLots
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)" and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -65,15 +74,18 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from WorkOrderLots where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderLots where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Work Order Milestones /*
* Work Order Milestones
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update WorkOrderMilestones" + `update WorkOrderMilestones
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and workOrderId in (select workOrderId from WorkOrders where recordDelete_timeMillis is not null)" and workOrderId in (
select workOrderId from WorkOrders where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -81,45 +93,58 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from WorkOrderMilestones where recordDelete_timeMillis <= ?") .prepare("delete from WorkOrderMilestones where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Work Orders /*
* Work Orders
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from WorkOrders where recordDelete_timeMillis <= ?" + `delete from WorkOrders
" and workOrderId not in (select workOrderId from WorkOrderComments)" + where recordDelete_timeMillis <= ?
" and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)" + and workOrderId not in (select workOrderId from WorkOrderComments)
" and workOrderId not in (select workOrderId from WorkOrderLots)" + and workOrderId not in (select workOrderId from WorkOrderLotOccupancies)
" and workOrderId not in (select workOrderId from WorkOrderMilestones)" and workOrderId not in (select workOrderId from WorkOrderLots)
and workOrderId not in (select workOrderId from WorkOrderMilestones)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Work Order Milestone Types /*
* Work Order Milestone Types
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from WorkOrderMilestoneTypes where recordDelete_timeMillis <= ?" + `delete from WorkOrderMilestoneTypes
" and workOrderMilestoneTypeId not in (select workOrderMilestoneTypeId from WorkOrderMilestones)" where recordDelete_timeMillis <= ?
and workOrderMilestoneTypeId not in (
select workOrderMilestoneTypeId from WorkOrderMilestones)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Work Order Types /*
* Work Order Types
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from WorkOrderTypes where recordDelete_timeMillis <= ?" + `delete from WorkOrderTypes
" and workOrderTypeId not in (select workOrderTypeId from WorkOrders)" where recordDelete_timeMillis <= ?
and workOrderTypeId not in (select workOrderTypeId from WorkOrders)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Occupancy Comments /*
* Lot Occupancy Comments
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update LotOccupancyComments" + `update LotOccupancyComments
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)" and lotOccupancyId in (
select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -127,15 +152,17 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from LotOccupancyComments where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyComments where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Occupancy Fields /*
* Lot Occupancy Fields
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update LotOccupancyFields" + `update LotOccupancyFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -143,15 +170,17 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from LotOccupancyFields where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyFields where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Occupancy Occupants /*
* Lot Occupancy Occupants
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update LotOccupancyOccupants" + `update LotOccupancyOccupants
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)" and lotOccupancyId in (select lotOccupancyId from LotOccupancies where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -159,8 +188,10 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyOccupants where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Occupancy Fees/Transactions /*
// - Maintain financials, do not delete related. * Lot Occupancy Fees/Transactions
* - Maintain financials, do not delete related.
*/
purgedRecordCount += database purgedRecordCount += database
.prepare("delete from LotOccupancyFees where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyFees where recordDelete_timeMillis <= ?")
@ -170,76 +201,90 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from LotOccupancyTransactions where recordDelete_timeMillis <= ?") .prepare("delete from LotOccupancyTransactions where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Occupancies /*
* Lot Occupancies
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from LotOccupancies where recordDelete_timeMillis <= ?" + `delete from LotOccupancies
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)" + where recordDelete_timeMillis <= ?
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyComments)
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFees)
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyFields)
" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)" + and lotOccupancyId not in (select lotOccupancyId from LotOccupancyOccupants)
" and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)" and lotOccupancyId not in (select lotOccupancyId from LotOccupancyTransactions)
and lotOccupancyId not in (select lotOccupancyId from WorkOrderLotOccupancies)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Fees /*
* Fees
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update Fees" + `update Fees
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)" and feeCategoryId in (select feeCategoryId from FeeCategories where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from Fees where recordDelete_timeMillis <= ?" + `delete from Fees
" and feeId not in (select feeId from LotOccupancyFees)" where recordDelete_timeMillis <= ?
and feeId not in (select feeId from LotOccupancyFees)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Fee Categories /*
* Fee Categories
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from FeeCategories where recordDelete_timeMillis <= ?" + `delete from FeeCategories
" and feeCategoryId not in (select feeCategoryId from Fees)" where recordDelete_timeMillis <= ?
and feeCategoryId not in (select feeCategoryId from Fees)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Occupancy Type Fields /*
* Occupancy Type Fields
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update OccupancyTypeFields" + `update OccupancyTypeFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from OccupancyTypeFields where recordDelete_timeMillis <= ?" + `delete from OccupancyTypeFields
" and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)" where recordDelete_timeMillis <= ?
and occupancyTypeFieldId not in (select occupancyTypeFieldId from LotOccupancyFields)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Occupancy Type Prints /*
* Occupancy Type Prints
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update OccupancyTypePrints" + `update OccupancyTypePrints
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)" and occupancyTypeId in (select occupancyTypeId from OccupancyTypes where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -247,36 +292,44 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from OccupancyTypePrints where recordDelete_timeMillis <= ?") .prepare("delete from OccupancyTypePrints where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Occupancy Types /*
* Occupancy Types
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from OccupancyTypes where recordDelete_timeMillis <= ?" + `delete from OccupancyTypes
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)" + where recordDelete_timeMillis <= ?
" and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)" + and occupancyTypeId not in (select occupancyTypeId from OccupancyTypeFields)
" and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)" + and occupancyTypeId not in (select occupancyTypeId from OccupancyTypePrints)
" and occupancyTypeId not in (select occupancyTypeId from Fees)" and occupancyTypeId not in (select occupancyTypeId from LotOccupancies)
and occupancyTypeId not in (select occupancyTypeId from Fees)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Occupant Types /*
* Lot Occupant Types
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from LotOccupantTypes where recordDelete_timeMillis <= ?" + `delete from LotOccupantTypes
" and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)" where recordDelete_timeMillis <= ?
and lotOccupantTypeId not in (select lotOccupantTypeId from LotOccupancyOccupants)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Comments /*
* Lot Comments
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update LotComments" + `update LotComments
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -284,15 +337,17 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from LotComments where recordDelete_timeMillis <= ?") .prepare("delete from LotComments where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Fields /*
* Lot Fields
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update LotFields" + `update LotFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)" and lotId in (select lotId from Lots where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
@ -300,62 +355,74 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
.prepare("delete from LotFields where recordDelete_timeMillis <= ?") .prepare("delete from LotFields where recordDelete_timeMillis <= ?")
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lots /*
* Lots
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update Lots" + `update Lots
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)" and mapId in (select mapId from Maps where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from Lots where recordDelete_timeMillis <= ?" + `delete from Lots
" and lotId not in (select lotId from LotComments)" + where recordDelete_timeMillis <= ?
" and lotId not in (select lotId from LotFields)" + and lotId not in (select lotId from LotComments)
" and lotId not in (select lotId from LotOccupancies)" + and lotId not in (select lotId from LotFields)
" and lotId not in (select lotId from WorkOrderLots)" and lotId not in (select lotId from LotOccupancies)
and lotId not in (select lotId from WorkOrderLots)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Statuses /*
* Lot Statuses
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from LotStatuses where recordDelete_timeMillis <= ?" + `delete from LotStatuses
" and lotStatusId not in (select lotStatusId from Lots)" where recordDelete_timeMillis <= ?
and lotStatusId not in (select lotStatusId from Lots)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Type Fields /*
* Lot Type Fields
*/
inactivedRecordCount += database inactivedRecordCount += database
.prepare( .prepare(
"update LotTypeFields" + `update LotTypeFields
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where recordDelete_timeMillis is null" + where recordDelete_timeMillis is null
" and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)" and lotTypeId in (select lotTypeId from LotTypes where recordDelete_timeMillis is not null)`
) )
.run(requestSession.user.userName, rightNowMillis).changes; .run(requestSession.user.userName, rightNowMillis).changes;
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from LotTypeFields where recordDelete_timeMillis <= ?" + `delete from LotTypeFields
" and lotTypeFieldId not in (select lotTypeFieldId from LotFields)" where recordDelete_timeMillis <= ?
and lotTypeFieldId not in (select lotTypeFieldId from LotFields)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
// Lot Types /*
* Lot Types
*/
purgedRecordCount += database purgedRecordCount += database
.prepare( .prepare(
"delete from LotTypes where recordDelete_timeMillis <= ?" + `delete from LotTypes
" and lotTypeId not in (select lotTypeId from Lots)" where recordDelete_timeMillis <= ?
and lotTypeId not in (select lotTypeId from Lots)`
) )
.run(recordDelete_timeMillisMin).changes; .run(recordDelete_timeMillisMin).changes;
@ -365,6 +432,6 @@ export const cleanupDatabase = (requestSession: recordTypes.PartialSession) => {
inactivedRecordCount, inactivedRecordCount,
purgedRecordCount purgedRecordCount
}; };
}; }
export default cleanupDatabase; export default cleanupDatabase;

View File

@ -3,5 +3,5 @@ interface AddWorkOrderForm {
workOrderId: number | string; workOrderId: number | string;
workOrderCloseDateString?: string; workOrderCloseDateString?: string;
} }
export declare const closeWorkOrder: (workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession) => boolean; export declare function closeWorkOrder(workOrderForm: AddWorkOrderForm, requestSession: recordTypes.PartialSession): boolean;
export default closeWorkOrder; export default closeWorkOrder;

View File

@ -1,19 +1,19 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const closeWorkOrder = (workOrderForm, requestSession) => { export function closeWorkOrder(workOrderForm, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
const result = database const result = database
.prepare("update WorkOrders" + .prepare(`update WorkOrders
" set workOrderCloseDate = ?," + set workOrderCloseDate = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where workOrderId = ?") where workOrderId = ?`)
.run(workOrderForm.workOrderCloseDateString .run(workOrderForm.workOrderCloseDateString
? dateStringToInteger(workOrderForm.workOrderCloseDateString) ? dateStringToInteger(workOrderForm.workOrderCloseDateString)
: dateToInteger(new Date()), requestSession.user.userName, rightNow.getTime(), workOrderForm.workOrderId); : dateToInteger(new Date()), requestSession.user.userName, rightNow.getTime(), workOrderForm.workOrderId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default closeWorkOrder; export default closeWorkOrder;

View File

@ -2,10 +2,7 @@ import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
dateStringToInteger,
dateToInteger
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
@ -14,21 +11,21 @@ interface AddWorkOrderForm {
workOrderCloseDateString?: string; workOrderCloseDateString?: string;
} }
export const closeWorkOrder = ( export function closeWorkOrder(
workOrderForm: AddWorkOrderForm, workOrderForm: AddWorkOrderForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNow = new Date(); const rightNow = new Date();
const result = database const result = database
.prepare( .prepare(
"update WorkOrders" + `update WorkOrders
" set workOrderCloseDate = ?," + set workOrderCloseDate = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where workOrderId = ?" where workOrderId = ?`
) )
.run( .run(
workOrderForm.workOrderCloseDateString workOrderForm.workOrderCloseDateString
@ -42,6 +39,6 @@ export const closeWorkOrder = (
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default closeWorkOrder; export default closeWorkOrder;

View File

@ -4,5 +4,5 @@ interface CompleteWorkOrderMilestoneForm {
workOrderMilestoneCompletionDateString?: string; workOrderMilestoneCompletionDateString?: string;
workOrderMilestoneCompletionTimeString?: string; workOrderMilestoneCompletionTimeString?: string;
} }
export declare const completeWorkOrderMilestone: (milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession) => boolean; export declare function completeWorkOrderMilestone(milestoneForm: CompleteWorkOrderMilestoneForm, requestSession: recordTypes.PartialSession): boolean;
export default completeWorkOrderMilestone; export default completeWorkOrderMilestone;

View File

@ -1,16 +1,16 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const completeWorkOrderMilestone = (milestoneForm, requestSession) => { export function completeWorkOrderMilestone(milestoneForm, requestSession) {
const rightNow = new Date(); const rightNow = new Date();
const database = sqlite(databasePath); const database = sqlite(databasePath);
const result = database const result = database
.prepare("update WorkOrderMilestones" + .prepare(`update WorkOrderMilestones
" set workOrderMilestoneCompletionDate = ?," + set workOrderMilestoneCompletionDate = ?,
" workOrderMilestoneCompletionTime = ?," + workOrderMilestoneCompletionTime = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where workOrderMilestoneId = ?") where workOrderMilestoneId = ?`)
.run(milestoneForm.workOrderMilestoneCompletionDateString .run(milestoneForm.workOrderMilestoneCompletionDateString
? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString) ? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString)
: dateToInteger(rightNow), milestoneForm.workOrderMilestoneCompletionTimeString : dateToInteger(rightNow), milestoneForm.workOrderMilestoneCompletionTimeString
@ -18,5 +18,5 @@ export const completeWorkOrderMilestone = (milestoneForm, requestSession) => {
: dateToTimeInteger(rightNow), requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId); : dateToTimeInteger(rightNow), requestSession.user.userName, rightNow.getTime(), milestoneForm.workOrderMilestoneId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default completeWorkOrderMilestone; export default completeWorkOrderMilestone;

View File

@ -17,33 +17,29 @@ interface CompleteWorkOrderMilestoneForm {
workOrderMilestoneCompletionTimeString?: string; workOrderMilestoneCompletionTimeString?: string;
} }
export const completeWorkOrderMilestone = ( export function completeWorkOrderMilestone(
milestoneForm: CompleteWorkOrderMilestoneForm, milestoneForm: CompleteWorkOrderMilestoneForm,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const rightNow = new Date(); const rightNow = new Date();
const database = sqlite(databasePath); const database = sqlite(databasePath);
const result = database const result = database
.prepare( .prepare(
"update WorkOrderMilestones" + `update WorkOrderMilestones
" set workOrderMilestoneCompletionDate = ?," + set workOrderMilestoneCompletionDate = ?,
" workOrderMilestoneCompletionTime = ?," + workOrderMilestoneCompletionTime = ?,
" recordUpdate_userName = ?," + recordUpdate_userName = ?,
" recordUpdate_timeMillis = ?" + recordUpdate_timeMillis = ?
" where workOrderMilestoneId = ?" where workOrderMilestoneId = ?`
) )
.run( .run(
milestoneForm.workOrderMilestoneCompletionDateString milestoneForm.workOrderMilestoneCompletionDateString
? dateStringToInteger( ? dateStringToInteger(milestoneForm.workOrderMilestoneCompletionDateString)
milestoneForm.workOrderMilestoneCompletionDateString
)
: dateToInteger(rightNow), : dateToInteger(rightNow),
milestoneForm.workOrderMilestoneCompletionTimeString milestoneForm.workOrderMilestoneCompletionTimeString
? timeStringToInteger( ? timeStringToInteger(milestoneForm.workOrderMilestoneCompletionTimeString)
milestoneForm.workOrderMilestoneCompletionTimeString
)
: dateToTimeInteger(rightNow), : dateToTimeInteger(rightNow),
requestSession.user.userName, requestSession.user.userName,
rightNow.getTime(), rightNow.getTime(),
@ -53,6 +49,6 @@ export const completeWorkOrderMilestone = (
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default completeWorkOrderMilestone; export default completeWorkOrderMilestone;

View File

@ -1,3 +1,3 @@
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export declare const copyLotOccupancy: (oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession) => number; export declare function copyLotOccupancy(oldLotOccupancyId: number | string, requestSession: recordTypes.PartialSession): number;
export default copyLotOccupancy; export default copyLotOccupancy;

View File

@ -4,7 +4,7 @@ import { getLotOccupancy } from "./getLotOccupancy.js";
import { addLotOccupancy } from "./addLotOccupancy.js"; import { addLotOccupancy } from "./addLotOccupancy.js";
import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.js"; import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.js";
import { dateToString } from "@cityssm/expressjs-server-js/dateTimeFns.js"; import { dateToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => { export function copyLotOccupancy(oldLotOccupancyId, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database); const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database);
const newLotOccupancyId = addLotOccupancy({ const newLotOccupancyId = addLotOccupancy({
@ -16,10 +16,11 @@ export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
for (const occupancyField of oldLotOccupancy.lotOccupancyFields) { for (const occupancyField of oldLotOccupancy.lotOccupancyFields) {
database database
.prepare("insert into LotOccupancyFields" + .prepare(`insert into LotOccupancyFields (
" (lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue," + lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
" recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?)") recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?)`)
.run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis); .run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
} }
for (const occupant of oldLotOccupancy.lotOccupancyOccupants) { for (const occupant of oldLotOccupancy.lotOccupancyOccupants) {
@ -38,5 +39,5 @@ export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
} }
database.close(); database.close();
return newLotOccupancyId; return newLotOccupancyId;
}; }
export default copyLotOccupancy; export default copyLotOccupancy;

View File

@ -10,10 +10,10 @@ import { dateToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export const copyLotOccupancy = ( export function copyLotOccupancy(
oldLotOccupancyId: number | string, oldLotOccupancyId: number | string,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): number => { ): number {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database); const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database);
@ -29,17 +29,20 @@ export const copyLotOccupancy = (
database database
); );
// Copy Fields /*
* Copy Fields
*/
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
for (const occupancyField of oldLotOccupancy.lotOccupancyFields) { for (const occupancyField of oldLotOccupancy.lotOccupancyFields) {
database database
.prepare( .prepare(
"insert into LotOccupancyFields" + `insert into LotOccupancyFields (
" (lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue," + lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
" recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" + recordCreate_userName, recordCreate_timeMillis,
" values (?, ?, ?, ?, ?, ?, ?)" recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?)`
) )
.run( .run(
newLotOccupancyId, newLotOccupancyId,
@ -52,7 +55,9 @@ export const copyLotOccupancy = (
); );
} }
// Copy Occupants /*
* Copy Occupants
*/
for (const occupant of oldLotOccupancy.lotOccupancyOccupants) { for (const occupant of oldLotOccupancy.lotOccupancyOccupants) {
addLotOccupancyOccupant( addLotOccupancyOccupant(
@ -76,6 +81,6 @@ export const copyLotOccupancy = (
database.close(); database.close();
return newLotOccupancyId; return newLotOccupancyId;
}; }
export default copyLotOccupancy; export default copyLotOccupancy;

View File

@ -1,3 +1,3 @@
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export declare const deleteFee: (feeId: number | string, requestSession: recordTypes.PartialSession) => boolean; export declare function deleteFee(feeId: number | string, requestSession: recordTypes.PartialSession): boolean;
export default deleteFee; export default deleteFee;

View File

@ -1,15 +1,15 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const deleteFee = (feeId, requestSession) => { export function deleteFee(feeId, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("update Fees" + .prepare(`update Fees
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where feeId = ?") where feeId = ?`)
.run(requestSession.user.userName, rightNowMillis, feeId); .run(requestSession.user.userName, rightNowMillis, feeId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default deleteFee; export default deleteFee;

View File

@ -4,26 +4,26 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export const deleteFee = ( export function deleteFee(
feeId: number | string, feeId: number | string,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"update Fees" + `update Fees
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where feeId = ?" where feeId = ?`
) )
.run(requestSession.user.userName, rightNowMillis, feeId); .run(requestSession.user.userName, rightNowMillis, feeId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default deleteFee; export default deleteFee;

View File

@ -1,3 +1,3 @@
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export declare const deleteFeeCategory: (feeCategoryId: number | string, requestSession: recordTypes.PartialSession) => boolean; export declare function deleteFeeCategory(feeCategoryId: number | string, requestSession: recordTypes.PartialSession): boolean;
export default deleteFeeCategory; export default deleteFeeCategory;

View File

@ -1,21 +1,21 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const deleteFeeCategory = (feeCategoryId, requestSession) => { export function deleteFeeCategory(feeCategoryId, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare("update FeeCategories" + .prepare(`update FeeCategories
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where feeCategoryId = ?") where feeCategoryId = ?`)
.run(requestSession.user.userName, rightNowMillis, feeCategoryId); .run(requestSession.user.userName, rightNowMillis, feeCategoryId);
database database
.prepare("update Fees" + .prepare(`update Fees
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where feeCategoryId = ?") where feeCategoryId = ?`)
.run(requestSession.user.userName, rightNowMillis, feeCategoryId); .run(requestSession.user.userName, rightNowMillis, feeCategoryId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default deleteFeeCategory; export default deleteFeeCategory;

View File

@ -4,35 +4,35 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export const deleteFeeCategory = ( export function deleteFeeCategory(
feeCategoryId: number | string, feeCategoryId: number | string,
requestSession: recordTypes.PartialSession requestSession: recordTypes.PartialSession
): boolean => { ): boolean {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database const result = database
.prepare( .prepare(
"update FeeCategories" + `update FeeCategories
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where feeCategoryId = ?" where feeCategoryId = ?`
) )
.run(requestSession.user.userName, rightNowMillis, feeCategoryId); .run(requestSession.user.userName, rightNowMillis, feeCategoryId);
database database
.prepare( .prepare(
"update Fees" + `update Fees
" set recordDelete_userName = ?," + set recordDelete_userName = ?,
" recordDelete_timeMillis = ?" + recordDelete_timeMillis = ?
" where feeCategoryId = ?" where feeCategoryId = ?`
) )
.run(requestSession.user.userName, rightNowMillis, feeCategoryId); .run(requestSession.user.userName, rightNowMillis, feeCategoryId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default deleteFeeCategory; export default deleteFeeCategory;

View File

@ -1,3 +1,3 @@
import type * as recordTypes from "../../types/recordTypes"; import type * as recordTypes from "../../types/recordTypes";
export declare const deleteLot: (lotId: number | string, requestSession: recordTypes.PartialSession) => boolean; export declare function deleteLot(lotId: number | string, requestSession: recordTypes.PartialSession): boolean;
export default deleteLot; export default deleteLot;

View File

@ -1,27 +1,18 @@
import sqlite from "better-sqlite3"; import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
export const deleteLot = (lotId, requestSession) => { export function deleteLot(lotId, requestSession) {
const database = sqlite(databasePath); const database = sqlite(databasePath);
const rightNowMillis = Date.now(); const rightNowMillis = Date.now();
const result = database let result;
.prepare("update Lots" + for (const tableName of ["LotFields", "LotComments", "Lots"]) {
" set recordDelete_userName = ?," + result = database
" recordDelete_timeMillis = ?" + .prepare(`update ${tableName}
" where lotId = ?") set recordDelete_userName = ?,
.run(requestSession.user.userName, rightNowMillis, lotId); recordDelete_timeMillis = ?
database where lotId = ?`)
.prepare("update LotComments" + .run(requestSession.user.userName, rightNowMillis, lotId);
" set recordDelete_userName = ?," + }
" recordDelete_timeMillis = ?" +
" where lotId = ?")
.run(requestSession.user.userName, rightNowMillis, lotId);
database
.prepare("update LotFields" +
" set recordDelete_userName = ?," +
" recordDelete_timeMillis = ?" +
" where lotId = ?")
.run(requestSession.user.userName, rightNowMillis, lotId);
database.close(); database.close();
return result.changes > 0; return result.changes > 0;
}; }
export default deleteLot; export default deleteLot;

Some files were not shown because too many files have changed in this diff Show More