typing and comparison

This commit is contained in:
Julian Krauser 2024-12-26 19:35:29 +01:00
parent dad54c97ed
commit d7b92aedc1
6 changed files with 14 additions and 11 deletions

View file

@ -4,7 +4,7 @@ export interface SynchronizeNewsletterDatesCommand {
}
export interface NewsletterDateCommand {
calendarId: number;
calendarId: string;
diffTitle?: string;
diffDescription?: string;
}

View file

@ -17,13 +17,15 @@ export default abstract class NewsletterDatesCommandHandler {
return await dataSource.manager
.transaction(async (manager) => {
let newDates = syncNewsletterDates.dates.filter(
(r) => !currentDates.map((np) => np.calendarId).includes(r.calendarId)
(r) => !currentDates.some((cd) => cd.calendarId == r.calendarId)
);
let removeDates = currentDates.filter(
(r) => !syncNewsletterDates.dates.map((np) => np.calendarId).includes(r.calendarId)
(r) => !syncNewsletterDates.dates.some((cd) => cd.calendarId == r.calendarId)
);
let keptDates = currentDates.filter((r) =>
syncNewsletterDates.dates.map((np) => np.calendarId).includes(r.calendarId)
let keptDates = syncNewsletterDates.dates.filter(
(r) =>
currentDates.some((cd) => cd.calendarId == r.calendarId) &&
!removeDates.some((cd) => cd.calendarId == r.calendarId)
);
if (newDates.length != 0) {