fix create cemeteries
parent
927334d954
commit
0474631bf5
|
|
@ -1,4 +1,5 @@
|
|||
export interface AddCemeteryForm {
|
||||
import { type UpdateCemeteryDirectionsOfArrivalForm } from './updateCemeteryDirectionsOfArrival.js';
|
||||
export type AddCemeteryForm = UpdateCemeteryDirectionsOfArrivalForm & {
|
||||
cemeteryDescription: string;
|
||||
cemeteryKey: string;
|
||||
cemeteryName: string;
|
||||
|
|
@ -12,5 +13,5 @@ export interface AddCemeteryForm {
|
|||
cemeteryPostalCode: string;
|
||||
cemeteryProvince: string;
|
||||
cemeteryPhoneNumber: string;
|
||||
}
|
||||
};
|
||||
export default function addCemetery(addForm: AddCemeteryForm, user: User): number;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import sqlite from 'better-sqlite3';
|
||||
import { sunriseDB } from '../helpers/database.helpers.js';
|
||||
import updateCemeteryDirectionsOfArrival from './updateCemeteryDirectionsOfArrival.js';
|
||||
export default function addCemetery(addForm, user) {
|
||||
const database = sqlite(sunriseDB);
|
||||
const rightNowMillis = Date.now();
|
||||
|
|
@ -15,6 +16,8 @@ export default function addCemetery(addForm, user) {
|
|||
recordUpdate_userName, recordUpdate_timeMillis)
|
||||
values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
|
||||
.run(addForm.cemeteryName, addForm.cemeteryKey, addForm.cemeteryDescription, addForm.cemeterySvg, addForm.cemeteryLatitude === '' ? undefined : addForm.cemeteryLatitude, addForm.cemeteryLongitude === '' ? undefined : addForm.cemeteryLongitude, addForm.cemeteryAddress1, addForm.cemeteryAddress2, addForm.cemeteryCity, addForm.cemeteryProvince, addForm.cemeteryPostalCode, addForm.cemeteryPhoneNumber, addForm.parentCemeteryId === '' ? undefined : addForm.parentCemeteryId, user.userName, rightNowMillis, user.userName, rightNowMillis);
|
||||
const cemeteryId = result.lastInsertRowid;
|
||||
updateCemeteryDirectionsOfArrival(cemeteryId, addForm, database);
|
||||
database.close();
|
||||
return result.lastInsertRowid;
|
||||
return cemeteryId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,11 @@ import sqlite from 'better-sqlite3'
|
|||
|
||||
import { sunriseDB } from '../helpers/database.helpers.js'
|
||||
|
||||
export interface AddCemeteryForm {
|
||||
import updateCemeteryDirectionsOfArrival, {
|
||||
type UpdateCemeteryDirectionsOfArrivalForm
|
||||
} from './updateCemeteryDirectionsOfArrival.js'
|
||||
|
||||
export type AddCemeteryForm = UpdateCemeteryDirectionsOfArrivalForm & {
|
||||
cemeteryDescription: string
|
||||
cemeteryKey: string
|
||||
cemeteryName: string
|
||||
|
|
@ -62,7 +66,11 @@ export default function addCemetery(
|
|||
rightNowMillis
|
||||
)
|
||||
|
||||
const cemeteryId = result.lastInsertRowid as number
|
||||
|
||||
updateCemeteryDirectionsOfArrival(cemeteryId, addForm, database)
|
||||
|
||||
database.close()
|
||||
|
||||
return result.lastInsertRowid as number
|
||||
return cemeteryId
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { directionsOfArrival } from '../data/dataLists.js';
|
||||
export type UpdateCemeteryForm = Partial<Record<`directionOfArrival_${(typeof directionsOfArrival)[number]}`, (typeof directionsOfArrival)[number]>> & Partial<Record<`directionOfArrivalDescription_${(typeof directionsOfArrival)[number]}`, string>> & {
|
||||
import { type UpdateCemeteryDirectionsOfArrivalForm } from './updateCemeteryDirectionsOfArrival.js';
|
||||
export type UpdateCemeteryForm = UpdateCemeteryDirectionsOfArrivalForm & {
|
||||
cemeteryId: string;
|
||||
cemeteryDescription: string;
|
||||
cemeteryKey: string;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import sqlite from 'better-sqlite3';
|
||||
import { directionsOfArrival } from '../data/dataLists.js';
|
||||
import { sunriseDB } from '../helpers/database.helpers.js';
|
||||
import updateCemeteryDirectionsOfArrival from './updateCemeteryDirectionsOfArrival.js';
|
||||
/**
|
||||
* Updates a cemetery in the database.
|
||||
* Be sure to rebuild burial site names after updating a cemetery.
|
||||
|
|
@ -36,20 +36,7 @@ export default function updateCemetery(updateForm, user) {
|
|||
: updateForm.cemeteryLongitude, updateForm.cemeteryAddress1, updateForm.cemeteryAddress2, updateForm.cemeteryCity, updateForm.cemeteryProvince, updateForm.cemeteryPostalCode, updateForm.cemeteryPhoneNumber, updateForm.parentCemeteryId === ''
|
||||
? undefined
|
||||
: updateForm.parentCemeteryId, user.userName, Date.now(), updateForm.cemeteryId);
|
||||
database
|
||||
.prepare(`delete from CemeteryDirectionsOfArrival
|
||||
where cemeteryId = ?`)
|
||||
.run(updateForm.cemeteryId);
|
||||
for (const direction of directionsOfArrival) {
|
||||
const directionDescriptionName = `directionOfArrivalDescription_${direction}`;
|
||||
if (directionDescriptionName in updateForm) {
|
||||
database
|
||||
.prepare(`insert into CemeteryDirectionsOfArrival (
|
||||
cemeteryId, directionOfArrival, directionOfArrivalDescription)
|
||||
values (?, ?, ?)`)
|
||||
.run(updateForm.cemeteryId, direction, updateForm[directionDescriptionName] ?? '');
|
||||
}
|
||||
}
|
||||
updateCemeteryDirectionsOfArrival(updateForm.cemeteryId, updateForm, database);
|
||||
database.close();
|
||||
return result.changes > 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,20 +1,12 @@
|
|||
import sqlite from 'better-sqlite3'
|
||||
|
||||
import { directionsOfArrival } from '../data/dataLists.js'
|
||||
import { sunriseDB } from '../helpers/database.helpers.js'
|
||||
|
||||
export type UpdateCemeteryForm = Partial<
|
||||
Record<
|
||||
`directionOfArrival_${(typeof directionsOfArrival)[number]}`,
|
||||
(typeof directionsOfArrival)[number]
|
||||
>
|
||||
> &
|
||||
Partial<
|
||||
Record<
|
||||
`directionOfArrivalDescription_${(typeof directionsOfArrival)[number]}`,
|
||||
string
|
||||
>
|
||||
> & {
|
||||
import updateCemeteryDirectionsOfArrival, {
|
||||
type UpdateCemeteryDirectionsOfArrivalForm
|
||||
} from './updateCemeteryDirectionsOfArrival.js'
|
||||
|
||||
export type UpdateCemeteryForm = UpdateCemeteryDirectionsOfArrivalForm & {
|
||||
cemeteryId: string
|
||||
|
||||
cemeteryDescription: string
|
||||
|
|
@ -94,30 +86,7 @@ export default function updateCemetery(
|
|||
updateForm.cemeteryId
|
||||
)
|
||||
|
||||
database
|
||||
.prepare(
|
||||
`delete from CemeteryDirectionsOfArrival
|
||||
where cemeteryId = ?`
|
||||
)
|
||||
.run(updateForm.cemeteryId)
|
||||
|
||||
for (const direction of directionsOfArrival) {
|
||||
const directionDescriptionName = `directionOfArrivalDescription_${direction}`
|
||||
|
||||
if (directionDescriptionName in updateForm) {
|
||||
database
|
||||
.prepare(
|
||||
`insert into CemeteryDirectionsOfArrival (
|
||||
cemeteryId, directionOfArrival, directionOfArrivalDescription)
|
||||
values (?, ?, ?)`
|
||||
)
|
||||
.run(
|
||||
updateForm.cemeteryId,
|
||||
direction,
|
||||
updateForm[directionDescriptionName] ?? ''
|
||||
)
|
||||
}
|
||||
}
|
||||
updateCemeteryDirectionsOfArrival(updateForm.cemeteryId, updateForm, database)
|
||||
|
||||
database.close()
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
import type sqlite from 'better-sqlite3';
|
||||
import { directionsOfArrival } from '../data/dataLists.js';
|
||||
export type UpdateCemeteryDirectionsOfArrivalForm = Partial<Record<`directionOfArrival_${(typeof directionsOfArrival)[number]}`, (typeof directionsOfArrival)[number]>> & Partial<Record<`directionOfArrivalDescription_${(typeof directionsOfArrival)[number]}`, string>>;
|
||||
export default function updateCemeteryDirectionsOfArrival(cemeteryId: number | string, updateForm: UpdateCemeteryDirectionsOfArrivalForm, database: sqlite.Database): number;
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
import { directionsOfArrival } from '../data/dataLists.js';
|
||||
export default function updateCemeteryDirectionsOfArrival(cemeteryId, updateForm, database) {
|
||||
database
|
||||
.prepare(`delete from CemeteryDirectionsOfArrival
|
||||
where cemeteryId = ?`)
|
||||
.run(cemeteryId);
|
||||
let updateCount = 0;
|
||||
for (const direction of directionsOfArrival) {
|
||||
const directionDescriptionName = `directionOfArrivalDescription_${direction}`;
|
||||
if (directionDescriptionName in updateForm) {
|
||||
database
|
||||
.prepare(`insert into CemeteryDirectionsOfArrival (
|
||||
cemeteryId, directionOfArrival, directionOfArrivalDescription)
|
||||
values (?, ?, ?)`)
|
||||
.run(cemeteryId, direction, updateForm[directionDescriptionName] ?? '');
|
||||
updateCount += 1;
|
||||
}
|
||||
}
|
||||
database.close();
|
||||
return updateCount;
|
||||
}
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
import type sqlite from 'better-sqlite3'
|
||||
|
||||
import { directionsOfArrival } from '../data/dataLists.js'
|
||||
|
||||
export type UpdateCemeteryDirectionsOfArrivalForm = Partial<
|
||||
Record<
|
||||
`directionOfArrival_${(typeof directionsOfArrival)[number]}`,
|
||||
(typeof directionsOfArrival)[number]
|
||||
>
|
||||
> &
|
||||
Partial<
|
||||
Record<
|
||||
`directionOfArrivalDescription_${(typeof directionsOfArrival)[number]}`,
|
||||
string
|
||||
>
|
||||
>
|
||||
|
||||
export default function updateCemeteryDirectionsOfArrival(
|
||||
cemeteryId: number | string,
|
||||
updateForm: UpdateCemeteryDirectionsOfArrivalForm,
|
||||
database: sqlite.Database
|
||||
): number {
|
||||
database
|
||||
.prepare(
|
||||
`delete from CemeteryDirectionsOfArrival
|
||||
where cemeteryId = ?`
|
||||
)
|
||||
.run(cemeteryId)
|
||||
|
||||
let updateCount = 0
|
||||
|
||||
for (const direction of directionsOfArrival) {
|
||||
const directionDescriptionName = `directionOfArrivalDescription_${direction}`
|
||||
|
||||
if (directionDescriptionName in updateForm) {
|
||||
database
|
||||
.prepare(
|
||||
`insert into CemeteryDirectionsOfArrival (
|
||||
cemeteryId, directionOfArrival, directionOfArrivalDescription)
|
||||
values (?, ?, ?)`
|
||||
)
|
||||
.run(cemeteryId, direction, updateForm[directionDescriptionName] ?? '')
|
||||
|
||||
updateCount += 1
|
||||
}
|
||||
}
|
||||
|
||||
database.close()
|
||||
|
||||
return updateCount
|
||||
}
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
import getCemeteries from '../../database/getCemeteries.js';
|
||||
import { getConfigProperty } from '../../helpers/config.helpers.js';
|
||||
import { getCemeterySVGs } from '../../helpers/images.helpers.js';
|
||||
import { defaultDirectionsOfArrival } from '../../database/getBurialSiteDirectionsOfArrival.js';
|
||||
export default async function handler(_request, response) {
|
||||
const cemetery = {
|
||||
cemeteryCity: getConfigProperty('settings.cityDefault'),
|
||||
|
|
@ -12,7 +13,8 @@ export default async function handler(_request, response) {
|
|||
cemeteryName: '',
|
||||
cemeteryPhoneNumber: '',
|
||||
cemeteryPostalCode: '',
|
||||
childCemeteries: []
|
||||
childCemeteries: [],
|
||||
directionsOfArrival: defaultDirectionsOfArrival
|
||||
};
|
||||
const cemeteries = getCemeteries();
|
||||
const cemeterySVGs = await getCemeterySVGs();
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import getCemeteries from '../../database/getCemeteries.js'
|
|||
import { getConfigProperty } from '../../helpers/config.helpers.js'
|
||||
import { getCemeterySVGs } from '../../helpers/images.helpers.js'
|
||||
import type { Cemetery } from '../../types/record.types.js'
|
||||
import { defaultDirectionsOfArrival } from '../../database/getBurialSiteDirectionsOfArrival.js'
|
||||
|
||||
export default async function handler(
|
||||
_request: Request,
|
||||
|
|
@ -21,7 +22,8 @@ export default async function handler(
|
|||
cemeteryPhoneNumber: '',
|
||||
cemeteryPostalCode: '',
|
||||
|
||||
childCemeteries: []
|
||||
childCemeteries: [],
|
||||
directionsOfArrival: defaultDirectionsOfArrival
|
||||
}
|
||||
|
||||
const cemeteries = getCemeteries()
|
||||
|
|
|
|||
Loading…
Reference in New Issue