From 66a697e097a473687f90ed40f6fa7e72ce83b292 Mon Sep 17 00:00:00 2001 From: Dan Gowans Date: Fri, 28 Mar 2025 10:47:21 -0400 Subject: [PATCH] burial site images - make cemetery svgs and burial site images only available to logged in users --- app.js | 50 +++++---- app.ts | 106 ++++++++++-------- database/addBurialSite.d.ts | 1 + database/addBurialSite.js | 4 +- database/addBurialSite.ts | 4 +- database/getBurialSite.js | 2 +- database/getBurialSite.ts | 2 +- database/initializeDatabase.js | 2 + database/initializeDatabase.ts | 2 + database/updateBurialSite.d.ts | 1 + database/updateBurialSite.js | 3 +- database/updateBurialSite.ts | 3 + handlers/burialSites-get/edit.js | 7 +- handlers/burialSites-get/edit.ts | 9 +- handlers/burialSites-get/new.js | 7 +- handlers/burialSites-get/new.ts | 9 +- handlers/burialSites-get/view.ts | 1 + handlers/cemeteries-get/edit.js | 8 +- handlers/cemeteries-get/edit.ts | 10 +- handlers/cemeteries-get/new.js | 6 +- handlers/cemeteries-get/new.ts | 7 +- helpers/cemeteries.helpers.d.ts | 1 - helpers/cemeteries.helpers.js | 15 --- helpers/cemeteries.helpers.ts | 21 ---- helpers/images.helpers.d.ts | 2 + helpers/images.helpers.js | 32 ++++++ helpers/images.helpers.ts | 46 ++++++++ package.json | 4 +- public-internal/README.md | 1 + public-internal/images/burialSites/roses.jpg | Bin 0 -> 213756 bytes ...metery.holySepulchre-block-A-rows-1-52.svg | 0 ...etery.holySepulchre-block-A-rows-53-97.svg | 0 ...emetery.holySepulchre-block-A-rows-B-T.svg | 0 ...olySepulchre-block-A-urnRanges-52A-53A.svg | 0 ...olySepulchre-block-A-urnRanges-72A-73A.svg | 0 ...olySepulchre-block-A-urnRanges-97A-97B.svg | 0 ...metery.holySepulchre-block-B-rows-1-52.svg | 0 ...etery.holySepulchre-block-B-rows-53-97.svg | 0 ...emetery.holySepulchre-block-B-rows-B-T.svg | 0 ...metery.holySepulchre-block-C-rows-1-36.svg | 0 ...emetery.holySepulchre-block-C-rows-B-U.svg | 0 ...etery.holySepulchre-block-D-babyShrine.svg | 0 ...emetery.holySepulchre-block-D-rows-A-L.svg | 0 ...emetery.holySepulchre-block-D-rows-M-V.svg | 0 ...ry.holySepulchre-block-E-sectionCenter.svg | 0 ...tery.holySepulchre-block-E-sectionEast.svg | 0 ...tery.holySepulchre-block-E-sectionWest.svg | 0 ...metery.holySepulchre-block-F-rows-1-22.svg | 0 ...metery.holySepulchre-block-G-rows-1-32.svg | 0 ...metery.holySepulchre-block-H-rows-1-16.svg | 0 ...metery.holySepulchre-block-J-rows-1-18.svg | 0 ...metery.holySepulchre-block-K-rows-1-19.svg | 0 ...cemetery.holySepulchre-columbarium-O-P.svg | 0 ...m.cemetery.holySepulchre-columbarium-S.svg | 0 ...m.cemetery.holySepulchre-columbarium-T.svg | 0 ...m.cemetery.holySepulchre-columbarium-U.svg | 0 ...m.cemetery.holySepulchre-columbarium-V.svg | 0 ...m.cemetery.holySepulchre-columbarium-W.svg | 0 .../ssm.cemetery.holySepulchre-image.svg | 0 ....cemetery.holySepulchre-mausoleum-east.svg | 0 ...cemetery.holySepulchre-mausoleum-image.svg | 0 ...tery.holySepulchre-mausoleum-niche-J-E.svg | 0 ...tery.holySepulchre-mausoleum-niche-J-W.svg | 0 ...tery.holySepulchre-mausoleum-niche-L-E.svg | 0 ...tery.holySepulchre-mausoleum-niche-L-W.svg | 0 ...metery.holySepulchre-mausoleum-niche-L.svg | 0 ...tery.holySepulchre-mausoleum-niche-M-E.svg | 0 ...tery.holySepulchre-mausoleum-niche-M-W.svg | 0 ...metery.holySepulchre-mausoleum-niche-M.svg | 0 ...tery.holySepulchre-mausoleum-section-T.svg | 0 ...tery.holySepulchre-mausoleum-section-U.svg | 0 ....cemetery.holySepulchre-mausoleum-west.svg | 0 .../ssm.cemetery.holySepulchre-overview.svg | 0 ...sm.cemetery.newGreenwood-columbarium-A.svg | 0 ...sm.cemetery.newGreenwood-columbarium-B.svg | 0 ...sm.cemetery.newGreenwood-columbarium-C.svg | 0 ...sm.cemetery.newGreenwood-columbarium-D.svg | 0 ...sm.cemetery.newGreenwood-columbarium-E.svg | 0 ...sm.cemetery.newGreenwood-columbarium-F.svg | 0 ...sm.cemetery.newGreenwood-columbarium-G.svg | 0 ...sm.cemetery.newGreenwood-columbarium-H.svg | 0 ...sm.cemetery.newGreenwood-columbarium-I.svg | 0 ...sm.cemetery.newGreenwood-columbarium-J.svg | 0 ...sm.cemetery.newGreenwood-columbarium-K.svg | 0 ...sm.cemetery.newGreenwood-columbarium-L.svg | 0 ...sm.cemetery.newGreenwood-columbarium-M.svg | 0 ...sm.cemetery.newGreenwood-columbarium-N.svg | 0 .../ssm.cemetery.newGreenwood-image.svg | 0 ...m.cemetery.newGreenwood-infantsSection.svg | 0 ...m.cemetery.newGreenwood-nicheWall-1-40.svg | 0 ....cemetery.newGreenwood-nicheWall-41-80.svg | 0 ...cemetery.newGreenwood-nicheWall-81-106.svg | 0 .../ssm.cemetery.newGreenwood-overview.svg | 0 ...etery.newGreenwood-rows-1-31-lots 3-21.svg | 0 ...tery.newGreenwood-rows-1-31-lots-22-46.svg | 0 ...ery.newGreenwood-rows-25-61-lots-47-59.svg | 0 ...ery.newGreenwood-rows-33-60-lots-4-21A.svg | 0 ...ery.newGreenwood-rows-33-61-lots-22-46.svg | 0 ...ery.newGreenwood-rows-63-94-lots-24-40.svg | 0 ...ery.newGreenwood-rows-63-94-lots-47-59.svg | 0 ...ery.newGreenwood-rows-66-95-lots-12-24.svg | 0 .../ssm.cemetery.newGreenwood-urnGarden.svg | 0 ....cemetery.newGreenwood-veteransSection.svg | 0 .../ssm.cemetery.oldGreenwood-babySection.svg | 0 ...reenwood-eastNorth-rows-1-18-lots-1-11.svg | 0 ...eenwood-eastNorth-rows-1-18-lots-12-17.svg | 0 ...eenwood-eastNorth-rows-19-38-lots-1-11.svg | 0 ...enwood-eastNorth-rows-19-38-lots-12-17.svg | 0 ...enwood-eastSouthA-rows-1-18-lots 23-31.svg | 0 ...eenwood-eastSouthA-rows-1-18-lots-1-22.svg | 0 ...enwood-eastSouthA-rows-19-32-lots-1-22.svg | 0 ...nwood-eastSouthA-rows-19-32-lots-23-31.svg | 0 ...enwood-eastSouthB-lots-33-45-rows-1-22.svg | 0 ...nwood-eastSouthB-rows-33-57-lots 23-31.svg | 0 ...nwood-eastSouthB-rows-46-57-lots-11-24.svg | 0 .../ssm.cemetery.oldGreenwood-image.svg | 0 .../ssm.cemetery.oldGreenwood-overview.svg | 0 ...emetery.oldGreenwood-westSection-image.svg | 0 .../ssm.cemetery.oldGreenwood-westSection.svg | 0 .../ssm.cemetery.pineGrove-overview.svg | 0 .../ssm.cemetery.westKorah-eastSection.svg | 0 .../ssm.cemetery.westKorah-northSection.svg | 0 .../ssm.cemetery.westKorah-overview.svg | 0 .../ssm.cemetery.westKorah-westSection.svg | 0 types/recordTypes.d.ts | 1 + types/recordTypes.ts | 2 + views/burialSite-edit.ejs | 15 +++ views/burialSite-view.ejs | 29 +++-- views/cemetery-edit.ejs | 2 +- views/cemetery-view.ejs | 6 +- 130 files changed, 274 insertions(+), 147 deletions(-) delete mode 100644 helpers/cemeteries.helpers.d.ts delete mode 100644 helpers/cemeteries.helpers.js delete mode 100644 helpers/cemeteries.helpers.ts create mode 100644 helpers/images.helpers.d.ts create mode 100644 helpers/images.helpers.js create mode 100644 helpers/images.helpers.ts create mode 100644 public-internal/README.md create mode 100644 public-internal/images/burialSites/roses.jpg rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-image.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-image.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.pineGrove-overview.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.westKorah-northSection.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.westKorah-overview.svg (100%) rename {public => public-internal}/images/cemeteries/ssm.cemetery.westKorah-westSection.svg (100%) diff --git a/app.js b/app.js index 79f5a0a7..e12763d9 100644 --- a/app.js +++ b/app.js @@ -1,4 +1,5 @@ import path from 'node:path'; +import { secondsToMillis } from '@cityssm/to-millis'; import * as dateTimeFunctions from '@cityssm/utils-datetime'; import compression from 'compression'; import cookieParser from 'cookie-parser'; @@ -27,7 +28,6 @@ import routerPrint from './routes/print.js'; import routerReports from './routes/reports.js'; import routerWorkOrders from './routes/workOrders.js'; import { version } from './version.js'; -import { secondsToMillis } from '@cityssm/to-millis'; const debug = Debug(`${DEBUG_NAMESPACE}:app:${process.pid}`); /* * INITIALIZE APP @@ -65,23 +65,6 @@ app.use(rateLimit({ max: useTestDatabases ? 1_000_000 : 200, windowMs: secondsToMillis(10) })); -/* - * STATIC ROUTES - */ -const urlPrefix = configFunctions.getConfigProperty('reverseProxy.urlPrefix'); -if (urlPrefix !== '') { - debug(`urlPrefix = ${urlPrefix}`); -} -app.use(urlPrefix, express.static(path.join('public'))); -app.use(`${urlPrefix}/lib/bulma`, express.static(path.join('node_modules', 'bulma', 'css'))); -app.use(`${urlPrefix}/lib/bulma-tooltip`, express.static(path.join('node_modules', 'bulma-tooltip', 'dist', 'css'))); -app.use(`${urlPrefix}/lib/cityssm-bulma-js/bulma-js.js`, express.static(path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js'))); -app.use(`${urlPrefix}/lib/cityssm-fa-glow`, express.static(path.join('node_modules', '@cityssm', 'fa-glow'))); -app.use(`${urlPrefix}/lib/cityssm-bulma-sticky-table`, express.static(path.join('node_modules', '@cityssm', 'bulma-sticky-table'))); -app.use(`${urlPrefix}/lib/cityssm-bulma-webapp-js`, express.static(path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist'))); -app.use(`${urlPrefix}/lib/fa`, express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))); -app.use(`${urlPrefix}/lib/leaflet`, express.static(path.join('node_modules', 'leaflet', 'dist'))); -app.use(`${urlPrefix}/lib/randomcolor/randomColor.js`, express.static(path.join('node_modules', 'randomcolor', 'randomColor.js'))); /* * SESSION MANAGEMENT */ @@ -112,6 +95,34 @@ app.use((request, response, next) => { } next(); }); +/* + * STATIC ROUTES + */ +const urlPrefix = configFunctions.getConfigProperty('reverseProxy.urlPrefix'); +if (urlPrefix !== '') { + debug(`urlPrefix = ${urlPrefix}`); +} +app.use(`${urlPrefix}/internal`, (request, response, next) => { + if (Object.hasOwn(request.session, 'user') && + Object.hasOwn(request.cookies, sessionCookieName)) { + next(); + return; + } + response.sendStatus(403); +}, express.static(path.join('public-internal'))); +app.use(urlPrefix, express.static(path.join('public'))); +app.use(`${urlPrefix}/lib/bulma`, express.static(path.join('node_modules', 'bulma', 'css'))); +app.use(`${urlPrefix}/lib/bulma-tooltip`, express.static(path.join('node_modules', 'bulma-tooltip', 'dist', 'css'))); +app.use(`${urlPrefix}/lib/cityssm-bulma-js/bulma-js.js`, express.static(path.join('node_modules', '@cityssm', 'bulma-js', 'dist', 'bulma-js.js'))); +app.use(`${urlPrefix}/lib/cityssm-fa-glow`, express.static(path.join('node_modules', '@cityssm', 'fa-glow'))); +app.use(`${urlPrefix}/lib/cityssm-bulma-sticky-table`, express.static(path.join('node_modules', '@cityssm', 'bulma-sticky-table'))); +app.use(`${urlPrefix}/lib/cityssm-bulma-webapp-js`, express.static(path.join('node_modules', '@cityssm', 'bulma-webapp-js', 'dist'))); +app.use(`${urlPrefix}/lib/fa`, express.static(path.join('node_modules', '@fortawesome', 'fontawesome-free'))); +app.use(`${urlPrefix}/lib/leaflet`, express.static(path.join('node_modules', 'leaflet', 'dist'))); +app.use(`${urlPrefix}/lib/randomcolor/randomColor.js`, express.static(path.join('node_modules', 'randomcolor', 'randomColor.js'))); +/* + * ROUTES + */ // Redirect logged in users const sessionChecker = (request, response, next) => { if (Object.hasOwn(request.session, 'user') && @@ -122,9 +133,6 @@ const sessionChecker = (request, response, next) => { const redirectUrl = getSafeRedirectURL(request.originalUrl); response.redirect(`${urlPrefix}/login?redirect=${encodeURIComponent(redirectUrl)}`); }; -/* - * ROUTES - */ // Make the user and config objects available to the templates app.use((request, response, next) => { response.locals.buildNumber = version; diff --git a/app.ts b/app.ts index 4eefc12c..4736dd6b 100644 --- a/app.ts +++ b/app.ts @@ -1,5 +1,6 @@ import path from 'node:path' +import { secondsToMillis } from '@cityssm/to-millis' import * as dateTimeFunctions from '@cityssm/utils-datetime' import compression from 'compression' import cookieParser from 'cookie-parser' @@ -29,7 +30,6 @@ import routerPrint from './routes/print.js' import routerReports from './routes/reports.js' import routerWorkOrders from './routes/workOrders.js' import { version } from './version.js' -import { secondsToMillis } from '@cityssm/to-millis' const debug = Debug(`${DEBUG_NAMESPACE}:app:${process.pid}`) @@ -87,6 +87,49 @@ app.use( }) ) +/* + * SESSION MANAGEMENT + */ + +const sessionCookieName: string = + configFunctions.getConfigProperty('session.cookieName') + +const FileStoreSession = FileStore(session) + +// Initialize session +app.use( + session({ + name: sessionCookieName, + + cookie: { + maxAge: configFunctions.getConfigProperty('session.maxAgeMillis'), + sameSite: 'strict' + }, + secret: configFunctions.getConfigProperty('session.secret'), + store: new FileStoreSession({ + logFn: Debug(`${DEBUG_NAMESPACE}:session:${process.pid}`), + path: './data/sessions', + retries: 20 + }), + + resave: true, + rolling: true, + saveUninitialized: false + }) +) + +// Clear cookie if no corresponding session +app.use((request, response, next) => { + if ( + Object.hasOwn(request.cookies, sessionCookieName) && + !Object.hasOwn(request.session, 'user') + ) { + response.clearCookie(sessionCookieName) + } + + next() +}) + /* * STATIC ROUTES */ @@ -97,6 +140,22 @@ if (urlPrefix !== '') { debug(`urlPrefix = ${urlPrefix}`) } +app.use( + `${urlPrefix}/internal`, + (request, response, next) => { + if ( + Object.hasOwn(request.session, 'user') && + Object.hasOwn(request.cookies, sessionCookieName) + ) { + next() + return + } + + response.sendStatus(403) + }, + express.static(path.join('public-internal')) +) + app.use(urlPrefix, express.static(path.join('public'))) app.use( @@ -149,48 +208,9 @@ app.use( ) /* - * SESSION MANAGEMENT + * ROUTES */ -const sessionCookieName: string = - configFunctions.getConfigProperty('session.cookieName') - -const FileStoreSession = FileStore(session) - -// Initialize session -app.use( - session({ - name: sessionCookieName, - - cookie: { - maxAge: configFunctions.getConfigProperty('session.maxAgeMillis'), - sameSite: 'strict' - }, - secret: configFunctions.getConfigProperty('session.secret'), - store: new FileStoreSession({ - logFn: Debug(`${DEBUG_NAMESPACE}:session:${process.pid}`), - path: './data/sessions', - retries: 20 - }), - - resave: true, - rolling: true, - saveUninitialized: false - }) -) - -// Clear cookie if no corresponding session -app.use((request, response, next) => { - if ( - Object.hasOwn(request.cookies, sessionCookieName) && - !Object.hasOwn(request.session, 'user') - ) { - response.clearCookie(sessionCookieName) - } - - next() -}) - // Redirect logged in users const sessionChecker = ( request: express.Request, @@ -212,10 +232,6 @@ const sessionChecker = ( ) } -/* - * ROUTES - */ - // Make the user and config objects available to the templates app.use((request, response, next) => { diff --git a/database/addBurialSite.d.ts b/database/addBurialSite.d.ts index 67a30b4e..96cc8a2b 100644 --- a/database/addBurialSite.d.ts +++ b/database/addBurialSite.d.ts @@ -6,6 +6,7 @@ export interface AddBurialSiteForm { burialSiteNameSegment5?: string; burialSiteStatusId: number | string; burialSiteTypeId: number | string; + burialSiteImage: string; cemeteryId: number | string; cemeterySvgId: string; burialSiteLatitude: string; diff --git a/database/addBurialSite.js b/database/addBurialSite.js index 708de21c..d4cc6020 100644 --- a/database/addBurialSite.js +++ b/database/addBurialSite.js @@ -37,7 +37,7 @@ export default async function addBurialSite(burialSiteForm, user) { burialSiteNameSegment5, burialSiteName, burialSiteTypeId, burialSiteStatusId, - cemeteryId, cemeterySvgId, + cemeteryId, cemeterySvgId, burialSiteImage, burialSiteLatitude, burialSiteLongitude, recordCreate_userName, recordCreate_timeMillis, @@ -47,7 +47,7 @@ export default async function addBurialSite(burialSiteForm, user) { ?, ?, ?, ?)`) .run(burialSiteForm.burialSiteNameSegment1, burialSiteForm.burialSiteNameSegment2 ?? '', burialSiteForm.burialSiteNameSegment3 ?? '', burialSiteForm.burialSiteNameSegment4 ?? '', burialSiteForm.burialSiteNameSegment5 ?? '', burialSiteName, burialSiteForm.burialSiteTypeId, burialSiteForm.burialSiteStatusId === '' ? undefined - : burialSiteForm.burialSiteStatusId, burialSiteForm.cemeteryId === '' ? undefined : burialSiteForm.cemeteryId, burialSiteForm.cemeterySvgId, burialSiteForm.burialSiteLatitude === '' + : burialSiteForm.burialSiteStatusId, burialSiteForm.cemeteryId === '' ? undefined : burialSiteForm.cemeteryId, burialSiteForm.cemeterySvgId, burialSiteForm.burialSiteImage, burialSiteForm.burialSiteLatitude === '' ? undefined : burialSiteForm.burialSiteLatitude, burialSiteForm.burialSiteLongitude === '' ? undefined diff --git a/database/addBurialSite.ts b/database/addBurialSite.ts index 042b7f35..983259b5 100644 --- a/database/addBurialSite.ts +++ b/database/addBurialSite.ts @@ -14,6 +14,7 @@ export interface AddBurialSiteForm { burialSiteStatusId: number | string burialSiteTypeId: number | string + burialSiteImage: string cemeteryId: number | string cemeterySvgId: string @@ -77,7 +78,7 @@ export default async function addBurialSite( burialSiteNameSegment5, burialSiteName, burialSiteTypeId, burialSiteStatusId, - cemeteryId, cemeterySvgId, + cemeteryId, cemeterySvgId, burialSiteImage, burialSiteLatitude, burialSiteLongitude, recordCreate_userName, recordCreate_timeMillis, @@ -99,6 +100,7 @@ export default async function addBurialSite( : burialSiteForm.burialSiteStatusId, burialSiteForm.cemeteryId === '' ? undefined : burialSiteForm.cemeteryId, burialSiteForm.cemeterySvgId, + burialSiteForm.burialSiteImage, burialSiteForm.burialSiteLatitude === '' ? undefined : burialSiteForm.burialSiteLatitude, diff --git a/database/getBurialSite.js b/database/getBurialSite.js index d37b2716..081e0878 100644 --- a/database/getBurialSite.js +++ b/database/getBurialSite.js @@ -12,7 +12,7 @@ const baseSQL = `select l.burialSiteId, l.burialSiteName, l.burialSiteStatusId, s.burialSiteStatus, l.cemeteryId, m.cemeteryName, - m.cemeterySvg, l.cemeterySvgId, + m.cemeterySvg, l.cemeterySvgId, l.burialSiteImage, l.burialSiteLatitude, l.burialSiteLongitude from BurialSites l diff --git a/database/getBurialSite.ts b/database/getBurialSite.ts index 4e9cb0ea..edcb05fb 100644 --- a/database/getBurialSite.ts +++ b/database/getBurialSite.ts @@ -15,7 +15,7 @@ const baseSQL = `select l.burialSiteId, l.burialSiteName, l.burialSiteStatusId, s.burialSiteStatus, l.cemeteryId, m.cemeteryName, - m.cemeterySvg, l.cemeterySvgId, + m.cemeterySvg, l.cemeterySvgId, l.burialSiteImage, l.burialSiteLatitude, l.burialSiteLongitude from BurialSites l diff --git a/database/initializeDatabase.js b/database/initializeDatabase.js index 6c9e6b54..c0400004 100644 --- a/database/initializeDatabase.js +++ b/database/initializeDatabase.js @@ -88,6 +88,8 @@ const createStatements = [ cemeteryId integer, cemeterySvgId varchar(100), + burialSiteImage varchar(100) not null default '', + burialSiteLatitude decimal(10, 8) check (burialSiteLatitude between -90 and 90), burialSiteLongitude decimal(11, 8) diff --git a/database/initializeDatabase.ts b/database/initializeDatabase.ts index c55de282..8e62bdee 100644 --- a/database/initializeDatabase.ts +++ b/database/initializeDatabase.ts @@ -105,6 +105,8 @@ const createStatements = [ cemeteryId integer, cemeterySvgId varchar(100), + burialSiteImage varchar(100) not null default '', + burialSiteLatitude decimal(10, 8) check (burialSiteLatitude between -90 and 90), burialSiteLongitude decimal(11, 8) diff --git a/database/updateBurialSite.d.ts b/database/updateBurialSite.d.ts index e487703b..1c55a105 100644 --- a/database/updateBurialSite.d.ts +++ b/database/updateBurialSite.d.ts @@ -7,6 +7,7 @@ export interface UpdateBurialSiteForm { burialSiteNameSegment5?: string; burialSiteStatusId: number | string; burialSiteTypeId: number | string; + burialSiteImage: string; cemeteryId: number | string; cemeterySvgId: string; burialSiteLatitude: string; diff --git a/database/updateBurialSite.js b/database/updateBurialSite.js index a3e3e22e..873bb87e 100644 --- a/database/updateBurialSite.js +++ b/database/updateBurialSite.js @@ -41,6 +41,7 @@ export default async function updateBurialSite(updateForm, user) { burialSiteStatusId = ?, cemeteryId = ?, cemeterySvgId = ?, + burialSiteImage = ?, burialSiteLatitude = ?, burialSiteLongitude = ?, recordUpdate_userName = ?, @@ -49,7 +50,7 @@ export default async function updateBurialSite(updateForm, user) { and recordDelete_timeMillis is null`) .run(updateForm.burialSiteNameSegment1 ?? '', updateForm.burialSiteNameSegment2 ?? '', updateForm.burialSiteNameSegment3 ?? '', updateForm.burialSiteNameSegment4 ?? '', updateForm.burialSiteNameSegment5 ?? '', burialSiteName, updateForm.burialSiteTypeId, updateForm.burialSiteStatusId === '' ? undefined - : updateForm.burialSiteStatusId, updateForm.cemeteryId === '' ? undefined : updateForm.cemeteryId, updateForm.cemeterySvgId, updateForm.burialSiteLatitude === '' + : updateForm.burialSiteStatusId, updateForm.cemeteryId === '' ? undefined : updateForm.cemeteryId, updateForm.cemeterySvgId, updateForm.burialSiteImage, updateForm.burialSiteLatitude === '' ? undefined : updateForm.burialSiteLatitude, updateForm.burialSiteLongitude === '' ? undefined diff --git a/database/updateBurialSite.ts b/database/updateBurialSite.ts index 9d8117c5..c10bd3cb 100644 --- a/database/updateBurialSite.ts +++ b/database/updateBurialSite.ts @@ -17,6 +17,7 @@ export interface UpdateBurialSiteForm { burialSiteStatusId: number | string burialSiteTypeId: number | string + burialSiteImage: string cemeteryId: number | string cemeterySvgId: string @@ -78,6 +79,7 @@ export default async function updateBurialSite( burialSiteStatusId = ?, cemeteryId = ?, cemeterySvgId = ?, + burialSiteImage = ?, burialSiteLatitude = ?, burialSiteLongitude = ?, recordUpdate_userName = ?, @@ -98,6 +100,7 @@ export default async function updateBurialSite( : updateForm.burialSiteStatusId, updateForm.cemeteryId === '' ? undefined : updateForm.cemeteryId, updateForm.cemeterySvgId, + updateForm.burialSiteImage, updateForm.burialSiteLatitude === '' ? undefined : updateForm.burialSiteLatitude, diff --git a/handlers/burialSites-get/edit.js b/handlers/burialSites-get/edit.js index 8d637508..c77b5b74 100644 --- a/handlers/burialSites-get/edit.js +++ b/handlers/burialSites-get/edit.js @@ -2,6 +2,7 @@ import getBurialSite from '../../database/getBurialSite.js'; import getCemeteries from '../../database/getCemeteries.js'; import { getConfigProperty } from '../../helpers/config.helpers.js'; import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js'; +import { getBurialSiteImages } from '../../helpers/images.helpers.js'; export default async function handler(request, response) { const burialSite = await getBurialSite(request.params.burialSiteId); if (burialSite === undefined) { @@ -9,14 +10,16 @@ export default async function handler(request, response) { return; } const cemeteries = await getCemeteries(); + const burialSiteImages = await getBurialSiteImages(); const burialSiteTypes = await getBurialSiteTypes(); const burialSiteStatuses = await getBurialSiteStatuses(); response.render('burialSite-edit', { headTitle: burialSite.burialSiteName, burialSite, isCreate: false, - cemeteries, + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries }); } diff --git a/handlers/burialSites-get/edit.ts b/handlers/burialSites-get/edit.ts index e8f4d1b3..ad3f8474 100644 --- a/handlers/burialSites-get/edit.ts +++ b/handlers/burialSites-get/edit.ts @@ -7,6 +7,7 @@ import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js' +import { getBurialSiteImages } from '../../helpers/images.helpers.js' export default async function handler( request: Request, @@ -22,15 +23,19 @@ export default async function handler( } const cemeteries = await getCemeteries() + const burialSiteImages = await getBurialSiteImages() const burialSiteTypes = await getBurialSiteTypes() const burialSiteStatuses = await getBurialSiteStatuses() response.render('burialSite-edit', { headTitle: burialSite.burialSiteName, + burialSite, isCreate: false, - cemeteries, + + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries }) } diff --git a/handlers/burialSites-get/new.js b/handlers/burialSites-get/new.js index 6ccd26d5..c85e6f81 100644 --- a/handlers/burialSites-get/new.js +++ b/handlers/burialSites-get/new.js @@ -1,5 +1,6 @@ import getCemeteries from '../../database/getCemeteries.js'; import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js'; +import { getBurialSiteImages } from '../../helpers/images.helpers.js'; export default async function handler(request, response) { const burialSite = { burialSiteId: -1, @@ -14,14 +15,16 @@ export default async function handler(request, response) { burialSite.cemeteryName = cemetery.cemeteryName; } } + const burialSiteImages = await getBurialSiteImages(); const burialSiteTypes = await getBurialSiteTypes(); const burialSiteStatuses = await getBurialSiteStatuses(); response.render('burialSite-edit', { headTitle: 'Create a New Burial Site', burialSite, isCreate: true, - cemeteries, + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries, }); } diff --git a/handlers/burialSites-get/new.ts b/handlers/burialSites-get/new.ts index cf92fa7e..690adfa5 100644 --- a/handlers/burialSites-get/new.ts +++ b/handlers/burialSites-get/new.ts @@ -5,6 +5,7 @@ import { getBurialSiteStatuses, getBurialSiteTypes } from '../../helpers/functions.cache.js' +import { getBurialSiteImages } from '../../helpers/images.helpers.js' import type { BurialSite } from '../../types/recordTypes.js' export default async function handler( @@ -31,15 +32,19 @@ export default async function handler( } } + const burialSiteImages = await getBurialSiteImages() const burialSiteTypes = await getBurialSiteTypes() const burialSiteStatuses = await getBurialSiteStatuses() response.render('burialSite-edit', { headTitle: 'Create a New Burial Site', + burialSite, isCreate: true, - cemeteries, + + burialSiteImages, + burialSiteStatuses, burialSiteTypes, - burialSiteStatuses + cemeteries, }) } diff --git a/handlers/burialSites-get/view.ts b/handlers/burialSites-get/view.ts index 84154513..17c5718b 100644 --- a/handlers/burialSites-get/view.ts +++ b/handlers/burialSites-get/view.ts @@ -22,6 +22,7 @@ export default async function handler( response.render('burialSite-view', { headTitle: burialSite.burialSiteName, + burialSite }) diff --git a/handlers/cemeteries-get/edit.js b/handlers/cemeteries-get/edit.js index b5a5b2de..1d209ab2 100644 --- a/handlers/cemeteries-get/edit.js +++ b/handlers/cemeteries-get/edit.js @@ -1,8 +1,8 @@ import getBurialSiteStatusSummary from '../../database/getBurialSiteStatusSummary.js'; import getBurialSiteTypeSummary from '../../database/getBurialSiteTypeSummary.js'; import getCemetery from '../../database/getCemetery.js'; -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js'; import { getConfigProperty } from '../../helpers/config.helpers.js'; +import { getCemeterySVGs } from '../../helpers/images.helpers.js'; export default async function handler(request, response) { const cemetery = await getCemetery(request.params.cemeteryId); if (cemetery === undefined) { @@ -18,10 +18,10 @@ export default async function handler(request, response) { }); response.render('cemetery-edit', { headTitle: cemetery.cemeteryName, - isCreate: false, cemetery, cemeterySVGs, - burialSiteTypeSummary, - burialSiteStatusSummary + isCreate: false, + burialSiteStatusSummary, + burialSiteTypeSummary }); } diff --git a/handlers/cemeteries-get/edit.ts b/handlers/cemeteries-get/edit.ts index 6665d7ce..eeea5dfc 100644 --- a/handlers/cemeteries-get/edit.ts +++ b/handlers/cemeteries-get/edit.ts @@ -3,8 +3,8 @@ import type { Request, Response } from 'express' import getBurialSiteStatusSummary from '../../database/getBurialSiteStatusSummary.js' import getBurialSiteTypeSummary from '../../database/getBurialSiteTypeSummary.js' import getCemetery from '../../database/getCemetery.js' -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js' import { getConfigProperty } from '../../helpers/config.helpers.js' +import { getCemeterySVGs } from '../../helpers/images.helpers.js' export default async function handler( request: Request, @@ -31,10 +31,12 @@ export default async function handler( response.render('cemetery-edit', { headTitle: cemetery.cemeteryName, - isCreate: false, + cemetery, cemeterySVGs, - burialSiteTypeSummary, - burialSiteStatusSummary + isCreate: false, + + burialSiteStatusSummary, + burialSiteTypeSummary }) } diff --git a/handlers/cemeteries-get/new.js b/handlers/cemeteries-get/new.js index b2893e3d..9c640cf4 100644 --- a/handlers/cemeteries-get/new.js +++ b/handlers/cemeteries-get/new.js @@ -1,5 +1,5 @@ -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js'; import { getConfigProperty } from '../../helpers/config.helpers.js'; +import { getCemeterySVGs } from '../../helpers/images.helpers.js'; export default async function handler(_request, response) { const cemetery = { cemeteryCity: getConfigProperty('settings.cityDefault'), @@ -8,8 +8,8 @@ export default async function handler(_request, response) { const cemeterySVGs = await getCemeterySVGs(); response.render('cemetery-edit', { headTitle: "Create a Cemetery", - isCreate: true, cemetery, - cemeterySVGs + cemeterySVGs, + isCreate: true, }); } diff --git a/handlers/cemeteries-get/new.ts b/handlers/cemeteries-get/new.ts index f5660ac0..154fb7bb 100644 --- a/handlers/cemeteries-get/new.ts +++ b/handlers/cemeteries-get/new.ts @@ -1,7 +1,7 @@ import type { Request, Response } from 'express' -import { getCemeterySVGs } from '../../helpers/cemeteries.helpers.js' import { getConfigProperty } from '../../helpers/config.helpers.js' +import { getCemeterySVGs } from '../../helpers/images.helpers.js' import type { Cemetery } from '../../types/recordTypes.js' export default async function handler( @@ -17,8 +17,9 @@ export default async function handler( response.render('cemetery-edit', { headTitle: "Create a Cemetery", - isCreate: true, + cemetery, - cemeterySVGs + cemeterySVGs, + isCreate: true, }) } diff --git a/helpers/cemeteries.helpers.d.ts b/helpers/cemeteries.helpers.d.ts deleted file mode 100644 index 5e21009a..00000000 --- a/helpers/cemeteries.helpers.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function getCemeterySVGs(): Promise; diff --git a/helpers/cemeteries.helpers.js b/helpers/cemeteries.helpers.js deleted file mode 100644 index 28dbe1ca..00000000 --- a/helpers/cemeteries.helpers.js +++ /dev/null @@ -1,15 +0,0 @@ -import fs from 'node:fs/promises'; -let cemeterySVGs; -export async function getCemeterySVGs() { - if (cemeterySVGs === undefined) { - const files = await fs.readdir('./public/images/cemeteries/'); - const SVGs = []; - for (const file of files) { - if (file.toLowerCase().endsWith('.svg')) { - SVGs.push(file); - } - } - cemeterySVGs = SVGs; - } - return cemeterySVGs; -} diff --git a/helpers/cemeteries.helpers.ts b/helpers/cemeteries.helpers.ts deleted file mode 100644 index eff252dd..00000000 --- a/helpers/cemeteries.helpers.ts +++ /dev/null @@ -1,21 +0,0 @@ -import fs from 'node:fs/promises' - -let cemeterySVGs: string[] | undefined - -export async function getCemeterySVGs(): Promise { - if (cemeterySVGs === undefined) { - const files = await fs.readdir('./public/images/cemeteries/') - - const SVGs: string[] = [] - - for (const file of files) { - if (file.toLowerCase().endsWith('.svg')) { - SVGs.push(file) - } - } - - cemeterySVGs = SVGs - } - - return cemeterySVGs -} diff --git a/helpers/images.helpers.d.ts b/helpers/images.helpers.d.ts new file mode 100644 index 00000000..2d505028 --- /dev/null +++ b/helpers/images.helpers.d.ts @@ -0,0 +1,2 @@ +export declare function getBurialSiteImages(): Promise; +export declare function getCemeterySVGs(): Promise; diff --git a/helpers/images.helpers.js b/helpers/images.helpers.js new file mode 100644 index 00000000..a5fd02e2 --- /dev/null +++ b/helpers/images.helpers.js @@ -0,0 +1,32 @@ +import fs from 'node:fs/promises'; +let burialSiteImages; +export async function getBurialSiteImages() { + if (burialSiteImages === undefined) { + const files = await fs.readdir('./public-internal/images/burialSites/'); + const images = []; + for (const file of files) { + const lowerCaseFileName = file.toLowerCase(); + if (lowerCaseFileName.endsWith('.jpg') || + lowerCaseFileName.endsWith('.jpeg') || + lowerCaseFileName.endsWith('.png')) { + images.push(file); + } + } + burialSiteImages = images; + } + return burialSiteImages; +} +let cemeterySVGs; +export async function getCemeterySVGs() { + if (cemeterySVGs === undefined) { + const files = await fs.readdir('./public-internal/images/cemeteries/'); + const SVGs = []; + for (const file of files) { + if (file.toLowerCase().endsWith('.svg')) { + SVGs.push(file); + } + } + cemeterySVGs = SVGs; + } + return cemeterySVGs; +} diff --git a/helpers/images.helpers.ts b/helpers/images.helpers.ts new file mode 100644 index 00000000..558e13c7 --- /dev/null +++ b/helpers/images.helpers.ts @@ -0,0 +1,46 @@ +import fs from 'node:fs/promises' + +let burialSiteImages: string[] | undefined + +export async function getBurialSiteImages(): Promise { + if (burialSiteImages === undefined) { + const files = await fs.readdir('./public-internal/images/burialSites/') + + const images: string[] = [] + + for (const file of files) { + const lowerCaseFileName = file.toLowerCase() + if ( + lowerCaseFileName.endsWith('.jpg') || + lowerCaseFileName.endsWith('.jpeg') || + lowerCaseFileName.endsWith('.png') + ) { + images.push(file) + } + } + + burialSiteImages = images + } + + return burialSiteImages +} + +let cemeterySVGs: string[] | undefined + +export async function getCemeterySVGs(): Promise { + if (cemeterySVGs === undefined) { + const files = await fs.readdir('./public-internal/images/cemeteries/') + + const SVGs: string[] = [] + + for (const file of files) { + if (file.toLowerCase().endsWith('.svg')) { + SVGs.push(file) + } + } + + cemeterySVGs = SVGs + } + + return cemeterySVGs +} diff --git a/package.json b/package.json index e11f812f..24705461 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,6 @@ "leaflet": "^1.9.4", "node-cache": "^5.1.2", "papaparse": "^5.5.2", - "puppeteer": "^19.4.1", "randomcolor": "^0.6.2", "session-file-store": "^1.5.0", "set-interval-async": "^3.0.3" @@ -96,6 +95,7 @@ "prettier-config-cityssm": "^1.0.0" }, "optionalDependencies": { - "node-windows": "^1.0.0-beta.8" + "node-windows": "^1.0.0-beta.8", + "puppeteer": "^19.4.1" } } diff --git a/public-internal/README.md b/public-internal/README.md new file mode 100644 index 00000000..a4f6a264 --- /dev/null +++ b/public-internal/README.md @@ -0,0 +1 @@ +Files placed in this folder are only available to logged in users. diff --git a/public-internal/images/burialSites/roses.jpg b/public-internal/images/burialSites/roses.jpg new file mode 100644 index 0000000000000000000000000000000000000000..58f2a4ebe9db8afa7f4c405bbcec4ee844ffa1a8 GIT binary patch literal 213756 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

!|-jKooG46z8K4@S#eUMh5jTV0 zUf|gH#4i(Ww;8l@+19+r0%RdXjS1Ski^tr3#C{{=2*&uDTCfd~qY$XgZR#)Yu z4P!AUUUa8bDB#T)dAPw&SRfKkr+SXNMwyf*rJYO&9I1uUb0mo6Sj*$;SMCw&CU)&a zNYg-R-OFcF(wfKs`ete`(7&)V8|_B?sGw`eQKC6iKoB6#QhU*XBuE?dqNH~wdeDOj z(3(IA-=haXgR?NOKO4!%@{W)T7?7khByVY0tZwzQN+;wVV9AgPqAYCDNieNn!~jC{2u zMuv)3NCI>e#sGPFa;TChP!hQl8fi(LRqsbBN(?1art|=2UtO~ECJBg*>HC+6xIjwV zBpvmpwpOj&sX@gNlnp_pZdqd98*N^w)=u=84VH|AP@UR*)9d82?TehNX80ON}1D;2AngFTdPM9 zr2ML>_4*K(Q7X$|oPj4wRJAe^l?XJ>*B7%=p)RLhTOZD)5pvR#A;f@rO;GxmBzpv9 zkK+XU((SNPKuiF7@}z~sNHOM2o$1SWOsO%X_oz0+-=HeDO0)oqjfz$e1<7vAhA;^`#^o2VLl^SV)>Pu(IC+H8!M^px%k)B~VC% zOTM%dAzJpJ4+1igI&NvEJ_g~G1x{T@F-HxyN5YZvrGQBUlNwS=P!p&TO}vYNqmq*a zFh44h;m#q(cw-W47Qk@g0h|ufiOCg)-pt9KzjRi95m+ zbxHnJeQLMi-wAO~4{?qYk7BrBwqn)AETz`~QIrrMZ_cP#ZZ&EV=d8<^`JT9hpk-<(@W z+=3*5`B%_i6fsT&M+M?-aaJFPyMx=>xa;gX(sE@=Nzira72_|m*NI#)z*ufHrEr!a zo9tTkZldSN0VuZr0G7}y)B(As=`{H>B;6+4*?kNbj`$lA!9$!&!tcDBWRf3Y5(`I} z1E*0`Y%7ZKiv?X|xOK%{HRTaA9-yiEiu5mvINmpkaRw)ShuOJq#oMLQ)C{DPzM57u zh~k({gU=TkVK)T&gKdGWN;NRCjI({Ec}g8JS^jrD6ZTEJQl{QGT4zT|Ky4n`5ad*K8 zWEl;AGO4Jx$$hh-5jgW$76WXntY+b>WX8%cPhcw&<9`?}SYsy-VF*)dS!}xY=cEd& zV;oD3@lErXhBtiU?x^V}M2>)Rs(%t(t*e$=fKZYhPp4VuC*@W`IhG97FY8V8r-W($ z0D0mZTL()xh1#wD^4LT6YJ33C3z+Vr+^xWW~;D5j~w zkQX2wPPN9JC4_!^JKA-9QtmHF(2#PR9kqpLWXCDRB&~S%}<$Q`T5o zi3K4b4t*-X<{FnUo1lc|Uy`r@8=SR@t?cB|Z(}^`XJmOQ+l}#@M-^S7@-~26_(r-^ zXA$Bz?=+;ncIt$UGiemPt`P1U#Fr>@DS+;u!bzsMyGG$90Ogatdq`8I7MxKYtjS=l z(b`9tyu7*7;e{p%Q~v<|G-hqk*P%vAj`e$}yAyLsY&Ln&(o)-9HP)MEIf8+LDdr}C zhfn|l6HKa5#xgkYO5xa=l(e$>m28!D>}r1LwiRT{);ZgCwGg5VK->}DsmNAB2;6Ea zX2%s}N<(*Gp(N_DuGwvJz_<7K>e0g(iywbg^s?4{&YDeVn3smwr-ztg zE$yxCt*>qpTw!V&ERLs~R%_um5MdlU;wA}BHiJi*s|*rX^caS@kF+ifK8>j)c*j~s`a-8 z0Hr`$zx|$kIm0k?*p3*naS2QhF`%RGCcMMp_uCT>cI7sB<_mFW{LP%{Ki04OU-r?% zF#HPQ*MwSe+oiTrA8|QS*&}}Dp$?Tl>JYChnXZ(-V@mbv=2(xK9o6wklXcOYhk{%V9@#Ed&qD*Nr$6?TL(VW*WO2{15N$1*v~|F6ApK zB$A+OTJT55Y+J`myY=EtqTlY0gg0!H_(+gX=Td`&8=ed|I(Lm{dW$yWycAg_4aQ8;M+__+*`kB)66&_XmtTY=QZ>5?b+bR z40u!GMjdg&tu<=T5Lzzj>qhiLE~R-%NaPeC$Gu+~SdU+0qhqKl^YEmxBg~uWr_PmS zti%rVbXvjn7$Tjp!GKjd?nf$&rjgZbQKq0~RLP?N6i5L3(tv9k3OZ7lJ4x?U74x~s zL4(STluo?4(xX640YKc%AXzv7grClZDUqi-E@7KP*i)t%SV&e=>gQ2%T!%^4_MTyp zARTDlNI}Y-NiYvee2aFOw<}VDRmmi3b&Bg&Ty?-SgQkPML#?2|mA)Qdb0{JJoxjfX zi}t0rvgMR>F{MwI{^r)kRy6I`^dDLyHfHTAaHIqQ{{Wh;%exGZxDSTg;yiBJ#m32F zHg}4DgloNR7``0SZ6@7@LJ)-I2})oA(w%sBz^(AU5Xp6Da^mbJ;Z8=uNe3+Us}1fN zmlO;Fh?zXA&E4LrwXq%%ilto7ZVdkb1IPG>fU&kXi-zx2X?<>GBx;qXa@y1Ql4DS7 z*&GYvE(_v!533x((pY}oLA&cUsApl*+j4{WRnOkMwReCQoFBPKMzbSRM8GjlBJlSd zV~99q(uWd2d4+rz4NR%E^#(p$*1JpfP4vDP-YQ}DJxPkF0%bBbKGo+=IN(e%oL1q4 z+97t%pEZ!7Fp^KFv>6{t-rC3T{wTqi;tUx|HkYW(fUk+Q?55SxNl+mBcdVzx9B$hQ z;yfn~z5p|R%frk+^4v<&6FrQ_yjNbPB@UynrCqye`M73E=LzDNTD;sJ7Pw^_mL2`# zJ%s8$wD#8?#q6@95VP|lB~AYTYSCQ7Qs9NOHs`%ZUGVxBu1d<&J!LE8mIzBeD8k<% zE>-Os7vk`Nsy*ydW{W5uZQj}6jx^ZjYlM?kIJT`(R-;% zsdXv<=s~4hcP`aO7r6be{{X#(kN)BTKUz5ATwT2#v}t5>N{FjfL{Ujv0FH`C>S}?4@n;fn`^MSq&IXkZTV15eNYIbsNz$YT z8D1elXAe+NGbwTm)2p8ltuciq99hF>5=us2JS-yRBeQ@>_Ega>neMqXY4KeXn%r(U#W#3a|jmBZLcNKeU2xZog^Ki5nQdWp5Q0fh4_$LBz&lcJ) z?}Txcuggd-+FYb1_CM+aaok8XCx>vC7jUzs+#eBrfOJqv%#;5BY18tlLNZS>Sw~WL zbSkVucz%q(H-w-7Jh`1jidA@M<^Yg)9O|5mSHu<+k4p@+pdY8{Murq#j7jef= zz82mcWQKu0hZbc~);5}jV}_khr5c?ltw`JO^NoNCa_hBO7daJ9RAa{CDSGntVRuhB z>dum*HDbZ7-fd05)~K>w82~QNc6x4 zYd8B@aO!a`1j2Zwn|$wJc$eMYaU)dQT&6YtQ1fkj6`r-ew0h}f@{b)_O;p5qXP22I zh?4_-Yn}BHdUK#;9KAZx*SB3OoI^W|+yKopc_fpjonoK3Jy0pDsQ^Nvf>9vuk_jM= zeJO&3D?=Rgsaw=!Q6^y2V}?`#s&#TCqqLV$2t&p0FygVXk=FqPU@JhBYw2N2{ADh(>l;e>-C@tkKvzsT!1I6 zZAqx>p`#Uleza1pG!O>b)PUeM*R67rLD0ua4996QXfsBHcA5r|1gdo=gp8o-W<971 zr<8OQT*Sh+G!2K%q@5#b0J3)LMa*Uoy#mICP+~e#!5jjmjzUl8MJgv)I#PLzgI%Wa zG{=!l{qqh+jq&=nq=JlZM$B@-Gy`GtB_mVwicF}JB0TdEYKar1dn$BDCcsC|4v&GpL|DSv2`p)RsA zfxJ|B5@LH*fyQ$qDI18WOQt-B2%S1~rhzdms_(5Y<+3fj%+ln+PijrI0t!}Rr6j3I z)AOb=&7&5mlr2A6RD+!7-Xu7*3{MG@W&% zF#E49!iQvqb0=!+oAo=Q22eEzofsAZUfU&wf`T%hQ>dg=R8j)I8cj-3I;fp%vuPUC zks)tRfK3%b6hRt_28=8ikf4ycnLNnhYy%XU(d2X2Ofi)ivE#R(xRN5)n&xd?tgrKS01v-wc>s3pU zeQ2n)q57eFkA3bb%(N`NAOgoXuBB|$EoE+-Kj@Zdsimp zB$-aW^|<3+67c2Xl;yK#-E%UJ?NrQ1!VAPHM%wfduHvb58fCGm85BRgq<|pLK2#-a zx-${#PNR{jtB(tKk+%p+n<*O*t?7mL1Y_81eq*CB=akG;d>j^K4cl?00s$Lp1vYcb z22vxgv}Z6(b(DphH*)VIT4wLwnps2b6dr{!QB>M_8KL+q;J*@h*~Mw$+zm;$wzo)f z`uV{qw`iD{=A+10&@LDID|ivYI6D}9-T*OMhLH=nzI3RmT+B=XGp8!?2ie>04|(9> zy};FkH*sN#Iv#P>ll%0z69Zmpj#Z*~f%c~2+*-{ihY;7Gb)mS&dG2%W zRmA1fOOL60<8QJL265jTsjm&#dkVL=KvnA7clQmfpG;1$bpfS94HJ|uN<8KFH906f%Z;!OQq_iBqTkZt9nkbQgZ6r>Ga&+1eGZ%9+V_(1!8!P z3wvRUJA$c|8>BtthQQRQm`EP_R6I_tqOfVTvxQfhuPuHCr@(hu?-pOa#ln>0E(>fY zO*1I+s^^S;4`ZGl;$sxV@JpufyXAy4cZGohuPP{o*3aiA;55cBPdT#DtjM3A^{S2+hkg3_ zwvwThN|H{1d(@v3l2POf~CtrETU&AbL)t-o8sENR zBE^lXLo(cXVIToQS!9(=auF8kO0x-r(uCU+n@|!p*QI&G#9y|r4q%VDhj@R3{?}7y zDY|)CTKRJ|kz+q>PZe?2l*3E2ux(na$!;RFSc( zhA&`4$+=kdE6}0dyj8=MD)XZ+QZkcI1XYp{6_y|?Lp5c>tlBcz0a?LF2il;T2yfOz z1oEt>9{WIC;oLyG2JrIRR*vLZ2UVmIN}ZK!**Mbd3J$LZbHd`9zh&;O0TF9K&L~dEHYerI3lb1Lq zmI&3MKoOT=tut|IYVESJa>l}?T}eY|&G?fw6^N1@ZN#3{bvKz|lUuR2Ag?jdv8atH zuDvPp+f&R)OsaL-kxL~=&XXo!rYl5RO9iWexEhK5DCM#e6(EB^sS1KJk=l$BOw8$0 z$jJ;l6Y{d#T}f;3pW*)iO0Wd2meQoSkQbsA)~T&!D$c!9onx&pb9(i}B&dWV;Y{sS zN|KbailNZI39v zyRW+>B$gm$&Idfx2E4<NR(Bjx4lY=-BNuy0fSZ%WoK(^8NYbGM{!V-NQ?9%?{3j@_oWdqAQ?4i z;JzKX;+#_71+^Jcs9UNd;XvM??5su0p=(}LgBt$;ovU8(HI~}Pu@507NKKFL6&oDs zBlN6Sm0cP#oOwv5th!?GYYVhxlqTJoOH804CN=;?6;|npnGgW_Q|B8?jDxK2G5Jv( zN=h3!V|>HqUNSOmZgW#?jZLC{6PG|odR4q3g(0-Kgb)%=yG=bp60$P4CS&DIIGYki z5rf`hC9rky07)<;fh3dp z)Z_St&G+1`LIPW|YsqCJ_)3b5{LOmKr3wm>vxS3U@UMyO_}_-V-W*5mOeJR8@dM&0 z{{WQfAIzNz{v?{VxrC)+5S{DD{4vHjzXI`C;v5_y$6G6H<{Tt8`)bimsy?9dAR6{h z25|=uarOew5pc!9a@}bOeU-p=+1S;m0NF#X#6cU^R;3h{O;EUtj-HN8);v^Q!Bc`lPA%X@}KEZR~SB3NkA2+ z-(bzSf->pXb5OT9I?$q!3V`iU=&F;|!Hfbq_Rh@B~# z@PY{*Q~}DK#h+`*R>E#EJO>bO62b1Aw7F_RR)fo$NZ5|Xx4sJTD~GtCF@@tPMV27q z5|E{)8+CgS4m7`$Xe}H0&2zhF=a1EYJ z1MIDkRvD5QmMm?0hdnVt?9$t&LJ>5#TeM3GD39rt5qTo zQEaSQ;VE%PDn4Xutxj0jA%Xx-qe^_!0OctIyoy*hCJ6yRn5*L+lO0>BRM_NQi(!=- zt6)3T2kj4!+SvG5{vCMg6!t4{+f6p91zAW@P&~36iupm&RIi9$B=Fycb}PQdF57nb zVM(;IX+XH@<4FVINRcG|b>&Ve@dt=JL&i=ukG`DQQij=R6tvnvft5XA@42e#Rd~UY zQC~2VN*WMiXS>p&aivYPMewsley5u z>jHqsO7CGzK#eP=cc2s@GA4ASNdT?m^q|;w_oEmD0Y6$KngA0qtk-5VTIr5PfCoYE zLeV*h8&Y~j8KVl?fHD@s+Em0S?KEd?+$joNlep7*QqjM?p)XoZHrEXqv0_^1T`j3^byvV zxVBpg30U8qCk8bU+N3b-Di)GV3YT@nhDwUTF}&|l453aq5{>y%&$9DCm7iiY6quMd zA;*#y1jkR-o1v!)r7{TCcBSoa9k&HDm>#s7mrgEKpepDn0#gsX3vbGL3e)+Dc;mo0 zk`9_}RiwDIC@dH~Y123E`H3r8DV;&2&=wRn+y4N(orcuM60~K;RaPn(svB4hcc*x z?M6T%xy5!}B#PiOZM`V4NC0aZX+R0jFDS*<$(KGhj> zsno#b(A1mhDj$_bTuykMx*FE_$;(`k@1LDUT%5{@ky2M80UDZ$cpdbruv-y}`9h$^ zn(a~djWqYAX$tog?&Vsj=F*xuuf%FC7OzpMWuTZXrah`J6XCow5?WU6xSqnM2#wB@ zL?tmGlS!ocCZzZ&citS?DPC=Zt7%}!gF$nIU0Y!`*4F|}x9-ZL<0O-t-(YI#Iv6~v zCy1I`t+KSqMxdvn`u!^%

3)O-s2>Zx6b1slt)9D8B+;mDs|xjWb8SL zn6|#U!aT>V*lEQnB?rtC9qJXpN^^LBDd^9$CjzR) zKl+Owv}_{$C23o!pWTz79`)!hGw_eW%xe?FIGWc3wN5i^v^s}b^p&YQ6@kCcwRt68 zI^)c6ejUR2b)#14vA0VJxJso;1D$RhIpT+h+%v*0#$)6lRc_+gph*NxMNKyF zdMkQf6jJU)I_i@!kdmRS9mOQJlHdk@VxK91XF_SZ*isY}l6r4e#z?&l*=?5Y5%;Mr zPpSsHQ`@XU(IE|4BS4WRBU(kqL%VLB#WySf3c34KwwCM~QskQ9+q~C7_g#lrT3t_Y z2-3Fh7vmlz!W7OSfpHDxx>fL&-Z@AIXgXJ&Ql+xFLW)(km8*DFbi3RM`&U()?$-n+ zbs#8a{bsP=Q)(V0dl0D{ES`gFxnjKMFYqAKNv<6J+Ew%gbqFKc+(#DdGAT6}wa=9fKBkBJD5^)X}!MG*fHHZS|-J2>yDEQr6 zXplLRUp>5e@#~NLOu4zhG5a>~%sH0=*s)IN=v1I}F;N~Z`0d7CDdMf(-rc*0+OUw8 zEv?;9NIcYIb6KnIyK+>w-&?LLT+1>~&w9R%6-{r+WFw8(OEB)hk`F3;T3c!JGAICJ zG;DerX2rtU3Q!;rG~{N0-(9ULWIVi%EGG>*-gO-{*EaVm zK7yn8R(Wpt?^lR<-R6Ug3-E5M5fNDWw3kENnp) z;`RDo4O(-LeTP0%G2S7@-@|a*mzuXeVp9Tncdt6)cJ|j8`}Zz~A1*976&slnJJ#XG zH;P^Rwgt5Y61{OlE7@CYiI7cow8$znoZ95uN;rysqMjpg^@CVG z9gkTgC2O`VIFK|>)tF%*F7ZvMXr|7a^Zx)^^mm9jQeWT;l{CO12n$G!gjbyKP(Nt_ zx9-*bD@BcO8iQ}MWe#0Uk@rg>WeT59rX!^>yFgk5?K8DY@eR9{&zGA-p<0qQ3jY9F zjBJOJGmRo^d^3d6B(Ni9rV{6trIJ;&@}oB2lBFeLb<&R03G*|LdLz!6B<_`StI379 zK~i)Z?L6tFz;Ps!oTn%qDeG?qsWY(U5lB4nbx##$f@3I(k^zB`2sBeM(u}j}JjCf; zl*VNO0qQra35C?BtoNr@Y?VHgsK^3H29RwsxSn%QEfx~BXaOPt=~0uy6CK_JKBO*6 zf&}H-nFfomWI%)?Q>851P6%~iDhDI9QcRU7te^zzIluE&tfD+{J#7g<%91+8bBjt- zn9U^FE+~Sa2@Jil8L10d`900wODuPwIjGlERZDixC4W&Dno`5Nba%=TJ>Lydb(#r5!aVeQ0eh zjl#oeK_rj{o04Pt(h^x?T&h>Y&XjIW(^DwHUbj*gbX#qu8O);^K!esG&&q|iFjIJo zRlKl;0iDm`Q6HED>+MO6Y(r!&tO1zDqgY1tK-km ziPxrwQ+<`QWG+eokV|nNqV8=RmVw4OKT}e)Q-IACX~Q%DRC(~nk$x0{?BU= z4>nTb$~>^ISdMW>rH4$m;#4x~QlSw^qDkjsSYnp`b4{s1DUcLE>1 zkB2_-9cnSFDNyvpDnyMor|mNPK9G*nI&!Eqmjb}<+WQk*3$-mI0<77NgnL(|JO{u( zX7F$AXGUl7R}`|Tk{d~ckI2`ZY_RuVP*TX$OdjIBN#LF1H(U*4WhoBX7aCBX=O_Bt z174{p+hRVeCR>-~!YwZ~lPCzC2_33EYbi)dfz(7svsNpcRTkt86~Ag^aNO!z)IANL zx}(q}N&JO*I8-pGk+zP5R<3%c{#e_HewHgcsWDvQ$wnsCG1ZEVxF z(QrvfG6CzqKb<)@NMWZgO0;bUZRRwn+x$!`BUz=U#+vCTc=}U!u{%WA6h7!kaP2&+ ztr|{M5_}hx=ZSH}ECOWCwKKyQ*B9_@;&_9F@h9vbOiGY_E&yjL&~#dR8iQ5aNp~{| z3P>_1N?hW1j;AV>3FH!BMRw|3DD1Z^ZzrVqYwc5Ie4;qphW_MSDkc0mMQKjDe(hSs zbUeG(wSe)52=R5Tv-lSh*gmV2g|@=p4ZLQ3B?=(UhDU1fqf(-hkSWp|)hmHJ&oTY0 z6zZnl2f=MqHgUXR1#u!pVGXygm|^$UJS}DuU5*c&TO6x&XeE6j0gD%UodVl;qv>ruBJ zFY#U7x~*{p>qDs?0P40AeFBNqE{@%5G{lY?-rnrsp@MkW+q zb6w>S2e!2mmQc4c`D4`|hkA?St_>Vdg|drhTW0Fj&q|g(B?m$zcdO{?QBzTC3+h)J zobq0*f7%1YXkkMT@Z$`1`2h=N^~540m>`|{8nd_l&@2ILB)j3I_;xi)Z_raciA>j; zZG0TWonBY5b`hqT8!FbT{9nSCd>f05D(c}6W^FE^#Ap5S4o+I*QMD&+TR6hZ(f>rIpRT17_;J8xTXedKV7ANUuKI zlbfE0dXiy8>C-`1_>+9HX(;en*~BjIu9bCpbmhbDD5-8bvZW}UWRtyGu(wQ_qT%m) z=41-DVGj(z9%7PYDkjlxwN|249clVZf$dRNY6{%clWGJ+Y6UYn&I8w-H+P*nPzPN; zbk)c*2-<>C!Wg};KdnMuAS99o+tl;Pnuop6DI=EjnLgx6(8km;8&^4{6cI7Xql^}( z+&PdS&%Jb{s08u`fNAos%%Dh__n?j)svG!r_R6jKC5 zY5Gx=1asd&IZ$QLlCNqB1k>S)1qeFOp0Plq&Vb|&)yICnI_(HBb*_l_pfCggWK4IV zB)(f zBi8852GoVR6S1}O7IP#Olcv0>^Um9{+J(YI5d<1xZHOhi>2eEvjBQTwRWW*ll%z(Y zC=aOwvVygFVg%_m!7?}Afk?=8I~qP@Kq6)}6(T`Y+L9!o!RAF2ri$r}K7sOND7 zEx1ReM{+44A+S+Mi2Bi(bhhYN5(OklGu%K z0tT87&b>k55I2U*$B%fJ#hzRAs^p<|9%$)TP8ul)~vDdVZCmw}Y67i-d!u z5m8rM<6S4EOh3+IYA)z{RH3~=mc_Ce{r42j-g@e3{mOSA(wI7u3F}cULvlJy(M(R9 z=*t;-Z$-?Q(`ep~OHdTU9Jo^!NJ>%(anL0408L0420x`X#Qd>_zFY|;6cId*XwtJ? zCh0IMQio-=Xs-JjVRK@pzj%-c<~OM)l9vWxU=5&CXB}A?RJ{i(;wOeRk}a@X^$mvO ztvzM-oe)**DZRoJvF0|I0LJ>#NOmMBdy!Tx%LOhH+p5ZwsN4}zm)2-;FcUGLJt{$9 z4N$U^9R5^RTp>jdO7ji-)Z*IQd==O5r&|R;1En$yW+fyEt9{M8K{=yC%A=IR67X0^ zC!rjw*wkT?x%Y5|WgPXUmrN9_DZNaMx>c>~W*h{Df=^heySprdFf&(1uH(rBwu*++ zJk3mSw-jCQla~%LZkJPV5*8Fl_)jS31k-ZJ8WAzABI5wb1`kS{x@t$JODJ!1&=_UI zH%vEj+R~&tgsmkeK?)!1QVVT>&(@;hHxy-*Ur~~Hm1%#4aT0E=3H!bv(04B^;N@5JKRSZ)R;zsLnT~qa zi^mPMi{XiUFre+Dz@#rvO0+P3hNDfgMd*_^-n&t9&UK_6WkAKyGfWKqW}iRitwr zML;*^e%-W7X$m3KXiny9(O3~Gwr@Ct5fMr;>e$ZS5uA82;*!;QXTf|-`BQHxEm>Zy z>W+=LPcDk(vC~@gGipoEsl--0w!_uIiRQK#gODias@t4E1bO#XG zvPua3_(0SiwWRoEjkSn)I?AqJDqW~74AUf}!2K%9EZDnYcK0o%#5j_bB#8#1xGRQR zz*ULx=m6WgvvqAf4&&S!;(SF;GPUb{nq+#qmgY0WS&i+*_1liNw>C<4?M$s0b>&&1 zmqObs1!*Hx>sm(>j~g%duw8qG78Ev=8w*@!&9RRWRu*}8;GPf z;>@VvYw{rEV1exwjj#}0FCM8CA^(vx)m8&Z_-q$jSj2l>*W&kH!4S1v-_Wlb1b7J?)n z#FNk3uADf_IHjmiaEDq6aUgY_=iaPl$qp4N;gGVTRIo;dcdm>k;_$}mD7+Yhs0}!j zp~w>jQK!8#TUl-jl_ZjNm5*~6s@?`CVxX!`^*)Dr56^vSZfvWsIR)=^yY6x+mQFl3HEQxZrd0z{g*++mHX)ZDOh9rYXasBa~tDM|8Df)7fc zS5IO}NQP|_>R-e9(VcXz1VU0E36W0jQiLB;M!RW9u$Ban2AUl$?s6cNTr>}?VEovspnEqgRD=hZNFcYJWmi?w9Aaz zuo}#r4u{nQeu_Uq(yGPVg#dFB3D^p7(o_-w9U`6*V!z85R;iHBC)6 zwDaVqNAWV_% zRXUm2O{DTSZKUj!n4Xm7yC>dIaV?}IZ6=nCCS(PRxbox{^*NhxneT2J)TsX>2!)j@3Z6qk9 z$T9T%>X4M$u!T6c187K<(pWq%Kd~8S>DvnAT^WDzMnxi}F5$wZ zm?wI8(`gCz>q&+VQpk*>@}gTJ_V(#E*3PK_$WqdE35Zwar_PS*RHNlKlBFwh1i-5X z8EtKZ+LtcUpjM=*+>jJg`~aN+iR-VmC*@g2+Avh(<4^7qylml?tXn0uB?YiiA|(L8 zKTv*@$pvnxD3}v5LwNeHZdRmbN>r%;t1(EO6Fr4EYT6qK1m@&wt~unzDfPUuM5!bM zks$9+aOAd!fmqO(if?0VR;?h z+DsK0=S=O|_!~-m#i+sU{%KP|Z{dgwQUskqLR(5VUiAX(U3a>7k>Q4+?$8oj4 z1#rdnoz@)g3u@DECn#DP0cbpkKJ}Gc_(R4Px6a$!Ss~_V*OdRr3`i zggQMkc~;xRoEXm;;B4C5T`7e!yy$ZvIZrVaNoT@$?c5F8PK{!c+LyQh zDD$SuRQ9N{d0oTEj(s&WBy4Fgv+|*t9jOg)DLF>^(F&AEpeL+aOb#mN6h$bgN##OyFg2a%a)GEDQrHB- zRlI5X*J=DQIz9yWpaCb9bcmWMBXTRJ zF_Jf+4$a$oGh4}`NZM%4ftyMI$&@XY%#~$W<-F5V+Jt(Jv;{C?X(C~XObPkZrmU9h zLBvM<%`-aE%-p=va-qT#(wLa}?=SAELZ>@=r>#aP$&zH#)^1W%RN`htZ%ovfQIV%A zNDyXFT+nrjaglcF8R8?}lC&)cfN+qLq>aTM<=pNmD{w0z%Ohhz1bi0`VH8xhkr{~- z`PUQXEF_a0jdRjHJvq}DRi+kljVOd`PA&2jD>>JYqAVjZgFp@}1A#=L309ox{i~?B zDh{J58YmrVIS;zhLQuF#=}DWHQ=1~l&A)n%GA4%?)=jqIQvi^4j+D$75$ZuwNIQyk zZGN<*q2Ey3S`{>vx9Fbq_yw@hZmrd3aYUYE)2kmMNOS^uPSo8^`mzH?TSdRcsMmT1 zOD@refL>T4H5AJG%x%vwDD)kv#vHY+wP%2GNl@Jn2J5nM>Nl}Fp1nW-Uv_g`V z+RA|%fkigO4Tlx1@}Rf5@?8E+h^O=z*riD@L{ZSZrfF-y($$@nNIa>!P^Fki)|km# zW>Tc3i(3>e1b z1-PT$DJGDWx|E#(F+%E;R&|-?X!gVh0ba*SeS@((g#@^n zyyv1B_RQO>lxeUhOm6v5^cC$&Q* ziDZUxDxQXsDLR?=sYfk>xg9CG*eTa>O&0BukV=!jp!YP5^|8IRa?p~GFaQri42qKt z1ERG&;8A?P0u(#VV4adnFeIc=P}vG9FhM%fcb2(;Q)wD>s~h|;a?ZBOL!;-9Wfg2jdILe#zECOUhN>hNPXq6{QZu3h?1cN)tsh4b049QBl5NRK}ms1Y6 zn~)%FNl2DP2z`LjP@7<15&uW@}gUJY& z)sTXaL6Jy0%3n}zu%e^L37WIm_0 zj%6k!j#0fy&M_e>u#YUrU9h@IDf^>@{67KSrY(3T;_nJCxWb#bRF=#gqhni5)xC(h zaXo%u`)g9Pp-39(9VCB2Q-w)mI4V~;;Tc7*2e)L?7Y;4uI6Y3Ztq`FE z5lUmcTZpdv&SkWwQjsd=K&!R$O1gDP6O;)gbFA+hwsAL#ZD(RmgL;}uPckfw-1!r8 z6u-V`i|eI2g(`AvksYb3Un133=uyggOwyL@qssE<)HaTEnL=4{Ndy2+fEu-J!1ohk z(RWWkQbgzkMs7kW-Y12J(p1B(sbM-J;V?7Kp1>cSJh8SaLY-|wcO5~W^`@>D%f-ILc*I+QYJy=Pk46N2d*8+LV%4Zw>OG?OF&2-VU>R|>S|+! zLtbsws+8JP>m^M|i6Ufu1k-O~Ph=y4TRVvHMWamvDRe05uuiq@ncVxWvNmz*|CAPZEID!(3P}= zmWmXaN{8YEa|XQ2<1dA8@D3#2If93OV&1zfEhOf%e{k6&Zm2z@abCZ%;XAk7DpE>G zB$=r@-wQ1`p9#9avD;5R!tt`($k_HNJd_L&c@b4A)bWh&RIXtYEbtS=^!Sy696J(q zDdG$%w2Q>-ZX4M*2_5tb9F?xh6>Z||ajXs2uMo18F*_af+PtmCTr0;vW=|GbU5&{u zS|7aO*MxrS5VKZ=D;p3*p=sntv8~e$#aQuj%G-%B#3>f<{{X~fs!J}9jkD}|^ALH~ zd+b!F(5V4Wwl#a(!r@N8BI%v3>>sipiV!!TRL z-d)~Ww)OKWNo+0%N)IqS>$7V{8hx)!cfo3!j2kY^;I?)`EiKU4Ng#xX29BhZtqvpu z2i2zaCbSqm4L4IUId|+Uo~pL;W9n~`D-f}>xoOuDkcERIPpwq3oG12kuCm){ahsIN z+noZVLO!*5eSx~R>DHlfD^S?S!;0?oU`T^VyTmF?D zV1^fQY8pDxP~s{%FlGw@d&GZb+wuxgHmBMc+ELm82vUM2+cdCT-qn!uOaK2nYaa z-fNL!t+I{xnsCD|0Fed;>7?513_4o_;Yia;U9@NkG?;Eb2o$mttaBZzwne>#Q<`El z_NPoXm6!%86i-f%c5tgs^t3-NL8y9zDfggu_V-kHbo^VNGeegr4cTz zuR>8Ioe0>}o*Ko$DSgO|YN<9h$853Wwp0$Ww|ZTsi>o9jZBJ@C8B3~#D>kE^hNK&9 zurlZ*ZYw)we1O%ia3)Ca?@toTOzEN0DQ1IB01AeN0Y3CXt7ISF+_sav6>G|?%%#E; zVOFG(pJ>)k&ZDleTq@8l%d3JJj^11? z)vTE&B-QjN_>X=OY-89~`t{4(w;ocAEm8)%Q;R0l8_Yp7%X({U$xzG_C%s8BLQG6n z*=)K{<>)wRIdvLP`MH&qGJUBh9w$VYieAOCTtuc!>ri;X3=^15lH360Jh#%W78qz+ zLKCq3>N^Iu3U4lenz!NjVp(Y1IJ}8SnLB-J6xmHl;8ixZ_)%b3O<-gS1<4Kr15*Q{lI0S zRNHfxP08GvcDDtSe|2n-gp-(qqSeg*08f=AYRXpTbFBXWpVFZxzFA$}$B8^ggbo{E z^QrYF0jUPC*Gq{;e?Z*LJ!uGOjKt-dEyco{Or<;PR5>=zdz)`zE0niw`=l8vG9c2n z779|rl#}W@X;GG`e)8}w+`$0H%C0P%a)v`{0Jj;)8`V>8BAaPoU5q`e1NVoJG#W|g zQCIi(ScUR3B3oCargQ_XJH{~-z5_`x27_8A4AL4|bxA8HWBz;9OUvebkXvrWEwIPT zDJVHqW_FMAD$`_(RxFlo9f6l`^WK9FZ5IJcTW}G)nt{hL6y{Z{a1%O3P}`{RL*{r9 zedN1(R+E__T6X7F%r$M|Ar^{8fiWVfmNu`YVb!E%nIzS@+mUi#Alxx7(h&0*#0qLY~JZW@eD`?f<)=+YDj zTH|;fD!+ymxp;1hO47jdRwI!A00ld~#xF6OlXHCf*8?gNPKij^3iNt(?ka5M5ZKWAPP)X%ot_e9T44wibT`7gaLV*NSlZng;+N1733ExUZ zvCnb}?J}s+n3$8TN!~UDh}xqT24j@OR9Q54&WoFP5&dWifz+Rs9Warm)FODn(n#97 z^R60quFn!?liXk*opgb{0a`}JXaJB&KUxFil-gkQKtPmK zTDphCMh_9`Pz02ckP;~Y=@0}Iv3~E~fA=}hc0On4KIb{-zV7ceh~#cE!azy66dR^D zTs_J6`|b%Qh#NpFvZxA*l(xhnUboSxEU1_iNeNCXH7A}g?(#80C_Ku$DPjsn9nK>C zQeY}ebIN>*%Jvl{%SEMAW2+;b6-Ja~RHR3+gf&Wr+p`fAV@$n&RU(*sEw0=}1Fh*a zZlPw463#Pv-%;oA8 zUSpO{oO;U(#NtT~jy9ssdpCj7d%X%Y_pETYPuJw6M5lh+h-gfgf5;Z)E?`=HjOrPO z=x<9mXiJHWjGCO2S_`^zFJnZ4Rx|Ml%_K?2(XcXu{*&g4yi`dq7tBrn+j#ff0`14M zs~wDVscckZ6S$J0UVuoFinUaPxX778zu$^R9u~Hb=;EwqhVrw}lX~ zXY#`8n3x8reqJuG79|FqAv5DLeMBx)&}5^*V^b6i^sx1l&1+3>H|{Kz#By_@=avy9 zyOTuScWi#;I%`ecHv&HMcIU}>YJnCijOP5gWI%TK@zJ^7wbkB~KHk;a?2~_0)7lOvYHd^%T`&ai@PzEEZ?Z67qv+?7C9C7CE+=9whQl!(o5H7$`D1h{uiClcpb zJo{ra-m{0$V@uQ)aVCCm{nZ6Ll&m1+52Vtni~s{>*16v~&%X|zahKDnNH&BngPw3) zk4T(~CQ!C8XN|V`C)}GgLY#!5Uh~@1F%1J%Iv90l{!MI2m-oHpF~^rFgACgz^9m_= z(S+@Vy71q#_<{W(OMm3C<*|JKe8rw_qd`Fja?8s|s&vlij?I3)guqxhi*UPPUvBBz z!(4}V4JAwylM@g_j-Kw8NF^IE!AcC=*U@U@HZ;qW>K%b6BOR8z_|mt)H`_zg*_)v| zw(o8AcV?TjMWV3ZQ*NcSmEdzGkYzMWzvt*qKm7-AN;b#>?qUNif_z9%x&)RKT8So2 z?tNA23B@%?h`G;u3$6BU*#q#d z*_KB)w9AMbqK2{@m;VfkwQ50rYPDW~WJ)?IrOa_A+gq82xtyoUsgUun;kAQWi@E^dUux z4?Jr5dUb=1V|`g7m}0cMk-z7b=bY2A@^&)MtlLCi8uj=;0C!Ns-0uD7HQS$^Ed2+c ztVS42zgr<~GXhz#6l~NG+xibQ^~`pVm9llmXWnY+0Y-d3Prg2X>0F_x`V;Pr>n;AX zWfK^L`96eOZZ<44IgM`hi`BKC$YZ|yE=zb(8qSyFfeB+S@wqI>k0z~}XsR&KWko7>Fbe3Tj{v7VhDl_x}}Ne#FPbFYPc(b+A&}{x_krUgY#)`Jyr<$Xh+F77J-l1D!r=-F}0&(*_DhtG#_GD^56+7atn zNj=Tk2OI;3=>my&<(7F?z*A%7Q-n#ao@T`*$#3BRXOZ7ttRD?z`B8PORAwr|0;^jY zs3r0)mwxZFS?(_steOLYIqAOhh0Lmzr8lc=*{nrSs2ayABTFhe1tMn!i_hby-7792 z_HB$0vbMxm_Y_9xE^8;SwqCejktuLe4lx$(C@&ij()r($suKwG*36D)|wYoy8$F#$0oGm z)$-x^cW0YY(-G5+uLB>hEf>a@vDCZgnK=$`pZ;thO7xXwR+taz)W-W7-`G-`S?`W3 zk=kI;%PF#Gp_LXX_&3`@+swR(Co?3XnJ`YeYM5AR3_GA`s~#ztaAk*13USS= zqh6Lg2P{`sZdzI;H5``UOh@g8Q26 z)bYNsr}@XvBgUW_=8Ri!-c;jX*8DP-p|UA;R@D)kkMZ3Yo&!rc1~}WelEvM`>eZ_h z!$L==+@#ToLNbEln$sg7d;dneHH};l!Ts307-x9{f|PvL(Vv%19gb7s_3fgw71QM3 zd%NyyrA3d^0AAy2qRaQSs*`FcQf~pqmN8ybgK^SEz{&4*o5N}grcwx^q zckV5k!g?Hml-nlUp3j$fIfpBWl2`je$zGFQyjDfA-D~bc2uiZaJ^jgI4++jT#vy#e z{k`j#UVtUQc01nn9*x(%XZZ5g%!Oijj3N`+7tfZcK`ffrD4q%iskgsAAtfwp7};G!7|pB-5qI|pqHjfWn{qu*cOJFh#F)$scfmW84h zqilLU%lctp=2%KH|N0JAlQ-0;>#AFQ=X}GSb5*q5&}j?nZ`SjaG4O|G*pB%P#Sk}$ zVFGlSrm$^dpj>Z>fFU7lJ!UvppXq-o7=YQYoLuDCux|{5A=*Q&u*DlnbT3uSo1#7n z$)HGPpeza!p4Gt-_}jj^9HDZzlA|@=ysZqF%TQS}%pWtI?KNAFlzc}-(ze&pwt3li zEpxHJnFxSOwZgm7JT+{tM2kD5?Mg7ZC-ee_YrNvQfRVFDef+bkqree53!}~;wOcST zX@jI?p-Uu`!2E19jR|2Cyqc-NG@PhRc{l#9=xp*j{=x1`fT;s1=JB{@!E~JVvy|K4 zr`Zs+IR)FHd*=7Qt7GwYf2B8x-uingMmaGeG^b_D6z-F`g}Y|17$Dv810da7)`#8Fqm|wqUZ*uyvA!)jH#K0yfyYv646_IWXs3V^)~#;07eP~Cy^dO-^b+w zVkoCMUyV-OdEP6VBFfrA7uEftw<@J}wVKGKE&*A*U++E8&8Neo;7FOnv zB}tIg2wDKsD;W(TEyiTTV2PwmNy(e#cIO)01t4TrA#l&!?MOHusXRj`+-qs*B;eiyHkE(fw42f5$nnkZO33l>Z zSd+5nQvnD#%ChAh+^vsJnMSk7``i0pbJ}~WykZNbbt)5U+}fRj=hGDu!(TtWOEw5W zymI_Nz{^H_RIn079?3bpWMR-m5|H?y4dOpE9aZP8fZQ@d#57Yh$o#`P7&NtI4y$@B zQbw<-#gcEwF5T%)@LJ7pdAtgTRP}Y9I9>l^_ep3-^M@W?i&H-z`$G=uo}@ng8(-Ac zI66MB_GS)Pgx`09W>SeI9^UO-i&)F%un_X~0QoOIlM@`$!Cd7iC)CX_85xpe;Z+BI zVLT#Vyi_tUJQeul^dQH?t=0+MoVYZQ&+9D|!k5KpWHqrWHeM(Ked|(;`-5iuKXjoR z9)#@^pIyctnovm822o9|CRRu{Y!qf?sxImwy24@egImrs2bGBqGX;)(OTLm zqxdwNBe+%E?JL%KDLSNrH{R%)io(8;W})KAi1wbULRplEsbj8_R%+QK1g1d0w$!Sf zHNww_N`zBumZF>G%rp}5B7+g;MLJ85KZ%r6A&|>yw5+_J!Xbf2Ng#}K%I_iGUBlNB zs@RZ20XCeRRxYDdfkXAdX&wVSOGU*w5%(G%p9bc>Hl9ECYA&`!ZA|IG`+H%&=CuZ< z2=^+eZ+sOa_rD`IGvP931B_a-Cz=y_@cvP}UE)`Vewq8poTo5+Gl0YTVw^OFC+TL< zgm&BL$;DbDVuyu1ojln#qnIW7`=IwAme zO#2Toj@S`R%o5KFBGv@WC+1JT$Ty$i_KCKxh^bl| zS2Ie8d);dGLgek71k^+8l$)V<5GS9B_daXT9GyP!Q>n-$-LpoSlub{FD^a(Wq8SnB zSWBY+bk=>>lp;kd-WS?B4Uc|2V_$Y$@w5rM(uIm0R=8^=P7->}uI=5|=hDvcP3Yx= z*w~zB?>UV6)OYCmeg^jF{s&;|=;>~EO7;{QU9`4zyUa%2ynSPNLt8aqkt}yeh|XhA zLgkctIhOvZc+S$u0gj2P)3$p<>-IKie1cpQtYZwKY;* z*<5R0(H4J1Kkro%P&|pIjwyA&mOS>;>2U#rDQDo!2(CM3ThaTFR{iN0^r0pz{`Q8H z`W=qJr-#0>Zh32467snTj6a(RuT1ikZm`^ZA-$?Fbmd#N`l`_V@xQsG$(kkU&4}e^ z)_{Y$aN)b{H?FFSv)*HB-sqv7U3R$B{A9^d6*1M4AaTd=_Wid#8XJe#0ba>V19u`B zBlK1a`LdP|1!>S$;HmFqt^VhNO`iAVgs=XLPEZ){npJpj8LYO5_8JM-B8eLH4-URz zm#hsrZB9JL`*X%`bs+qC^3!?X;h;n_aQ(#5u>ssd-;=&zt?JcVMsk4^Z`~O2`&?{m9~( zml(;(JUJtTmpi48H$7$z+jmy^1J zi5v^1XiL}1xMS&BgGzZl-g}wDrb>+$n9s)h z1dRUKOdWPCALQ!bK@Sz;h~eZ4R*Ypa@vBU|!2{P7OQ*FVe-koV8D~RXIvv7=C|EP6C-&VB7$J=u1#ayF65FDbnN>~!T%PqjJ zCWU}k>4+;QWvB{i+EA3BplknHNTTp3?s5>B;8`!r*+#slkS6LbG;OjsC_l%f=%R*W zGq`}J;z^YE`hafsS(RKvow)4v2wPDspG}#-5X40+kXHt7&DAh7=J_cQ%jQhV$l1z28P*C zx!F!1fE$iP&bBzT#0OL8T1O)klqA&_+*qDLw)b5MfN@NCcDcLIeT%zwESXLm;mb&O z&&G<+Da)Cu`9)o@zbTFK@P&XsOv;eP06P%vh7HvJ2mmEf*ViHqG=#OX(^j+(FbEGZ zKyt7TmaM%w8b1Bw2ZoVG`dH;$jq61;UF-W?dkqd>w~#qPw~RcuNDcv>JjpvSsqF|o zkA#fp8R zc!Sn|1(X3NcwsYI-8U()mHM4jF>`J;gC{jd{6#^JxzSYChmz?jwzbwd!vYx)C#L?} z_^IDXqFh{~bvZv4oP*?IUDM@Yfv(ZarByAya#>4^U>L|7LPaVk(iQqvX=L)-jQL5m z_cLV&*%Sz|t0IdgB{z{aN=`!WIx2r0-b^Tqza)akRnraX7d%-4A8Z)9k{DM_a>f!B z^8*Eq!){(l(#;Vz%oQn>=z;z2tuM6sp!H`jq{kPb80f@L!>gtS9C?WU; zf3=gOq9A_g8pL2-LNUXeF4xXZym;!#J^Y+rkt4XW+Ly16VZog&J?p#G@>uTnx<`^7gH4yTH<@wnGl1~ z8jmu(8_IddWXvaKE+1jXCA--ePjq_w8*xi!!!VSU-q{X(>1G*Q;nTC


7!J1G9} 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 literal 0 HcmV?d00001 diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-1-52.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-53-97.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-rows-B-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-52A-53A.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-72A-73A.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-A-urnRanges-97A-97B.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-1-52.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-53-97.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-B-rows-B-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-1-36.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-C-rows-B-U.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-babyShrine.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-A-L.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-D-rows-M-V.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionCenter.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionEast.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-E-sectionWest.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-F-rows-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-G-rows-1-32.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-H-rows-1-16.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-J-rows-1-18.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-block-K-rows-1-19.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-O-P.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-S.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-U.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-V.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-columbarium-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-image.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-east.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-J-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-L.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M-W.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-niche-M.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-T.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-section-U.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-mausoleum-west.svg diff --git a/public/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.holySepulchre-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-A.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-B.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-C.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-D.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-E.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-F.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-G.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-H.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-I.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-J.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-K.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-L.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-M.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-columbarium-N.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-image.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-infantsSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-1-40.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-41-80.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-nicheWall-81-106.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots 3-21.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-1-31-lots-22-46.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-25-61-lots-47-59.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-60-lots-4-21A.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-33-61-lots-22-46.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-24-40.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-63-94-lots-47-59.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-rows-66-95-lots-12-24.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-urnGarden.svg diff --git a/public/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg b/public-internal/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.newGreenwood-veteransSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-babySection.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-1-11.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-1-18-lots-12-17.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-1-11.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastNorth-rows-19-38-lots-12-17.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots 23-31.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-1-18-lots-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthA-rows-19-32-lots-23-31.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-lots-33-45-rows-1-22.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-33-57-lots 23-31.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-eastSouthB-rows-46-57-lots-11-24.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection-image.svg diff --git a/public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg b/public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.oldGreenwood-westSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.pineGrove-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.pineGrove-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.pineGrove-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.pineGrove-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-eastSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-northSection.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-northSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-northSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-northSection.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-overview.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-overview.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-overview.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-overview.svg diff --git a/public/images/cemeteries/ssm.cemetery.westKorah-westSection.svg b/public-internal/images/cemeteries/ssm.cemetery.westKorah-westSection.svg similarity index 100% rename from public/images/cemeteries/ssm.cemetery.westKorah-westSection.svg rename to public-internal/images/cemeteries/ssm.cemetery.westKorah-westSection.svg diff --git a/types/recordTypes.d.ts b/types/recordTypes.d.ts index 7a715ef6..45f0a571 100644 --- a/types/recordTypes.d.ts +++ b/types/recordTypes.d.ts @@ -14,6 +14,7 @@ export interface BurialSite extends Record { cemeteryName?: string; cemeterySvg?: string; cemeterySvgId?: string; + burialSiteImage?: string; burialSiteLatitude?: number; burialSiteLongitude?: number; burialSiteStatus?: string; diff --git a/types/recordTypes.ts b/types/recordTypes.ts index 0ac7f2bc..a72e4cf1 100644 --- a/types/recordTypes.ts +++ b/types/recordTypes.ts @@ -19,6 +19,8 @@ export interface BurialSite extends Record { cemeterySvg?: string cemeterySvgId?: string + burialSiteImage?: string + burialSiteLatitude?: number burialSiteLongitude?: number diff --git a/views/burialSite-edit.ejs b/views/burialSite-edit.ejs index 9ab2d213..80474aa3 100644 --- a/views/burialSite-edit.ejs +++ b/views/burialSite-edit.ejs @@ -373,6 +373,21 @@ +
+ +
+
+ +
+
+
diff --git a/views/burialSite-view.ejs b/views/burialSite-view.ejs index 75019c7f..84cd2dbd 100644 --- a/views/burialSite-view.ejs +++ b/views/burialSite-view.ejs @@ -98,19 +98,28 @@ - <% if (burialSite.cemeterySvg) { %> -
-
-

Image

-
- <% const imageURL = urlPrefix + "/images/cemeteries/" + burialSite.cemeterySvg %> -
- <%- include('../public/images/cemeteries/' + burialSite.cemeterySvg); -%> + +
+
+

Image

+
+ <% if (burialSite.burialSiteImage) { %> +
+ Burial Site Image
-
+ <% } else if (burialSite.cemeterySvg) { %> + <% const imageURL = urlPrefix + "/internal/images/cemeteries/" + burialSite.cemeterySvg %> +
+ <%- include('../public-internal/images/cemeteries/' + burialSite.cemeterySvg); -%> +
+ <% } else { %> +
+

There are no images associated with this burial site.

+
+ <% } %>
- <% } %> +
diff --git a/views/cemetery-edit.ejs b/views/cemetery-edit.ejs index 2790f182..18ceea16 100644 --- a/views/cemetery-edit.ejs +++ b/views/cemetery-edit.ejs @@ -216,7 +216,7 @@ <% for (const cemeterySVG of cemeterySVGs) { %> <% } %> diff --git a/views/cemetery-view.ejs b/views/cemetery-view.ejs index 6b819556..e688f5bc 100644 --- a/views/cemetery-view.ejs +++ b/views/cemetery-view.ejs @@ -113,9 +113,9 @@

Image