@checkfirst/nestjs-outlook 7.0.2 → 7.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interfaces/recurrence.interfaces.d.ts +0 -4
- package/dist/services/calendar/recurrence.service.d.ts +2 -3
- package/dist/services/calendar/recurrence.service.js +4 -14
- package/dist/services/calendar/recurrence.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -45,12 +45,8 @@ export interface ExpansionWindow {
|
|
|
45
45
|
startDate: Date;
|
|
46
46
|
endDate: Date;
|
|
47
47
|
}
|
|
48
|
-
export interface ExpandRecurringSeriesOptions {
|
|
49
|
-
existingExternalIds?: string[];
|
|
50
|
-
}
|
|
51
48
|
export interface RecurringEventExpansionResult {
|
|
52
49
|
seriesMaster: ProcessedOutlookEvent;
|
|
53
50
|
instances: ProcessedOutlookEvent[];
|
|
54
51
|
expansionWindow: ExpansionWindow;
|
|
55
|
-
staleExternalIds: string[];
|
|
56
52
|
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { Event } from '../../types';
|
|
2
2
|
import { CalendarService } from './calendar.service';
|
|
3
|
-
import { RecurrenceRule, ProcessedOutlookEvent, ExpansionWindow,
|
|
3
|
+
import { RecurrenceRule, ProcessedOutlookEvent, ExpansionWindow, RecurringEventExpansionResult } from '../../interfaces/recurrence.interfaces';
|
|
4
4
|
export declare class RecurrenceService {
|
|
5
5
|
private readonly calendarService;
|
|
6
6
|
private readonly logger;
|
|
7
7
|
constructor(calendarService: CalendarService);
|
|
8
8
|
processEvent(event: Event): ProcessedOutlookEvent;
|
|
9
|
-
expandRecurringSeries(seriesMasterId: string, externalUserId: string
|
|
9
|
+
expandRecurringSeries(seriesMasterId: string, externalUserId: string): Promise<RecurringEventExpansionResult>;
|
|
10
10
|
calculateExpansionWindow(recurrenceRule?: RecurrenceRule): ExpansionWindow;
|
|
11
|
-
detectStaleOccurrences(fetchedExternalIds: string[], existingExternalIds: string[]): string[];
|
|
12
11
|
isSeriesMaster(event: Event): boolean;
|
|
13
12
|
private extractRecurrenceRule;
|
|
14
13
|
}
|
|
@@ -58,7 +58,7 @@ let RecurrenceService = RecurrenceService_1 = class RecurrenceService {
|
|
|
58
58
|
}
|
|
59
59
|
return processed;
|
|
60
60
|
}
|
|
61
|
-
async expandRecurringSeries(seriesMasterId, externalUserId
|
|
61
|
+
async expandRecurringSeries(seriesMasterId, externalUserId) {
|
|
62
62
|
var _a, e_1, _b, _c;
|
|
63
63
|
this.logger.log(`[expandRecurringSeries] Expanding series ${seriesMasterId} for user ${externalUserId}`);
|
|
64
64
|
const masterEvents = await this.calendarService.getEventsBatch([seriesMasterId], externalUserId);
|
|
@@ -91,26 +91,20 @@ let RecurrenceService = RecurrenceService_1 = class RecurrenceService {
|
|
|
91
91
|
finally { if (e_1) throw e_1.error; }
|
|
92
92
|
}
|
|
93
93
|
this.logger.log(`[expandRecurringSeries] Fetched ${instances.length} instances for series ${seriesMasterId}`);
|
|
94
|
-
const staleExternalIds = (options === null || options === void 0 ? void 0 : options.existingExternalIds)
|
|
95
|
-
? this.detectStaleOccurrences(instances.map((i) => i.externalId), options.existingExternalIds)
|
|
96
|
-
: [];
|
|
97
|
-
if (staleExternalIds.length > 0) {
|
|
98
|
-
this.logger.log(`[expandRecurringSeries] Detected ${staleExternalIds.length} stale occurrences`);
|
|
99
|
-
}
|
|
100
94
|
return {
|
|
101
95
|
seriesMaster,
|
|
102
96
|
instances,
|
|
103
97
|
expansionWindow,
|
|
104
|
-
staleExternalIds,
|
|
105
98
|
};
|
|
106
99
|
}
|
|
107
100
|
calculateExpansionWindow(recurrenceRule) {
|
|
108
101
|
const now = new Date();
|
|
109
102
|
const startDate = new Date(now);
|
|
110
|
-
startDate.setMonth(startDate.getMonth()
|
|
103
|
+
startDate.setMonth(startDate.getMonth());
|
|
111
104
|
let endDate;
|
|
112
|
-
endDate = new Date(
|
|
105
|
+
endDate = new Date(startDate);
|
|
113
106
|
endDate.setFullYear(endDate.getFullYear() + 5);
|
|
107
|
+
endDate.setDate(endDate.getDate() - 2);
|
|
114
108
|
if ((recurrenceRule === null || recurrenceRule === void 0 ? void 0 : recurrenceRule.range.type) === 'endDate' &&
|
|
115
109
|
recurrenceRule.range.endDate) {
|
|
116
110
|
const seriesEnd = new Date(recurrenceRule.range.endDate);
|
|
@@ -120,10 +114,6 @@ let RecurrenceService = RecurrenceService_1 = class RecurrenceService {
|
|
|
120
114
|
}
|
|
121
115
|
return { startDate, endDate };
|
|
122
116
|
}
|
|
123
|
-
detectStaleOccurrences(fetchedExternalIds, existingExternalIds) {
|
|
124
|
-
const fetchedSet = new Set(fetchedExternalIds);
|
|
125
|
-
return existingExternalIds.filter((id) => !fetchedSet.has(id));
|
|
126
|
-
}
|
|
127
117
|
isSeriesMaster(event) {
|
|
128
118
|
return event.type === 'seriesMaster' || event.recurrence != null;
|
|
129
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recurrence.service.js","sourceRoot":"","sources":["../../../src/services/calendar/recurrence.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AAGpD,yDAAqD;
|
|
1
|
+
{"version":3,"file":"recurrence.service.js","sourceRoot":"","sources":["../../../src/services/calendar/recurrence.service.ts"],"names":[],"mappings":"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"}
|