cleanup move code
parent
910dc5bbf9
commit
5e335c7926
|
|
@ -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";
|
import { getLotTypes } from "../../helpers/functions.cache.js";
|
||||||
export const handler = async (request, response) => {
|
export const handler = async (request, response) => {
|
||||||
const success = request.body.moveToEnd === "1"
|
const success = request.body.moveToEnd === "1"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import type { RequestHandler } from "express";
|
||||||
import {
|
import {
|
||||||
moveLotTypeFieldDown,
|
moveLotTypeFieldDown,
|
||||||
moveLotTypeFieldDownToBottom
|
moveLotTypeFieldDownToBottom
|
||||||
} from "../../helpers/lotOccupancyDB/moveLotTypeFieldDown.js";
|
} from "../../helpers/lotOccupancyDB/moveLotTypeField.js";
|
||||||
|
|
||||||
import { getLotTypes } from "../../helpers/functions.cache.js";
|
import { getLotTypes } from "../../helpers/functions.cache.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";
|
import { getLotTypes } from "../../helpers/functions.cache.js";
|
||||||
export const handler = async (request, response) => {
|
export const handler = async (request, response) => {
|
||||||
const success = request.body.moveToEnd === "1"
|
const success = request.body.moveToEnd === "1"
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import type { RequestHandler } from "express";
|
||||||
import {
|
import {
|
||||||
moveLotTypeFieldUp,
|
moveLotTypeFieldUp,
|
||||||
moveLotTypeFieldUpToTop
|
moveLotTypeFieldUpToTop
|
||||||
} from "../../helpers/lotOccupancyDB/moveLotTypeFieldUp.js";
|
} from "../../helpers/lotOccupancyDB/moveLotTypeField.js";
|
||||||
|
|
||||||
import { getLotTypes } from "../../helpers/functions.cache.js";
|
import { getLotTypes } from "../../helpers/functions.cache.js";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
import { getFee } from "./getFee.js";
|
import { getFee } from "./getFee.js";
|
||||||
|
import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js";
|
||||||
export function moveFeeDown(feeId) {
|
export function moveFeeDown(feeId) {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const currentFee = getFee(feeId, database);
|
const currentFee = getFee(feeId, database);
|
||||||
|
|
@ -11,11 +12,9 @@ export function moveFeeDown(feeId) {
|
||||||
and feeCategoryId = ?
|
and feeCategoryId = ?
|
||||||
and orderNumber = ? + 1`)
|
and orderNumber = ? + 1`)
|
||||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||||
const result = database
|
const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber + 1, database);
|
||||||
.prepare("update Fees set orderNumber = ? + 1 where feeId = ?")
|
|
||||||
.run(currentFee.orderNumber, feeId);
|
|
||||||
database.close();
|
database.close();
|
||||||
return result.changes > 0;
|
return success;
|
||||||
}
|
}
|
||||||
export function moveFeeDownToBottom(feeId) {
|
export function moveFeeDownToBottom(feeId) {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
|
|
@ -27,9 +26,7 @@ export function moveFeeDownToBottom(feeId) {
|
||||||
and feeCategoryId = ?`)
|
and feeCategoryId = ?`)
|
||||||
.get(currentFee.feeCategoryId).maxOrderNumber;
|
.get(currentFee.feeCategoryId).maxOrderNumber;
|
||||||
if (currentFee.orderNumber !== maxOrderNumber) {
|
if (currentFee.orderNumber !== maxOrderNumber) {
|
||||||
database
|
updateRecordOrderNumber("Fees", feeId, maxOrderNumber + 1, database);
|
||||||
.prepare("update Fees set orderNumber = ? + 1 where feeId = ?")
|
|
||||||
.run(maxOrderNumber, feeId);
|
|
||||||
database
|
database
|
||||||
.prepare(`update Fees
|
.prepare(`update Fees
|
||||||
set orderNumber = orderNumber - 1
|
set orderNumber = orderNumber - 1
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import { getFee } from "./getFee.js";
|
import { getFee } from "./getFee.js";
|
||||||
|
import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js";
|
||||||
|
|
||||||
export function moveFeeDown(feeId: number | string): boolean {
|
export function moveFeeDown(feeId: number | string): boolean {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
|
|
@ -19,13 +20,11 @@ export function moveFeeDown(feeId: number | string): boolean {
|
||||||
)
|
)
|
||||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||||
|
|
||||||
const result = database
|
const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber + 1, database);
|
||||||
.prepare("update Fees set orderNumber = ? + 1 where feeId = ?")
|
|
||||||
.run(currentFee.orderNumber, feeId);
|
|
||||||
|
|
||||||
database.close();
|
database.close();
|
||||||
|
|
||||||
return result.changes > 0;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function moveFeeDownToBottom(feeId: number | string): boolean {
|
export function moveFeeDownToBottom(feeId: number | string): boolean {
|
||||||
|
|
@ -43,9 +42,7 @@ export function moveFeeDownToBottom(feeId: number | string): boolean {
|
||||||
.get(currentFee.feeCategoryId).maxOrderNumber;
|
.get(currentFee.feeCategoryId).maxOrderNumber;
|
||||||
|
|
||||||
if (currentFee.orderNumber !== maxOrderNumber) {
|
if (currentFee.orderNumber !== maxOrderNumber) {
|
||||||
database
|
updateRecordOrderNumber("Fees", feeId, maxOrderNumber + 1, database);
|
||||||
.prepare("update Fees set orderNumber = ? + 1 where feeId = ?")
|
|
||||||
.run(maxOrderNumber, feeId);
|
|
||||||
|
|
||||||
database
|
database
|
||||||
.prepare(
|
.prepare(
|
||||||
|
|
|
||||||
|
|
@ -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 declare function moveFeeUpToTop(feeId: number | string): boolean;
|
||||||
export default moveFeeUp;
|
export default moveFeeUp;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
import { getFee } from "./getFee.js";
|
import { getFee } from "./getFee.js";
|
||||||
|
import { updateRecordOrderNumber } from "./updateRecordOrderNumber.js";
|
||||||
export function moveFeeUp(feeId) {
|
export function moveFeeUp(feeId) {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const currentFee = getFee(feeId, database);
|
const currentFee = getFee(feeId, database);
|
||||||
|
|
@ -15,17 +16,15 @@ export function moveFeeUp(feeId) {
|
||||||
and feeCategoryId = ?
|
and feeCategoryId = ?
|
||||||
and orderNumber = ? - 1`)
|
and orderNumber = ? - 1`)
|
||||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||||
const result = database
|
const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber - 1, database);
|
||||||
.prepare("update Fees set orderNumber = ? - 1 where feeId = ?")
|
|
||||||
.run(currentFee.orderNumber, feeId);
|
|
||||||
database.close();
|
database.close();
|
||||||
return result.changes > 0;
|
return success;
|
||||||
}
|
}
|
||||||
export function moveFeeUpToTop(feeId) {
|
export function moveFeeUpToTop(feeId) {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const currentFee = getFee(feeId, database);
|
const currentFee = getFee(feeId, database);
|
||||||
if (currentFee.orderNumber > 0) {
|
if (currentFee.orderNumber > 0) {
|
||||||
database.prepare("update Fees set orderNumber = -1 where feeId = ?").run(feeId);
|
updateRecordOrderNumber("Fees", feeId, -1, database);
|
||||||
database
|
database
|
||||||
.prepare(`update Fees
|
.prepare(`update Fees
|
||||||
set orderNumber = orderNumber + 1
|
set orderNumber = orderNumber + 1
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,9 @@ import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import { getFee } from "./getFee.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 database = sqlite(databasePath);
|
||||||
|
|
||||||
const currentFee = getFee(feeId, database);
|
const currentFee = getFee(feeId, database);
|
||||||
|
|
@ -24,13 +25,11 @@ export function moveFeeUp(feeId: number | string): boolean {
|
||||||
)
|
)
|
||||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||||
|
|
||||||
const result = database
|
const success = updateRecordOrderNumber("Fees", feeId, currentFee.orderNumber - 1, database);
|
||||||
.prepare("update Fees set orderNumber = ? - 1 where feeId = ?")
|
|
||||||
.run(currentFee.orderNumber, feeId);
|
|
||||||
|
|
||||||
database.close();
|
database.close();
|
||||||
|
|
||||||
return result.changes > 0;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function moveFeeUpToTop(feeId: number | string): boolean {
|
export function moveFeeUpToTop(feeId: number | string): boolean {
|
||||||
|
|
@ -39,7 +38,7 @@ export function moveFeeUpToTop(feeId: number | string): boolean {
|
||||||
const currentFee = getFee(feeId, database);
|
const currentFee = getFee(feeId, database);
|
||||||
|
|
||||||
if (currentFee.orderNumber > 0) {
|
if (currentFee.orderNumber > 0) {
|
||||||
database.prepare("update Fees set orderNumber = -1 where feeId = ?").run(feeId);
|
updateRecordOrderNumber("Fees", feeId, -1, database);
|
||||||
|
|
||||||
database
|
database
|
||||||
.prepare(
|
.prepare(
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
export declare function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean;
|
export declare function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean;
|
||||||
export declare function moveLotTypeFieldDownToBottom(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;
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
export declare function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean;
|
|
||||||
export declare function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean;
|
|
||||||
export default moveLotTypeFieldUp;
|
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -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;
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
declare type RecordTable = "FeeCategories" | "Fees" | "LotOccupantTypes" | "LotStatuses" | "LotTypes" | "LotTypeFields" | "OccupancyTypes" | "OccupancyTypeFields" | "WorkOrderMilestoneTypes" | "WorkOrderTypes";
|
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 {};
|
export {};
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ recordIdColumns.set("WorkOrderTypes", "workOrderTypeId");
|
||||||
|
|
||||||
export function updateRecordOrderNumber(
|
export function updateRecordOrderNumber(
|
||||||
recordTable: RecordTable,
|
recordTable: RecordTable,
|
||||||
recordId: number,
|
recordId: number | string,
|
||||||
orderNumber: number,
|
orderNumber: number | string,
|
||||||
connectedDatabase: sqlite.Database
|
connectedDatabase: sqlite.Database
|
||||||
): boolean {
|
): boolean {
|
||||||
const result = connectedDatabase
|
const result = connectedDatabase
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue