From 5e335c7926e92860f13a116b429f71b5c65ac31c Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Fri, 6 Jan 2023 14:51:04 -0500 Subject: [PATCH] cleanup move code --- handlers/admin-post/doMoveLotTypeFieldDown.js | 2 +- handlers/admin-post/doMoveLotTypeFieldDown.ts | 2 +- handlers/admin-post/doMoveLotTypeFieldUp.js | 2 +- handlers/admin-post/doMoveLotTypeFieldUp.ts | 2 +- helpers/lotOccupancyDB/moveFeeDown.js | 11 +- helpers/lotOccupancyDB/moveFeeDown.ts | 11 +- helpers/lotOccupancyDB/moveFeeUp.d.ts | 2 +- helpers/lotOccupancyDB/moveFeeUp.js | 9 +- helpers/lotOccupancyDB/moveFeeUp.ts | 11 +- ...peFieldDown.d.ts => moveLotTypeField.d.ts} | 3 +- helpers/lotOccupancyDB/moveLotTypeField.js | 83 +++++++++++ helpers/lotOccupancyDB/moveLotTypeField.ts | 140 ++++++++++++++++++ .../lotOccupancyDB/moveLotTypeFieldDown.js | 49 ------ .../lotOccupancyDB/moveLotTypeFieldDown.ts | 73 --------- .../lotOccupancyDB/moveLotTypeFieldUp.d.ts | 3 - helpers/lotOccupancyDB/moveLotTypeFieldUp.js | 48 ------ helpers/lotOccupancyDB/moveLotTypeFieldUp.ts | 70 --------- .../updateRecordOrderNumber.d.ts | 2 +- .../lotOccupancyDB/updateRecordOrderNumber.ts | 4 +- 19 files changed, 250 insertions(+), 277 deletions(-) rename helpers/lotOccupancyDB/{moveLotTypeFieldDown.d.ts => moveLotTypeField.d.ts} (50%) create mode 100644 helpers/lotOccupancyDB/moveLotTypeField.js create mode 100644 helpers/lotOccupancyDB/moveLotTypeField.ts delete mode 100644 helpers/lotOccupancyDB/moveLotTypeFieldDown.js delete mode 100644 helpers/lotOccupancyDB/moveLotTypeFieldDown.ts delete mode 100644 helpers/lotOccupancyDB/moveLotTypeFieldUp.d.ts delete mode 100644 helpers/lotOccupancyDB/moveLotTypeFieldUp.js delete mode 100644 helpers/lotOccupancyDB/moveLotTypeFieldUp.ts diff --git a/handlers/admin-post/doMoveLotTypeFieldDown.js b/handlers/admin-post/doMoveLotTypeFieldDown.js index fe5edc3e..388e19f0 100644 --- a/handlers/admin-post/doMoveLotTypeFieldDown.js +++ b/handlers/admin-post/doMoveLotTypeFieldDown.js @@ -1,4 +1,4 @@ -import { moveLotTypeFieldDown, moveLotTypeFieldDownToBottom } from "../../helpers/lotOccupancyDB/moveLotTypeFieldDown.js"; +import { moveLotTypeFieldDown, moveLotTypeFieldDownToBottom } from "../../helpers/lotOccupancyDB/moveLotTypeField.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { const success = request.body.moveToEnd === "1" diff --git a/handlers/admin-post/doMoveLotTypeFieldDown.ts b/handlers/admin-post/doMoveLotTypeFieldDown.ts index 8a3d91f6..f77a740d 100644 --- a/handlers/admin-post/doMoveLotTypeFieldDown.ts +++ b/handlers/admin-post/doMoveLotTypeFieldDown.ts @@ -3,7 +3,7 @@ import type { RequestHandler } from "express"; import { moveLotTypeFieldDown, moveLotTypeFieldDownToBottom -} from "../../helpers/lotOccupancyDB/moveLotTypeFieldDown.js"; +} from "../../helpers/lotOccupancyDB/moveLotTypeField.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; diff --git a/handlers/admin-post/doMoveLotTypeFieldUp.js b/handlers/admin-post/doMoveLotTypeFieldUp.js index dbfd7ffa..78d085a4 100644 --- a/handlers/admin-post/doMoveLotTypeFieldUp.js +++ b/handlers/admin-post/doMoveLotTypeFieldUp.js @@ -1,4 +1,4 @@ -import { moveLotTypeFieldUp, moveLotTypeFieldUpToTop } from "../../helpers/lotOccupancyDB/moveLotTypeFieldUp.js"; +import { moveLotTypeFieldUp, moveLotTypeFieldUpToTop } from "../../helpers/lotOccupancyDB/moveLotTypeField.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; export const handler = async (request, response) => { const success = request.body.moveToEnd === "1" diff --git a/handlers/admin-post/doMoveLotTypeFieldUp.ts b/handlers/admin-post/doMoveLotTypeFieldUp.ts index 479d8762..4369376d 100644 --- a/handlers/admin-post/doMoveLotTypeFieldUp.ts +++ b/handlers/admin-post/doMoveLotTypeFieldUp.ts @@ -3,7 +3,7 @@ import type { RequestHandler } from "express"; import { moveLotTypeFieldUp, moveLotTypeFieldUpToTop -} from "../../helpers/lotOccupancyDB/moveLotTypeFieldUp.js"; +} from "../../helpers/lotOccupancyDB/moveLotTypeField.js"; import { getLotTypes } from "../../helpers/functions.cache.js"; diff --git a/helpers/lotOccupancyDB/moveFeeDown.js b/helpers/lotOccupancyDB/moveFeeDown.js index f2500c06..5ed1380f 100644 --- a/helpers/lotOccupancyDB/moveFeeDown.js +++ b/helpers/lotOccupancyDB/moveFeeDown.js @@ -1,6 +1,7 @@ import sqlite from "better-sqlite3"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { getFee } from "./getFee.js"; +import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js"; export function moveFeeDown(feeId) { const database = sqlite(databasePath); const currentFee = getFee(feeId, database); @@ -11,11 +12,9 @@ export function moveFeeDown(feeId) { and feeCategoryId = ? and orderNumber = ? + 1`) .run(currentFee.feeCategoryId, currentFee.orderNumber); - const result = database - .prepare("update Fees set orderNumber = ? + 1 where feeId = ?") - .run(currentFee.orderNumber, feeId); + const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber + 1, database); database.close(); - return result.changes > 0; + return success; } export function moveFeeDownToBottom(feeId) { const database = sqlite(databasePath); @@ -27,9 +26,7 @@ export function moveFeeDownToBottom(feeId) { and feeCategoryId = ?`) .get(currentFee.feeCategoryId).maxOrderNumber; if (currentFee.orderNumber !== maxOrderNumber) { - database - .prepare("update Fees set orderNumber = ? + 1 where feeId = ?") - .run(maxOrderNumber, feeId); + updateRecordOrderNumber("Fees", feeId, maxOrderNumber + 1, database); database .prepare(`update Fees set orderNumber = orderNumber - 1 diff --git a/helpers/lotOccupancyDB/moveFeeDown.ts b/helpers/lotOccupancyDB/moveFeeDown.ts index 6f7af4f1..319dc43b 100644 --- a/helpers/lotOccupancyDB/moveFeeDown.ts +++ b/helpers/lotOccupancyDB/moveFeeDown.ts @@ -3,6 +3,7 @@ import sqlite from "better-sqlite3"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { getFee } from "./getFee.js"; +import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js"; export function moveFeeDown(feeId: number | string): boolean { const database = sqlite(databasePath); @@ -19,13 +20,11 @@ export function moveFeeDown(feeId: number | string): boolean { ) .run(currentFee.feeCategoryId, currentFee.orderNumber); - const result = database - .prepare("update Fees set orderNumber = ? + 1 where feeId = ?") - .run(currentFee.orderNumber, feeId); + const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber + 1, database); database.close(); - return result.changes > 0; + return success; } export function moveFeeDownToBottom(feeId: number | string): boolean { @@ -43,9 +42,7 @@ export function moveFeeDownToBottom(feeId: number | string): boolean { .get(currentFee.feeCategoryId).maxOrderNumber; if (currentFee.orderNumber !== maxOrderNumber) { - database - .prepare("update Fees set orderNumber = ? + 1 where feeId = ?") - .run(maxOrderNumber, feeId); + updateRecordOrderNumber("Fees", feeId, maxOrderNumber + 1, database); database .prepare( diff --git a/helpers/lotOccupancyDB/moveFeeUp.d.ts b/helpers/lotOccupancyDB/moveFeeUp.d.ts index 18d0ec1e..5d3e5834 100644 --- a/helpers/lotOccupancyDB/moveFeeUp.d.ts +++ b/helpers/lotOccupancyDB/moveFeeUp.d.ts @@ -1,3 +1,3 @@ -export declare function moveFeeUp(feeId: number | string): boolean; +export declare function moveFeeUp(feeId: number): boolean; export declare function moveFeeUpToTop(feeId: number | string): boolean; export default moveFeeUp; diff --git a/helpers/lotOccupancyDB/moveFeeUp.js b/helpers/lotOccupancyDB/moveFeeUp.js index c9b778d5..d3a8efd7 100644 --- a/helpers/lotOccupancyDB/moveFeeUp.js +++ b/helpers/lotOccupancyDB/moveFeeUp.js @@ -1,6 +1,7 @@ import sqlite from "better-sqlite3"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { getFee } from "./getFee.js"; +import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js"; export function moveFeeUp(feeId) { const database = sqlite(databasePath); const currentFee = getFee(feeId, database); @@ -15,17 +16,15 @@ export function moveFeeUp(feeId) { and feeCategoryId = ? and orderNumber = ? - 1`) .run(currentFee.feeCategoryId, currentFee.orderNumber); - const result = database - .prepare("update Fees set orderNumber = ? - 1 where feeId = ?") - .run(currentFee.orderNumber, feeId); + const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber - 1, database); database.close(); - return result.changes > 0; + return success; } export function moveFeeUpToTop(feeId) { const database = sqlite(databasePath); const currentFee = getFee(feeId, database); if (currentFee.orderNumber > 0) { - database.prepare("update Fees set orderNumber = -1 where feeId = ?").run(feeId); + updateRecordOrderNumber("Fees", feeId, -1, database); database .prepare(`update Fees set orderNumber = orderNumber + 1 diff --git a/helpers/lotOccupancyDB/moveFeeUp.ts b/helpers/lotOccupancyDB/moveFeeUp.ts index fe7c06f8..3412811b 100644 --- a/helpers/lotOccupancyDB/moveFeeUp.ts +++ b/helpers/lotOccupancyDB/moveFeeUp.ts @@ -3,8 +3,9 @@ import sqlite from "better-sqlite3"; import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; import { getFee } from "./getFee.js"; +import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js"; -export function moveFeeUp(feeId: number | string): boolean { +export function moveFeeUp(feeId: number): boolean { const database = sqlite(databasePath); const currentFee = getFee(feeId, database); @@ -24,13 +25,11 @@ export function moveFeeUp(feeId: number | string): boolean { ) .run(currentFee.feeCategoryId, currentFee.orderNumber); - const result = database - .prepare("update Fees set orderNumber = ? - 1 where feeId = ?") - .run(currentFee.orderNumber, feeId); + const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber - 1, database); database.close(); - return result.changes > 0; + return success; } export function moveFeeUpToTop(feeId: number | string): boolean { @@ -39,7 +38,7 @@ export function moveFeeUpToTop(feeId: number | string): boolean { const currentFee = getFee(feeId, database); if (currentFee.orderNumber > 0) { - database.prepare("update Fees set orderNumber = -1 where feeId = ?").run(feeId); + updateRecordOrderNumber("Fees", feeId, -1, database); database .prepare( diff --git a/helpers/lotOccupancyDB/moveLotTypeFieldDown.d.ts b/helpers/lotOccupancyDB/moveLotTypeField.d.ts similarity index 50% rename from helpers/lotOccupancyDB/moveLotTypeFieldDown.d.ts rename to helpers/lotOccupancyDB/moveLotTypeField.d.ts index e7a3f36f..3e83ac14 100644 --- a/helpers/lotOccupancyDB/moveLotTypeFieldDown.d.ts +++ b/helpers/lotOccupancyDB/moveLotTypeField.d.ts @@ -1,3 +1,4 @@ export declare function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean; export declare function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): boolean; -export default moveLotTypeFieldDown; +export declare function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean; +export declare function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean; diff --git a/helpers/lotOccupancyDB/moveLotTypeField.js b/helpers/lotOccupancyDB/moveLotTypeField.js new file mode 100644 index 00000000..bbdf1bab --- /dev/null +++ b/helpers/lotOccupancyDB/moveLotTypeField.js @@ -0,0 +1,83 @@ +import sqlite from "better-sqlite3"; +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; +import { clearCacheByTableName } from "../functions.cache.js"; +import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js"; +function getCurrentField(lotTypeFieldId, connectedDatabase) { + const currentField = connectedDatabase + .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") + .get(lotTypeFieldId); + return currentField; +} +export function moveLotTypeFieldDown(lotTypeFieldId) { + const database = sqlite(databasePath); + const currentField = getCurrentField(lotTypeFieldId, database); + database + .prepare(`update LotTypeFields + set orderNumber = orderNumber - 1 + where recordDelete_timeMillis is null + and lotTypeId = ? and orderNumber = ? + 1`) + .run(currentField.lotTypeId, currentField.orderNumber); + const success = updateRecordOrderNumber("LotTypeFields", lotTypeFieldId, currentField.orderNumber + 1, database); + database.close(); + clearCacheByTableName("LotTypeFields"); + return success; +} +export function moveLotTypeFieldDownToBottom(lotTypeFieldId) { + const database = sqlite(databasePath); + const currentField = getCurrentField(lotTypeFieldId, database); + const maxOrderNumber = database + .prepare(`select max(orderNumber) as maxOrderNumber + from LotTypeFields + where recordDelete_timeMillis is null + and lotTypeId = ?`) + .get(currentField.lotTypeId).maxOrderNumber; + if (currentField.orderNumber !== maxOrderNumber) { + updateRecordOrderNumber("LotTypeFields", lotTypeFieldId, maxOrderNumber + 1, database); + database + .prepare(`update LotTypeFields + set orderNumber = orderNumber - 1 + where recordDelete_timeMillis is null + and lotTypeId = ? + and orderNumber > ?`) + .run(currentField.lotTypeId, currentField.orderNumber); + } + database.close(); + clearCacheByTableName("LotTypeFields"); + return true; +} +export function moveLotTypeFieldUp(lotTypeFieldId) { + const database = sqlite(databasePath); + const currentField = getCurrentField(lotTypeFieldId, database); + if (currentField.orderNumber <= 0) { + database.close(); + return true; + } + database + .prepare(`update LotTypeFields + set orderNumber = orderNumber + 1 + where recordDelete_timeMillis is null + and lotTypeId = ? + and orderNumber = ? - 1`) + .run(currentField.lotTypeId, currentField.orderNumber); + const success = updateRecordOrderNumber("LotTypeFields", lotTypeFieldId, currentField.orderNumber - 1, database); + database.close(); + clearCacheByTableName("LotTypeFields"); + return success; +} +export function moveLotTypeFieldUpToTop(lotTypeFieldId) { + const database = sqlite(databasePath); + const currentField = getCurrentField(lotTypeFieldId, database); + if (currentField.orderNumber > 0) { + updateRecordOrderNumber("LotTypeFields", lotTypeFieldId, -1, database); + database + .prepare(`update LotTypeFields + set orderNumber = orderNumber + 1 + where recordDelete_timeMillis is null + and lotTypeId = ? + and orderNumber < ?`) + .run(currentField.lotTypeId, currentField.orderNumber); + } + database.close(); + clearCacheByTableName("LotTypeFields"); + return true; +} diff --git a/helpers/lotOccupancyDB/moveLotTypeField.ts b/helpers/lotOccupancyDB/moveLotTypeField.ts new file mode 100644 index 00000000..6aa60827 --- /dev/null +++ b/helpers/lotOccupancyDB/moveLotTypeField.ts @@ -0,0 +1,140 @@ +import sqlite from "better-sqlite3"; + +import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; + +import { clearCacheByTableName } from "../functions.cache.js"; +import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js"; + +function getCurrentField( + lotTypeFieldId: number | string, + connectedDatabase: sqlite.Database +): { lotTypeId?: number; orderNumber: number } { + const currentField: { lotTypeId?: number; orderNumber: number } = connectedDatabase + .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") + .get(lotTypeFieldId); + + return currentField; +} + +export function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean { + const database = sqlite(databasePath); + + const currentField = getCurrentField(lotTypeFieldId, database); + + database + .prepare( + `update LotTypeFields + set orderNumber = orderNumber - 1 + where recordDelete_timeMillis is null + and lotTypeId = ? and orderNumber = ? + 1` + ) + .run(currentField.lotTypeId, currentField.orderNumber); + + const success = updateRecordOrderNumber( + "LotTypeFields", + lotTypeFieldId, + currentField.orderNumber + 1, + database + ); + + database.close(); + + clearCacheByTableName("LotTypeFields"); + + return success; +} + +export function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): boolean { + const database = sqlite(databasePath); + + const currentField = getCurrentField(lotTypeFieldId, database); + + const maxOrderNumber: number = database + .prepare( + `select max(orderNumber) as maxOrderNumber + from LotTypeFields + where recordDelete_timeMillis is null + and lotTypeId = ?` + ) + .get(currentField.lotTypeId).maxOrderNumber; + + if (currentField.orderNumber !== maxOrderNumber) { + updateRecordOrderNumber("LotTypeFields", lotTypeFieldId, maxOrderNumber + 1, database); + + database + .prepare( + `update LotTypeFields + set orderNumber = orderNumber - 1 + where recordDelete_timeMillis is null + and lotTypeId = ? + and orderNumber > ?` + ) + .run(currentField.lotTypeId, currentField.orderNumber); + } + + database.close(); + + clearCacheByTableName("LotTypeFields"); + + return true; +} + +export function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean { + const database = sqlite(databasePath); + + const currentField = getCurrentField(lotTypeFieldId, database); + + if (currentField.orderNumber <= 0) { + database.close(); + return true; + } + + database + .prepare( + `update LotTypeFields + set orderNumber = orderNumber + 1 + where recordDelete_timeMillis is null + and lotTypeId = ? + and orderNumber = ? - 1` + ) + .run(currentField.lotTypeId, currentField.orderNumber); + + const success = updateRecordOrderNumber( + "LotTypeFields", + lotTypeFieldId, + currentField.orderNumber - 1, + database + ); + + database.close(); + + clearCacheByTableName("LotTypeFields"); + + return success; +} + +export function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean { + const database = sqlite(databasePath); + + const currentField = getCurrentField(lotTypeFieldId, database); + + if (currentField.orderNumber > 0) { + updateRecordOrderNumber("LotTypeFields", lotTypeFieldId, -1, database); + + database + .prepare( + `update LotTypeFields + set orderNumber = orderNumber + 1 + where recordDelete_timeMillis is null + and lotTypeId = ? + and orderNumber < ?` + ) + .run(currentField.lotTypeId, currentField.orderNumber); + } + + database.close(); + + clearCacheByTableName("LotTypeFields"); + + return true; +} diff --git a/helpers/lotOccupancyDB/moveLotTypeFieldDown.js b/helpers/lotOccupancyDB/moveLotTypeFieldDown.js deleted file mode 100644 index e51214d1..00000000 --- a/helpers/lotOccupancyDB/moveLotTypeFieldDown.js +++ /dev/null @@ -1,49 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearCacheByTableName } from "../functions.cache.js"; -export function moveLotTypeFieldDown(lotTypeFieldId) { - const database = sqlite(databasePath); - const currentField = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - database - .prepare(`update LotTypeFields - set orderNumber = orderNumber - 1 - where recordDelete_timeMillis is null - and lotTypeId = ? and orderNumber = ? + 1`) - .run(currentField.lotTypeId, currentField.orderNumber); - const result = database - .prepare("update LotTypeFields set orderNumber = ? + 1 where lotTypeFieldId = ?") - .run(currentField.orderNumber, lotTypeFieldId); - database.close(); - clearCacheByTableName("LotTypeFields"); - return result.changes > 0; -} -export function moveLotTypeFieldDownToBottom(lotTypeFieldId) { - const database = sqlite(databasePath); - const currentField = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - const maxOrderNumber = database - .prepare(`select max(orderNumber) as maxOrderNumber - from LotTypeFields - where recordDelete_timeMillis is null - and lotTypeId = ?`) - .get(currentField.lotTypeId).maxOrderNumber; - if (currentField.orderNumber !== maxOrderNumber) { - database - .prepare("update LotTypeFields set orderNumber = ? + 1 where lotTypeFieldId = ?") - .run(maxOrderNumber, lotTypeFieldId); - database - .prepare(`update LotTypeFields - set orderNumber = orderNumber - 1 - where recordDelete_timeMillis is null - and lotTypeId = ? - and orderNumber > ?`) - .run(currentField.lotTypeId, currentField.orderNumber); - } - database.close(); - clearCacheByTableName("LotTypeFields"); - return true; -} -export default moveLotTypeFieldDown; diff --git a/helpers/lotOccupancyDB/moveLotTypeFieldDown.ts b/helpers/lotOccupancyDB/moveLotTypeFieldDown.ts deleted file mode 100644 index 3cbbce77..00000000 --- a/helpers/lotOccupancyDB/moveLotTypeFieldDown.ts +++ /dev/null @@ -1,73 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearCacheByTableName } from "../functions.cache.js"; - -export function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean { - const database = sqlite(databasePath); - - const currentField: { lotTypeId?: number; orderNumber: number } = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - - database - .prepare( - `update LotTypeFields - set orderNumber = orderNumber - 1 - where recordDelete_timeMillis is null - and lotTypeId = ? and orderNumber = ? + 1` - ) - .run(currentField.lotTypeId, currentField.orderNumber); - - const result = database - .prepare("update LotTypeFields set orderNumber = ? + 1 where lotTypeFieldId = ?") - .run(currentField.orderNumber, lotTypeFieldId); - - database.close(); - - clearCacheByTableName("LotTypeFields"); - - return result.changes > 0; -} - -export function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): boolean { - const database = sqlite(databasePath); - - const currentField: { lotTypeId?: number; orderNumber: number } = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - - const maxOrderNumber: number = database - .prepare( - `select max(orderNumber) as maxOrderNumber - from LotTypeFields - where recordDelete_timeMillis is null - and lotTypeId = ?` - ) - .get(currentField.lotTypeId).maxOrderNumber; - - if (currentField.orderNumber !== maxOrderNumber) { - database - .prepare("update LotTypeFields set orderNumber = ? + 1 where lotTypeFieldId = ?") - .run(maxOrderNumber, lotTypeFieldId); - - database - .prepare( - `update LotTypeFields - set orderNumber = orderNumber - 1 - where recordDelete_timeMillis is null - and lotTypeId = ? - and orderNumber > ?` - ) - .run(currentField.lotTypeId, currentField.orderNumber); - } - - database.close(); - - clearCacheByTableName("LotTypeFields"); - - return true; -} - -export default moveLotTypeFieldDown; diff --git a/helpers/lotOccupancyDB/moveLotTypeFieldUp.d.ts b/helpers/lotOccupancyDB/moveLotTypeFieldUp.d.ts deleted file mode 100644 index e0b74789..00000000 --- a/helpers/lotOccupancyDB/moveLotTypeFieldUp.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean; -export declare function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean; -export default moveLotTypeFieldUp; diff --git a/helpers/lotOccupancyDB/moveLotTypeFieldUp.js b/helpers/lotOccupancyDB/moveLotTypeFieldUp.js deleted file mode 100644 index 2a4d8fea..00000000 --- a/helpers/lotOccupancyDB/moveLotTypeFieldUp.js +++ /dev/null @@ -1,48 +0,0 @@ -import sqlite from "better-sqlite3"; -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; -import { clearCacheByTableName } from "../functions.cache.js"; -export function moveLotTypeFieldUp(lotTypeFieldId) { - const database = sqlite(databasePath); - const currentField = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - if (currentField.orderNumber <= 0) { - database.close(); - return true; - } - database - .prepare(`update LotTypeFields - set orderNumber = orderNumber + 1 - where recordDelete_timeMillis is null - and lotTypeId = ? - and orderNumber = ? - 1`) - .run(currentField.lotTypeId, currentField.orderNumber); - const result = database - .prepare("update LotTypeFields set orderNumber = ? - 1 where lotTypeFieldId = ?") - .run(currentField.orderNumber, lotTypeFieldId); - database.close(); - clearCacheByTableName("LotTypeFields"); - return result.changes > 0; -} -export function moveLotTypeFieldUpToTop(lotTypeFieldId) { - const database = sqlite(databasePath); - const currentField = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - if (currentField.orderNumber > 0) { - database - .prepare("update LotTypeFields set orderNumber = -1 where lotTypeFieldId = ?") - .run(lotTypeFieldId); - database - .prepare(`update LotTypeFields - set orderNumber = orderNumber + 1 - where recordDelete_timeMillis is null - and lotTypeId = ? - and orderNumber < ?`) - .run(currentField.lotTypeId, currentField.orderNumber); - } - database.close(); - clearCacheByTableName("LotTypeFields"); - return true; -} -export default moveLotTypeFieldUp; diff --git a/helpers/lotOccupancyDB/moveLotTypeFieldUp.ts b/helpers/lotOccupancyDB/moveLotTypeFieldUp.ts deleted file mode 100644 index a37f256b..00000000 --- a/helpers/lotOccupancyDB/moveLotTypeFieldUp.ts +++ /dev/null @@ -1,70 +0,0 @@ -import sqlite from "better-sqlite3"; - -import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js"; - -import { clearCacheByTableName } from "../functions.cache.js"; - -export function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean { - const database = sqlite(databasePath); - - const currentField: { lotTypeId: number; orderNumber: number } = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - - if (currentField.orderNumber <= 0) { - database.close(); - return true; - } - - database - .prepare( - `update LotTypeFields - set orderNumber = orderNumber + 1 - where recordDelete_timeMillis is null - and lotTypeId = ? - and orderNumber = ? - 1` - ) - .run(currentField.lotTypeId, currentField.orderNumber); - - const result = database - .prepare("update LotTypeFields set orderNumber = ? - 1 where lotTypeFieldId = ?") - .run(currentField.orderNumber, lotTypeFieldId); - - database.close(); - - clearCacheByTableName("LotTypeFields"); - - return result.changes > 0; -} - -export function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean { - const database = sqlite(databasePath); - - const currentField: { lotTypeId: number; orderNumber: number } = database - .prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?") - .get(lotTypeFieldId); - - if (currentField.orderNumber > 0) { - database - .prepare("update LotTypeFields set orderNumber = -1 where lotTypeFieldId = ?") - .run(lotTypeFieldId); - - database - .prepare( - `update LotTypeFields - set orderNumber = orderNumber + 1 - where recordDelete_timeMillis is null - and lotTypeId = ? - and orderNumber < ?` - ) - .run(currentField.lotTypeId, currentField.orderNumber); - } - - database.close(); - - clearCacheByTableName("LotTypeFields"); - - return true; -} - -export default moveLotTypeFieldUp; diff --git a/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts b/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts index c2914747..374fb182 100644 --- a/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts +++ b/helpers/lotOccupancyDB/updateRecordOrderNumber.d.ts @@ -1,4 +1,4 @@ import sqlite from "better-sqlite3"; declare type RecordTable = "FeeCategories" | "Fees" | "LotOccupantTypes" | "LotStatuses" | "LotTypes" | "LotTypeFields" | "OccupancyTypes" | "OccupancyTypeFields" | "WorkOrderMilestoneTypes" | "WorkOrderTypes"; -export declare function updateRecordOrderNumber(recordTable: RecordTable, recordId: number, orderNumber: number, connectedDatabase: sqlite.Database): boolean; +export declare function updateRecordOrderNumber(recordTable: RecordTable, recordId: number | string, orderNumber: number | string, connectedDatabase: sqlite.Database): boolean; export {}; diff --git a/helpers/lotOccupancyDB/updateRecordOrderNumber.ts b/helpers/lotOccupancyDB/updateRecordOrderNumber.ts index 4ecb7171..8a780b1d 100644 --- a/helpers/lotOccupancyDB/updateRecordOrderNumber.ts +++ b/helpers/lotOccupancyDB/updateRecordOrderNumber.ts @@ -26,8 +26,8 @@ recordIdColumns.set("WorkOrderTypes", "workOrderTypeId"); export function updateRecordOrderNumber( recordTable: RecordTable, - recordId: number, - orderNumber: number, + recordId: number | string, + orderNumber: number | string, connectedDatabase: sqlite.Database ): boolean { const result = connectedDatabase