reduce duplicate add code
parent
b86bc6cd6a
commit
1fdb77747f
|
|
@ -1,16 +1,6 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
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 (?, ?, ?, ?, ?, ?)`)
|
||||
.run(feeCategoryForm.feeCategory, feeCategoryForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
const feeCategoryId = addRecord("FeeCategories", feeCategoryForm.feeCategory, feeCategoryForm.orderNumber || -1, requestSession);
|
||||
return feeCategoryId;
|
||||
}
|
||||
export default addFeeCategory;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
|
|
@ -12,30 +11,14 @@ export function addFeeCategory(
|
|||
feeCategoryForm: AddFeeCategoryForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): 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 (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
const feeCategoryId = addRecord(
|
||||
"FeeCategories",
|
||||
feeCategoryForm.feeCategory,
|
||||
feeCategoryForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
requestSession
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
return feeCategoryId;
|
||||
}
|
||||
|
||||
export default addFeeCategory;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,8 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
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 (?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotStatusForm.lotStatus, lotStatusForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
const lotStatusId = addRecord("LotStatuses", lotStatusForm.lotStatus, lotStatusForm.orderNumber || -1, requestSession);
|
||||
clearLotStatusesCache();
|
||||
return result.lastInsertRowid;
|
||||
return lotStatusId;
|
||||
}
|
||||
export default addLotStatus;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
|
||||
interface AddLotStatusForm {
|
||||
lotStatus: string;
|
||||
|
|
@ -14,32 +12,16 @@ export function addLotStatus(
|
|||
lotStatusForm: AddLotStatusForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): 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 (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
const lotStatusId = addRecord(
|
||||
"LotStatuses",
|
||||
lotStatusForm.lotStatus,
|
||||
lotStatusForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
requestSession
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
clearLotStatusesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
return lotStatusId;
|
||||
}
|
||||
|
||||
export default addLotStatus;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,8 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
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 (?, ?, ?, ?, ?, ?)`)
|
||||
.run(lotTypeForm.lotType, lotTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
const lotTypeId = addRecord("LotTypes", lotTypeForm.lotType, lotTypeForm.orderNumber || -1, requestSession);
|
||||
clearLotTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
return lotTypeId;
|
||||
}
|
||||
export default addLotType;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
|
|
@ -11,36 +8,17 @@ interface AddLotTypeForm {
|
|||
orderNumber?: number;
|
||||
}
|
||||
|
||||
export function addLotType(
|
||||
lotTypeForm: AddLotTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): 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 (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
export function addLotType(lotTypeForm: AddLotTypeForm, requestSession: recordTypes.PartialSession): number {
|
||||
const lotTypeId = addRecord(
|
||||
"LotTypes",
|
||||
lotTypeForm.lotType,
|
||||
lotTypeForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
requestSession
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
clearLotTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
return lotTypeId;
|
||||
}
|
||||
|
||||
export default addLotType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,8 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
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 (?, ?, ?, ?, ?, ?)`)
|
||||
.run(occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
const occupancyTypeId = addRecord("OccupancyTypes", occupancyTypeForm.occupancyType, occupancyTypeForm.orderNumber || -1, requestSession);
|
||||
clearOccupancyTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
return occupancyTypeId;
|
||||
}
|
||||
export default addOccupancyType;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
|
|
@ -15,32 +12,16 @@ export function addOccupancyType(
|
|||
occupancyTypeForm: AddOccupancyTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): 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 (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
const occupancyTypeId = addRecord(
|
||||
"OccupancyTypes",
|
||||
occupancyTypeForm.occupancyType,
|
||||
occupancyTypeForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
requestSession
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
clearOccupancyTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
return occupancyTypeId;
|
||||
}
|
||||
|
||||
export default addOccupancyType;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
declare type RecordTable = "FeeCategories" | "LotStatuses" | "LotTypes" | "OccupancyTypes" | "WorkOrderMilestoneTypes" | "WorkOrderTypes";
|
||||
export declare function addRecord(recordTable: RecordTable, recordName: string, orderNumber: number, requestSession: recordTypes.PartialSession): number;
|
||||
export {};
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
const recordNameColumns = new Map();
|
||||
recordNameColumns.set("FeeCategories", "feeCategory");
|
||||
recordNameColumns.set("LotStatuses", "lotStatus");
|
||||
recordNameColumns.set("LotTypes", "lotType");
|
||||
recordNameColumns.set("OccupancyTypes", "occupancyType");
|
||||
recordNameColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneType");
|
||||
recordNameColumns.set("WorkOrderTypes", "workOrderType");
|
||||
export function addRecord(recordTable, recordName, orderNumber, requestSession) {
|
||||
const database = sqlite(databasePath);
|
||||
const rightNowMillis = Date.now();
|
||||
const result = database
|
||||
.prepare(`insert into ${recordTable} (
|
||||
${recordNameColumns.get(recordTable)}, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`)
|
||||
.run(recordName, orderNumber, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
}
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
type RecordTable =
|
||||
| "FeeCategories"
|
||||
| "LotStatuses"
|
||||
| "LotTypes"
|
||||
| "OccupancyTypes"
|
||||
| "WorkOrderMilestoneTypes"
|
||||
| "WorkOrderTypes";
|
||||
|
||||
const recordNameColumns: Map<RecordTable, string> = new Map();
|
||||
recordNameColumns.set("FeeCategories", "feeCategory");
|
||||
recordNameColumns.set("LotStatuses", "lotStatus");
|
||||
recordNameColumns.set("LotTypes", "lotType");
|
||||
recordNameColumns.set("OccupancyTypes", "occupancyType");
|
||||
recordNameColumns.set("WorkOrderMilestoneTypes", "workOrderMilestoneType");
|
||||
recordNameColumns.set("WorkOrderTypes", "workOrderType");
|
||||
|
||||
export function addRecord(
|
||||
recordTable: RecordTable,
|
||||
recordName: string,
|
||||
orderNumber: number,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): number {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const rightNowMillis = Date.now();
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
`insert into ${recordTable} (
|
||||
${recordNameColumns.get(recordTable)}, orderNumber,
|
||||
recordCreate_userName, recordCreate_timeMillis,
|
||||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
recordName,
|
||||
orderNumber,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
}
|
||||
|
|
@ -1,18 +1,8 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
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 (?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderMilestoneTypeForm.workOrderMilestoneType, workOrderMilestoneTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
const workOrderMilestoneId = addRecord("WorkOrderMilestoneTypes", workOrderMilestoneTypeForm.workOrderMilestoneType, workOrderMilestoneTypeForm.orderNumber || -1, requestSession);
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
return workOrderMilestoneId;
|
||||
}
|
||||
export default addWorkOrderMilestoneType;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
|
|
@ -15,32 +12,16 @@ export function addWorkOrderMilestoneType(
|
|||
workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): 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 (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
const workOrderMilestoneId = addRecord(
|
||||
"WorkOrderMilestoneTypes",
|
||||
workOrderMilestoneTypeForm.workOrderMilestoneType,
|
||||
workOrderMilestoneTypeForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
requestSession
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
clearWorkOrderMilestoneTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
return workOrderMilestoneId;
|
||||
}
|
||||
|
||||
export default addWorkOrderMilestoneType;
|
||||
|
|
|
|||
|
|
@ -1,18 +1,8 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
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 (?, ?, ?, ?, ?, ?)`)
|
||||
.run(workOrderTypeForm.workOrderType, workOrderTypeForm.orderNumber || -1, requestSession.user.userName, rightNowMillis, requestSession.user.userName, rightNowMillis);
|
||||
database.close();
|
||||
const workOrderTypeId = addRecord("WorkOrderTypes", workOrderTypeForm.workOrderType, workOrderTypeForm.orderNumber || -1, requestSession);
|
||||
clearWorkOrderTypesCache();
|
||||
return result.lastInsertRowid;
|
||||
return workOrderTypeId;
|
||||
}
|
||||
export default addWorkOrderType;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
import { clearWorkOrderTypesCache } from "../functions.cache.js";
|
||||
import { addRecord } from "./addRecord.js";
|
||||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
|
|
@ -15,32 +12,16 @@ export function addWorkOrderType(
|
|||
workOrderTypeForm: AddWorkOrderTypeForm,
|
||||
requestSession: recordTypes.PartialSession
|
||||
): 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 (?, ?, ?, ?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
const workOrderTypeId = addRecord(
|
||||
"WorkOrderTypes",
|
||||
workOrderTypeForm.workOrderType,
|
||||
workOrderTypeForm.orderNumber || -1,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis,
|
||||
requestSession.user.userName,
|
||||
rightNowMillis
|
||||
requestSession
|
||||
);
|
||||
|
||||
database.close();
|
||||
|
||||
clearWorkOrderTypesCache();
|
||||
|
||||
return result.lastInsertRowid as number;
|
||||
return workOrderTypeId;
|
||||
}
|
||||
|
||||
export default addWorkOrderType;
|
||||
|
|
|
|||
Loading…
Reference in New Issue