diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestoneType.d.ts b/helpers/lotOccupancyDB/addWorkOrderMilestoneType.d.ts new file mode 100644 index 00000000..d9fdaf9d --- /dev/null +++ b/helpers/lotOccupancyDB/addWorkOrderMilestoneType.d.ts @@ -0,0 +1,7 @@ +import type * as recordTypes from "../../types/recordTypes"; +interface AddWorkOrderMilestoneTypeForm { + workOrderMilestoneType: string; + orderNumber?: number; +} +export declare const addWorkOrderMilestoneType: (workOrderMilestoneTypeForm: AddWorkOrderMilestoneTypeForm, requestSession: recordTypes.PartialSession) => number; +export default addWorkOrderMilestoneType; diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestoneType.js b/helpers/lotOccupancyDB/addWorkOrderMilestoneType.js new file mode 100644 index 00000000..98eb01ad --- /dev/null +++ b/helpers/lotOccupancyDB/addWorkOrderMilestoneType.js @@ -0,0 +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) => { + 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(); + clearWorkOrderMilestoneTypesCache(); + return result.lastInsertRowid; +}; +export default addWorkOrderMilestoneType; diff --git a/helpers/lotOccupancyDB/addWorkOrderMilestoneType.ts b/helpers/lotOccupancyDB/addWorkOrderMilestoneType.ts new file mode 100644 index 00000000..bf6340cb --- /dev/null +++ b/helpers/lotOccupancyDB/addWorkOrderMilestoneType.ts @@ -0,0 +1,46 @@ +import sqlite from "better-sqlite3"; + +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; + +import { clearWorkOrderMilestoneTypesCache } from "../functions.cache.js"; + +import type * as recordTypes from "../../types/recordTypes"; + +interface AddWorkOrderMilestoneTypeForm { + workOrderMilestoneType: string; + orderNumber?: number; +} + +export const 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(); + + clearWorkOrderMilestoneTypesCache(); + + return result.lastInsertRowid as number; +}; + +export default addWorkOrderMilestoneType;