Skip to content

Commit

Permalink
Merge pull request #85 from lblod/ben/lmb-1288-end-of-day-end-date-ma…
Browse files Browse the repository at this point in the history
…ndatarissen

LMB-1288 make end dates of mandatarissen end of day end dates
  • Loading branch information
Rahien authored Jan 28, 2025
2 parents 728031f + bfb0a02 commit 848f90a
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 7 deletions.
4 changes: 2 additions & 2 deletions controllers/linked-mandataris.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import {
VOORZITTER_RMW_CODE,
VOORZITTER_VB_FUNCTIE_CODE,
} from '../util/constants';
import { endOfDay } from '../util/date-manipulation';

export const checkLinkedMandataris = async (req) => {
const mandatarisId = req.params.id;
Expand Down Expand Up @@ -274,8 +275,7 @@ export const changeStateLinkedMandataris = async (req) => {
await linkInstances(newMandatarisId, newLinkedMandataris.id);

// End original linked mandatee
const endDate = new Date();
endExistingMandataris(destinationGraph, linkedMandataris.uri, endDate);
endExistingMandataris(destinationGraph, linkedMandataris.uri, endOfDay());
};

const preliminaryChecksLinkedMandataris = async (req) => {
Expand Down
4 changes: 3 additions & 1 deletion controllers/mandataris.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ import { createRangorde } from '../util/rangorde';
import { v4 as uuidv4 } from 'uuid';
import { areIdsValid, isValidId, RDF_TYPE } from '../util/valid-id';

import { endOfDay } from '../util/date-manipulation';

export const mandatarisUsecase = {
getMandatarisFracties,
updateCurrentFractie,
Expand Down Expand Up @@ -231,7 +233,7 @@ async function setEndDateOfActiveMandatarissen(
const activeMandatarisUris =
await mandataris.getActiveMandatarissenForPerson(id);

await mandataris.bulkUpdateEndDate(activeMandatarisUris, new Date());
await mandataris.bulkUpdateEndDate(activeMandatarisUris, endOfDay());
await saveBulkHistoryItem(
activeMandatarisUris,
userId,
Expand Down
10 changes: 8 additions & 2 deletions data-access/burgemeester.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
copyFromPreviousMandataris,
endExistingMandataris,
} from './mandataris';
import { endOfDay } from '../util/date-manipulation';

export async function isBestuurseenheidDistrict(
bestuurseenheidUri: string,
Expand Down Expand Up @@ -132,7 +133,12 @@ export const markCurrentBurgemeesterAsRejected = async (
);
}

await endExistingMandataris(orgGraph, existingMandatarisUri, date, benoeming);
await endExistingMandataris(
orgGraph,
existingMandatarisUri,
endOfDay(date),
benoeming,
);

// TODO: check use case if mandataris is waarnemend -> should something happen to the verhindering?

Expand Down Expand Up @@ -205,7 +211,7 @@ export const benoemBurgemeester = async (
await endExistingMandataris(
orgGraph,
existingMandataris,
date,
endOfDay(date),
benoemingUri,
);
} else {
Expand Down
2 changes: 1 addition & 1 deletion data-access/mandataris-download.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ async function getUrisForFilters(filters) {
FILTER (
?safeEinde <= ?safeEindeBestuursorgaan &&
?safeEinde >= ?startBestuursorgaan &&
?safeEinde >= ${escapedTodaysDate}
?safeEinde > ${escapedTodaysDate}
)
`;
}
Expand Down
2 changes: 1 addition & 1 deletion data-access/mandataris.ts
Original file line number Diff line number Diff line change
Expand Up @@ -894,7 +894,7 @@ async function getActiveMandatarissenForPerson(persoonId: string) {
}
FILTER (
${escaped.dateNow} >= xsd:dateTime(?startDate) &&
${escaped.dateNow} <= ?safeEnd
${escaped.dateNow} < ?safeEnd
)
BIND(IF(BOUND(?endDate), ?endDate, ${escaped.dateNow}) as ?safeEnd )
}
Expand Down
9 changes: 9 additions & 0 deletions util/date-manipulation.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import moment from 'moment';

export function endOfDay(date?: Date) {
if (date) {
return moment(date).add(1, 'days').startOf('day').toDate();
} else {
return moment().add(1, 'days').startOf('day').toDate();
}
}

0 comments on commit 848f90a

Please sign in to comment.