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 { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
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({}, {
includeFees: true
});

View File

@ -5,7 +5,7 @@ import { addFee } from "../../helpers/lotOccupancyDB/addFee.js";
import { getFeeCategories } from "../../helpers/lotOccupancyDB/getFeeCategories.js";
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(
{},

View File

@ -14,5 +14,5 @@ interface AddFeeForm {
isRequired: "" | "1";
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;

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddFeeCategoryForm {
feeCategory: string;
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;

View File

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

View File

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

View File

@ -10,5 +10,5 @@ interface AddLotForm {
lotTypeFieldIds?: string;
[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;

View File

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

View File

@ -21,20 +21,20 @@ interface AddLotForm {
[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 rightNowMillis = Date.now();
const result = database
.prepare(
"insert into Lots (" +
"lotName, lotTypeId, lotStatusId," +
" mapId, mapKey," +
" lotLatitude, lotLongitude," +
" recordCreate_userName, recordCreate_timeMillis," +
" recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
`insert into Lots (
lotName, lotTypeId, lotStatusId,
mapId, mapKey,
lotLatitude, lotLongitude,
recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`
)
.run(
lotForm.lotName,
@ -73,6 +73,6 @@ export const addLot = (lotForm: AddLotForm, requestSession: recordTypes.PartialS
database.close();
return lotId;
};
}
export default addLot;

View File

@ -3,5 +3,5 @@ interface AddLotCommentForm {
lotId: 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;

View File

@ -1,17 +1,18 @@
import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.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 rightNow = new Date();
const result = database
.prepare("insert into LotComments (" +
"lotId, lotCommentDate, lotCommentTime, lotComment," +
" recordCreate_userName, recordCreate_timeMillis," +
" recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?, ?)")
.prepare(`insert into LotComments (
lotId,
lotCommentDate, lotCommentTime, lotComment,
recordCreate_userName, recordCreate_timeMillis,
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());
database.close();
return result.lastInsertRowid;
};
}
export default addLotComment;

View File

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

View File

@ -18,5 +18,5 @@ interface AddLotOccupancyForm {
occupantEmailAddress?: 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;

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

View File

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

View File

@ -5,5 +5,5 @@ interface AddLotOccupancyCommentForm {
lotOccupancyCommentTimeString?: 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;

View File

@ -1,7 +1,7 @@
import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.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();
let lotOccupancyCommentDate;
let lotOccupancyCommentTime;
@ -15,13 +15,15 @@ export const addLotOccupancyComment = (commentForm, requestSession) => {
}
const database = sqlite(databasePath);
const result = database
.prepare("insert into LotOccupancyComments (" +
"lotOccupancyId, lotOccupancyCommentDate, lotOccupancyCommentTime, lotOccupancyComment," +
" recordCreate_userName, recordCreate_timeMillis," +
" recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?, ?)")
.prepare(`insert into LotOccupancyComments (
lotOccupancyId,
lotOccupancyCommentDate, lotOccupancyCommentTime,
lotOccupancyComment,
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());
database.close();
return result.lastInsertRowid;
};
}
export default addLotOccupancyComment;

View File

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

View File

@ -6,5 +6,5 @@ interface AddLotOccupancyFeeForm {
feeAmount?: 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;

View File

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

View File

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

View File

@ -13,5 +13,5 @@ interface AddLotOccupancyOccupantForm {
occupantEmailAddress: 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;

View File

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

View File

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

View File

@ -7,5 +7,5 @@ interface AddLotOccupancyTransactionForm {
externalReceiptNumber: 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;

View File

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

View File

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

View File

@ -4,5 +4,5 @@ interface AddLotOccupantTypeForm {
fontAwesomeIconClass?: string;
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;

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddLotStatusForm {
lotStatus: string;
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;

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddLotTypeForm {
lotType: string;
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;

View File

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

View File

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

View File

@ -9,5 +9,5 @@ interface AddLotTypeFieldForm {
maximumLength: string | 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;

View File

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

View File

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

View File

@ -12,5 +12,5 @@ interface AddMapForm {
mapPostalCode: 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;

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddOccupancyTypeForm {
occupancyType: string;
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;

View File

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

View File

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

View File

@ -9,5 +9,5 @@ interface AddOccupancyTypeFieldForm {
maximumLength: string | 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;

View File

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

View File

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

View File

@ -4,5 +4,5 @@ interface OccupancyTypePrintForm {
printEJS: string;
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;

View File

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

View File

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

View File

@ -5,5 +5,5 @@ interface LotFieldForm {
lotTypeFieldId: string | number;
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;

View File

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

View File

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

View File

@ -5,5 +5,5 @@ interface LotOccupancyFieldForm {
occupancyTypeFieldId: string | number;
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;

View File

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

View File

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

View File

@ -7,5 +7,5 @@ interface AddWorkOrderForm {
workOrderCloseDateString?: 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;

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddWorkOrderCommentForm {
workOrderId: 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;

View File

@ -1,17 +1,19 @@
import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.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 rightNow = new Date();
const result = database
.prepare("insert into WorkOrderComments (" +
"workOrderId, workOrderCommentDate, workOrderCommentTime, workOrderComment," +
" recordCreate_userName, recordCreate_timeMillis," +
" recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?, ?)")
.prepare(`insert into WorkOrderComments (
workOrderId,
workOrderCommentDate, workOrderCommentTime,
workOrderComment,
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());
database.close();
return result.lastInsertRowid;
};
}
export default addWorkOrderComment;

View File

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

View File

@ -3,5 +3,5 @@ interface AddWorkOrderLotForm {
workOrderId: 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;

View File

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

View File

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

View File

@ -4,5 +4,5 @@ interface AddWorkOrderLotOccupancyForm {
workOrderId: 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;

View File

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

View File

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

View File

@ -8,5 +8,5 @@ interface AddWorkOrderMilestoneForm {
workOrderMilestoneCompletionDateString?: 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;

View File

@ -1,17 +1,18 @@
import sqlite from "better-sqlite3";
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.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 database = sqlite(databasePath);
const result = database
.prepare("insert into WorkOrderMilestones (" +
"workOrderId, workOrderMilestoneTypeId," +
" workOrderMilestoneDate, workOrderMilestoneTime, workOrderMilestoneDescription," +
" workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime," +
" recordCreate_userName, recordCreate_timeMillis," +
" recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
.prepare(`insert into WorkOrderMilestones (
workOrderId, workOrderMilestoneTypeId,
workOrderMilestoneDate, workOrderMilestoneTime,
workOrderMilestoneDescription,
workOrderMilestoneCompletionDate, workOrderMilestoneCompletionTime,
recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
.run(milestoneForm.workOrderId, milestoneForm.workOrderMilestoneTypeId || undefined, dateStringToInteger(milestoneForm.workOrderMilestoneDateString), milestoneForm.workOrderMilestoneTimeString
? timeStringToInteger(milestoneForm.workOrderMilestoneTimeString)
: 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());
database.close();
return result.lastInsertRowid;
};
}
export default addWorkOrderMilestone;

View File

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

View File

@ -3,5 +3,5 @@ interface AddWorkOrderMilestoneTypeForm {
workOrderMilestoneType: string;
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;

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddWorkOrderTypeForm {
workOrderType: string;
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;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,5 +3,5 @@ interface AddWorkOrderForm {
workOrderId: number | 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;

View File

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

View File

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

View File

@ -4,5 +4,5 @@ interface CompleteWorkOrderMilestoneForm {
workOrderMilestoneCompletionDateString?: 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;

View File

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

View File

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

View File

@ -1,3 +1,3 @@
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;

View File

@ -4,7 +4,7 @@ import { getLotOccupancy } from "./getLotOccupancy.js";
import { addLotOccupancy } from "./addLotOccupancy.js";
import { addLotOccupancyOccupant } from "./addLotOccupancyOccupant.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 oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database);
const newLotOccupancyId = addLotOccupancy({
@ -16,10 +16,11 @@ export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
const rightNowMillis = Date.now();
for (const occupancyField of oldLotOccupancy.lotOccupancyFields) {
database
.prepare("insert into LotOccupancyFields" +
" (lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue," +
" recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?)")
.prepare(`insert into LotOccupancyFields (
lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?)`)
.run(newLotOccupancyId, occupancyField.occupancyTypeFieldId, occupancyField.lotOccupancyFieldValue, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
}
for (const occupant of oldLotOccupancy.lotOccupancyOccupants) {
@ -38,5 +39,5 @@ export const copyLotOccupancy = (oldLotOccupancyId, requestSession) => {
}
database.close();
return newLotOccupancyId;
};
}
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";
export const copyLotOccupancy = (
export function copyLotOccupancy(
oldLotOccupancyId: number | string,
requestSession: recordTypes.PartialSession
): number => {
): number {
const database = sqlite(databasePath);
const oldLotOccupancy = getLotOccupancy(oldLotOccupancyId, database);
@ -29,17 +29,20 @@ export const copyLotOccupancy = (
database
);
// Copy Fields
/*
* Copy Fields
*/
const rightNowMillis = Date.now();
for (const occupancyField of oldLotOccupancy.lotOccupancyFields) {
database
.prepare(
"insert into LotOccupancyFields" +
" (lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue," +
" recordCreate_userName, recordCreate_timeMillis, recordUpdate_userName, recordUpdate_timeMillis)" +
" values (?, ?, ?, ?, ?, ?, ?)"
`insert into LotOccupancyFields (
lotOccupancyId, occupancyTypeFieldId, lotOccupancyFieldValue,
recordCreate_userName, recordCreate_timeMillis,
recordUpdate_userName, recordUpdate_timeMillis)
values (?, ?, ?, ?, ?, ?, ?)`
)
.run(
newLotOccupancyId,
@ -52,7 +55,9 @@ export const copyLotOccupancy = (
);
}
// Copy Occupants
/*
* Copy Occupants
*/
for (const occupant of oldLotOccupancy.lotOccupancyOccupants) {
addLotOccupancyOccupant(
@ -76,6 +81,6 @@ export const copyLotOccupancy = (
database.close();
return newLotOccupancyId;
};
}
export default copyLotOccupancy;

View File

@ -1,3 +1,3 @@
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;

View File

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

View File

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

View File

@ -1,3 +1,3 @@
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;

View File

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

View File

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

View File

@ -1,3 +1,3 @@
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;

View File

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

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