import sqlite from 'better-sqlite3' import { lotOccupancyDB as databasePath } from '../../data/databasePaths.js' import type * as recordTypes from '../../types/recordTypes' interface UpdateMapForm { mapId: string mapName: string mapDescription: string mapSVG: string mapLatitude: string mapLongitude: string mapAddress1: string mapAddress2: string mapCity: string mapProvince: string mapPostalCode: string mapPhoneNumber: string } export function updateMap( mapForm: UpdateMapForm, requestSession: recordTypes.PartialSession ): boolean { const database = sqlite(databasePath) const rightNowMillis = Date.now() const result = database .prepare( `update Maps set mapName = ?, mapDescription = ?, mapSVG = ?, mapLatitude = ?, mapLongitude = ?, mapAddress1 = ?, mapAddress2 = ?, mapCity = ?, mapProvince = ?, mapPostalCode = ?, mapPhoneNumber = ?, recordUpdate_userName = ?, recordUpdate_timeMillis = ? where mapId = ? and recordDelete_timeMillis is null` ) .run( mapForm.mapName, mapForm.mapDescription, mapForm.mapSVG, mapForm.mapLatitude === '' ? undefined : mapForm.mapLatitude, mapForm.mapLongitude === '' ? undefined : mapForm.mapLongitude, mapForm.mapAddress1, mapForm.mapAddress2, mapForm.mapCity, mapForm.mapProvince, mapForm.mapPostalCode, mapForm.mapPhoneNumber, requestSession.user!.userName, rightNowMillis, mapForm.mapId ) database.close() return result.changes > 0 } export default updateMap