import sqlite from 'better-sqlite3' import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' import { clearCacheByTableName } from '../functions.cache.js' export function moveOccupancyTypePrintUp( occupancyTypeId: number | string, printEJS: string ): boolean { const database = sqlite(databasePath) const currentOrderNumber = database .prepare( 'select orderNumber from OccupancyTypePrints where occupancyTypeId = ? and printEJS = ?' ) .get(occupancyTypeId, printEJS).orderNumber if (currentOrderNumber <= 0) { database.close() return true } database .prepare( `update OccupancyTypePrints set orderNumber = orderNumber + 1 where recordDelete_timeMillis is null and occupancyTypeId = ? and orderNumber = ? - 1` ) .run(occupancyTypeId, currentOrderNumber) const result = database .prepare( 'update OccupancyTypePrints set orderNumber = ? - 1 where occupancyTypeId = ? and printEJS = ?' ) .run(currentOrderNumber, occupancyTypeId, printEJS) database.close() clearCacheByTableName('OccupancyTypePrints') return result.changes > 0 } export function moveOccupancyTypePrintUpToTop( occupancyTypeId: number | string, printEJS: string ): boolean { const database = sqlite(databasePath) const currentOrderNumber = database .prepare( 'select orderNumber from OccupancyTypePrints where occupancyTypeId = ? and printEJS = ?' ) .get(occupancyTypeId, printEJS).orderNumber if (currentOrderNumber > 0) { database .prepare( `update OccupancyTypePrints set orderNumber = -1 where occupancyTypeId = ? and printEJS = ?` ) .run(occupancyTypeId, printEJS) database .prepare( `update OccupancyTypePrints set orderNumber = orderNumber + 1 where recordDelete_timeMillis is null and occupancyTypeId = ? and orderNumber < ?` ) .run(occupancyTypeId, currentOrderNumber) } database.close() clearCacheByTableName('OccupancyTypePrints') return true } export default moveOccupancyTypePrintUp