reduce duplicate add code

deepsource-autofix-76c6eb20
Dan Gowans 2023-01-06 09:08:40 -05:00
parent b86bc6cd6a
commit 1fdb77747f
15 changed files with 147 additions and 242 deletions

View File

@ -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;

View File

@ -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 feeCategoryId = addRecord(
"FeeCategories",
feeCategoryForm.feeCategory,
feeCategoryForm.orderNumber || -1,
requestSession
);
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 as number;
return feeCategoryId;
}
export default addFeeCategory;

View File

@ -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;

View File

@ -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(
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 as number;
return lotStatusId;
}
export default addLotStatus;

View File

@ -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;

View File

@ -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(
lotTypeForm.lotType,
lotTypeForm.orderNumber || -1,
requestSession.user.userName,
rightNowMillis,
requestSession.user.userName,
rightNowMillis
);
database.close();
export function addLotType(lotTypeForm: AddLotTypeForm, requestSession: recordTypes.PartialSession): number {
const lotTypeId = addRecord(
"LotTypes",
lotTypeForm.lotType,
lotTypeForm.orderNumber || -1,
requestSession
);
clearLotTypesCache();
return result.lastInsertRowid as number;
return lotTypeId;
}
export default addLotType;

View File

@ -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;

View File

@ -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(
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 as number;
return occupancyTypeId;
}
export default addOccupancyType;

View File

@ -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 {};

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;

View File

@ -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(
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 as number;
return workOrderMilestoneId;
}
export default addWorkOrderMilestoneType;

View File

@ -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;

View File

@ -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(
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 as number;
return workOrderTypeId;
}
export default addWorkOrderType;