@flusys/nestjs-event-manager 7.1.0 → 8.0.0

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.
Files changed (103) hide show
  1. package/adapters/event-manager.adapter.d.ts +2 -2
  2. package/adapters/index.d.ts +1 -1
  3. package/config/index.d.ts +3 -3
  4. package/controllers/event.controller.d.ts +3 -3
  5. package/controllers/index.d.ts +1 -1
  6. package/docs/event-manager-swagger.config.d.ts +2 -2
  7. package/docs/index.d.ts +1 -1
  8. package/dtos/calendar-query.dto.d.ts +1 -1
  9. package/dtos/event.dto.d.ts +1 -1
  10. package/dtos/index.d.ts +3 -3
  11. package/entities/event-with-company.entity.d.ts +1 -1
  12. package/entities/index.d.ts +8 -8
  13. package/fesm/477.js +1798 -0
  14. package/fesm/833.js +840 -0
  15. package/fesm/adapters/index.js +884 -1
  16. package/fesm/config/index.js +87 -3
  17. package/fesm/controllers/index.js +365 -1
  18. package/fesm/docs/index.js +155 -2
  19. package/fesm/dtos/index.js +720 -3
  20. package/fesm/entities/index.js +350 -11
  21. package/fesm/index.js +121 -9
  22. package/fesm/interfaces/index.js +16 -2
  23. package/fesm/modules/index.js +13 -1
  24. package/fesm/runtime.js +85 -0
  25. package/fesm/services/index.js +272 -4
  26. package/index.d.ts +9 -9
  27. package/interfaces/event-manager-module.interface.d.ts +3 -3
  28. package/interfaces/event.interface.d.ts +1 -1
  29. package/interfaces/index.d.ts +2 -2
  30. package/modules/event-manager.module.d.ts +2 -2
  31. package/modules/index.d.ts +1 -1
  32. package/package.json +29 -39
  33. package/services/event-manager-config.service.d.ts +3 -3
  34. package/services/event-manager-datasource.provider.d.ts +3 -3
  35. package/services/event-manager-helper.service.d.ts +3 -3
  36. package/services/event.service.d.ts +7 -7
  37. package/services/index.d.ts +4 -4
  38. package/cjs/adapters/event-manager.adapter.js +0 -65
  39. package/cjs/adapters/event-manager.adapter.spec.js +0 -104
  40. package/cjs/adapters/index.js +0 -18
  41. package/cjs/config/event-actions.js +0 -31
  42. package/cjs/config/event-manager.constants.js +0 -13
  43. package/cjs/config/index.js +0 -20
  44. package/cjs/config/message-keys.js +0 -27
  45. package/cjs/controllers/event.controller.js +0 -190
  46. package/cjs/controllers/event.controller.spec.js +0 -156
  47. package/cjs/controllers/index.js +0 -18
  48. package/cjs/docs/event-manager-swagger.config.js +0 -125
  49. package/cjs/docs/event-manager-swagger.config.spec.js +0 -65
  50. package/cjs/docs/index.js +0 -21
  51. package/cjs/dtos/calendar-query.dto.js +0 -212
  52. package/cjs/dtos/event-participant.dto.js +0 -181
  53. package/cjs/dtos/event.dto.js +0 -343
  54. package/cjs/dtos/index.js +0 -20
  55. package/cjs/entities/event-participant.entity.js +0 -89
  56. package/cjs/entities/event-with-company.entity.js +0 -56
  57. package/cjs/entities/event.entity.js +0 -156
  58. package/cjs/entities/index.js +0 -55
  59. package/cjs/entities/index.spec.js +0 -18
  60. package/cjs/index.js +0 -27
  61. package/cjs/interfaces/event-manager-module.interface.js +0 -4
  62. package/cjs/interfaces/event.interface.js +0 -4
  63. package/cjs/interfaces/index.js +0 -19
  64. package/cjs/modules/event-manager.module.js +0 -132
  65. package/cjs/modules/event-manager.module.spec.js +0 -146
  66. package/cjs/modules/index.js +0 -18
  67. package/cjs/services/event-manager-config.service.js +0 -76
  68. package/cjs/services/event-manager-config.service.spec.js +0 -111
  69. package/cjs/services/event-manager-datasource.provider.js +0 -84
  70. package/cjs/services/event-manager-datasource.provider.spec.js +0 -198
  71. package/cjs/services/event-manager-helper.service.js +0 -235
  72. package/cjs/services/event-manager-helper.service.spec.js +0 -327
  73. package/cjs/services/event.service.js +0 -481
  74. package/cjs/services/event.service.spec.js +0 -929
  75. package/cjs/services/index.js +0 -21
  76. package/fesm/adapters/event-manager.adapter.js +0 -55
  77. package/fesm/adapters/event-manager.adapter.spec.js +0 -100
  78. package/fesm/config/event-actions.js +0 -10
  79. package/fesm/config/event-manager.constants.js +0 -3
  80. package/fesm/config/message-keys.js +0 -9
  81. package/fesm/controllers/event.controller.js +0 -180
  82. package/fesm/controllers/event.controller.spec.js +0 -152
  83. package/fesm/docs/event-manager-swagger.config.js +0 -118
  84. package/fesm/docs/event-manager-swagger.config.spec.js +0 -61
  85. package/fesm/dtos/calendar-query.dto.js +0 -194
  86. package/fesm/dtos/event-participant.dto.js +0 -157
  87. package/fesm/dtos/event.dto.js +0 -322
  88. package/fesm/entities/event-participant.entity.js +0 -79
  89. package/fesm/entities/event-with-company.entity.js +0 -46
  90. package/fesm/entities/event.entity.js +0 -146
  91. package/fesm/entities/index.spec.js +0 -14
  92. package/fesm/interfaces/event-manager-module.interface.js +0 -3
  93. package/fesm/interfaces/event.interface.js +0 -1
  94. package/fesm/modules/event-manager.module.js +0 -122
  95. package/fesm/modules/event-manager.module.spec.js +0 -142
  96. package/fesm/services/event-manager-config.service.js +0 -66
  97. package/fesm/services/event-manager-config.service.spec.js +0 -107
  98. package/fesm/services/event-manager-datasource.provider.js +0 -74
  99. package/fesm/services/event-manager-datasource.provider.spec.js +0 -194
  100. package/fesm/services/event-manager-helper.service.js +0 -225
  101. package/fesm/services/event-manager-helper.service.spec.js +0 -323
  102. package/fesm/services/event.service.js +0 -471
  103. package/fesm/services/event.service.spec.js +0 -925
@@ -1,481 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "EventService", {
6
- enumerable: true,
7
- get: function() {
8
- return EventService;
9
- }
10
- });
11
- const _classes = require("@flusys/nestjs-shared/classes");
12
- const _decorators = require("@flusys/nestjs-shared/decorators");
13
- const _enums = require("@flusys/nestjs-shared/enums");
14
- const _modules = require("@flusys/nestjs-shared/modules");
15
- const _utils = require("@flusys/nestjs-shared/utils");
16
- const _common = require("@nestjs/common");
17
- const _typeorm = require("typeorm");
18
- const _config = require("../config");
19
- const _dtos = require("../dtos");
20
- const _entities = require("../entities");
21
- const _eventmanagerconfigservice = require("./event-manager-config.service");
22
- const _eventmanagerdatasourceprovider = require("./event-manager-datasource.provider");
23
- function _define_property(obj, key, value) {
24
- if (key in obj) {
25
- Object.defineProperty(obj, key, {
26
- value: value,
27
- enumerable: true,
28
- configurable: true,
29
- writable: true
30
- });
31
- } else {
32
- obj[key] = value;
33
- }
34
- return obj;
35
- }
36
- function _ts_decorate(decorators, target, key, desc) {
37
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
38
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
39
- else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
40
- return c > 3 && r && Object.defineProperty(target, key, r), r;
41
- }
42
- function _ts_metadata(k, v) {
43
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
44
- }
45
- function _ts_param(paramIndex, decorator) {
46
- return function(target, key) {
47
- decorator(target, key, paramIndex);
48
- };
49
- }
50
- let EventService = class EventService extends _classes.ApiService {
51
- // Override methods
52
- async convertSingleDtoToEntity(dto, user) {
53
- await this.ensureDataSourceRepository();
54
- let entity = {};
55
- if ('id' in dto && dto.id && typeof dto.id === 'string') {
56
- const existing = await this.repository.findOne({
57
- where: {
58
- id: dto.id
59
- }
60
- });
61
- if (!existing) throw new _common.NotFoundException({
62
- message: 'Event not found',
63
- messageKey: _config.EVENT_MESSAGES.NOT_FOUND
64
- });
65
- entity = existing;
66
- }
67
- const isAllDay = dto.isAllDay ?? entity.isAllDay ?? false;
68
- const merged = {
69
- ...entity,
70
- title: dto.title ?? entity.title,
71
- description: dto.description ?? entity.description,
72
- eventDate: dto.eventDate ?? entity.eventDate,
73
- startTime: isAllDay ? '00:00' : dto.startTime ?? entity.startTime ?? '00:00',
74
- endTime: isAllDay ? '23:59' : dto.endTime ?? entity.endTime ?? '23:59',
75
- isAllDay,
76
- recurrenceType: dto.recurrenceType ?? entity.recurrenceType ?? _enums.RecurrenceType.NONE,
77
- recurrenceEndDate: dto.recurrenceEndDate ?? entity.recurrenceEndDate ?? null,
78
- weekDays: dto.weekDays ?? entity.weekDays ?? null,
79
- color: dto.color ?? entity.color ?? this.eventConfig.getDefaultColor(),
80
- meetingLink: dto.meetingLink !== undefined ? dto.meetingLink ?? null : entity.meetingLink ?? null,
81
- isActive: dto.isActive ?? entity.isActive ?? true
82
- };
83
- if (this.eventConfig.isCompanyFeatureEnabled()) {
84
- merged.companyId = user?.companyId ?? null;
85
- }
86
- if ('participantIds' in dto) {
87
- this.pendingParticipantsList.push(dto.participantIds ?? []);
88
- }
89
- return merged;
90
- }
91
- async getFilterQuery(query, filter, _user) {
92
- for (const [key, value] of Object.entries(filter)){
93
- if (key === 'isActive' && typeof value === 'boolean') {
94
- query.andWhere(`${this.entityName}.isActive = :isActive`, {
95
- isActive: value
96
- });
97
- } else if (key === 'recurrenceType') {
98
- query.andWhere(`${this.entityName}.recurrenceType = :recurrenceType`, {
99
- recurrenceType: value
100
- });
101
- } else if (key === 'participantUserId' && typeof value === 'string') {
102
- const eventIds = await this.getParticipantEventIds(value);
103
- if (eventIds.length > 0) {
104
- query.andWhere(`${this.entityName}.id IN (:...participantEventIds)`, {
105
- participantEventIds: eventIds
106
- });
107
- } else {
108
- query.andWhere('1 = 0');
109
- }
110
- } else {
111
- query.andWhere(`${this.entityName}.${key} = :value`, {
112
- value
113
- });
114
- }
115
- }
116
- return {
117
- query,
118
- isRaw: false
119
- };
120
- }
121
- async getExtraManipulateQuery(query, filterDto, user) {
122
- const result = await super.getExtraManipulateQuery(query, filterDto, user);
123
- this.applyEventCompanyFilter(query, user);
124
- await this.ensureParticipantRepositoryInitialized();
125
- query.leftJoinAndMapMany(`${this.entityName}.participants`, _entities.EventParticipant, 'ep', 'ep.event_id = event.id AND ep.deleted_at IS NULL');
126
- return result;
127
- }
128
- async afterInsertOperation(entities, _dto, user, _qr) {
129
- for(let i = 0; i < entities.length; i++){
130
- const participantIds = this.pendingParticipantsList[i] ?? [];
131
- await this.addCreatorAndParticipants(entities[i].id, participantIds, user);
132
- }
133
- this.pendingParticipantsList = [];
134
- }
135
- async afterUpdateOperation(entities, _dto, user, _qr) {
136
- const participantRepo = await this.ensureParticipantRepositoryInitialized();
137
- for(let i = 0; i < entities.length; i++){
138
- const participantIds = this.pendingParticipantsList[i] ?? [];
139
- await participantRepo.update({
140
- eventId: entities[i].id,
141
- deletedAt: (0, _typeorm.IsNull)()
142
- }, {
143
- deletedAt: new Date()
144
- });
145
- await this.addCreatorAndParticipants(entities[i].id, participantIds, user);
146
- }
147
- this.pendingParticipantsList = [];
148
- }
149
- // Public API methods
150
- async getEventsForCalendarRange(queryDto, user) {
151
- await this.ensureDataSourceRepository();
152
- const query = this.repository.createQueryBuilder('event').where('event.deletedAt IS NULL').andWhere('event.isActive = :isActive', {
153
- isActive: queryDto.activeOnly !== false
154
- }).andWhere('((event.eventDate >= :startDate AND event.eventDate <= :endDate) OR (event.recurrenceType != :none AND event.eventDate <= :endDate AND (event.recurrenceEndDate IS NULL OR event.recurrenceEndDate >= :startDate)))', {
155
- startDate: queryDto.startDate,
156
- endDate: queryDto.endDate,
157
- none: _enums.RecurrenceType.NONE
158
- });
159
- this.applyEventCompanyFilter(query, user);
160
- if (queryDto.userId) {
161
- const eventIds = await this.getParticipantEventIds(queryDto.userId);
162
- if (eventIds.length > 0) {
163
- query.andWhere('event.id IN (:...eventIds)', {
164
- eventIds
165
- });
166
- } else {
167
- return [];
168
- }
169
- }
170
- const events = await query.getMany();
171
- if (queryDto.includeParticipants && events.length > 0) {
172
- await this.loadParticipantsForEvents(events);
173
- }
174
- return this.expandRecurringEvents(events, queryDto.startDate, queryDto.endDate);
175
- }
176
- async updateParticipantStatus(dto, user) {
177
- const participantRepo = await this.ensureParticipantRepositoryInitialized();
178
- const participant = await participantRepo.findOne({
179
- where: {
180
- id: dto.id
181
- }
182
- });
183
- if (!participant) {
184
- throw new _common.NotFoundException({
185
- message: 'Event participant not found',
186
- messageKey: _config.EVENT_PARTICIPANT_MESSAGES.NOT_FOUND
187
- });
188
- }
189
- participant.status = dto.status;
190
- const saved = await participantRepo.save(participant);
191
- await Promise.all([
192
- this.clearCacheForAll(),
193
- this.clearCacheForId([
194
- {
195
- id: participant.eventId
196
- }
197
- ])
198
- ]);
199
- await this.publishDomainAction(_config.EVENT_MANAGER_EVENT_ACTIONS.PARTICIPANT_STATUS_CHANGED, {
200
- ids: [
201
- participant.eventId
202
- ],
203
- metadata: {
204
- participantId: saved.id,
205
- participantUserId: saved.userId,
206
- status: saved.status
207
- },
208
- user
209
- });
210
- return saved;
211
- }
212
- // Private business logic helpers
213
- async addCreatorAndParticipants(eventId, participantIds, user) {
214
- if (!user?.id) return;
215
- const participantRepo = await this.ensureParticipantRepositoryInitialized();
216
- const allUserIds = Array.from(new Set([
217
- user.id,
218
- ...participantIds
219
- ]));
220
- const existing = await participantRepo.find({
221
- where: {
222
- eventId,
223
- userId: (0, _typeorm.In)(allUserIds)
224
- },
225
- withDeleted: true
226
- });
227
- const existingByUserId = new Map(existing.map((p)=>[
228
- p.userId,
229
- p
230
- ]));
231
- const toSave = allUserIds.map((userId)=>{
232
- const existingRecord = existingByUserId.get(userId);
233
- if (existingRecord) {
234
- return {
235
- ...existingRecord,
236
- deletedAt: null,
237
- isOrganizer: userId === user.id
238
- };
239
- }
240
- return {
241
- eventId,
242
- userId,
243
- isOrganizer: userId === user.id
244
- };
245
- });
246
- await participantRepo.save(toSave);
247
- }
248
- expandRecurringEvents(events, rangeStart, rangeEnd) {
249
- const result = [];
250
- const maxOccurrences = this.eventConfig.getMaxRecurrenceOccurrences();
251
- for (const event of events){
252
- if (event.recurrenceType === _enums.RecurrenceType.NONE) {
253
- result.push(this.toCalendarEvent(event));
254
- } else {
255
- result.push(...this.generateOccurrences(event, rangeStart, rangeEnd, maxOccurrences));
256
- }
257
- }
258
- return result.sort((a, b)=>a.eventDate.localeCompare(b.eventDate));
259
- }
260
- generateOccurrences(event, rangeStart, rangeEnd, maxOccurrences) {
261
- const occurrences = [];
262
- const recurrenceEnd = event.recurrenceEndDate ?? null;
263
- const recurrenceType = event.recurrenceType;
264
- const weekDays = event.weekDays ?? [
265
- this.getDayOfWeek(event.eventDate)
266
- ];
267
- let currentDate = event.eventDate;
268
- let count = 0;
269
- if (recurrenceType === _enums.RecurrenceType.WEEKLY || recurrenceType === _enums.RecurrenceType.BIWEEKLY) {
270
- let weekStart = this.getWeekStart(event.eventDate);
271
- while(count < maxOccurrences){
272
- for (const dayOfWeek of weekDays){
273
- if (count >= maxOccurrences) break;
274
- currentDate = this.addDaysToDate(weekStart, this.weekdayNameToIndex(dayOfWeek));
275
- if (currentDate < event.eventDate) continue;
276
- if (this.shouldStopRecurrence(currentDate, recurrenceEnd, rangeEnd)) {
277
- count = maxOccurrences;
278
- break;
279
- }
280
- if (currentDate >= rangeStart && currentDate <= rangeEnd) {
281
- occurrences.push(this.toCalendarEventOnDate(event, currentDate, occurrences.length > 0));
282
- }
283
- count++;
284
- }
285
- const weeksToAdd = recurrenceType === _enums.RecurrenceType.BIWEEKLY ? 2 : 1;
286
- weekStart = this.addDaysToDate(weekStart, 7 * weeksToAdd);
287
- }
288
- } else {
289
- const originalDayOfMonth = parseInt(event.eventDate.split('-')[2], 10);
290
- while(count < maxOccurrences){
291
- if (this.shouldStopRecurrence(currentDate, recurrenceEnd, rangeEnd)) break;
292
- if (currentDate >= rangeStart && currentDate <= rangeEnd) {
293
- occurrences.push(this.toCalendarEventOnDate(event, currentDate, count > 0));
294
- }
295
- currentDate = this.getNextOccurrenceDate(currentDate, recurrenceType, originalDayOfMonth);
296
- count++;
297
- }
298
- }
299
- return occurrences;
300
- }
301
- // Private utility helpers
302
- async ensureParticipantRepositoryInitialized() {
303
- if (!this.participantRepository) {
304
- this.participantRepository = await this.dataSourceProvider.getRepository(_entities.EventParticipant);
305
- }
306
- return this.participantRepository;
307
- }
308
- async getParticipantEventIds(userId) {
309
- const participantRepo = await this.ensureParticipantRepositoryInitialized();
310
- const results = await participantRepo.createQueryBuilder('ep').select('ep.eventId').where('ep.userId = :userId', {
311
- userId
312
- }).andWhere('ep.deletedAt IS NULL').getRawMany();
313
- return results.map((p)=>p.ep_event_id);
314
- }
315
- async loadParticipantsForEvents(events) {
316
- const participantRepo = await this.ensureParticipantRepositoryInitialized();
317
- const eventIds = events.map((e)=>e.id);
318
- const participants = await participantRepo.find({
319
- where: {
320
- eventId: (0, _typeorm.In)(eventIds),
321
- deletedAt: (0, _typeorm.IsNull)()
322
- }
323
- });
324
- const participantsByEvent = new Map();
325
- for (const p of participants){
326
- const list = participantsByEvent.get(p.eventId) || [];
327
- list.push(p);
328
- participantsByEvent.set(p.eventId, list);
329
- }
330
- for (const event of events){
331
- event.participants = participantsByEvent.get(event.id) || [];
332
- }
333
- }
334
- applyEventCompanyFilter(query, user) {
335
- (0, _utils.applyCompanyFilter)(query, {
336
- isCompanyFeatureEnabled: this.eventConfig.isCompanyFeatureEnabled(),
337
- entityAlias: 'event'
338
- }, user);
339
- }
340
- shouldStopRecurrence(currentDate, recurrenceEnd, rangeEnd) {
341
- return recurrenceEnd !== null && currentDate > recurrenceEnd || currentDate > rangeEnd;
342
- }
343
- getDayOfWeek(dateStr) {
344
- const days = [
345
- 'SUN',
346
- 'MON',
347
- 'TUE',
348
- 'WED',
349
- 'THU',
350
- 'FRI',
351
- 'SAT'
352
- ];
353
- return days[new Date(`${dateStr}T00:00:00Z`).getUTCDay()];
354
- }
355
- weekdayNameToIndex(day) {
356
- const map = {
357
- SUN: 0,
358
- MON: 1,
359
- TUE: 2,
360
- WED: 3,
361
- THU: 4,
362
- FRI: 5,
363
- SAT: 6
364
- };
365
- return map[day.toUpperCase()] ?? 0;
366
- }
367
- getWeekStart(dateStr) {
368
- const d = new Date(`${dateStr}T00:00:00Z`);
369
- d.setUTCDate(d.getUTCDate() - d.getUTCDay());
370
- return d.toISOString().slice(0, 10);
371
- }
372
- addDaysToDate(dateStr, days) {
373
- const d = new Date(`${dateStr}T00:00:00Z`);
374
- d.setUTCDate(d.getUTCDate() + days);
375
- return d.toISOString().slice(0, 10);
376
- }
377
- getNextOccurrenceDate(current, recurrenceType, originalDayOfMonth) {
378
- const d = new Date(`${current}T00:00:00Z`);
379
- switch(recurrenceType){
380
- case _enums.RecurrenceType.DAILY:
381
- d.setUTCDate(d.getUTCDate() + 1);
382
- break;
383
- case _enums.RecurrenceType.MONTHLY:
384
- {
385
- // Compute the target year/month from the *original* date before any mutation.
386
- // Mutating `d` first (e.g. via setUTCMonth) can overflow past short months
387
- // (Jan 31 -> Feb 31 normalizes to Mar 3), which would then compute
388
- // `lastDayOfMonth` for the wrong (already-overflowed) month and silently
389
- // skip target months that have fewer days than the original day-of-month.
390
- const targetDay = originalDayOfMonth ?? d.getUTCDate();
391
- const targetYear = d.getUTCFullYear();
392
- const targetMonth = d.getUTCMonth() + 1;
393
- const lastDayOfMonth = new Date(Date.UTC(targetYear, targetMonth + 1, 0)).getUTCDate();
394
- return new Date(Date.UTC(targetYear, targetMonth, Math.min(targetDay, lastDayOfMonth))).toISOString().slice(0, 10);
395
- }
396
- default:
397
- break;
398
- }
399
- return d.toISOString().slice(0, 10);
400
- }
401
- // Private transformation helpers
402
- toCalendarEvent(event) {
403
- return {
404
- id: event.id,
405
- title: event.title,
406
- description: event.description,
407
- eventDate: event.eventDate,
408
- startTime: event.startTime,
409
- endTime: event.endTime,
410
- isAllDay: event.isAllDay,
411
- recurrenceType: event.recurrenceType,
412
- recurrenceEndDate: event.recurrenceEndDate,
413
- weekDays: event.weekDays,
414
- color: event.color,
415
- meetingLink: event.meetingLink ?? null,
416
- isActive: event.isActive,
417
- createdAt: event.createdAt,
418
- updatedAt: event.updatedAt,
419
- deletedAt: event.deletedAt,
420
- createdById: event.createdById,
421
- updatedById: event.updatedById,
422
- deletedById: event.deletedById,
423
- participants: event.participants?.map((p)=>this.toParticipantInfo(p))
424
- };
425
- }
426
- toCalendarEventOnDate(event, occurrenceDate, isRecurrenceInstance) {
427
- return {
428
- ...this.toCalendarEvent(event),
429
- id: `${event.id}_${occurrenceDate}`,
430
- originalEventId: event.id,
431
- isRecurrenceInstance,
432
- eventDate: occurrenceDate
433
- };
434
- }
435
- toParticipantInfo(p) {
436
- return {
437
- id: p.id,
438
- eventId: p.eventId,
439
- userId: p.userId,
440
- status: p.status,
441
- isOrganizer: p.isOrganizer,
442
- createdAt: p.createdAt,
443
- updatedAt: p.updatedAt,
444
- deletedAt: p.deletedAt,
445
- createdById: p.createdById,
446
- updatedById: p.updatedById,
447
- deletedById: p.deletedById
448
- };
449
- }
450
- constructor(cacheManager, utilsService, eventConfig, dataSourceProvider){
451
- super(_config.EVENT_MANAGER_EVENT_ENTITIES.EVENT, cacheManager, utilsService, EventService.name, true, _config.EVENT_MANAGER_EVENT_MODULE, dataSourceProvider, eventConfig.isCompanyFeatureEnabled() ? _entities.EventWithCompany : _entities.Event), _define_property(this, "cacheManager", void 0), _define_property(this, "utilsService", void 0), _define_property(this, "eventConfig", void 0), _define_property(this, "dataSourceProvider", void 0), _define_property(this, "participantRepository", void 0), _define_property(this, "pendingParticipantsList", void 0), this.cacheManager = cacheManager, this.utilsService = utilsService, this.eventConfig = eventConfig, this.dataSourceProvider = dataSourceProvider, this.participantRepository = null, this.pendingParticipantsList = [];
452
- }
453
- };
454
- _ts_decorate([
455
- (0, _decorators.LogAction)({
456
- action: 'eventParticipant.updateStatus',
457
- module: 'event-manager'
458
- }),
459
- _ts_metadata("design:type", Function),
460
- _ts_metadata("design:paramtypes", [
461
- typeof _dtos.UpdateParticipantStatusDto === "undefined" ? Object : _dtos.UpdateParticipantStatusDto,
462
- Object
463
- ]),
464
- _ts_metadata("design:returntype", Promise)
465
- ], EventService.prototype, "updateParticipantStatus", null);
466
- EventService = _ts_decorate([
467
- (0, _common.Injectable)({
468
- scope: _common.Scope.REQUEST
469
- }),
470
- _ts_param(0, (0, _common.Inject)('CACHE_INSTANCE')),
471
- _ts_param(1, (0, _common.Inject)(_modules.UtilsService)),
472
- _ts_param(2, (0, _common.Inject)(_eventmanagerconfigservice.EventManagerConfigService)),
473
- _ts_param(3, (0, _common.Inject)(_eventmanagerdatasourceprovider.EventManagerDataSourceProvider)),
474
- _ts_metadata("design:type", Function),
475
- _ts_metadata("design:paramtypes", [
476
- typeof _classes.HybridCache === "undefined" ? Object : _classes.HybridCache,
477
- typeof _modules.UtilsService === "undefined" ? Object : _modules.UtilsService,
478
- typeof _eventmanagerconfigservice.EventManagerConfigService === "undefined" ? Object : _eventmanagerconfigservice.EventManagerConfigService,
479
- typeof _eventmanagerdatasourceprovider.EventManagerDataSourceProvider === "undefined" ? Object : _eventmanagerdatasourceprovider.EventManagerDataSourceProvider
480
- ])
481
- ], EventService);