38 lines
965 B
TypeScript
38 lines
965 B
TypeScript
import type { Request, Response } from 'express'
|
|
|
|
import * as configFunctions from '../../helpers/functions.config.js'
|
|
import { getLotStatusSummary } from '../../helpers/lotOccupancyDB/getLotStatusSummary.js'
|
|
import { getLotTypeSummary } from '../../helpers/lotOccupancyDB/getLotTypeSummary.js'
|
|
import { getMap } from '../../helpers/lotOccupancyDB/getMap.js'
|
|
|
|
export async function handler(
|
|
request: Request,
|
|
response: Response
|
|
): Promise<void> {
|
|
const map = await getMap(request.params.mapId)
|
|
|
|
if (map === undefined) {
|
|
response.redirect(
|
|
`${configFunctions.getProperty('reverseProxy.urlPrefix')}/maps/?error=mapIdNotFound`
|
|
)
|
|
return
|
|
}
|
|
|
|
const lotTypeSummary = await getLotTypeSummary({
|
|
mapId: map.mapId
|
|
})
|
|
|
|
const lotStatusSummary = await getLotStatusSummary({
|
|
mapId: map.mapId
|
|
})
|
|
|
|
response.render('map-view', {
|
|
headTitle: map.mapName,
|
|
map,
|
|
lotTypeSummary,
|
|
lotStatusSummary
|
|
})
|
|
}
|
|
|
|
export default handler
|