typing and comparison
This commit is contained in:
parent
dad54c97ed
commit
d7b92aedc1
6 changed files with 14 additions and 11 deletions
|
@ -4,7 +4,7 @@ export interface SynchronizeNewsletterDatesCommand {
|
|||
}
|
||||
|
||||
export interface NewsletterDateCommand {
|
||||
calendarId: number;
|
||||
calendarId: string;
|
||||
diffTitle?: string;
|
||||
diffDescription?: string;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue