refactoring
parent
0e64daaf53
commit
f641e01f7f
|
|
@ -5,7 +5,7 @@ import exitHook from "exit-hook";
|
|||
import ntfyPublish from "@cityssm/ntfy-publish";
|
||||
import Debug from "debug";
|
||||
const debug = Debug("lot-occupancy-system:www");
|
||||
const onError = (error) => {
|
||||
function onError(error) {
|
||||
if (error.syscall !== "listen") {
|
||||
throw error;
|
||||
}
|
||||
|
|
@ -22,14 +22,14 @@ const onError = (error) => {
|
|||
throw error;
|
||||
}
|
||||
}
|
||||
};
|
||||
const onListening = (server) => {
|
||||
}
|
||||
function onListening(server) {
|
||||
const addr = server.address();
|
||||
if (addr) {
|
||||
const bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port.toString();
|
||||
debug("Listening on " + bind);
|
||||
}
|
||||
};
|
||||
}
|
||||
const ntfyStartupConfig = configFunctions.getProperty("application.ntfyStartup");
|
||||
const httpPort = configFunctions.getProperty("application.httpPort");
|
||||
const httpServer = http.createServer(app);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ interface ServerError extends Error {
|
|||
code: string;
|
||||
}
|
||||
|
||||
const onError = (error: ServerError) => {
|
||||
function onError(error: ServerError) {
|
||||
if (error.syscall !== "listen") {
|
||||
throw error;
|
||||
}
|
||||
|
|
@ -45,16 +45,16 @@ const onError = (error: ServerError) => {
|
|||
throw error;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const onListening = (server: http.Server) => {
|
||||
function onListening(server: http.Server) {
|
||||
const addr = server.address();
|
||||
|
||||
if (addr) {
|
||||
const bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port.toString();
|
||||
debug("Listening on " + bind);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* Initialize HTTP
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import * as recordTypes from "../types/recordTypes";
|
||||
export declare const regenerateApiKey: (userName: string) => Promise<void>;
|
||||
export declare const getApiKey: (userName: string) => Promise<string>;
|
||||
export declare const getApiKeyFromSession: (session: recordTypes.PartialSession) => Promise<string>;
|
||||
export declare const getUserNameFromApiKey: (apiKey: string) => Promise<string>;
|
||||
export declare function regenerateApiKey(userName: string): Promise<void>;
|
||||
export declare function getApiKey(userName: string): Promise<string>;
|
||||
export declare function getApiKeyFromSession(session: recordTypes.PartialSession): Promise<string>;
|
||||
export declare function getUserNameFromApiKey(apiKey: string): Promise<string>;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import Debug from "debug";
|
|||
const debug = Debug("lot-occupancy-system:functions.api");
|
||||
const apiKeyPath = "data/apiKeys.json";
|
||||
let apiKeys;
|
||||
const loadApiKeys = async () => {
|
||||
async function loadApiKeys() {
|
||||
try {
|
||||
const fileData = await fs.readFile(apiKeyPath, "utf8");
|
||||
apiKeys = JSON.parse(fileData);
|
||||
|
|
@ -13,23 +13,23 @@ const loadApiKeys = async () => {
|
|||
debug(error);
|
||||
apiKeys = {};
|
||||
}
|
||||
};
|
||||
const saveApiKeys = async () => {
|
||||
}
|
||||
async function saveApiKeys() {
|
||||
try {
|
||||
await fs.writeFile(apiKeyPath, JSON.stringify(apiKeys), "utf8");
|
||||
}
|
||||
catch (error) {
|
||||
debug(error);
|
||||
}
|
||||
};
|
||||
const generateApiKey = (apiKeyPrefix) => {
|
||||
}
|
||||
function generateApiKey(apiKeyPrefix) {
|
||||
return apiKeyPrefix + "-" + uuidv4() + "-" + Date.now();
|
||||
};
|
||||
export const regenerateApiKey = async (userName) => {
|
||||
}
|
||||
export async function regenerateApiKey(userName) {
|
||||
apiKeys[userName] = generateApiKey(userName);
|
||||
await saveApiKeys();
|
||||
};
|
||||
export const getApiKey = async (userName) => {
|
||||
}
|
||||
export async function getApiKey(userName) {
|
||||
if (!apiKeys) {
|
||||
await loadApiKeys();
|
||||
}
|
||||
|
|
@ -37,11 +37,11 @@ export const getApiKey = async (userName) => {
|
|||
await regenerateApiKey(userName);
|
||||
}
|
||||
return apiKeys[userName];
|
||||
};
|
||||
export const getApiKeyFromSession = async (session) => {
|
||||
}
|
||||
export async function getApiKeyFromSession(session) {
|
||||
return await getApiKey(session.user.userName);
|
||||
};
|
||||
export const getUserNameFromApiKey = async (apiKey) => {
|
||||
}
|
||||
export async function getUserNameFromApiKey(apiKey) {
|
||||
if (!apiKeys) {
|
||||
await loadApiKeys();
|
||||
}
|
||||
|
|
@ -50,4 +50,4 @@ export const getUserNameFromApiKey = async (apiKey) => {
|
|||
return userName;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ const debug = Debug("lot-occupancy-system:functions.api");
|
|||
const apiKeyPath = "data/apiKeys.json";
|
||||
let apiKeys: { [userName: string]: string };
|
||||
|
||||
const loadApiKeys = async () => {
|
||||
async function loadApiKeys() {
|
||||
try {
|
||||
const fileData = await fs.readFile(apiKeyPath, "utf8");
|
||||
apiKeys = JSON.parse(fileData);
|
||||
|
|
@ -18,26 +18,26 @@ const loadApiKeys = async () => {
|
|||
debug(error);
|
||||
apiKeys = {};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const saveApiKeys = async () => {
|
||||
async function saveApiKeys() {
|
||||
try {
|
||||
await fs.writeFile(apiKeyPath, JSON.stringify(apiKeys), "utf8");
|
||||
} catch (error) {
|
||||
debug(error);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const generateApiKey = (apiKeyPrefix: string) => {
|
||||
function generateApiKey(apiKeyPrefix: string) {
|
||||
return apiKeyPrefix + "-" + uuidv4() + "-" + Date.now();
|
||||
};
|
||||
}
|
||||
|
||||
export const regenerateApiKey = async (userName: string) => {
|
||||
export async function regenerateApiKey(userName: string) {
|
||||
apiKeys[userName] = generateApiKey(userName);
|
||||
await saveApiKeys();
|
||||
};
|
||||
}
|
||||
|
||||
export const getApiKey = async (userName: string) => {
|
||||
export async function getApiKey(userName: string) {
|
||||
if (!apiKeys) {
|
||||
await loadApiKeys();
|
||||
}
|
||||
|
|
@ -47,13 +47,13 @@ export const getApiKey = async (userName: string) => {
|
|||
}
|
||||
|
||||
return apiKeys[userName];
|
||||
};
|
||||
}
|
||||
|
||||
export const getApiKeyFromSession = async (session: recordTypes.PartialSession) => {
|
||||
export async function getApiKeyFromSession(session: recordTypes.PartialSession) {
|
||||
return await getApiKey(session.user.userName);
|
||||
};
|
||||
}
|
||||
|
||||
export const getUserNameFromApiKey = async (apiKey: string) => {
|
||||
export async function getUserNameFromApiKey(apiKey: string) {
|
||||
if (!apiKeys) {
|
||||
await loadApiKeys();
|
||||
}
|
||||
|
|
@ -63,4 +63,4 @@ export const getUserNameFromApiKey = async (apiKey: string) => {
|
|||
return userName;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
export declare const authenticate: (userName: string, password: string) => Promise<boolean>;
|
||||
export declare const getSafeRedirectURL: (possibleRedirectURL?: string) => string;
|
||||
export declare function authenticate(userName: string, password: string): Promise<boolean>;
|
||||
export declare function getSafeRedirectURL(possibleRedirectURL?: string): string;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import * as configFunctions from "./functions.config.js";
|
|||
import ActiveDirectory from "activedirectory2";
|
||||
const userDomain = configFunctions.getProperty("application.userDomain");
|
||||
const activeDirectoryConfig = configFunctions.getProperty("activeDirectory");
|
||||
const authenticateViaActiveDirectory = async (userName, password) => {
|
||||
async function authenticateViaActiveDirectory(userName, password) {
|
||||
return new Promise((resolve) => {
|
||||
try {
|
||||
const ad = new ActiveDirectory(activeDirectoryConfig);
|
||||
|
|
@ -17,13 +17,13 @@ const authenticateViaActiveDirectory = async (userName, password) => {
|
|||
resolve(false);
|
||||
}
|
||||
});
|
||||
};
|
||||
export const authenticate = async (userName, password) => {
|
||||
}
|
||||
export async function authenticate(userName, password) {
|
||||
if (!userName || userName === "" || !password || password === "") {
|
||||
return false;
|
||||
}
|
||||
return await authenticateViaActiveDirectory(userName, password);
|
||||
};
|
||||
}
|
||||
const safeRedirects = new Set([
|
||||
"/admin/cleanup",
|
||||
"/admin/fees",
|
||||
|
|
@ -42,7 +42,7 @@ const safeRedirects = new Set([
|
|||
"/workorders/outlook",
|
||||
"/reports"
|
||||
]);
|
||||
export const getSafeRedirectURL = (possibleRedirectURL = "") => {
|
||||
export function getSafeRedirectURL(possibleRedirectURL = "") {
|
||||
const urlPrefix = configFunctions.getProperty("reverseProxy.urlPrefix");
|
||||
if (typeof possibleRedirectURL === "string") {
|
||||
const urlToCheck = possibleRedirectURL.startsWith(urlPrefix)
|
||||
|
|
@ -59,4 +59,4 @@ export const getSafeRedirectURL = (possibleRedirectURL = "") => {
|
|||
}
|
||||
}
|
||||
return urlPrefix + "/dashboard";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ const userDomain = configFunctions.getProperty("application.userDomain");
|
|||
|
||||
const activeDirectoryConfig = configFunctions.getProperty("activeDirectory");
|
||||
|
||||
const authenticateViaActiveDirectory = async (
|
||||
async function authenticateViaActiveDirectory(
|
||||
userName: string,
|
||||
password: string
|
||||
): Promise<boolean> => {
|
||||
): Promise<boolean> {
|
||||
return new Promise((resolve) => {
|
||||
try {
|
||||
const ad = new ActiveDirectory(activeDirectoryConfig);
|
||||
|
|
@ -25,15 +25,15 @@ const authenticateViaActiveDirectory = async (
|
|||
resolve(false);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
export const authenticate = async (userName: string, password: string): Promise<boolean> => {
|
||||
export async function authenticate(userName: string, password: string): Promise<boolean> {
|
||||
if (!userName || userName === "" || !password || password === "") {
|
||||
return false;
|
||||
}
|
||||
|
||||
return await authenticateViaActiveDirectory(userName, password);
|
||||
};
|
||||
}
|
||||
|
||||
const safeRedirects = new Set([
|
||||
"/admin/cleanup",
|
||||
|
|
@ -54,7 +54,7 @@ const safeRedirects = new Set([
|
|||
"/reports"
|
||||
]);
|
||||
|
||||
export const getSafeRedirectURL = (possibleRedirectURL = "") => {
|
||||
export function getSafeRedirectURL(possibleRedirectURL = "") {
|
||||
const urlPrefix = configFunctions.getProperty("reverseProxy.urlPrefix");
|
||||
|
||||
if (typeof possibleRedirectURL === "string") {
|
||||
|
|
@ -77,4 +77,4 @@ export const getSafeRedirectURL = (possibleRedirectURL = "") => {
|
|||
}
|
||||
|
||||
return urlPrefix + "/dashboard";
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -164,7 +164,6 @@ export function getOccupancyTypeByOccupancyType(occupancyTypeString: string) {
|
|||
}
|
||||
|
||||
export function getOccupancyTypePrintsById(occupancyTypeId: number): string[] {
|
||||
|
||||
const occupancyType = getOccupancyTypeById(occupancyTypeId);
|
||||
|
||||
if (!occupancyType || occupancyType.occupancyTypePrints.length === 0) {
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import * as recordTypes from "../types/recordTypes";
|
||||
export declare const calculateFeeAmount: (fee: recordTypes.Fee, lotOccupancy: recordTypes.LotOccupancy) => number;
|
||||
export declare const calculateTaxAmount: (fee: recordTypes.Fee, feeAmount: number) => number;
|
||||
export declare function calculateTaxAmount(fee: recordTypes.Fee, feeAmount: number): number;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
export const calculateFeeAmount = (fee, lotOccupancy) => {
|
||||
return fee.feeFunction ? 0 : fee.feeAmount || 0;
|
||||
};
|
||||
export const calculateTaxAmount = (fee, feeAmount) => {
|
||||
return fee.taxPercentage
|
||||
? feeAmount * (fee.taxPercentage / 100)
|
||||
: fee.taxAmount || 0;
|
||||
};
|
||||
export function calculateTaxAmount(fee, feeAmount) {
|
||||
return fee.taxPercentage ? feeAmount * (fee.taxPercentage / 100) : fee.taxAmount || 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@ export const calculateFeeAmount = (
|
|||
return fee.feeFunction ? 0 : fee.feeAmount || 0;
|
||||
};
|
||||
|
||||
export const calculateTaxAmount = (fee: recordTypes.Fee, feeAmount: number) => {
|
||||
return fee.taxPercentage
|
||||
? feeAmount * (fee.taxPercentage / 100)
|
||||
: fee.taxAmount || 0;
|
||||
};
|
||||
export function calculateTaxAmount(fee: recordTypes.Fee, feeAmount: number) {
|
||||
return fee.taxPercentage ? feeAmount * (fee.taxPercentage / 100) : fee.taxAmount || 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
export declare const getSolidIconClasses: () => Promise<string[]>;
|
||||
export declare function getSolidIconClasses(): Promise<string[]>;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import faIcons from "font-awesome-v5-icons";
|
||||
let solidIcons = [];
|
||||
export const getSolidIconClasses = async () => {
|
||||
export async function getSolidIconClasses() {
|
||||
if (solidIcons.length === 0) {
|
||||
const allIcons = await faIcons.getListByKeys(["name", "styles"]);
|
||||
const list = [];
|
||||
|
|
@ -12,4 +12,4 @@ export const getSolidIconClasses = async () => {
|
|||
solidIcons = list;
|
||||
}
|
||||
return solidIcons;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import faIcons from "font-awesome-v5-icons";
|
|||
|
||||
let solidIcons: string[] = [];
|
||||
|
||||
export const getSolidIconClasses = async () => {
|
||||
export async function getSolidIconClasses() {
|
||||
if (solidIcons.length === 0) {
|
||||
const allIcons = await faIcons.getListByKeys(["name", "styles"]);
|
||||
|
||||
|
|
@ -18,4 +18,4 @@ export const getSolidIconClasses = async () => {
|
|||
}
|
||||
|
||||
return solidIcons;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type * as recordTypes from "../types/recordTypes";
|
||||
export declare const filterOccupantsByLotOccupantType: (lotOccupancy: recordTypes.LotOccupancy, lotOccupantType: string) => recordTypes.LotOccupancyOccupant[];
|
||||
export declare const getFieldValueByOccupancyTypeField: (lotOccupancy: recordTypes.LotOccupancy, occupancyTypeField: string) => string | undefined;
|
||||
export declare const getFeesByFeeCategory: (lotOccupancy: recordTypes.LotOccupancy, feeCategory: string, feeCategoryContains?: boolean) => recordTypes.LotOccupancyFee[];
|
||||
export declare const getTransactionTotal: (lotOccupancy: recordTypes.LotOccupancy) => number;
|
||||
export declare function filterOccupantsByLotOccupantType(lotOccupancy: recordTypes.LotOccupancy, lotOccupantType: string): recordTypes.LotOccupancyOccupant[];
|
||||
export declare function getFieldValueByOccupancyTypeField(lotOccupancy: recordTypes.LotOccupancy, occupancyTypeField: string): string | undefined;
|
||||
export declare function getFeesByFeeCategory(lotOccupancy: recordTypes.LotOccupancy, feeCategory: string, feeCategoryContains?: boolean): recordTypes.LotOccupancyFee[];
|
||||
export declare function getTransactionTotal(lotOccupancy: recordTypes.LotOccupancy): number;
|
||||
|
|
|
|||
|
|
@ -1,21 +1,22 @@
|
|||
export const filterOccupantsByLotOccupantType = (lotOccupancy, lotOccupantType) => {
|
||||
export function filterOccupantsByLotOccupantType(lotOccupancy, lotOccupantType) {
|
||||
const lotOccupantTypeLowerCase = lotOccupantType.toLowerCase();
|
||||
const occupants = (lotOccupancy.lotOccupancyOccupants || []).filter((possibleOccupant) => {
|
||||
return (possibleOccupant.lotOccupantType.toLowerCase() === lotOccupantTypeLowerCase);
|
||||
});
|
||||
return occupants;
|
||||
};
|
||||
export const getFieldValueByOccupancyTypeField = (lotOccupancy, occupancyTypeField) => {
|
||||
}
|
||||
export function getFieldValueByOccupancyTypeField(lotOccupancy, occupancyTypeField) {
|
||||
const occupancyTypeFieldLowerCase = occupancyTypeField.toLowerCase();
|
||||
const field = (lotOccupancy.lotOccupancyFields || []).find((possibleField) => {
|
||||
return possibleField.occupancyTypeField.toLowerCase() === occupancyTypeFieldLowerCase;
|
||||
return (possibleField.occupancyTypeField.toLowerCase() ===
|
||||
occupancyTypeFieldLowerCase);
|
||||
});
|
||||
if (field) {
|
||||
return field.lotOccupancyFieldValue;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
export const getFeesByFeeCategory = (lotOccupancy, feeCategory, feeCategoryContains = false) => {
|
||||
}
|
||||
export function getFeesByFeeCategory(lotOccupancy, feeCategory, feeCategoryContains = false) {
|
||||
const feeCategoryLowerCase = feeCategory.toLowerCase();
|
||||
const fees = (lotOccupancy.lotOccupancyFees || []).filter((possibleFee) => {
|
||||
return feeCategoryContains
|
||||
|
|
@ -23,11 +24,11 @@ export const getFeesByFeeCategory = (lotOccupancy, feeCategory, feeCategoryConta
|
|||
: possibleFee.feeCategory.toLowerCase() === feeCategoryLowerCase;
|
||||
});
|
||||
return fees;
|
||||
};
|
||||
export const getTransactionTotal = (lotOccupancy) => {
|
||||
}
|
||||
export function getTransactionTotal(lotOccupancy) {
|
||||
let transactionTotal = 0;
|
||||
for (const transaction of (lotOccupancy.lotOccupancyTransactions || [])) {
|
||||
for (const transaction of lotOccupancy.lotOccupancyTransactions || []) {
|
||||
transactionTotal += transaction.transactionAmount;
|
||||
}
|
||||
return transactionTotal;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import type * as recordTypes from "../types/recordTypes";
|
||||
|
||||
export const filterOccupantsByLotOccupantType = (
|
||||
export function filterOccupantsByLotOccupantType(
|
||||
lotOccupancy: recordTypes.LotOccupancy,
|
||||
lotOccupantType: string
|
||||
): recordTypes.LotOccupancyOccupant[] => {
|
||||
): recordTypes.LotOccupancyOccupant[] {
|
||||
const lotOccupantTypeLowerCase = lotOccupantType.toLowerCase();
|
||||
|
||||
const occupants = (lotOccupancy.lotOccupancyOccupants || []).filter((possibleOccupant) => {
|
||||
|
|
@ -13,16 +13,19 @@ export const filterOccupantsByLotOccupantType = (
|
|||
});
|
||||
|
||||
return occupants;
|
||||
};
|
||||
}
|
||||
|
||||
export const getFieldValueByOccupancyTypeField = (
|
||||
export function getFieldValueByOccupancyTypeField(
|
||||
lotOccupancy: recordTypes.LotOccupancy,
|
||||
occupancyTypeField: string
|
||||
): string | undefined => {
|
||||
): string | undefined {
|
||||
const occupancyTypeFieldLowerCase = occupancyTypeField.toLowerCase();
|
||||
|
||||
const field = (lotOccupancy.lotOccupancyFields || []).find((possibleField) => {
|
||||
return (possibleField.occupancyTypeField as string).toLowerCase() === occupancyTypeFieldLowerCase;
|
||||
return (
|
||||
(possibleField.occupancyTypeField as string).toLowerCase() ===
|
||||
occupancyTypeFieldLowerCase
|
||||
);
|
||||
});
|
||||
|
||||
if (field) {
|
||||
|
|
@ -30,13 +33,13 @@ export const getFieldValueByOccupancyTypeField = (
|
|||
}
|
||||
|
||||
return undefined;
|
||||
};
|
||||
}
|
||||
|
||||
export const getFeesByFeeCategory = (
|
||||
export function getFeesByFeeCategory(
|
||||
lotOccupancy: recordTypes.LotOccupancy,
|
||||
feeCategory: string,
|
||||
feeCategoryContains = false
|
||||
) => {
|
||||
) {
|
||||
const feeCategoryLowerCase = feeCategory.toLowerCase();
|
||||
|
||||
const fees = (lotOccupancy.lotOccupancyFees || []).filter((possibleFee) => {
|
||||
|
|
@ -46,14 +49,14 @@ export const getFeesByFeeCategory = (
|
|||
});
|
||||
|
||||
return fees;
|
||||
};
|
||||
}
|
||||
|
||||
export const getTransactionTotal = (lotOccupancy: recordTypes.LotOccupancy) => {
|
||||
export function getTransactionTotal(lotOccupancy: recordTypes.LotOccupancy) {
|
||||
let transactionTotal = 0;
|
||||
|
||||
for (const transaction of (lotOccupancy.lotOccupancyTransactions || [])) {
|
||||
for (const transaction of lotOccupancy.lotOccupancyTransactions || []) {
|
||||
transactionTotal += transaction.transactionAmount;
|
||||
}
|
||||
|
||||
return transactionTotal;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import fs from "node:fs/promises";
|
|||
|
||||
let mapSVGs: string[];
|
||||
|
||||
export async function getMapSVGs() {
|
||||
export async function getMapSVGs(): Promise<string[]> {
|
||||
if (!mapSVGs) {
|
||||
const files = await fs.readdir("./public/images/maps/");
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@ interface PrintConfig {
|
|||
title: string;
|
||||
params: string[];
|
||||
}
|
||||
export declare const getScreenPrintConfig: (printName: string) => PrintConfig;
|
||||
export declare const getPdfPrintConfig: (printName: string) => PrintConfig;
|
||||
export declare const getPrintConfig: (screenOrPdf_printName: string) => PrintConfig | undefined;
|
||||
export declare const getReportData: (printConfig: PrintConfig, requestQuery: {
|
||||
export declare function getScreenPrintConfig(printName: string): PrintConfig;
|
||||
export declare function getPdfPrintConfig(printName: string): PrintConfig;
|
||||
export declare function getPrintConfig(screenOrPdf_printName: string): PrintConfig | undefined;
|
||||
export declare function getReportData(printConfig: PrintConfig, requestQuery: {
|
||||
[paramName: string]: unknown;
|
||||
}) => {
|
||||
}): {
|
||||
[dataName: string]: unknown;
|
||||
};
|
||||
export {};
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ const screenPrintConfigs = {
|
|||
params: ["lotOccupancyId"]
|
||||
}
|
||||
};
|
||||
export const getScreenPrintConfig = (printName) => {
|
||||
export function getScreenPrintConfig(printName) {
|
||||
return screenPrintConfigs[printName];
|
||||
};
|
||||
}
|
||||
const pdfPrintConfigs = {
|
||||
workOrder: {
|
||||
title: "Work Order Field Sheet",
|
||||
|
|
@ -32,10 +32,10 @@ const pdfPrintConfigs = {
|
|||
params: ["lotOccupancyId"]
|
||||
}
|
||||
};
|
||||
export const getPdfPrintConfig = (printName) => {
|
||||
export function getPdfPrintConfig(printName) {
|
||||
return pdfPrintConfigs[printName];
|
||||
};
|
||||
export const getPrintConfig = (screenOrPdf_printName) => {
|
||||
}
|
||||
export function getPrintConfig(screenOrPdf_printName) {
|
||||
const printNameSplit = screenOrPdf_printName.split("/");
|
||||
switch (printNameSplit[0]) {
|
||||
case "screen": {
|
||||
|
|
@ -46,8 +46,8 @@ export const getPrintConfig = (screenOrPdf_printName) => {
|
|||
}
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
export const getReportData = (printConfig, requestQuery) => {
|
||||
}
|
||||
export function getReportData(printConfig, requestQuery) {
|
||||
const reportData = {
|
||||
headTitle: printConfig.title
|
||||
};
|
||||
|
|
@ -68,4 +68,4 @@ export const getReportData = (printConfig, requestQuery) => {
|
|||
});
|
||||
}
|
||||
return reportData;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,9 +20,9 @@ const screenPrintConfigs: { [printName: string]: PrintConfig } = {
|
|||
}
|
||||
};
|
||||
|
||||
export const getScreenPrintConfig = (printName: string): PrintConfig => {
|
||||
export function getScreenPrintConfig(printName: string): PrintConfig {
|
||||
return screenPrintConfigs[printName];
|
||||
};
|
||||
}
|
||||
|
||||
const pdfPrintConfigs: { [printName: string]: PrintConfig } = {
|
||||
workOrder: {
|
||||
|
|
@ -45,11 +45,11 @@ const pdfPrintConfigs: { [printName: string]: PrintConfig } = {
|
|||
}
|
||||
};
|
||||
|
||||
export const getPdfPrintConfig = (printName: string): PrintConfig => {
|
||||
export function getPdfPrintConfig(printName: string): PrintConfig {
|
||||
return pdfPrintConfigs[printName];
|
||||
};
|
||||
}
|
||||
|
||||
export const getPrintConfig = (screenOrPdf_printName: string): PrintConfig | undefined => {
|
||||
export function getPrintConfig(screenOrPdf_printName: string): PrintConfig | undefined {
|
||||
const printNameSplit = screenOrPdf_printName.split("/");
|
||||
|
||||
switch (printNameSplit[0]) {
|
||||
|
|
@ -62,12 +62,12 @@ export const getPrintConfig = (screenOrPdf_printName: string): PrintConfig | und
|
|||
}
|
||||
|
||||
return undefined;
|
||||
};
|
||||
}
|
||||
|
||||
export const getReportData = (
|
||||
export function getReportData(
|
||||
printConfig: PrintConfig,
|
||||
requestQuery: { [paramName: string]: unknown }
|
||||
) => {
|
||||
) {
|
||||
const reportData: { [dataName: string]: unknown } = {
|
||||
headTitle: printConfig.title
|
||||
};
|
||||
|
|
@ -97,4 +97,4 @@ export const getReportData = (
|
|||
}
|
||||
|
||||
return reportData;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
declare type LotNameSearchType = "startsWith" | "endsWith" | "";
|
||||
export declare const getLotNameWhereClause: (lotName: string, lotNameSearchType: LotNameSearchType, lotsTableAlias?: string) => {
|
||||
export declare function getLotNameWhereClause(lotName: string, lotNameSearchType: LotNameSearchType, lotsTableAlias?: string): {
|
||||
sqlWhereClause: string;
|
||||
sqlParameters: any[];
|
||||
};
|
||||
declare type OccupancyTime = "" | "current" | "past" | "future";
|
||||
export declare const getOccupancyTimeWhereClause: (occupancyTime: OccupancyTime, lotOccupanciesTableAlias?: string) => {
|
||||
export declare function getOccupancyTimeWhereClause(occupancyTime: OccupancyTime, lotOccupanciesTableAlias?: string): {
|
||||
sqlWhereClause: string;
|
||||
sqlParameters: any[];
|
||||
};
|
||||
export declare const getOccupantNameWhereClause: (occupantName: string, tableAlias?: string) => {
|
||||
export declare function getOccupantNameWhereClause(occupantName: string, tableAlias?: string): {
|
||||
sqlWhereClause: string;
|
||||
sqlParameters: any[];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const getLotNameWhereClause = (lotName, lotNameSearchType, lotsTableAlias = "l") => {
|
||||
export function getLotNameWhereClause(lotName, lotNameSearchType, lotsTableAlias = "l") {
|
||||
let sqlWhereClause = "";
|
||||
const sqlParameters = [];
|
||||
if (lotName) {
|
||||
|
|
@ -27,8 +27,8 @@ export const getLotNameWhereClause = (lotName, lotNameSearchType, lotsTableAlias
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
export const getOccupancyTimeWhereClause = (occupancyTime, lotOccupanciesTableAlias = "o") => {
|
||||
}
|
||||
export function getOccupancyTimeWhereClause(occupancyTime, lotOccupanciesTableAlias = "o") {
|
||||
let sqlWhereClause = "";
|
||||
const sqlParameters = [];
|
||||
if (occupancyTime) {
|
||||
|
|
@ -62,8 +62,8 @@ export const getOccupancyTimeWhereClause = (occupancyTime, lotOccupanciesTableAl
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
export const getOccupantNameWhereClause = (occupantName, tableAlias = "o") => {
|
||||
}
|
||||
export function getOccupantNameWhereClause(occupantName, tableAlias = "o") {
|
||||
let sqlWhereClause = "";
|
||||
const sqlParameters = [];
|
||||
if (occupantName) {
|
||||
|
|
@ -77,4 +77,4 @@ export const getOccupantNameWhereClause = (occupantName, tableAlias = "o") => {
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ import { dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|||
|
||||
type LotNameSearchType = "startsWith" | "endsWith" | "";
|
||||
|
||||
export const getLotNameWhereClause = (
|
||||
export function getLotNameWhereClause(
|
||||
lotName: string,
|
||||
lotNameSearchType: LotNameSearchType,
|
||||
lotsTableAlias = "l"
|
||||
) => {
|
||||
) {
|
||||
let sqlWhereClause = "";
|
||||
const sqlParameters = [];
|
||||
|
||||
|
|
@ -36,14 +36,14 @@ export const getLotNameWhereClause = (
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
type OccupancyTime = "" | "current" | "past" | "future";
|
||||
|
||||
export const getOccupancyTimeWhereClause = (
|
||||
export function getOccupancyTimeWhereClause(
|
||||
occupancyTime: OccupancyTime,
|
||||
lotOccupanciesTableAlias = "o"
|
||||
) => {
|
||||
) {
|
||||
let sqlWhereClause = "";
|
||||
const sqlParameters = [];
|
||||
|
||||
|
|
@ -82,9 +82,9 @@ export const getOccupancyTimeWhereClause = (
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export const getOccupantNameWhereClause = (occupantName: string, tableAlias = "o") => {
|
||||
export function getOccupantNameWhereClause(occupantName: string, tableAlias = "o") {
|
||||
let sqlWhereClause = "";
|
||||
const sqlParameters = [];
|
||||
|
||||
|
|
@ -100,4 +100,4 @@ export const getOccupantNameWhereClause = (occupantName: string, tableAlias = "o
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,6 @@ export interface APIRequest {
|
|||
apiKey?: string;
|
||||
};
|
||||
}
|
||||
export declare const userIsAdmin: (request: UserRequest) => boolean;
|
||||
export declare const userCanUpdate: (request: UserRequest) => boolean;
|
||||
export declare const apiKeyIsValid: (request: APIRequest) => Promise<boolean>;
|
||||
export declare function userIsAdmin(request: UserRequest): boolean;
|
||||
export declare function userCanUpdate(request: UserRequest): boolean;
|
||||
export declare function apiKeyIsValid(request: APIRequest): Promise<boolean>;
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
import { getUserNameFromApiKey } from "./functions.api.js";
|
||||
import * as configFunctions from "./functions.config.js";
|
||||
export const userIsAdmin = (request) => {
|
||||
export function userIsAdmin(request) {
|
||||
var _a;
|
||||
const user = (_a = request.session) === null || _a === void 0 ? void 0 : _a.user;
|
||||
if (!user || !user.userProperties) {
|
||||
return false;
|
||||
}
|
||||
return user.userProperties.isAdmin;
|
||||
};
|
||||
export const userCanUpdate = (request) => {
|
||||
}
|
||||
export function userCanUpdate(request) {
|
||||
var _a;
|
||||
const user = (_a = request.session) === null || _a === void 0 ? void 0 : _a.user;
|
||||
if (!user || !user.userProperties) {
|
||||
return false;
|
||||
}
|
||||
return user.userProperties.canUpdate;
|
||||
};
|
||||
export const apiKeyIsValid = async (request) => {
|
||||
}
|
||||
export async function apiKeyIsValid(request) {
|
||||
var _a;
|
||||
const apiKey = (_a = request.params) === null || _a === void 0 ? void 0 : _a.apiKey;
|
||||
if (!apiKey) {
|
||||
|
|
@ -26,10 +26,8 @@ export const apiKeyIsValid = async (request) => {
|
|||
if (!userName) {
|
||||
return false;
|
||||
}
|
||||
const canLogin = configFunctions
|
||||
.getProperty("users.canLogin")
|
||||
.some((currentUserName) => {
|
||||
const canLogin = configFunctions.getProperty("users.canLogin").some((currentUserName) => {
|
||||
return userName === currentUserName.toLowerCase();
|
||||
});
|
||||
return canLogin;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,16 +6,16 @@ import type { User } from "../types/recordTypes";
|
|||
export interface UserRequest {
|
||||
session?: {
|
||||
user?: User;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export interface APIRequest {
|
||||
params?: {
|
||||
apiKey?: string;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export const userIsAdmin = (request: UserRequest): boolean => {
|
||||
export function userIsAdmin(request: UserRequest): boolean {
|
||||
const user = request.session?.user;
|
||||
|
||||
if (!user || !user.userProperties) {
|
||||
|
|
@ -23,9 +23,9 @@ export const userIsAdmin = (request: UserRequest): boolean => {
|
|||
}
|
||||
|
||||
return user.userProperties.isAdmin;
|
||||
};
|
||||
}
|
||||
|
||||
export const userCanUpdate = (request: UserRequest): boolean => {
|
||||
export function userCanUpdate(request: UserRequest): boolean {
|
||||
const user = request.session?.user;
|
||||
|
||||
if (!user || !user.userProperties) {
|
||||
|
|
@ -33,9 +33,9 @@ export const userCanUpdate = (request: UserRequest): boolean => {
|
|||
}
|
||||
|
||||
return user.userProperties.canUpdate;
|
||||
};
|
||||
}
|
||||
|
||||
export const apiKeyIsValid = async (request: APIRequest): Promise<boolean> => {
|
||||
export async function apiKeyIsValid(request: APIRequest): Promise<boolean> {
|
||||
const apiKey = request.params?.apiKey;
|
||||
|
||||
if (!apiKey) {
|
||||
|
|
@ -48,11 +48,9 @@ export const apiKeyIsValid = async (request: APIRequest): Promise<boolean> => {
|
|||
return false;
|
||||
}
|
||||
|
||||
const canLogin = configFunctions
|
||||
.getProperty("users.canLogin")
|
||||
.some((currentUserName) => {
|
||||
const canLogin = configFunctions.getProperty("users.canLogin").some((currentUserName) => {
|
||||
return userName === currentUserName.toLowerCase();
|
||||
});
|
||||
|
||||
return canLogin;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ const session = {
|
|||
}
|
||||
}
|
||||
};
|
||||
const initializeCemeteryDatabase = () => {
|
||||
function initializeCemeteryDatabase() {
|
||||
debug("Checking for " + databasePath + "...");
|
||||
const databaseInitialized = initializeDatabase();
|
||||
if (!databaseInitialized) {
|
||||
|
|
@ -207,5 +207,5 @@ const initializeCemeteryDatabase = () => {
|
|||
feeCategory: "Additional Services",
|
||||
orderNumber: 5
|
||||
}, session);
|
||||
};
|
||||
}
|
||||
initializeCemeteryDatabase();
|
||||
|
|
|
|||
|
|
@ -30,11 +30,10 @@ const session: PartialSession = {
|
|||
}
|
||||
};
|
||||
|
||||
const initializeCemeteryDatabase = () => {
|
||||
function initializeCemeteryDatabase() {
|
||||
/*
|
||||
* Ensure database does not already exist
|
||||
*/
|
||||
|
||||
debug("Checking for " + databasePath + "...");
|
||||
|
||||
const databaseInitialized = initializeDatabase();
|
||||
|
|
@ -52,7 +51,6 @@ const initializeCemeteryDatabase = () => {
|
|||
/*
|
||||
* Lot Types
|
||||
*/
|
||||
|
||||
addLotType(
|
||||
{
|
||||
lotType: "Casket Grave",
|
||||
|
|
@ -104,7 +102,6 @@ const initializeCemeteryDatabase = () => {
|
|||
/*
|
||||
* Lot Statuses
|
||||
*/
|
||||
|
||||
addLotStatus(
|
||||
{
|
||||
lotStatus: "Available",
|
||||
|
|
@ -132,7 +129,6 @@ const initializeCemeteryDatabase = () => {
|
|||
/*
|
||||
* Lot Occupant Types
|
||||
*/
|
||||
|
||||
addLotOccupantType(
|
||||
{
|
||||
lotOccupantType: "Deceased",
|
||||
|
|
@ -168,7 +164,6 @@ const initializeCemeteryDatabase = () => {
|
|||
/*
|
||||
* Occupancy Types
|
||||
*/
|
||||
|
||||
addOccupancyType(
|
||||
{
|
||||
occupancyType: "Preneed",
|
||||
|
|
@ -194,7 +189,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Death Date
|
||||
|
||||
const deathDateField = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Death Date",
|
||||
|
|
@ -214,7 +208,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Death Age
|
||||
|
||||
const deathAgeField = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Death Age",
|
||||
|
|
@ -234,7 +227,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Death Age Period
|
||||
|
||||
const deathAgePeriod = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Death Age Period",
|
||||
|
|
@ -254,7 +246,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Death Place
|
||||
|
||||
const deathPlace = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Death Place",
|
||||
|
|
@ -274,7 +265,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Funeral Home
|
||||
|
||||
const funeralHome = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Funeral Home",
|
||||
|
|
@ -294,7 +284,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Funeral Date
|
||||
|
||||
const funeralDate = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Funeral Date",
|
||||
|
|
@ -314,7 +303,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Container Type
|
||||
|
||||
const containerType = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Container Type",
|
||||
|
|
@ -334,7 +322,6 @@ const initializeCemeteryDatabase = () => {
|
|||
);
|
||||
|
||||
// Committal Type
|
||||
|
||||
const committalType = {
|
||||
occupancyTypeId: intermentOccupancyTypeId,
|
||||
occupancyTypeField: "Committal Type",
|
||||
|
|
@ -356,7 +343,6 @@ const initializeCemeteryDatabase = () => {
|
|||
/*
|
||||
* Fee Categories
|
||||
*/
|
||||
|
||||
addFeeCategory(
|
||||
{
|
||||
feeCategory: "Interment Rights",
|
||||
|
|
@ -396,6 +382,6 @@ const initializeCemeteryDatabase = () => {
|
|||
},
|
||||
session
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
initializeCemeteryDatabase();
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
export declare const initializeDatabase: () => boolean;
|
||||
export declare function initializeDatabase(): boolean;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ import sqlite from "better-sqlite3";
|
|||
import { lotOccupancyDB as databasePath } from "../data/databasePaths.js";
|
||||
import debug from "debug";
|
||||
const debugSQL = debug("lot-occupancy-system:databaseInitializer");
|
||||
const recordColumns = " recordCreate_userName varchar(30) not null," +
|
||||
" recordCreate_timeMillis integer not null," +
|
||||
" recordUpdate_userName varchar(30) not null," +
|
||||
" recordUpdate_timeMillis integer not null," +
|
||||
" recordDelete_userName varchar(30)," +
|
||||
" recordDelete_timeMillis integer";
|
||||
export const initializeDatabase = () => {
|
||||
const recordColumns = ` recordCreate_userName varchar(30) not null,
|
||||
recordCreate_timeMillis integer not null,
|
||||
recordUpdate_userName varchar(30) not null,
|
||||
recordUpdate_timeMillis integer not null,
|
||||
recordDelete_userName varchar(30),
|
||||
recordDelete_timeMillis integer`;
|
||||
export function initializeDatabase() {
|
||||
const lotOccupancyDB = sqlite(databasePath);
|
||||
const row = lotOccupancyDB
|
||||
.prepare("select name from sqlite_master where type = 'table' and name = 'WorkOrderMilestones'")
|
||||
|
|
@ -402,4 +402,4 @@ export const initializeDatabase = () => {
|
|||
return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,14 @@ import { lotOccupancyDB as databasePath } from "../data/databasePaths.js";
|
|||
import debug from "debug";
|
||||
const debugSQL = debug("lot-occupancy-system:databaseInitializer");
|
||||
|
||||
const recordColumns =
|
||||
" recordCreate_userName varchar(30) not null," +
|
||||
" recordCreate_timeMillis integer not null," +
|
||||
" recordUpdate_userName varchar(30) not null," +
|
||||
" recordUpdate_timeMillis integer not null," +
|
||||
" recordDelete_userName varchar(30)," +
|
||||
" recordDelete_timeMillis integer";
|
||||
const recordColumns = ` recordCreate_userName varchar(30) not null,
|
||||
recordCreate_timeMillis integer not null,
|
||||
recordUpdate_userName varchar(30) not null,
|
||||
recordUpdate_timeMillis integer not null,
|
||||
recordDelete_userName varchar(30),
|
||||
recordDelete_timeMillis integer`;
|
||||
|
||||
export const initializeDatabase = (): boolean => {
|
||||
export function initializeDatabase(): boolean {
|
||||
const lotOccupancyDB = sqlite(databasePath);
|
||||
|
||||
const row = lotOccupancyDB
|
||||
|
|
@ -26,7 +25,6 @@ export const initializeDatabase = (): boolean => {
|
|||
debugSQL("Creating " + databasePath);
|
||||
|
||||
// Lot Types
|
||||
|
||||
lotOccupancyDB
|
||||
.prepare(
|
||||
"create table if not exists LotTypes (" +
|
||||
|
|
@ -90,7 +88,6 @@ export const initializeDatabase = (): boolean => {
|
|||
.run();
|
||||
|
||||
// Maps and Lots
|
||||
|
||||
lotOccupancyDB
|
||||
.prepare(
|
||||
"create table if not exists Maps (" +
|
||||
|
|
@ -169,7 +166,6 @@ export const initializeDatabase = (): boolean => {
|
|||
.run();
|
||||
|
||||
// Occupancies
|
||||
|
||||
lotOccupancyDB
|
||||
.prepare(
|
||||
"create table if not exists OccupancyTypes (" +
|
||||
|
|
@ -332,7 +328,6 @@ export const initializeDatabase = (): boolean => {
|
|||
.run();
|
||||
|
||||
// Occupancy Fees and Transactions
|
||||
|
||||
lotOccupancyDB
|
||||
.prepare(
|
||||
"create table if not exists FeeCategories (" +
|
||||
|
|
@ -420,7 +415,6 @@ export const initializeDatabase = (): boolean => {
|
|||
.run();
|
||||
|
||||
// Work Orders
|
||||
|
||||
lotOccupancyDB
|
||||
.prepare(
|
||||
"create table if not exists WorkOrderTypes (" +
|
||||
|
|
@ -541,4 +535,4 @@ export const initializeDatabase = (): boolean => {
|
|||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
export declare const getOccupancyTypePrints: (occupancyTypeId: number, connectedDatabase?: sqlite.Database) => string[];
|
||||
export declare function getOccupancyTypePrints(occupancyTypeId: number, connectedDatabase?: sqlite.Database): string[];
|
||||
export default getOccupancyTypePrints;
|
||||
|
|
|
|||
|
|
@ -8,16 +8,16 @@ const userFunction_configContainsPrintEJS = (printEJS) => {
|
|||
}
|
||||
return 0;
|
||||
};
|
||||
export const getOccupancyTypePrints = (occupancyTypeId, connectedDatabase) => {
|
||||
export function getOccupancyTypePrints(occupancyTypeId, connectedDatabase) {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
database.function("userFn_configContainsPrintEJS", userFunction_configContainsPrintEJS);
|
||||
const results = database
|
||||
.prepare("select printEJS, orderNumber" +
|
||||
" from OccupancyTypePrints" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and occupancyTypeId = ?" +
|
||||
" and userFn_configContainsPrintEJS(printEJS) = 1" +
|
||||
" order by orderNumber, printEJS")
|
||||
.prepare(`select printEJS, orderNumber
|
||||
from OccupancyTypePrints
|
||||
where recordDelete_timeMillis is null
|
||||
and occupancyTypeId = ?
|
||||
and userFn_configContainsPrintEJS(printEJS) = 1
|
||||
order by orderNumber, printEJS`)
|
||||
.all(occupancyTypeId);
|
||||
let expectedOrderNumber = -1;
|
||||
const prints = [];
|
||||
|
|
@ -25,10 +25,10 @@ export const getOccupancyTypePrints = (occupancyTypeId, connectedDatabase) => {
|
|||
expectedOrderNumber += 1;
|
||||
if (result.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare("update OccupancyTypePrints" +
|
||||
" set orderNumber = ?" +
|
||||
" where occupancyTypeId = ?" +
|
||||
" and printEJS = ?")
|
||||
.prepare(`update OccupancyTypePrints
|
||||
set orderNumber = ?
|
||||
where occupancyTypeId = ?
|
||||
and printEJS = ?`)
|
||||
.run(expectedOrderNumber, occupancyTypeId, result.printEJS);
|
||||
}
|
||||
prints.push(result.printEJS);
|
||||
|
|
@ -37,5 +37,5 @@ export const getOccupancyTypePrints = (occupancyTypeId, connectedDatabase) => {
|
|||
database.close();
|
||||
}
|
||||
return prints;
|
||||
};
|
||||
}
|
||||
export default getOccupancyTypePrints;
|
||||
|
|
|
|||
|
|
@ -13,22 +13,22 @@ const userFunction_configContainsPrintEJS = (printEJS: string): number => {
|
|||
return 0;
|
||||
};
|
||||
|
||||
export const getOccupancyTypePrints = (
|
||||
export function getOccupancyTypePrints(
|
||||
occupancyTypeId: number,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): string[] => {
|
||||
): string[] {
|
||||
const database = connectedDatabase || sqlite(databasePath);
|
||||
|
||||
database.function("userFn_configContainsPrintEJS", userFunction_configContainsPrintEJS);
|
||||
|
||||
const results: { printEJS: string; orderNumber: number }[] = database
|
||||
.prepare(
|
||||
"select printEJS, orderNumber" +
|
||||
" from OccupancyTypePrints" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and occupancyTypeId = ?" +
|
||||
" and userFn_configContainsPrintEJS(printEJS) = 1" +
|
||||
" order by orderNumber, printEJS"
|
||||
`select printEJS, orderNumber
|
||||
from OccupancyTypePrints
|
||||
where recordDelete_timeMillis is null
|
||||
and occupancyTypeId = ?
|
||||
and userFn_configContainsPrintEJS(printEJS) = 1
|
||||
order by orderNumber, printEJS`
|
||||
)
|
||||
.all(occupancyTypeId);
|
||||
|
||||
|
|
@ -42,10 +42,10 @@ export const getOccupancyTypePrints = (
|
|||
if (result.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update OccupancyTypePrints" +
|
||||
" set orderNumber = ?" +
|
||||
" where occupancyTypeId = ?" +
|
||||
" and printEJS = ?"
|
||||
`update OccupancyTypePrints
|
||||
set orderNumber = ?
|
||||
where occupancyTypeId = ?
|
||||
and printEJS = ?`
|
||||
)
|
||||
.run(expectedOrderNumber, occupancyTypeId, result.printEJS);
|
||||
}
|
||||
|
|
@ -58,6 +58,6 @@ export const getOccupancyTypePrints = (
|
|||
}
|
||||
|
||||
return prints;
|
||||
};
|
||||
}
|
||||
|
||||
export default getOccupancyTypePrints;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const getOccupancyTypes: () => recordTypes.OccupancyType[];
|
||||
export declare function getOccupancyTypes(): recordTypes.OccupancyType[];
|
||||
export default getOccupancyTypes;
|
||||
|
|
|
|||
|
|
@ -2,20 +2,20 @@ import sqlite from "better-sqlite3";
|
|||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getOccupancyTypeFields } from "./getOccupancyTypeFields.js";
|
||||
import { getOccupancyTypePrints } from "./getOccupancyTypePrints.js";
|
||||
export const getOccupancyTypes = () => {
|
||||
export function getOccupancyTypes() {
|
||||
const database = sqlite(databasePath);
|
||||
const occupancyTypes = database
|
||||
.prepare("select occupancyTypeId, occupancyType, orderNumber" +
|
||||
" from OccupancyTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, occupancyType")
|
||||
.prepare(`select occupancyTypeId, occupancyType, orderNumber
|
||||
from OccupancyTypes
|
||||
where recordDelete_timeMillis is null
|
||||
order by orderNumber, occupancyType`)
|
||||
.all();
|
||||
let expectedTypeOrderNumber = -1;
|
||||
for (const occupancyType of occupancyTypes) {
|
||||
expectedTypeOrderNumber += 1;
|
||||
if (occupancyType.orderNumber !== expectedTypeOrderNumber) {
|
||||
database
|
||||
.prepare("update OccupancyTypes" + " set orderNumber = ?" + " where occupancyTypeId = ?")
|
||||
.prepare("update OccupancyTypes set orderNumber = ? where occupancyTypeId = ?")
|
||||
.run(expectedTypeOrderNumber, occupancyType.occupancyTypeId);
|
||||
occupancyType.orderNumber = expectedTypeOrderNumber;
|
||||
}
|
||||
|
|
@ -26,9 +26,7 @@ export const getOccupancyTypes = () => {
|
|||
expectedFieldOrderNumber += 1;
|
||||
if (occupancyTypeField.orderNumber !== expectedFieldOrderNumber) {
|
||||
database
|
||||
.prepare("update OccupancyTypeFields" +
|
||||
" set orderNumber = ?" +
|
||||
" where occupancyTypeFieldId = ?")
|
||||
.prepare(`update OccupancyTypeFields set orderNumber = ? where occupancyTypeFieldId = ?`)
|
||||
.run(expectedFieldOrderNumber, occupancyTypeField.occupancyTypeFieldId);
|
||||
occupancyTypeField.orderNumber = expectedFieldOrderNumber;
|
||||
}
|
||||
|
|
@ -36,5 +34,5 @@ export const getOccupancyTypes = () => {
|
|||
}
|
||||
database.close();
|
||||
return occupancyTypes;
|
||||
};
|
||||
}
|
||||
export default getOccupancyTypes;
|
||||
|
|
|
|||
|
|
@ -7,15 +7,15 @@ import { getOccupancyTypePrints } from "./getOccupancyTypePrints.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const getOccupancyTypes = (): recordTypes.OccupancyType[] => {
|
||||
export function getOccupancyTypes(): recordTypes.OccupancyType[] {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const occupancyTypes: recordTypes.OccupancyType[] = database
|
||||
.prepare(
|
||||
"select occupancyTypeId, occupancyType, orderNumber" +
|
||||
" from OccupancyTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, occupancyType"
|
||||
`select occupancyTypeId, occupancyType, orderNumber
|
||||
from OccupancyTypes
|
||||
where recordDelete_timeMillis is null
|
||||
order by orderNumber, occupancyType`
|
||||
)
|
||||
.all();
|
||||
|
||||
|
|
@ -26,9 +26,7 @@ export const getOccupancyTypes = (): recordTypes.OccupancyType[] => {
|
|||
|
||||
if (occupancyType.orderNumber !== expectedTypeOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update OccupancyTypes" + " set orderNumber = ?" + " where occupancyTypeId = ?"
|
||||
)
|
||||
.prepare("update OccupancyTypes set orderNumber = ? where occupancyTypeId = ?")
|
||||
.run(expectedTypeOrderNumber, occupancyType.occupancyTypeId);
|
||||
|
||||
occupancyType.orderNumber = expectedTypeOrderNumber;
|
||||
|
|
@ -52,9 +50,7 @@ export const getOccupancyTypes = (): recordTypes.OccupancyType[] => {
|
|||
if (occupancyTypeField.orderNumber !== expectedFieldOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update OccupancyTypeFields" +
|
||||
" set orderNumber = ?" +
|
||||
" where occupancyTypeFieldId = ?"
|
||||
`update OccupancyTypeFields set orderNumber = ? where occupancyTypeFieldId = ?`
|
||||
)
|
||||
.run(expectedFieldOrderNumber, occupancyTypeField.occupancyTypeFieldId);
|
||||
|
||||
|
|
@ -66,6 +62,6 @@ export const getOccupancyTypes = (): recordTypes.OccupancyType[] => {
|
|||
database.close();
|
||||
|
||||
return occupancyTypes;
|
||||
};
|
||||
}
|
||||
|
||||
export default getOccupancyTypes;
|
||||
|
|
|
|||
|
|
@ -5,5 +5,5 @@ interface GetPastLotOccupancyOccupantsFilters {
|
|||
interface GetPastLotOccupancyOccupantsOptions {
|
||||
limit: number;
|
||||
}
|
||||
export declare const getPastLotOccupancyOccupants: (filters: GetPastLotOccupancyOccupantsFilters, options: GetPastLotOccupancyOccupantsOptions) => recordTypes.LotOccupancyOccupant[];
|
||||
export declare function getPastLotOccupancyOccupants(filters: GetPastLotOccupancyOccupantsFilters, options: GetPastLotOccupancyOccupantsOptions): recordTypes.LotOccupancyOccupant[];
|
||||
export default getPastLotOccupancyOccupants;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const getPastLotOccupancyOccupants = (filters, options) => {
|
||||
export function getPastLotOccupancyOccupants(filters, options) {
|
||||
const database = sqlite(databasePath, {
|
||||
readonly: true
|
||||
});
|
||||
|
|
@ -36,5 +36,5 @@ export const getPastLotOccupancyOccupants = (filters, options) => {
|
|||
.all(sqlParameters);
|
||||
database.close();
|
||||
return lotOccupancyOccupants;
|
||||
};
|
||||
}
|
||||
export default getPastLotOccupancyOccupants;
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@ interface GetPastLotOccupancyOccupantsOptions {
|
|||
limit: number;
|
||||
}
|
||||
|
||||
export const getPastLotOccupancyOccupants = (
|
||||
export function getPastLotOccupancyOccupants(
|
||||
filters: GetPastLotOccupancyOccupantsFilters,
|
||||
options: GetPastLotOccupancyOccupantsOptions
|
||||
): recordTypes.LotOccupancyOccupant[] => {
|
||||
): recordTypes.LotOccupancyOccupant[] {
|
||||
const database = sqlite(databasePath, {
|
||||
readonly: true
|
||||
});
|
||||
|
|
@ -67,6 +67,6 @@ export const getPastLotOccupancyOccupants = (
|
|||
database.close();
|
||||
|
||||
return lotOccupancyOccupants;
|
||||
};
|
||||
}
|
||||
|
||||
export default getPastLotOccupancyOccupants;
|
||||
|
|
|
|||
|
|
@ -1,2 +1,2 @@
|
|||
export declare const getPreviousLotId: (lotId: number | string) => number | undefined;
|
||||
export declare function getPreviousLotId(lotId: number | string): number | undefined;
|
||||
export default getPreviousLotId;
|
||||
|
|
|
|||
|
|
@ -1,22 +1,22 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import * as configFunctions from "../functions.config.js";
|
||||
export const getPreviousLotId = (lotId) => {
|
||||
export function getPreviousLotId(lotId) {
|
||||
const database = sqlite(databasePath, {
|
||||
readonly: true
|
||||
});
|
||||
database.function("userFn_lotNameSortName", configFunctions.getProperty("settings.lot.lotNameSortNameFunction"));
|
||||
const result = database
|
||||
.prepare("select lotId from Lots" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and userFn_lotNameSortName(lotName) < (select userFn_lotNameSortName(lotName) from Lots where lotId = ?)" +
|
||||
" order by userFn_lotNameSortName(lotName) desc" +
|
||||
" limit 1")
|
||||
.prepare(`select lotId from Lots
|
||||
where recordDelete_timeMillis is null
|
||||
and userFn_lotNameSortName(lotName) < (select userFn_lotNameSortName(lotName) from Lots where lotId = ?)
|
||||
order by userFn_lotNameSortName(lotName) desc
|
||||
limit 1`)
|
||||
.get(lotId);
|
||||
database.close();
|
||||
if (result) {
|
||||
return result.lotId;
|
||||
}
|
||||
return undefined;
|
||||
};
|
||||
}
|
||||
export default getPreviousLotId;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import * as configFunctions from "../functions.config.js";
|
||||
|
||||
export const getPreviousLotId = (lotId: number | string): number | undefined => {
|
||||
export function getPreviousLotId(lotId: number | string): number | undefined {
|
||||
const database = sqlite(databasePath, {
|
||||
readonly: true
|
||||
});
|
||||
|
|
@ -18,11 +18,11 @@ export const getPreviousLotId = (lotId: number | string): number | undefined =>
|
|||
lotId: number;
|
||||
} = database
|
||||
.prepare(
|
||||
"select lotId from Lots" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and userFn_lotNameSortName(lotName) < (select userFn_lotNameSortName(lotName) from Lots where lotId = ?)" +
|
||||
" order by userFn_lotNameSortName(lotName) desc" +
|
||||
" limit 1"
|
||||
`select lotId from Lots
|
||||
where recordDelete_timeMillis is null
|
||||
and userFn_lotNameSortName(lotName) < (select userFn_lotNameSortName(lotName) from Lots where lotId = ?)
|
||||
order by userFn_lotNameSortName(lotName) desc
|
||||
limit 1`
|
||||
)
|
||||
.get(lotId);
|
||||
|
||||
|
|
@ -33,6 +33,6 @@ export const getPreviousLotId = (lotId: number | string): number | undefined =>
|
|||
}
|
||||
|
||||
return undefined;
|
||||
};
|
||||
}
|
||||
|
||||
export default getPreviousLotId;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
export interface ReportParameters {
|
||||
[parameterName: string]: string | number;
|
||||
}
|
||||
export declare const getReportData: (reportName: string, reportParameters?: ReportParameters) => unknown[] | undefined;
|
||||
export declare function getReportData(reportName: string, reportParameters?: ReportParameters): unknown[] | undefined;
|
||||
export default getReportData;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ const lotOccupancyIdAlias = occupancyCamelCase + "Id";
|
|||
const occupancyTypeAlias = occupancyCamelCase + "Type";
|
||||
const occupancyStartDateAlias = occupancyCamelCase + "StartDate";
|
||||
const occupancyEndDateAlias = occupancyCamelCase + "EndDate";
|
||||
export const getReportData = (reportName, reportParameters) => {
|
||||
export function getReportData(reportName, reportParameters) {
|
||||
let sql;
|
||||
const sqlParameters = [];
|
||||
switch (reportName) {
|
||||
|
|
@ -276,5 +276,5 @@ export const getReportData = (reportName, reportParameters) => {
|
|||
const rows = database.prepare(sql).all(sqlParameters);
|
||||
database.close();
|
||||
return rows;
|
||||
};
|
||||
}
|
||||
export default getReportData;
|
||||
|
|
|
|||
|
|
@ -35,10 +35,10 @@ const occupancyTypeAlias = occupancyCamelCase + "Type";
|
|||
const occupancyStartDateAlias = occupancyCamelCase + "StartDate";
|
||||
const occupancyEndDateAlias = occupancyCamelCase + "EndDate";
|
||||
|
||||
export const getReportData = (
|
||||
export function getReportData(
|
||||
reportName: string,
|
||||
reportParameters?: ReportParameters
|
||||
): unknown[] | undefined => {
|
||||
): unknown[] | undefined {
|
||||
let sql: string;
|
||||
const sqlParameters: unknown[] = [];
|
||||
|
||||
|
|
@ -343,6 +343,6 @@ export const getReportData = (
|
|||
database.close();
|
||||
|
||||
return rows;
|
||||
};
|
||||
}
|
||||
|
||||
export default getReportData;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@ interface WorkOrderOptions {
|
|||
includeComments: boolean;
|
||||
includeMilestones: boolean;
|
||||
}
|
||||
export declare const getWorkOrderByWorkOrderNumber: (workOrderNumber: string) => recordTypes.WorkOrder;
|
||||
export declare const getWorkOrder: (workOrderId: number | string, options: WorkOrderOptions, connectedDatabase?: sqlite.Database) => recordTypes.WorkOrder;
|
||||
export declare function getWorkOrderByWorkOrderNumber(workOrderNumber: string): recordTypes.WorkOrder;
|
||||
export declare function getWorkOrder(workOrderId: number | string, options: WorkOrderOptions, connectedDatabase?: sqlite.Database): recordTypes.WorkOrder;
|
||||
export default getWorkOrder;
|
||||
|
|
|
|||
|
|
@ -5,16 +5,16 @@ import { getLots } from "./getLots.js";
|
|||
import { getLotOccupancies } from "./getLotOccupancies.js";
|
||||
import { getWorkOrderComments } from "./getWorkOrderComments.js";
|
||||
import { getWorkOrderMilestones } from "./getWorkOrderMilestones.js";
|
||||
const baseSQL = "select w.workOrderId," +
|
||||
" w.workOrderTypeId, t.workOrderType," +
|
||||
" w.workOrderNumber, w.workOrderDescription," +
|
||||
" w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString," +
|
||||
" w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString," +
|
||||
" w.recordCreate_timeMillis, w.recordUpdate_timeMillis" +
|
||||
" from WorkOrders w" +
|
||||
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
||||
" where w.recordDelete_timeMillis is null";
|
||||
const _getWorkOrder = (sql, workOrderId_or_workOrderNumber, options, connectedDatabase) => {
|
||||
const baseSQL = `select w.workOrderId,
|
||||
w.workOrderTypeId, t.workOrderType,
|
||||
w.workOrderNumber, w.workOrderDescription,
|
||||
w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString,
|
||||
w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString,
|
||||
w.recordCreate_timeMillis, w.recordUpdate_timeMillis
|
||||
from WorkOrders w
|
||||
left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId
|
||||
where w.recordDelete_timeMillis is null`;
|
||||
function _getWorkOrder(sql, workOrderId_or_workOrderNumber, options, connectedDatabase) {
|
||||
const database = connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
readonly: true
|
||||
|
|
@ -55,15 +55,15 @@ const _getWorkOrder = (sql, workOrderId_or_workOrderNumber, options, connectedDa
|
|||
database.close();
|
||||
}
|
||||
return workOrder;
|
||||
};
|
||||
export const getWorkOrderByWorkOrderNumber = (workOrderNumber) => {
|
||||
}
|
||||
export function getWorkOrderByWorkOrderNumber(workOrderNumber) {
|
||||
return _getWorkOrder(baseSQL + " and w.workOrderNumber = ?", workOrderNumber, {
|
||||
includeLotsAndLotOccupancies: true,
|
||||
includeComments: true,
|
||||
includeMilestones: true
|
||||
});
|
||||
};
|
||||
export const getWorkOrder = (workOrderId, options, connectedDatabase) => {
|
||||
}
|
||||
export function getWorkOrder(workOrderId, options, connectedDatabase) {
|
||||
return _getWorkOrder(baseSQL + " and w.workOrderId = ?", workOrderId, options, connectedDatabase);
|
||||
};
|
||||
}
|
||||
export default getWorkOrder;
|
||||
|
|
|
|||
|
|
@ -20,23 +20,22 @@ interface WorkOrderOptions {
|
|||
includeMilestones: boolean;
|
||||
}
|
||||
|
||||
const baseSQL =
|
||||
"select w.workOrderId," +
|
||||
" w.workOrderTypeId, t.workOrderType," +
|
||||
" w.workOrderNumber, w.workOrderDescription," +
|
||||
" w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString," +
|
||||
" w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString," +
|
||||
" w.recordCreate_timeMillis, w.recordUpdate_timeMillis" +
|
||||
" from WorkOrders w" +
|
||||
" left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId" +
|
||||
" where w.recordDelete_timeMillis is null";
|
||||
const baseSQL = `select w.workOrderId,
|
||||
w.workOrderTypeId, t.workOrderType,
|
||||
w.workOrderNumber, w.workOrderDescription,
|
||||
w.workOrderOpenDate, userFn_dateIntegerToString(w.workOrderOpenDate) as workOrderOpenDateString,
|
||||
w.workOrderCloseDate, userFn_dateIntegerToString(w.workOrderCloseDate) as workOrderCloseDateString,
|
||||
w.recordCreate_timeMillis, w.recordUpdate_timeMillis
|
||||
from WorkOrders w
|
||||
left join WorkOrderTypes t on w.workOrderTypeId = t.workOrderTypeId
|
||||
where w.recordDelete_timeMillis is null`;
|
||||
|
||||
const _getWorkOrder = (
|
||||
function _getWorkOrder(
|
||||
sql: string,
|
||||
workOrderId_or_workOrderNumber: number | string,
|
||||
options: WorkOrderOptions,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): recordTypes.WorkOrder => {
|
||||
): recordTypes.WorkOrder {
|
||||
const database =
|
||||
connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
|
|
@ -101,33 +100,27 @@ const _getWorkOrder = (
|
|||
}
|
||||
|
||||
return workOrder;
|
||||
};
|
||||
}
|
||||
|
||||
export const getWorkOrderByWorkOrderNumber = (
|
||||
workOrderNumber: string
|
||||
): recordTypes.WorkOrder => {
|
||||
return _getWorkOrder(
|
||||
baseSQL + " and w.workOrderNumber = ?",
|
||||
workOrderNumber,
|
||||
{
|
||||
export function getWorkOrderByWorkOrderNumber(workOrderNumber: string): recordTypes.WorkOrder {
|
||||
return _getWorkOrder(baseSQL + " and w.workOrderNumber = ?", workOrderNumber, {
|
||||
includeLotsAndLotOccupancies: true,
|
||||
includeComments: true,
|
||||
includeMilestones: true
|
||||
}
|
||||
);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
export const getWorkOrder = (
|
||||
export function getWorkOrder(
|
||||
workOrderId: number | string,
|
||||
options: WorkOrderOptions,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): recordTypes.WorkOrder => {
|
||||
): recordTypes.WorkOrder {
|
||||
return _getWorkOrder(
|
||||
baseSQL + " and w.workOrderId = ?",
|
||||
workOrderId,
|
||||
options,
|
||||
connectedDatabase
|
||||
);
|
||||
};
|
||||
}
|
||||
|
||||
export default getWorkOrder;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const getWorkOrderComments: (workOrderId: number | string, connectedDatabase?: sqlite.Database) => recordTypes.WorkOrderComment[];
|
||||
export declare function getWorkOrderComments(workOrderId: number | string, connectedDatabase?: sqlite.Database): recordTypes.WorkOrderComment[];
|
||||
export default getWorkOrderComments;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||
export const getWorkOrderComments = (workOrderId, connectedDatabase) => {
|
||||
export function getWorkOrderComments(workOrderId, connectedDatabase) {
|
||||
const database = connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
readonly: true
|
||||
|
|
@ -9,19 +9,19 @@ export const getWorkOrderComments = (workOrderId, connectedDatabase) => {
|
|||
database.function("userFn_dateIntegerToString", dateIntegerToString);
|
||||
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
||||
const workOrderComments = database
|
||||
.prepare("select workOrderCommentId," +
|
||||
" workOrderCommentDate, userFn_dateIntegerToString(workOrderCommentDate) as workOrderCommentDateString," +
|
||||
" workOrderCommentTime, userFn_timeIntegerToString(workOrderCommentTime) as workOrderCommentTimeString," +
|
||||
" workOrderComment," +
|
||||
" recordCreate_userName, recordUpdate_userName" +
|
||||
" from WorkOrderComments" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId = ?" +
|
||||
" order by workOrderCommentDate desc, workOrderCommentTime desc, workOrderCommentId desc")
|
||||
.prepare(`select workOrderCommentId,
|
||||
workOrderCommentDate, userFn_dateIntegerToString(workOrderCommentDate) as workOrderCommentDateString,
|
||||
workOrderCommentTime, userFn_timeIntegerToString(workOrderCommentTime) as workOrderCommentTimeString,
|
||||
workOrderComment,
|
||||
recordCreate_userName, recordUpdate_userName
|
||||
from WorkOrderComments
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId = ?
|
||||
order by workOrderCommentDate desc, workOrderCommentTime desc, workOrderCommentId desc`)
|
||||
.all(workOrderId);
|
||||
if (!connectedDatabase) {
|
||||
database.close();
|
||||
}
|
||||
return workOrderComments;
|
||||
};
|
||||
}
|
||||
export default getWorkOrderComments;
|
||||
|
|
|
|||
|
|
@ -9,10 +9,10 @@ import {
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const getWorkOrderComments = (
|
||||
export function getWorkOrderComments(
|
||||
workOrderId: number | string,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): recordTypes.WorkOrderComment[] => {
|
||||
): recordTypes.WorkOrderComment[] {
|
||||
const database =
|
||||
connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
|
|
@ -24,15 +24,15 @@ export const getWorkOrderComments = (
|
|||
|
||||
const workOrderComments = database
|
||||
.prepare(
|
||||
"select workOrderCommentId," +
|
||||
" workOrderCommentDate, userFn_dateIntegerToString(workOrderCommentDate) as workOrderCommentDateString," +
|
||||
" workOrderCommentTime, userFn_timeIntegerToString(workOrderCommentTime) as workOrderCommentTimeString," +
|
||||
" workOrderComment," +
|
||||
" recordCreate_userName, recordUpdate_userName" +
|
||||
" from WorkOrderComments" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and workOrderId = ?" +
|
||||
" order by workOrderCommentDate desc, workOrderCommentTime desc, workOrderCommentId desc"
|
||||
`select workOrderCommentId,
|
||||
workOrderCommentDate, userFn_dateIntegerToString(workOrderCommentDate) as workOrderCommentDateString,
|
||||
workOrderCommentTime, userFn_timeIntegerToString(workOrderCommentTime) as workOrderCommentTimeString,
|
||||
workOrderComment,
|
||||
recordCreate_userName, recordUpdate_userName
|
||||
from WorkOrderComments
|
||||
where recordDelete_timeMillis is null
|
||||
and workOrderId = ?
|
||||
order by workOrderCommentDate desc, workOrderCommentTime desc, workOrderCommentId desc`
|
||||
)
|
||||
.all(workOrderId);
|
||||
|
||||
|
|
@ -41,6 +41,6 @@ export const getWorkOrderComments = (
|
|||
}
|
||||
|
||||
return workOrderComments;
|
||||
};
|
||||
}
|
||||
|
||||
export default getWorkOrderComments;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const getWorkOrderMilestoneTypes: () => recordTypes.WorkOrderMilestoneType[];
|
||||
export declare function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[];
|
||||
export default getWorkOrderMilestoneTypes;
|
||||
|
|
|
|||
|
|
@ -1,20 +1,20 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const getWorkOrderMilestoneTypes = () => {
|
||||
export function getWorkOrderMilestoneTypes() {
|
||||
const database = sqlite(databasePath);
|
||||
const workOrderMilestoneTypes = database
|
||||
.prepare("select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber" +
|
||||
" from WorkOrderMilestoneTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, workOrderMilestoneType")
|
||||
.prepare(`select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber
|
||||
from WorkOrderMilestoneTypes
|
||||
where recordDelete_timeMillis is null
|
||||
order by orderNumber, workOrderMilestoneType`)
|
||||
.all();
|
||||
let expectedOrderNumber = 0;
|
||||
for (const workOrderMilestoneType of workOrderMilestoneTypes) {
|
||||
if (workOrderMilestoneType.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare("update WorkOrderMilestoneTypes" +
|
||||
" set orderNumber = ?" +
|
||||
" where workOrderMilestoneTypeId = ?")
|
||||
.prepare(`update WorkOrderMilestoneTypes
|
||||
set orderNumber = ?
|
||||
where workOrderMilestoneTypeId = ?`)
|
||||
.run(expectedOrderNumber, workOrderMilestoneType.workOrderMilestoneTypeId);
|
||||
workOrderMilestoneType.orderNumber = expectedOrderNumber;
|
||||
}
|
||||
|
|
@ -22,5 +22,5 @@ export const getWorkOrderMilestoneTypes = () => {
|
|||
}
|
||||
database.close();
|
||||
return workOrderMilestoneTypes;
|
||||
};
|
||||
}
|
||||
export default getWorkOrderMilestoneTypes;
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const getWorkOrderMilestoneTypes = (): recordTypes.WorkOrderMilestoneType[] => {
|
||||
export function getWorkOrderMilestoneTypes(): recordTypes.WorkOrderMilestoneType[] {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const workOrderMilestoneTypes: recordTypes.WorkOrderMilestoneType[] = database
|
||||
.prepare(
|
||||
"select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber" +
|
||||
" from WorkOrderMilestoneTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, workOrderMilestoneType"
|
||||
`select workOrderMilestoneTypeId, workOrderMilestoneType, orderNumber
|
||||
from WorkOrderMilestoneTypes
|
||||
where recordDelete_timeMillis is null
|
||||
order by orderNumber, workOrderMilestoneType`
|
||||
)
|
||||
.all();
|
||||
|
||||
|
|
@ -22,9 +22,9 @@ export const getWorkOrderMilestoneTypes = (): recordTypes.WorkOrderMilestoneType
|
|||
if (workOrderMilestoneType.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrderMilestoneTypes" +
|
||||
" set orderNumber = ?" +
|
||||
" where workOrderMilestoneTypeId = ?"
|
||||
`update WorkOrderMilestoneTypes
|
||||
set orderNumber = ?
|
||||
where workOrderMilestoneTypeId = ?`
|
||||
)
|
||||
.run(expectedOrderNumber, workOrderMilestoneType.workOrderMilestoneTypeId);
|
||||
|
||||
|
|
@ -37,6 +37,6 @@ export const getWorkOrderMilestoneTypes = (): recordTypes.WorkOrderMilestoneType
|
|||
database.close();
|
||||
|
||||
return workOrderMilestoneTypes;
|
||||
};
|
||||
}
|
||||
|
||||
export default getWorkOrderMilestoneTypes;
|
||||
|
|
|
|||
|
|
@ -11,5 +11,5 @@ interface WorkOrderMilestoneOptions {
|
|||
includeWorkOrders?: boolean;
|
||||
orderBy: "completion" | "date";
|
||||
}
|
||||
export declare const getWorkOrderMilestones: (filters: WorkOrderMilestoneFilters, options: WorkOrderMilestoneOptions, connectedDatabase?: sqlite.Database) => recordTypes.WorkOrderMilestone[];
|
||||
export declare function getWorkOrderMilestones(filters: WorkOrderMilestoneFilters, options: WorkOrderMilestoneOptions, connectedDatabase?: sqlite.Database): recordTypes.WorkOrderMilestone[];
|
||||
export default getWorkOrderMilestones;
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import * as configFunctions from "../functions.config.js";
|
|||
import { getLots } from "./getLots.js";
|
||||
import { getLotOccupancies } from "./getLotOccupancies.js";
|
||||
const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
||||
const buildWhereClause = (filters) => {
|
||||
function buildWhereClause(filters) {
|
||||
let sqlWhereClause = " where m.recordDelete_timeMillis is null and w.recordDelete_timeMillis is null";
|
||||
const sqlParameters = [];
|
||||
if (filters.workOrderId) {
|
||||
|
|
@ -51,8 +51,8 @@ const buildWhereClause = (filters) => {
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
export const getWorkOrderMilestones = (filters, options, connectedDatabase) => {
|
||||
}
|
||||
export function getWorkOrderMilestones(filters, options, connectedDatabase) {
|
||||
const database = connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
readonly: true
|
||||
|
|
@ -122,5 +122,5 @@ export const getWorkOrderMilestones = (filters, options, connectedDatabase) => {
|
|||
database.close();
|
||||
}
|
||||
return workOrderMilestones;
|
||||
};
|
||||
}
|
||||
export default getWorkOrderMilestones;
|
||||
|
|
|
|||
|
|
@ -31,9 +31,10 @@ interface WorkOrderMilestoneOptions {
|
|||
|
||||
const commaSeparatedNumbersRegex = /^\d+(,\d+)*$/;
|
||||
|
||||
const buildWhereClause = (
|
||||
filters: WorkOrderMilestoneFilters
|
||||
): { sqlWhereClause: string; sqlParameters: unknown[] } => {
|
||||
function buildWhereClause(filters: WorkOrderMilestoneFilters): {
|
||||
sqlWhereClause: string;
|
||||
sqlParameters: unknown[];
|
||||
} {
|
||||
let sqlWhereClause =
|
||||
" where m.recordDelete_timeMillis is null and w.recordDelete_timeMillis is null";
|
||||
const sqlParameters: unknown[] = [];
|
||||
|
|
@ -102,13 +103,13 @@ const buildWhereClause = (
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export const getWorkOrderMilestones = (
|
||||
export function getWorkOrderMilestones(
|
||||
filters: WorkOrderMilestoneFilters,
|
||||
options: WorkOrderMilestoneOptions,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): recordTypes.WorkOrderMilestone[] => {
|
||||
): recordTypes.WorkOrderMilestone[] {
|
||||
const database =
|
||||
connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
|
|
@ -119,11 +120,9 @@ export const getWorkOrderMilestones = (
|
|||
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
||||
|
||||
// Filters
|
||||
|
||||
const { sqlWhereClause, sqlParameters } = buildWhereClause(filters);
|
||||
|
||||
// Order By
|
||||
|
||||
let orderByClause = "";
|
||||
|
||||
switch (options.orderBy) {
|
||||
|
|
@ -145,7 +144,6 @@ export const getWorkOrderMilestones = (
|
|||
}
|
||||
|
||||
// Query
|
||||
|
||||
const sql =
|
||||
"select m.workOrderMilestoneId," +
|
||||
" m.workOrderMilestoneTypeId, t.workOrderMilestoneType," +
|
||||
|
|
@ -205,6 +203,6 @@ export const getWorkOrderMilestones = (
|
|||
}
|
||||
|
||||
return workOrderMilestones;
|
||||
};
|
||||
}
|
||||
|
||||
export default getWorkOrderMilestones;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
import type * as recordTypes from "../../types/recordTypes";
|
||||
export declare const getWorkOrderTypes: () => recordTypes.WorkOrderType[];
|
||||
export declare function getWorkOrderTypes(): recordTypes.WorkOrderType[];
|
||||
export default getWorkOrderTypes;
|
||||
|
|
|
|||
|
|
@ -1,20 +1,18 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const getWorkOrderTypes = () => {
|
||||
export function getWorkOrderTypes() {
|
||||
const database = sqlite(databasePath);
|
||||
const workOrderTypes = database
|
||||
.prepare("select workOrderTypeId, workOrderType, orderNumber" +
|
||||
" from WorkOrderTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, workOrderType")
|
||||
.prepare(`select workOrderTypeId, workOrderType, orderNumber
|
||||
from WorkOrderTypes
|
||||
where recordDelete_timeMillis is null
|
||||
order by orderNumber, workOrderType`)
|
||||
.all();
|
||||
let expectedOrderNumber = 0;
|
||||
for (const workOrderType of workOrderTypes) {
|
||||
if (workOrderType.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare("update WorkOrderTypes" +
|
||||
" set orderNumber = ?" +
|
||||
" where workOrderTypeId = ?")
|
||||
.prepare(`update WorkOrderTypes set orderNumber = ? where workOrderTypeId = ?`)
|
||||
.run(expectedOrderNumber, workOrderType.workOrderTypeId);
|
||||
workOrderType.orderNumber = expectedOrderNumber;
|
||||
}
|
||||
|
|
@ -22,5 +20,5 @@ export const getWorkOrderTypes = () => {
|
|||
}
|
||||
database.close();
|
||||
return workOrderTypes;
|
||||
};
|
||||
}
|
||||
export default getWorkOrderTypes;
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import type * as recordTypes from "../../types/recordTypes";
|
||||
|
||||
export const getWorkOrderTypes = (): recordTypes.WorkOrderType[] => {
|
||||
export function getWorkOrderTypes(): recordTypes.WorkOrderType[] {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const workOrderTypes: recordTypes.WorkOrderType[] = database
|
||||
.prepare(
|
||||
"select workOrderTypeId, workOrderType, orderNumber" +
|
||||
" from WorkOrderTypes" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" order by orderNumber, workOrderType"
|
||||
`select workOrderTypeId, workOrderType, orderNumber
|
||||
from WorkOrderTypes
|
||||
where recordDelete_timeMillis is null
|
||||
order by orderNumber, workOrderType`
|
||||
)
|
||||
.all();
|
||||
|
||||
|
|
@ -21,11 +21,7 @@ export const getWorkOrderTypes = (): recordTypes.WorkOrderType[] => {
|
|||
for (const workOrderType of workOrderTypes) {
|
||||
if (workOrderType.orderNumber !== expectedOrderNumber) {
|
||||
database
|
||||
.prepare(
|
||||
"update WorkOrderTypes" +
|
||||
" set orderNumber = ?" +
|
||||
" where workOrderTypeId = ?"
|
||||
)
|
||||
.prepare(`update WorkOrderTypes set orderNumber = ? where workOrderTypeId = ?`)
|
||||
.run(expectedOrderNumber, workOrderType.workOrderTypeId);
|
||||
|
||||
workOrderType.orderNumber = expectedOrderNumber;
|
||||
|
|
@ -37,6 +33,6 @@ export const getWorkOrderTypes = (): recordTypes.WorkOrderType[] => {
|
|||
database.close();
|
||||
|
||||
return workOrderTypes;
|
||||
};
|
||||
}
|
||||
|
||||
export default getWorkOrderTypes;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ interface GetWorkOrdersOptions {
|
|||
includeComments?: boolean;
|
||||
includeMilestones?: boolean;
|
||||
}
|
||||
export declare const getWorkOrders: (filters: GetWorkOrdersFilters, options?: GetWorkOrdersOptions, connectedDatabase?: sqlite.Database) => {
|
||||
export declare function getWorkOrders(filters: GetWorkOrdersFilters, options?: GetWorkOrdersOptions, connectedDatabase?: sqlite.Database): {
|
||||
count: number;
|
||||
workOrders: recordTypes.WorkOrder[];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { getLots } from "./getLots.js";
|
|||
import { getLotOccupancies } from "./getLotOccupancies.js";
|
||||
import { getWorkOrderMilestones } from "./getWorkOrderMilestones.js";
|
||||
import { getLotNameWhereClause, getOccupantNameWhereClause } from "../functions.sqlFilters.js";
|
||||
const buildWhereClause = (filters) => {
|
||||
function buildWhereClause(filters) {
|
||||
let sqlWhereClause = " where w.recordDelete_timeMillis is null";
|
||||
const sqlParameters = [];
|
||||
if (filters.workOrderTypeId) {
|
||||
|
|
@ -55,8 +55,8 @@ const buildWhereClause = (filters) => {
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
export const getWorkOrders = (filters, options, connectedDatabase) => {
|
||||
}
|
||||
export function getWorkOrders(filters, options, connectedDatabase) {
|
||||
const database = connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
readonly: true
|
||||
|
|
@ -128,5 +128,5 @@ export const getWorkOrders = (filters, options, connectedDatabase) => {
|
|||
count,
|
||||
workOrders
|
||||
};
|
||||
};
|
||||
}
|
||||
export default getWorkOrders;
|
||||
|
|
|
|||
|
|
@ -32,9 +32,10 @@ interface GetWorkOrdersOptions {
|
|||
includeMilestones?: boolean;
|
||||
}
|
||||
|
||||
const buildWhereClause = (
|
||||
filters: GetWorkOrdersFilters
|
||||
): { sqlWhereClause: string; sqlParameters: unknown[] } => {
|
||||
function buildWhereClause(filters: GetWorkOrdersFilters): {
|
||||
sqlWhereClause: string;
|
||||
sqlParameters: unknown[];
|
||||
} {
|
||||
let sqlWhereClause = " where w.recordDelete_timeMillis is null";
|
||||
const sqlParameters: unknown[] = [];
|
||||
|
||||
|
|
@ -89,16 +90,16 @@ const buildWhereClause = (
|
|||
sqlWhereClause,
|
||||
sqlParameters
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export const getWorkOrders = (
|
||||
export function getWorkOrders(
|
||||
filters: GetWorkOrdersFilters,
|
||||
options?: GetWorkOrdersOptions,
|
||||
connectedDatabase?: sqlite.Database
|
||||
): {
|
||||
count: number;
|
||||
workOrders: recordTypes.WorkOrder[];
|
||||
} => {
|
||||
} {
|
||||
const database =
|
||||
connectedDatabase ||
|
||||
sqlite(databasePath, {
|
||||
|
|
@ -201,6 +202,6 @@ export const getWorkOrders = (
|
|||
count,
|
||||
workOrders
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
export default getWorkOrders;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveFeeCategoryDown: (feeCategoryId: number | string) => boolean;
|
||||
export declare const moveFeeCategoryDownToBottom: (feeCategoryId: number | string) => boolean;
|
||||
export declare function moveFeeCategoryDown(feeCategoryId: number | string): boolean;
|
||||
export declare function moveFeeCategoryDownToBottom(feeCategoryId: number | string): boolean;
|
||||
export default moveFeeCategoryDown;
|
||||
|
|
|
|||
|
|
@ -1,44 +1,44 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const moveFeeCategoryDown = (feeCategoryId) => {
|
||||
export function moveFeeCategoryDown(feeCategoryId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from FeeCategories where feeCategoryId = ?")
|
||||
.get(feeCategoryId).orderNumber;
|
||||
database
|
||||
.prepare("update FeeCategories" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1")
|
||||
.prepare(`update FeeCategories
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update FeeCategories set orderNumber = ? + 1 where feeCategoryId = ?")
|
||||
.run(currentOrderNumber, feeCategoryId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveFeeCategoryDownToBottom = (feeCategoryId) => {
|
||||
}
|
||||
export function moveFeeCategoryDownToBottom(feeCategoryId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from FeeCategories where feeCategoryId = ?")
|
||||
.get(feeCategoryId).orderNumber;
|
||||
const maxOrderNumber = database
|
||||
.prepare("select max(orderNumber) as maxOrderNumber" +
|
||||
" from FeeCategories" +
|
||||
" where recordDelete_timeMillis is null")
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from FeeCategories
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update FeeCategories set orderNumber = ? + 1 where feeCategoryId = ?")
|
||||
.run(maxOrderNumber, feeCategoryId);
|
||||
database
|
||||
.prepare("update FeeCategories" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?")
|
||||
.prepare(`update FeeCategories
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null and
|
||||
orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveFeeCategoryDown;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import sqlite from "better-sqlite3";
|
|||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
export const moveFeeCategoryDown = (feeCategoryId: number | string): boolean => {
|
||||
export function moveFeeCategoryDown(feeCategoryId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -11,10 +11,10 @@ export const moveFeeCategoryDown = (feeCategoryId: number | string): boolean =>
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update FeeCategories" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1"
|
||||
`update FeeCategories
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
|
|
@ -25,9 +25,9 @@ export const moveFeeCategoryDown = (feeCategoryId: number | string): boolean =>
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveFeeCategoryDownToBottom = (feeCategoryId: number | string): boolean => {
|
||||
export function moveFeeCategoryDownToBottom(feeCategoryId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -36,9 +36,9 @@ export const moveFeeCategoryDownToBottom = (feeCategoryId: number | string): boo
|
|||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
"select max(orderNumber) as maxOrderNumber" +
|
||||
" from FeeCategories" +
|
||||
" where recordDelete_timeMillis is null"
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from FeeCategories
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
|
|
@ -49,10 +49,10 @@ export const moveFeeCategoryDownToBottom = (feeCategoryId: number | string): boo
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update FeeCategories" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?"
|
||||
`update FeeCategories
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null and
|
||||
orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -60,6 +60,6 @@ export const moveFeeCategoryDownToBottom = (feeCategoryId: number | string): boo
|
|||
database.close();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveFeeCategoryDown;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveFeeCategoryUp: (feeCategoryId: number | string) => boolean;
|
||||
export declare const moveFeeCategoryUpToTop: (feeCategoryId: number | string) => boolean;
|
||||
export declare function moveFeeCategoryUp(feeCategoryId: number | string): boolean;
|
||||
export declare function moveFeeCategoryUpToTop(feeCategoryId: number | string): boolean;
|
||||
export default moveFeeCategoryUp;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
export const moveFeeCategoryUp = (feeCategoryId) => {
|
||||
export function moveFeeCategoryUp(feeCategoryId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from FeeCategories where feeCategoryId = ?")
|
||||
|
|
@ -10,18 +10,18 @@ export const moveFeeCategoryUp = (feeCategoryId) => {
|
|||
return true;
|
||||
}
|
||||
database
|
||||
.prepare("update FeeCategories" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? - 1")
|
||||
.prepare(`update FeeCategories
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? - 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update FeeCategories set orderNumber = ? - 1 where feeCategoryId = ?")
|
||||
.run(currentOrderNumber, feeCategoryId);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveFeeCategoryUpToTop = (feeCategoryId) => {
|
||||
}
|
||||
export function moveFeeCategoryUpToTop(feeCategoryId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from FeeCategories where feeCategoryId = ?")
|
||||
|
|
@ -31,13 +31,13 @@ export const moveFeeCategoryUpToTop = (feeCategoryId) => {
|
|||
.prepare("update FeeCategories set orderNumber = -1 where feeCategoryId = ?")
|
||||
.run(feeCategoryId);
|
||||
database
|
||||
.prepare("update FeeCategories" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber < ?")
|
||||
.prepare(`update FeeCategories
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveFeeCategoryUp;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import sqlite from "better-sqlite3";
|
|||
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
|
||||
export const moveFeeCategoryUp = (feeCategoryId: number | string): boolean => {
|
||||
export function moveFeeCategoryUp(feeCategoryId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -16,10 +16,10 @@ export const moveFeeCategoryUp = (feeCategoryId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update FeeCategories" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? - 1"
|
||||
`update FeeCategories
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? - 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
|
|
@ -30,9 +30,9 @@ export const moveFeeCategoryUp = (feeCategoryId: number | string): boolean => {
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveFeeCategoryUpToTop = (feeCategoryId: number | string): boolean => {
|
||||
export function moveFeeCategoryUpToTop(feeCategoryId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -46,10 +46,10 @@ export const moveFeeCategoryUpToTop = (feeCategoryId: number | string): boolean
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update FeeCategories" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber < ?"
|
||||
`update FeeCategories
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -57,6 +57,6 @@ export const moveFeeCategoryUpToTop = (feeCategoryId: number | string): boolean
|
|||
database.close();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveFeeCategoryUp;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveFeeDown: (feeId: number | string) => boolean;
|
||||
export declare const moveFeeDownToBottom: (feeId: number | string) => boolean;
|
||||
export declare function moveFeeDown(feeId: number | string): boolean;
|
||||
export declare function moveFeeDownToBottom(feeId: number | string): boolean;
|
||||
export default moveFeeDown;
|
||||
|
|
|
|||
|
|
@ -1,44 +1,43 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getFee } from "./getFee.js";
|
||||
export const moveFeeDown = (feeId) => {
|
||||
export function moveFeeDown(feeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentFee = getFee(feeId, database);
|
||||
database
|
||||
.prepare("update Fees" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber = ? + 1")
|
||||
.prepare(`update Fees
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
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);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveFeeDownToBottom = (feeId) => {
|
||||
}
|
||||
export function moveFeeDownToBottom(feeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentFee = getFee(feeId, database);
|
||||
const maxOrderNumber = database
|
||||
.prepare("select max(orderNumber) as maxOrderNumber" +
|
||||
" from Fees" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?")
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from Fees
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ?`)
|
||||
.get(currentFee.feeCategoryId).maxOrderNumber;
|
||||
if (currentFee.orderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update Fees set orderNumber = ? + 1 where feeId = ?")
|
||||
.run(maxOrderNumber, feeId);
|
||||
database
|
||||
.prepare("update Fees" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber > ?")
|
||||
.prepare(`update Fees
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ? and orderNumber > ?`)
|
||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||
}
|
||||
database.close();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveFeeDown;
|
||||
|
|
|
|||
|
|
@ -4,18 +4,18 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { getFee } from "./getFee.js";
|
||||
|
||||
export const moveFeeDown = (feeId: number | string): boolean => {
|
||||
export function moveFeeDown(feeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentFee = getFee(feeId, database);
|
||||
|
||||
database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber = ? + 1"
|
||||
`update Fees
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ?
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||
|
||||
|
|
@ -26,19 +26,19 @@ export const moveFeeDown = (feeId: number | string): boolean => {
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveFeeDownToBottom = (feeId: number | string): boolean => {
|
||||
export function moveFeeDownToBottom(feeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentFee = getFee(feeId, database);
|
||||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
"select max(orderNumber) as maxOrderNumber" +
|
||||
" from Fees" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?"
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from Fees
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ?`
|
||||
)
|
||||
.get(currentFee.feeCategoryId).maxOrderNumber;
|
||||
|
||||
|
|
@ -49,11 +49,10 @@ export const moveFeeDownToBottom = (feeId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber > ?"
|
||||
`update Fees
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ? and orderNumber > ?`
|
||||
)
|
||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||
}
|
||||
|
|
@ -61,6 +60,6 @@ export const moveFeeDownToBottom = (feeId: number | string): boolean => {
|
|||
database.close();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveFeeDown;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveFeeUp: (feeId: number | string) => boolean;
|
||||
export declare const moveFeeUpToTop: (feeId: number | string) => boolean;
|
||||
export declare function moveFeeUp(feeId: number | string): boolean;
|
||||
export declare function moveFeeUpToTop(feeId: number | string): boolean;
|
||||
export default moveFeeUp;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { getFee } from "./getFee.js";
|
||||
export const moveFeeUp = (feeId) => {
|
||||
export function moveFeeUp(feeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentFee = getFee(feeId, database);
|
||||
if (currentFee.orderNumber <= 0) {
|
||||
|
|
@ -9,32 +9,32 @@ export const moveFeeUp = (feeId) => {
|
|||
return true;
|
||||
}
|
||||
database
|
||||
.prepare("update Fees" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber = ? - 1")
|
||||
.prepare(`update Fees
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
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);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveFeeUpToTop = (feeId) => {
|
||||
}
|
||||
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);
|
||||
database
|
||||
.prepare("update Fees" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber < ?")
|
||||
.prepare(`update Fees
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ?
|
||||
and orderNumber < ?`)
|
||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||
}
|
||||
database.close();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveFeeUp;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { getFee } from "./getFee.js";
|
||||
|
||||
export const moveFeeUp = (feeId: number | string): boolean => {
|
||||
export function moveFeeUp(feeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentFee = getFee(feeId, database);
|
||||
|
|
@ -16,11 +16,11 @@ export const moveFeeUp = (feeId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber = ? - 1"
|
||||
`update Fees
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ?
|
||||
and orderNumber = ? - 1`
|
||||
)
|
||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||
|
||||
|
|
@ -31,9 +31,9 @@ export const moveFeeUp = (feeId: number | string): boolean => {
|
|||
database.close();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveFeeUpToTop = (feeId: number | string): boolean => {
|
||||
export function moveFeeUpToTop(feeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentFee = getFee(feeId, database);
|
||||
|
|
@ -43,11 +43,11 @@ export const moveFeeUpToTop = (feeId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update Fees" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and feeCategoryId = ?" +
|
||||
" and orderNumber < ?"
|
||||
`update Fees
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and feeCategoryId = ?
|
||||
and orderNumber < ?`
|
||||
)
|
||||
.run(currentFee.feeCategoryId, currentFee.orderNumber);
|
||||
}
|
||||
|
|
@ -55,6 +55,6 @@ export const moveFeeUpToTop = (feeId: number | string): boolean => {
|
|||
database.close();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveFeeUp;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotOccupantTypeDown: (lotOccupantTypeId: number | string) => boolean;
|
||||
export declare const moveLotOccupantTypeDownToBottom: (lotOccupantTypeId: number | string) => boolean;
|
||||
export declare function moveLotOccupantTypeDown(lotOccupantTypeId: number | string): boolean;
|
||||
export declare function moveLotOccupantTypeDownToBottom(lotOccupantTypeId: number | string): boolean;
|
||||
export default moveLotOccupantTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,51 +1,47 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotOccupantTypesCache } from "../functions.cache.js";
|
||||
export const moveLotOccupantTypeDown = (lotOccupantTypeId) => {
|
||||
export function moveLotOccupantTypeDown(lotOccupantTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber" +
|
||||
" from LotOccupantTypes" +
|
||||
" where lotOccupantTypeId = ?")
|
||||
.prepare(`select orderNumber from LotOccupantTypes where lotOccupantTypeId = ?`)
|
||||
.get(lotOccupantTypeId).orderNumber;
|
||||
database
|
||||
.prepare("update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1")
|
||||
.prepare(`update LotOccupantTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update LotOccupantTypes" +
|
||||
" set orderNumber = ? + 1" +
|
||||
" where lotOccupantTypeId = ?")
|
||||
.prepare(`update LotOccupantTypes set orderNumber = ? + 1 where lotOccupantTypeId = ?`)
|
||||
.run(currentOrderNumber, lotOccupantTypeId);
|
||||
database.close();
|
||||
clearLotOccupantTypesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotOccupantTypeDownToBottom = (lotOccupantTypeId) => {
|
||||
}
|
||||
export function moveLotOccupantTypeDownToBottom(lotOccupantTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotOccupantTypes where lotOccupantTypeId = ?")
|
||||
.get(lotOccupantTypeId).orderNumber;
|
||||
const maxOrderNumber = database
|
||||
.prepare("select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotOccupantTypes" +
|
||||
" where recordDelete_timeMillis is null")
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from LotOccupantTypes
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update LotOccupantTypes set orderNumber = ? + 1 where lotOccupantTypeId = ?")
|
||||
.run(maxOrderNumber, lotOccupantTypeId);
|
||||
database
|
||||
.prepare("update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?")
|
||||
.prepare(`update LotOccupantTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotOccupantTypesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotOccupantTypeDown;
|
||||
|
|
|
|||
|
|
@ -4,34 +4,24 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotOccupantTypesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotOccupantTypeDown = (
|
||||
lotOccupantTypeId: number | string
|
||||
): boolean => {
|
||||
export function moveLotOccupantTypeDown(lotOccupantTypeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
"select orderNumber" +
|
||||
" from LotOccupantTypes" +
|
||||
" where lotOccupantTypeId = ?"
|
||||
)
|
||||
.prepare(`select orderNumber from LotOccupantTypes where lotOccupantTypeId = ?`)
|
||||
.get(lotOccupantTypeId).orderNumber;
|
||||
|
||||
database
|
||||
.prepare(
|
||||
"update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1"
|
||||
`update LotOccupantTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update LotOccupantTypes" +
|
||||
" set orderNumber = ? + 1" +
|
||||
" where lotOccupantTypeId = ?"
|
||||
)
|
||||
.prepare(`update LotOccupantTypes set orderNumber = ? + 1 where lotOccupantTypeId = ?`)
|
||||
.run(currentOrderNumber, lotOccupantTypeId);
|
||||
|
||||
database.close();
|
||||
|
|
@ -39,10 +29,9 @@ export const moveLotOccupantTypeDown = (
|
|||
clearLotOccupantTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
export const moveLotOccupantTypeDownToBottom = (lotOccupantTypeId: number | string): boolean => {
|
||||
export function moveLotOccupantTypeDownToBottom(lotOccupantTypeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -51,9 +40,9 @@ export const moveLotOccupantTypeDownToBottom = (lotOccupantTypeId: number | stri
|
|||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
"select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotOccupantTypes" +
|
||||
" where recordDelete_timeMillis is null"
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from LotOccupantTypes
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
|
|
@ -64,10 +53,10 @@ export const moveLotOccupantTypeDownToBottom = (lotOccupantTypeId: number | stri
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?"
|
||||
`update LotOccupantTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -77,5 +66,6 @@ export const moveLotOccupantTypeDownToBottom = (lotOccupantTypeId: number | stri
|
|||
clearLotOccupantTypesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotOccupantTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotOccupantTypeUp: (lotOccupantTypeId: number | string) => boolean;
|
||||
export declare const moveLotOccupantTypeUpToTop: (lotOccupantTypeId: number | string) => boolean;
|
||||
export declare function moveLotOccupantTypeUp(lotOccupantTypeId: number | string): boolean;
|
||||
export declare function moveLotOccupantTypeUpToTop(lotOccupantTypeId: number | string): boolean;
|
||||
export default moveLotOccupantTypeUp;
|
||||
|
|
|
|||
|
|
@ -1,33 +1,31 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotOccupantTypesCache } from "../functions.cache.js";
|
||||
export const moveLotOccupantTypeUp = (lotOccupantTypeId) => {
|
||||
export function moveLotOccupantTypeUp(lotOccupantTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber" +
|
||||
" from LotOccupantTypes" +
|
||||
" where lotOccupantTypeId = ?")
|
||||
.prepare(`select orderNumber from LotOccupantTypes where lotOccupantTypeId = ?`)
|
||||
.get(lotOccupantTypeId).orderNumber;
|
||||
if (currentOrderNumber <= 0) {
|
||||
database.close();
|
||||
return true;
|
||||
}
|
||||
database
|
||||
.prepare("update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? - 1")
|
||||
.prepare(`update LotOccupantTypes
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? - 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update LotOccupantTypes" +
|
||||
" set orderNumber = ? - 1" +
|
||||
" where lotOccupantTypeId = ?")
|
||||
.prepare(`update LotOccupantTypes
|
||||
set orderNumber = ? - 1
|
||||
where lotOccupantTypeId = ?`)
|
||||
.run(currentOrderNumber, lotOccupantTypeId);
|
||||
database.close();
|
||||
clearLotOccupantTypesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotOccupantTypeUpToTop = (lotOccupantTypeId) => {
|
||||
}
|
||||
export function moveLotOccupantTypeUpToTop(lotOccupantTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotOccupantTypes where lotOccupantTypeId = ?")
|
||||
|
|
@ -37,14 +35,14 @@ export const moveLotOccupantTypeUpToTop = (lotOccupantTypeId) => {
|
|||
.prepare("update LotOccupantTypes set orderNumber = -1 where lotOccupantTypeId = ?")
|
||||
.run(lotOccupantTypeId);
|
||||
database
|
||||
.prepare("update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber < ?")
|
||||
.prepare(`update LotOccupantTypes
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotOccupantTypesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotOccupantTypeUp;
|
||||
|
|
|
|||
|
|
@ -4,17 +4,11 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotOccupantTypesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotOccupantTypeUp = (
|
||||
lotOccupantTypeId: number | string
|
||||
): boolean => {
|
||||
export function moveLotOccupantTypeUp(lotOccupantTypeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
"select orderNumber" +
|
||||
" from LotOccupantTypes" +
|
||||
" where lotOccupantTypeId = ?"
|
||||
)
|
||||
.prepare(`select orderNumber from LotOccupantTypes where lotOccupantTypeId = ?`)
|
||||
.get(lotOccupantTypeId).orderNumber;
|
||||
|
||||
if (currentOrderNumber <= 0) {
|
||||
|
|
@ -24,18 +18,18 @@ export const moveLotOccupantTypeUp = (
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? - 1"
|
||||
`update LotOccupantTypes
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? - 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update LotOccupantTypes" +
|
||||
" set orderNumber = ? - 1" +
|
||||
" where lotOccupantTypeId = ?"
|
||||
`update LotOccupantTypes
|
||||
set orderNumber = ? - 1
|
||||
where lotOccupantTypeId = ?`
|
||||
)
|
||||
.run(currentOrderNumber, lotOccupantTypeId);
|
||||
|
||||
|
|
@ -44,9 +38,9 @@ export const moveLotOccupantTypeUp = (
|
|||
clearLotOccupantTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveLotOccupantTypeUpToTop = (lotOccupantTypeId: number | string): boolean => {
|
||||
export function moveLotOccupantTypeUpToTop(lotOccupantTypeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -60,10 +54,10 @@ export const moveLotOccupantTypeUpToTop = (lotOccupantTypeId: number | string):
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotOccupantTypes" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber < ?"
|
||||
`update LotOccupantTypes
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -73,6 +67,6 @@ export const moveLotOccupantTypeUpToTop = (lotOccupantTypeId: number | string):
|
|||
clearLotOccupantTypesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotOccupantTypeUp;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotStatusDown: (lotStatusId: number | string) => boolean;
|
||||
export declare const moveLotStatusDownToBottom: (lotStatusId: number | string) => boolean;
|
||||
export declare function moveLotStatusDown(lotStatusId: number | string): boolean;
|
||||
export declare function moveLotStatusDownToBottom(lotStatusId: number | string): boolean;
|
||||
export default moveLotStatusDown;
|
||||
|
|
|
|||
|
|
@ -1,51 +1,47 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
export const moveLotStatusDown = (lotStatusId) => {
|
||||
export function moveLotStatusDown(lotStatusId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber" +
|
||||
" from LotStatuses" +
|
||||
" where lotStatusId = ?")
|
||||
.prepare(`select orderNumber from LotStatuses where lotStatusId = ?`)
|
||||
.get(lotStatusId).orderNumber;
|
||||
database
|
||||
.prepare("update LotStatuses" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1")
|
||||
.prepare(`update LotStatuses
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update LotStatuses" +
|
||||
" set orderNumber = ? + 1" +
|
||||
" where lotStatusId = ?")
|
||||
.prepare(`update LotStatuses set orderNumber = ? + 1 where lotStatusId = ?`)
|
||||
.run(currentOrderNumber, lotStatusId);
|
||||
database.close();
|
||||
clearLotStatusesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotStatusDownToBottom = (lotStatusId) => {
|
||||
}
|
||||
export function moveLotStatusDownToBottom(lotStatusId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotStatuses where lotStatusId = ?")
|
||||
.get(lotStatusId).orderNumber;
|
||||
const maxOrderNumber = database
|
||||
.prepare("select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotStatuses" +
|
||||
" where recordDelete_timeMillis is null")
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from LotStatuses
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update LotStatuses set orderNumber = ? + 1 where lotStatusId = ?")
|
||||
.run(maxOrderNumber, lotStatusId);
|
||||
database
|
||||
.prepare("update LotStatuses" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?")
|
||||
.prepare(`update LotStatuses
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotStatusesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotStatusDown;
|
||||
|
|
|
|||
|
|
@ -4,32 +4,24 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotStatusDown = (lotStatusId: number | string): boolean => {
|
||||
export function moveLotStatusDown(lotStatusId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
.prepare(
|
||||
"select orderNumber" +
|
||||
" from LotStatuses" +
|
||||
" where lotStatusId = ?"
|
||||
)
|
||||
.prepare(`select orderNumber from LotStatuses where lotStatusId = ?`)
|
||||
.get(lotStatusId).orderNumber;
|
||||
|
||||
database
|
||||
.prepare(
|
||||
"update LotStatuses" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1"
|
||||
`update LotStatuses
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
const result = database
|
||||
.prepare(
|
||||
"update LotStatuses" +
|
||||
" set orderNumber = ? + 1" +
|
||||
" where lotStatusId = ?"
|
||||
)
|
||||
.prepare(`update LotStatuses set orderNumber = ? + 1 where lotStatusId = ?`)
|
||||
.run(currentOrderNumber, lotStatusId);
|
||||
|
||||
database.close();
|
||||
|
|
@ -37,9 +29,9 @@ export const moveLotStatusDown = (lotStatusId: number | string): boolean => {
|
|||
clearLotStatusesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveLotStatusDownToBottom = (lotStatusId: number | string): boolean => {
|
||||
export function moveLotStatusDownToBottom(lotStatusId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -48,9 +40,9 @@ export const moveLotStatusDownToBottom = (lotStatusId: number | string): boolean
|
|||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
"select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotStatuses" +
|
||||
" where recordDelete_timeMillis is null"
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from LotStatuses
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
|
|
@ -61,10 +53,10 @@ export const moveLotStatusDownToBottom = (lotStatusId: number | string): boolean
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotStatuses" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?"
|
||||
`update LotStatuses
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -74,6 +66,6 @@ export const moveLotStatusDownToBottom = (lotStatusId: number | string): boolean
|
|||
clearLotStatusesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotStatusDown;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotStatusUp: (lotStatusId: number | string) => boolean;
|
||||
export declare const moveLotStatusUpToTop: (lotStatusId: number | string) => boolean;
|
||||
export declare function moveLotStatusUp(lotStatusId: number | string): boolean;
|
||||
export declare function moveLotStatusUpToTop(lotStatusId: number | string): boolean;
|
||||
export default moveLotStatusUp;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
export const moveLotStatusUp = (lotStatusId) => {
|
||||
export function moveLotStatusUp(lotStatusId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotStatuses where lotStatusId = ?")
|
||||
|
|
@ -11,10 +11,10 @@ export const moveLotStatusUp = (lotStatusId) => {
|
|||
return true;
|
||||
}
|
||||
database
|
||||
.prepare("update LotStatuses" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? - 1")
|
||||
.prepare(`update LotStatuses
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? - 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update LotStatuses set orderNumber = ? - 1 where lotStatusId = ?")
|
||||
|
|
@ -22,8 +22,8 @@ export const moveLotStatusUp = (lotStatusId) => {
|
|||
database.close();
|
||||
clearLotStatusesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotStatusUpToTop = (lotStatusId) => {
|
||||
}
|
||||
export function moveLotStatusUpToTop(lotStatusId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotStatuses where lotStatusId = ?")
|
||||
|
|
@ -33,14 +33,14 @@ export const moveLotStatusUpToTop = (lotStatusId) => {
|
|||
.prepare("update LotStatuses set orderNumber = -1 where lotStatusId = ?")
|
||||
.run(lotStatusId);
|
||||
database
|
||||
.prepare("update LotStatuses" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber < ?")
|
||||
.prepare(`update LotStatuses
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotStatusesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotStatusUp;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotStatusesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotStatusUp = (lotStatusId: number | string): boolean => {
|
||||
export function moveLotStatusUp(lotStatusId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -18,10 +18,10 @@ export const moveLotStatusUp = (lotStatusId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotStatuses" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? - 1"
|
||||
`update LotStatuses
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? - 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
|
|
@ -34,9 +34,9 @@ export const moveLotStatusUp = (lotStatusId: number | string): boolean => {
|
|||
clearLotStatusesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveLotStatusUpToTop = (lotStatusId: number | string): boolean => {
|
||||
export function moveLotStatusUpToTop(lotStatusId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -50,10 +50,10 @@ export const moveLotStatusUpToTop = (lotStatusId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotStatuses" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber < ?"
|
||||
`update LotStatuses
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber < ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -63,6 +63,6 @@ export const moveLotStatusUpToTop = (lotStatusId: number | string): boolean => {
|
|||
clearLotStatusesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotStatusUp;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotTypeDown: (lotTypeId: number | string) => boolean;
|
||||
export declare const moveLotTypeDownToBottom: (lotTypeId: number | string) => boolean;
|
||||
export declare function moveLotTypeDown(lotTypeId: number | string): boolean;
|
||||
export declare function moveLotTypeDownToBottom(lotTypeId: number | string): boolean;
|
||||
export default moveLotTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,16 +1,16 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
export const moveLotTypeDown = (lotTypeId) => {
|
||||
export function moveLotTypeDown(lotTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotTypes where lotTypeId = ?")
|
||||
.get(lotTypeId).orderNumber;
|
||||
database
|
||||
.prepare("update LotTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1")
|
||||
.prepare(`update LotTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`)
|
||||
.run(currentOrderNumber);
|
||||
const result = database
|
||||
.prepare("update LotTypes set orderNumber = ? + 1 where lotTypeId = ?")
|
||||
|
|
@ -18,30 +18,30 @@ export const moveLotTypeDown = (lotTypeId) => {
|
|||
database.close();
|
||||
clearLotTypesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotTypeDownToBottom = (lotTypeId) => {
|
||||
}
|
||||
export function moveLotTypeDownToBottom(lotTypeId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentOrderNumber = database
|
||||
.prepare("select orderNumber from LotTypes where lotTypeId = ?")
|
||||
.get(lotTypeId).orderNumber;
|
||||
const maxOrderNumber = database
|
||||
.prepare("select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotTypes" +
|
||||
" where recordDelete_timeMillis is null")
|
||||
.prepare(`select max(orderNumber) as maxOrderNumber
|
||||
from LotTypes
|
||||
where recordDelete_timeMillis is null`)
|
||||
.get().maxOrderNumber;
|
||||
if (currentOrderNumber !== maxOrderNumber) {
|
||||
database
|
||||
.prepare("update LotTypes set orderNumber = ? + 1 where lotTypeId = ?")
|
||||
.run(maxOrderNumber, lotTypeId);
|
||||
database
|
||||
.prepare("update LotTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?")
|
||||
.prepare(`update LotTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotTypesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotTypeDown;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotTypeDown = (lotTypeId: number | string): boolean => {
|
||||
export function moveLotTypeDown(lotTypeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -13,10 +13,10 @@ export const moveLotTypeDown = (lotTypeId: number | string): boolean => {
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber = ? + 1"
|
||||
`update LotTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
|
||||
|
|
@ -29,9 +29,9 @@ export const moveLotTypeDown = (lotTypeId: number | string): boolean => {
|
|||
clearLotTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveLotTypeDownToBottom = (lotTypeId: number | string): boolean => {
|
||||
export function moveLotTypeDownToBottom(lotTypeId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentOrderNumber: number = database
|
||||
|
|
@ -40,9 +40,9 @@ export const moveLotTypeDownToBottom = (lotTypeId: number | string): boolean =>
|
|||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
"select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotTypes" +
|
||||
" where recordDelete_timeMillis is null"
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from LotTypes
|
||||
where recordDelete_timeMillis is null`
|
||||
)
|
||||
.get().maxOrderNumber;
|
||||
|
||||
|
|
@ -53,10 +53,10 @@ export const moveLotTypeDownToBottom = (lotTypeId: number | string): boolean =>
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotTypes" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and orderNumber > ?"
|
||||
`update LotTypes
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentOrderNumber);
|
||||
}
|
||||
|
|
@ -66,6 +66,6 @@ export const moveLotTypeDownToBottom = (lotTypeId: number | string): boolean =>
|
|||
clearLotTypesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotTypeDown;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotTypeFieldDown: (lotTypeFieldId: number | string) => boolean;
|
||||
export declare const moveLotTypeFieldDownToBottom: (lotTypeFieldId: number | string) => boolean;
|
||||
export declare function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean;
|
||||
export declare function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): boolean;
|
||||
export default moveLotTypeFieldDown;
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
export const moveLotTypeFieldDown = (lotTypeFieldId) => {
|
||||
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")
|
||||
.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 = ?")
|
||||
|
|
@ -19,32 +18,32 @@ export const moveLotTypeFieldDown = (lotTypeFieldId) => {
|
|||
database.close();
|
||||
clearLotTypesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotTypeFieldDownToBottom = (lotTypeFieldId) => {
|
||||
}
|
||||
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 = ?")
|
||||
.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 > ?")
|
||||
.prepare(`update LotTypeFields
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ?
|
||||
and orderNumber > ?`)
|
||||
.run(currentField.lotTypeId, currentField.orderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotTypesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotTypeFieldDown;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotTypeFieldDown = (lotTypeFieldId: number | string): boolean => {
|
||||
export function moveLotTypeFieldDown(lotTypeFieldId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentField: { lotTypeId?: number; orderNumber: number } = database
|
||||
|
|
@ -13,11 +13,10 @@ export const moveLotTypeFieldDown = (lotTypeFieldId: number | string): boolean =
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotTypeFields" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId = ?" +
|
||||
" and orderNumber = ? + 1"
|
||||
`update LotTypeFields
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ? and orderNumber = ? + 1`
|
||||
)
|
||||
.run(currentField.lotTypeId, currentField.orderNumber);
|
||||
|
||||
|
|
@ -30,9 +29,9 @@ export const moveLotTypeFieldDown = (lotTypeFieldId: number | string): boolean =
|
|||
clearLotTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveLotTypeFieldDownToBottom = (lotTypeFieldId: number | string): boolean => {
|
||||
export function moveLotTypeFieldDownToBottom(lotTypeFieldId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentField: { lotTypeId?: number; orderNumber: number } = database
|
||||
|
|
@ -41,10 +40,10 @@ export const moveLotTypeFieldDownToBottom = (lotTypeFieldId: number | string): b
|
|||
|
||||
const maxOrderNumber: number = database
|
||||
.prepare(
|
||||
"select max(orderNumber) as maxOrderNumber" +
|
||||
" from LotTypeFields" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId = ?"
|
||||
`select max(orderNumber) as maxOrderNumber
|
||||
from LotTypeFields
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ?`
|
||||
)
|
||||
.get(currentField.lotTypeId).maxOrderNumber;
|
||||
|
||||
|
|
@ -55,11 +54,11 @@ export const moveLotTypeFieldDownToBottom = (lotTypeFieldId: number | string): b
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotTypeFields" +
|
||||
" set orderNumber = orderNumber - 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId = ?" +
|
||||
" and orderNumber > ?"
|
||||
`update LotTypeFields
|
||||
set orderNumber = orderNumber - 1
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ?
|
||||
and orderNumber > ?`
|
||||
)
|
||||
.run(currentField.lotTypeId, currentField.orderNumber);
|
||||
}
|
||||
|
|
@ -69,6 +68,6 @@ export const moveLotTypeFieldDownToBottom = (lotTypeFieldId: number | string): b
|
|||
clearLotTypesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotTypeFieldDown;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotTypeFieldUp: (lotTypeFieldId: number | string) => boolean;
|
||||
export declare const moveLotTypeFieldUpToTop: (lotTypeFieldId: number | string) => boolean;
|
||||
export declare function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean;
|
||||
export declare function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean;
|
||||
export default moveLotTypeFieldUp;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sqlite from "better-sqlite3";
|
||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
export const moveLotTypeFieldUp = (lotTypeFieldId) => {
|
||||
export function moveLotTypeFieldUp(lotTypeFieldId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentField = database
|
||||
.prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?")
|
||||
|
|
@ -11,11 +11,11 @@ export const moveLotTypeFieldUp = (lotTypeFieldId) => {
|
|||
return true;
|
||||
}
|
||||
database
|
||||
.prepare("update LotTypeFields" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId = ?" +
|
||||
" and orderNumber = ? - 1")
|
||||
.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 = ?")
|
||||
|
|
@ -23,8 +23,8 @@ export const moveLotTypeFieldUp = (lotTypeFieldId) => {
|
|||
database.close();
|
||||
clearLotTypesCache();
|
||||
return result.changes > 0;
|
||||
};
|
||||
export const moveLotTypeFieldUpToTop = (lotTypeFieldId) => {
|
||||
}
|
||||
export function moveLotTypeFieldUpToTop(lotTypeFieldId) {
|
||||
const database = sqlite(databasePath);
|
||||
const currentField = database
|
||||
.prepare("select lotTypeId, orderNumber from LotTypeFields where lotTypeFieldId = ?")
|
||||
|
|
@ -34,15 +34,15 @@ export const moveLotTypeFieldUpToTop = (lotTypeFieldId) => {
|
|||
.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 < ?")
|
||||
.prepare(`update LotTypeFields
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ?
|
||||
and orderNumber < ?`)
|
||||
.run(currentField.lotTypeId, currentField.orderNumber);
|
||||
}
|
||||
database.close();
|
||||
clearLotTypesCache();
|
||||
return true;
|
||||
};
|
||||
}
|
||||
export default moveLotTypeFieldUp;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|||
|
||||
import { clearLotTypesCache } from "../functions.cache.js";
|
||||
|
||||
export const moveLotTypeFieldUp = (lotTypeFieldId: number | string): boolean => {
|
||||
export function moveLotTypeFieldUp(lotTypeFieldId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentField: { lotTypeId: number; orderNumber: number } = database
|
||||
|
|
@ -18,11 +18,11 @@ export const moveLotTypeFieldUp = (lotTypeFieldId: number | string): boolean =>
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotTypeFields" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId = ?" +
|
||||
" and orderNumber = ? - 1"
|
||||
`update LotTypeFields
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ?
|
||||
and orderNumber = ? - 1`
|
||||
)
|
||||
.run(currentField.lotTypeId, currentField.orderNumber);
|
||||
|
||||
|
|
@ -35,9 +35,9 @@ export const moveLotTypeFieldUp = (lotTypeFieldId: number | string): boolean =>
|
|||
clearLotTypesCache();
|
||||
|
||||
return result.changes > 0;
|
||||
};
|
||||
}
|
||||
|
||||
export const moveLotTypeFieldUpToTop = (lotTypeFieldId: number | string): boolean => {
|
||||
export function moveLotTypeFieldUpToTop(lotTypeFieldId: number | string): boolean {
|
||||
const database = sqlite(databasePath);
|
||||
|
||||
const currentField: { lotTypeId: number; orderNumber: number } = database
|
||||
|
|
@ -51,11 +51,11 @@ export const moveLotTypeFieldUpToTop = (lotTypeFieldId: number | string): boolea
|
|||
|
||||
database
|
||||
.prepare(
|
||||
"update LotTypeFields" +
|
||||
" set orderNumber = orderNumber + 1" +
|
||||
" where recordDelete_timeMillis is null" +
|
||||
" and lotTypeId = ?" +
|
||||
" and orderNumber < ?"
|
||||
`update LotTypeFields
|
||||
set orderNumber = orderNumber + 1
|
||||
where recordDelete_timeMillis is null
|
||||
and lotTypeId = ?
|
||||
and orderNumber < ?`
|
||||
)
|
||||
.run(currentField.lotTypeId, currentField.orderNumber);
|
||||
}
|
||||
|
|
@ -65,6 +65,6 @@ export const moveLotTypeFieldUpToTop = (lotTypeFieldId: number | string): boolea
|
|||
clearLotTypesCache();
|
||||
|
||||
return true;
|
||||
};
|
||||
}
|
||||
|
||||
export default moveLotTypeFieldUp;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
export declare const moveLotTypeUp: (lotTypeId: number | string) => boolean;
|
||||
export declare const moveLotTypeUpToTop: (lotTypeId: number | string) => boolean;
|
||||
export declare function moveLotTypeUp(lotTypeId: number | string): boolean;
|
||||
export declare function moveLotTypeUpToTop(lotTypeId: number | string): boolean;
|
||||
export default moveLotTypeUp;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue