linting
parent
f76f41ef63
commit
3e42fa5e78
|
|
@ -1,22 +1,26 @@
|
||||||
import type { RequestHandler } from "express";
|
import type {
|
||||||
|
RequestHandler
|
||||||
|
} from "express";
|
||||||
|
|
||||||
import * as configFunctions from "../../helpers/functions.config.js";
|
import * as configFunctions from "../../helpers/functions.config.js";
|
||||||
|
|
||||||
import { getMap } from "../../helpers/lotOccupancyDB/getMap.js";
|
import {
|
||||||
|
getMap
|
||||||
|
} from "../../helpers/lotOccupancyDB/getMap.js";
|
||||||
|
|
||||||
|
|
||||||
export const handler: RequestHandler = (request, response) => {
|
export const handler: RequestHandler = (request, response) => {
|
||||||
|
|
||||||
const map = getMap(request.params.mapId);
|
const map = getMap(request.params.mapId);
|
||||||
|
|
||||||
if (!map) {
|
if (!map) {
|
||||||
return response.redirect(configFunctions.getProperty("reverseProxy.urlPrefix") + "/maps/?error=mapIdNotFound");
|
return response.redirect(configFunctions.getProperty("reverseProxy.urlPrefix") + "/maps/?error=mapIdNotFound");
|
||||||
}
|
}
|
||||||
|
|
||||||
response.render("map-view", {
|
response.render("map-view", {
|
||||||
headTitle: map.mapName,
|
headTitle: map.mapName,
|
||||||
map
|
map
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
@ -18,36 +21,36 @@ interface AddLotForm {
|
||||||
|
|
||||||
|
|
||||||
export const addLot =
|
export const addLot =
|
||||||
(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number => {
|
(lotForm: AddLotForm, requestSession: recordTypes.PartialSession): number => {
|
||||||
|
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
const rightNowMillis = Date.now();
|
const rightNowMillis = Date.now();
|
||||||
|
|
||||||
const result = database
|
const result = database
|
||||||
.prepare("insert into Lots (" +
|
.prepare("insert into Lots (" +
|
||||||
"lotName, lotTypeId, lotStatusId," +
|
"lotName, lotTypeId, lotStatusId," +
|
||||||
" mapId, mapKey," +
|
" mapId, mapKey," +
|
||||||
" lotLatitude, lotLongitude," +
|
" lotLatitude, lotLongitude," +
|
||||||
" recordCreate_userName, recordCreate_timeMillis," +
|
" recordCreate_userName, recordCreate_timeMillis," +
|
||||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||||
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
" values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)")
|
||||||
.run(lotForm.lotName,
|
.run(lotForm.lotName,
|
||||||
lotForm.lotTypeId,
|
lotForm.lotTypeId,
|
||||||
(lotForm.lotStatusId === "" ? undefined : lotForm.lotStatusId),
|
(lotForm.lotStatusId === "" ? undefined : lotForm.lotStatusId),
|
||||||
(lotForm.mapId === "" ? undefined : lotForm.mapId),
|
(lotForm.mapId === "" ? undefined : lotForm.mapId),
|
||||||
lotForm.mapKey,
|
lotForm.mapKey,
|
||||||
(lotForm.lotLatitude === "" ? undefined : lotForm.lotLatitude),
|
(lotForm.lotLatitude === "" ? undefined : lotForm.lotLatitude),
|
||||||
(lotForm.lotLongitude === "" ? undefined : lotForm.lotLongitude),
|
(lotForm.lotLongitude === "" ? undefined : lotForm.lotLongitude),
|
||||||
requestSession.user.userName,
|
requestSession.user.userName,
|
||||||
rightNowMillis,
|
rightNowMillis,
|
||||||
requestSession.user.userName,
|
requestSession.user.userName,
|
||||||
rightNowMillis);
|
rightNowMillis);
|
||||||
|
|
||||||
database.close();
|
database.close();
|
||||||
|
|
||||||
return result.lastInsertRowid as number;
|
return result.lastInsertRowid as number;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export default addLot;
|
export default addLot;
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
import * as dateTimeFunctions from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
|
|
@ -13,31 +16,31 @@ interface AddLotCommentForm {
|
||||||
|
|
||||||
|
|
||||||
export const addLotComment =
|
export const addLotComment =
|
||||||
(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): number => {
|
(lotCommentForm: AddLotCommentForm, requestSession: recordTypes.PartialSession): number => {
|
||||||
|
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
|
|
||||||
const rightNow = new Date();
|
const rightNow = new Date();
|
||||||
|
|
||||||
const result = database
|
const result = database
|
||||||
.prepare("insert into LotComments (" +
|
.prepare("insert into LotComments (" +
|
||||||
"lotId, lotCommentDate, lotCommentTime, lotComment," +
|
"lotId, lotCommentDate, lotCommentTime, lotComment," +
|
||||||
" recordCreate_userName, recordCreate_timeMillis," +
|
" recordCreate_userName, recordCreate_timeMillis," +
|
||||||
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
" recordUpdate_userName, recordUpdate_timeMillis)" +
|
||||||
" values (?, ?, ?, ?, ?, ?, ?, ?)")
|
" values (?, ?, ?, ?, ?, ?, ?, ?)")
|
||||||
.run(lotCommentForm.lotId,
|
.run(lotCommentForm.lotId,
|
||||||
dateTimeFunctions.dateToInteger(rightNow),
|
dateTimeFunctions.dateToInteger(rightNow),
|
||||||
dateTimeFunctions.dateToTimeInteger(rightNow),
|
dateTimeFunctions.dateToTimeInteger(rightNow),
|
||||||
lotCommentForm.lotComment,
|
lotCommentForm.lotComment,
|
||||||
requestSession.user.userName,
|
requestSession.user.userName,
|
||||||
rightNow.getTime(),
|
rightNow.getTime(),
|
||||||
requestSession.user.userName,
|
requestSession.user.userName,
|
||||||
rightNow.getTime());
|
rightNow.getTime());
|
||||||
|
|
||||||
database.close();
|
database.close();
|
||||||
|
|
||||||
return result.lastInsertRowid as number;
|
return result.lastInsertRowid as number;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export default addLotComment;
|
export default addLotComment;
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateStringToInteger, dateToInteger, dateToTimeInteger, timeStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
export const addLotOccupancyTransaction = (lotOccupancyTransactionForm, requestSession) => {
|
export const addLotOccupancyTransaction = (lotOccupancyTransactionForm, requestSession) => {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
let transactionIndex = 0;
|
let transactionIndex = 0;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
dateStringToInteger,
|
dateStringToInteger,
|
||||||
dateToInteger,
|
dateToInteger,
|
||||||
dateToTimeInteger,
|
dateToTimeInteger,
|
||||||
timeStringToInteger
|
timeStringToInteger
|
||||||
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
import sqlite from "better-sqlite3";
|
|
||||||
|
|
||||||
import {
|
|
||||||
lotOccupancyDB as databasePath
|
|
||||||
} from "../../data/databasePaths.js";
|
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,13 +4,16 @@ import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
clearOccupancyTypesCache
|
||||||
|
} from "../functions.cache.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
import { clearOccupancyTypesCache } from "../functions.cache.js";
|
|
||||||
|
|
||||||
|
|
||||||
interface AddOccupancyTypeForm {
|
interface AddOccupancyTypeForm {
|
||||||
occupancyType: string;
|
occupancyType: string;
|
||||||
orderNumber?: number;
|
orderNumber ? : number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
export const addWorkOrder = (workOrderForm, requestSession) => {
|
export const addWorkOrder = (workOrderForm, requestSession) => {
|
||||||
const database = sqlite(databasePath);
|
const database = sqlite(databasePath);
|
||||||
const rightNow = new Date();
|
const rightNow = new Date();
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
import { dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateStringToInteger,
|
||||||
|
dateToInteger
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12,8 +16,8 @@ interface AddWorkOrderForm {
|
||||||
workOrderTypeId: number | string;
|
workOrderTypeId: number | string;
|
||||||
workOrderNumber: string;
|
workOrderNumber: string;
|
||||||
workOrderDescription: string;
|
workOrderDescription: string;
|
||||||
workOrderOpenDateString?: string;
|
workOrderOpenDateString ? : string;
|
||||||
workOrderCloseDateString?: string;
|
workOrderCloseDateString ? : string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
export const getLotComments = (lotId, connectedDatabase) => {
|
export const getLotComments = (lotId, connectedDatabase) => {
|
||||||
const database = connectedDatabase || sqlite(databasePath, {
|
const database = connectedDatabase || sqlite(databasePath, {
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateIntegerToString,
|
||||||
|
timeIntegerToString
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateIntegerToString, dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateIntegerToString, dateStringToInteger, dateToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
import { getLotOccupancyOccupants } from "./getLotOccupancyOccupants.js";
|
import { getLotOccupancyOccupants } from "./getLotOccupancyOccupants.js";
|
||||||
export const getLotOccupancies = (filters, options, connectedDatabase) => {
|
export const getLotOccupancies = (filters, options, connectedDatabase) => {
|
||||||
const database = connectedDatabase || sqlite(databasePath, {
|
const database = connectedDatabase || sqlite(databasePath, {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,15 @@
|
||||||
import {
|
|
||||||
dateIntegerToString,
|
|
||||||
dateStringToInteger,
|
|
||||||
dateToInteger
|
|
||||||
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateIntegerToString,
|
||||||
|
dateStringToInteger,
|
||||||
|
dateToInteger
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getLotOccupancyOccupants
|
getLotOccupancyOccupants
|
||||||
} from "./getLotOccupancyOccupants.js";
|
} from "./getLotOccupancyOccupants.js";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
import { getLotOccupancyOccupants } from "./getLotOccupancyOccupants.js";
|
import { getLotOccupancyOccupants } from "./getLotOccupancyOccupants.js";
|
||||||
import { getLotOccupancyComments } from "./getLotOccupancyComments.js";
|
import { getLotOccupancyComments } from "./getLotOccupancyComments.js";
|
||||||
import { getLotOccupancyFields } from "./getLotOccupancyFields.js";
|
import { getLotOccupancyFields } from "./getLotOccupancyFields.js";
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import {
|
|
||||||
dateIntegerToString
|
|
||||||
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateIntegerToString
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getLotOccupancyOccupants
|
getLotOccupancyOccupants
|
||||||
} from "./getLotOccupancyOccupants.js";
|
} from "./getLotOccupancyOccupants.js";
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
export const getLotOccupancyComments = (lotOccupancyId, connectedDatabase) => {
|
export const getLotOccupancyComments = (lotOccupancyId, connectedDatabase) => {
|
||||||
const database = connectedDatabase || sqlite(databasePath, {
|
const database = connectedDatabase || sqlite(databasePath, {
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateIntegerToString,
|
||||||
|
timeIntegerToString
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
export const getLotOccupancyTransactions = (lotOccupancyId, connectedDatabase) => {
|
export const getLotOccupancyTransactions = (lotOccupancyId, connectedDatabase) => {
|
||||||
const database = connectedDatabase || sqlite(databasePath, {
|
const database = connectedDatabase || sqlite(databasePath, {
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,14 @@
|
||||||
import { dateIntegerToString, timeIntegerToString } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateIntegerToString,
|
||||||
|
timeIntegerToString
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -19,15 +23,15 @@ export const getLotOccupancyTransactions = (lotOccupancyId: number | string,
|
||||||
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
database.function("userFn_timeIntegerToString", timeIntegerToString);
|
||||||
|
|
||||||
const lotOccupancyTransactions: recordTypes.LotOccupancyTransaction[] = database
|
const lotOccupancyTransactions: recordTypes.LotOccupancyTransaction[] = database
|
||||||
.prepare("select lotOccupancyId, transactionIndex," +
|
.prepare("select lotOccupancyId, transactionIndex," +
|
||||||
" transactionDate, userFn_dateIntegerToString(transactionDate) as transactionDateString," +
|
" transactionDate, userFn_dateIntegerToString(transactionDate) as transactionDateString," +
|
||||||
" transactionTime, userFn_timeIntegerToString(transactionTime) as transactionTimeString," +
|
" transactionTime, userFn_timeIntegerToString(transactionTime) as transactionTimeString," +
|
||||||
" transactionAmount, externalReceiptNumber, transactionNote" +
|
" transactionAmount, externalReceiptNumber, transactionNote" +
|
||||||
" from LotOccupancyTransactions" +
|
" from LotOccupancyTransactions" +
|
||||||
" where recordDelete_timeMillis is null" +
|
" where recordDelete_timeMillis is null" +
|
||||||
" and lotOccupancyId = ?" +
|
" and lotOccupancyId = ?" +
|
||||||
" order by transactionDate, transactionTime, transactionIndex")
|
" order by transactionDate, transactionTime, transactionIndex")
|
||||||
.all(lotOccupancyId);
|
.all(lotOccupancyId);
|
||||||
|
|
||||||
if (!connectedDatabase) {
|
if (!connectedDatabase) {
|
||||||
database.close();
|
database.close();
|
||||||
|
|
|
||||||
|
|
@ -1,38 +1,41 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
||||||
export const getMap = (mapId: number | string): recordTypes.Map => {
|
export const getMap = (mapId: number | string): recordTypes.Map => {
|
||||||
|
|
||||||
const database = sqlite(databasePath, {
|
const database = sqlite(databasePath, {
|
||||||
readonly: true
|
readonly: true
|
||||||
});
|
});
|
||||||
|
|
||||||
const map: recordTypes.Map = database
|
const map: recordTypes.Map = database
|
||||||
.prepare("select m.mapId, m.mapName, m.mapDescription," +
|
.prepare("select m.mapId, m.mapName, m.mapDescription," +
|
||||||
" m.mapLatitude, m.mapLongitude, m.mapSVG," +
|
" m.mapLatitude, m.mapLongitude, m.mapSVG," +
|
||||||
" m.mapAddress1, m.mapAddress2, m.mapCity, m.mapProvince, m.mapPostalCode, m.mapPhoneNumber," +
|
" m.mapAddress1, m.mapAddress2, m.mapCity, m.mapProvince, m.mapPostalCode, m.mapPhoneNumber," +
|
||||||
" m.recordCreate_userName, m.recordCreate_timeMillis," +
|
" m.recordCreate_userName, m.recordCreate_timeMillis," +
|
||||||
" m.recordUpdate_userName, m.recordUpdate_timeMillis," +
|
" m.recordUpdate_userName, m.recordUpdate_timeMillis," +
|
||||||
" m.recordDelete_userName, m.recordDelete_timeMillis," +
|
" m.recordDelete_userName, m.recordDelete_timeMillis," +
|
||||||
" count(l.lotId) as lotCount" +
|
" count(l.lotId) as lotCount" +
|
||||||
" from Maps m" +
|
" from Maps m" +
|
||||||
" left join Lots l on m.mapId = l.mapId and l.recordDelete_timeMillis is null" +
|
" left join Lots l on m.mapId = l.mapId and l.recordDelete_timeMillis is null" +
|
||||||
" where m.mapId = ?" +
|
" where m.mapId = ?" +
|
||||||
" group by m.mapId, m.mapName, m.mapDescription," +
|
" group by m.mapId, m.mapName, m.mapDescription," +
|
||||||
" m.mapLatitude, m.mapLongitude, m.mapSVG," +
|
" m.mapLatitude, m.mapLongitude, m.mapSVG," +
|
||||||
" m.mapAddress1, m.mapAddress2, m.mapCity, m.mapProvince, m.mapPostalCode, m.mapPhoneNumber," +
|
" m.mapAddress1, m.mapAddress2, m.mapCity, m.mapProvince, m.mapPostalCode, m.mapPhoneNumber," +
|
||||||
" m.recordCreate_userName, m.recordCreate_timeMillis," +
|
" m.recordCreate_userName, m.recordCreate_timeMillis," +
|
||||||
" m.recordUpdate_userName, m.recordUpdate_timeMillis," +
|
" m.recordUpdate_userName, m.recordUpdate_timeMillis," +
|
||||||
" m.recordDelete_userName, m.recordDelete_timeMillis")
|
" m.recordDelete_userName, m.recordDelete_timeMillis")
|
||||||
.get(mapId);
|
.get(mapId);
|
||||||
|
|
||||||
database.close();
|
database.close();
|
||||||
|
|
||||||
return map;
|
return map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
export default getMap;
|
export default getMap;
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
@ -9,14 +12,14 @@ interface UpdateFeeForm {
|
||||||
feeCategoryId: string;
|
feeCategoryId: string;
|
||||||
feeName: string;
|
feeName: string;
|
||||||
feeDescription: string;
|
feeDescription: string;
|
||||||
occupancyTypeId?: string;
|
occupancyTypeId ? : string;
|
||||||
lotTypeId?: string;
|
lotTypeId ? : string;
|
||||||
feeAmount?: string;
|
feeAmount ? : string;
|
||||||
feeFunction?: string;
|
feeFunction ? : string;
|
||||||
taxAmount?: string;
|
taxAmount ? : string;
|
||||||
taxPercentage?: string;
|
taxPercentage ? : string;
|
||||||
includeQuantity: "" | "1";
|
includeQuantity: "" | "1";
|
||||||
quantityUnit?: string;
|
quantityUnit ? : string;
|
||||||
isRequired: "" | "1";
|
isRequired: "" | "1";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,8 @@
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
|
||||||
|
import {
|
||||||
|
lotOccupancyDB as databasePath
|
||||||
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { dateStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
import { lotOccupancyDB as databasePath } from "../../data/databasePaths.js";
|
||||||
|
import { dateStringToInteger } from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
import { addOrUpdateLotOccupancyField } from "./addOrUpdateLotOccupancyField.js";
|
import { addOrUpdateLotOccupancyField } from "./addOrUpdateLotOccupancyField.js";
|
||||||
import { deleteLotOccupancyField } from "./deleteLotOccupancyField.js";
|
import { deleteLotOccupancyField } from "./deleteLotOccupancyField.js";
|
||||||
export function updateLotOccupancy(lotOccupancyForm, requestSession) {
|
export function updateLotOccupancy(lotOccupancyForm, requestSession) {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import {
|
|
||||||
dateStringToInteger
|
|
||||||
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
|
||||||
|
|
||||||
import sqlite from "better-sqlite3";
|
import sqlite from "better-sqlite3";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
lotOccupancyDB as databasePath
|
lotOccupancyDB as databasePath
|
||||||
} from "../../data/databasePaths.js";
|
} from "../../data/databasePaths.js";
|
||||||
|
|
||||||
|
import {
|
||||||
|
dateStringToInteger
|
||||||
|
} from "@cityssm/expressjs-server-js/dateTimeFns.js";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
addOrUpdateLotOccupancyField
|
addOrUpdateLotOccupancyField
|
||||||
} from "./addOrUpdateLotOccupancyField.js";
|
} from "./addOrUpdateLotOccupancyField.js";
|
||||||
|
|
@ -18,6 +18,7 @@ import {
|
||||||
|
|
||||||
import type * as recordTypes from "../../types/recordTypes";
|
import type * as recordTypes from "../../types/recordTypes";
|
||||||
|
|
||||||
|
|
||||||
interface UpdateLotOccupancyForm {
|
interface UpdateLotOccupancyForm {
|
||||||
lotOccupancyId: string | number;
|
lotOccupancyId: string | number;
|
||||||
occupancyTypeId: string | number;
|
occupancyTypeId: string | number;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue