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";
|
||||
export const handler = async (request, response) => {
|
||||
const success = request.body.moveToEnd === "1"
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -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";
|
||||
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 {};
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue