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