rez_core 2.2.187 → 2.2.189

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 (24) hide show
  1. package/dist/module/communication/controller/communication.controller.d.ts +21 -3
  2. package/dist/module/communication/controller/communication.controller.js +67 -1
  3. package/dist/module/communication/controller/communication.controller.js.map +1 -1
  4. package/dist/module/communication/service/communication.service.d.ts +2 -30
  5. package/dist/module/communication/service/communication.service.js +29 -73
  6. package/dist/module/communication/service/communication.service.js.map +1 -1
  7. package/dist/module/ics/service/ics.service.d.ts +2 -3
  8. package/dist/module/ics/service/ics.service.js +41 -35
  9. package/dist/module/ics/service/ics.service.js.map +1 -1
  10. package/dist/module/workflow/controller/comm-template.controller.d.ts +1 -1
  11. package/dist/module/workflow/controller/comm-template.controller.js.map +1 -1
  12. package/dist/module/workflow/repository/comm-template.repository.d.ts +1 -1
  13. package/dist/module/workflow/repository/comm-template.repository.js +17 -11
  14. package/dist/module/workflow/repository/comm-template.repository.js.map +1 -1
  15. package/dist/module/workflow/service/comm-template.service.d.ts +1 -1
  16. package/dist/module/workflow/service/comm-template.service.js.map +1 -1
  17. package/dist/tsconfig.build.tsbuildinfo +1 -1
  18. package/package.json +1 -1
  19. package/src/module/communication/controller/communication.controller.ts +82 -10
  20. package/src/module/communication/service/communication.service.ts +67 -127
  21. package/src/module/ics/service/ics.service.ts +49 -37
  22. package/src/module/workflow/controller/comm-template.controller.ts +1 -1
  23. package/src/module/workflow/repository/comm-template.repository.ts +30 -19
  24. package/src/module/workflow/service/comm-template.service.ts +2 -2
@@ -25,10 +25,24 @@ export declare class CommunicationController {
25
25
  variables: Record<string, any>;
26
26
  type?: 'EMAIL' | 'SMS' | 'WA' | 'TELEPHONE';
27
27
  }): Promise<import("../strategies/communication.strategy").CommunicationResult>;
28
- createConfig(createConfigDto: CreateConfigDto): Promise<import("../entity/communication-hub.entity").CommunicationHub | {
29
- authUrl: string;
30
- state: string;
28
+ createConfig(createConfigDto: CreateConfigDto): Promise<{
29
+ success: boolean;
30
+ data: import("../entity/communication-hub.entity").CommunicationHub | {
31
+ authUrl: string;
32
+ state: string;
33
+ message: string;
34
+ };
31
35
  message: string;
36
+ requiresOAuth?: undefined;
37
+ authUrl?: undefined;
38
+ state?: undefined;
39
+ } | {
40
+ success: boolean;
41
+ requiresOAuth: boolean;
42
+ authUrl: any;
43
+ state: any;
44
+ message: any;
45
+ data?: undefined;
32
46
  }>;
33
47
  getSupportedCombinations(): Promise<{
34
48
  mode: string;
@@ -67,4 +81,8 @@ export declare class CommunicationController {
67
81
  }>;
68
82
  error?: string;
69
83
  }>;
84
+ disconnectConfig(hubId: number): Promise<{
85
+ success: boolean;
86
+ message: string;
87
+ }>;
70
88
  }
@@ -38,7 +38,48 @@ let CommunicationController = class CommunicationController {
38
38
  return this.communicationService.sendTemplateMessage(templateMessage);
39
39
  }
40
40
  async createConfig(createConfigDto) {
41
- return this.communicationService.createCommunicationConfig(createConfigDto.levelId, createConfigDto.levelType, createConfigDto.configType, createConfigDto.service, createConfigDto.provider, createConfigDto.config, createConfigDto.priority, createConfigDto.is_default);
41
+ try {
42
+ const result = await this.communicationService.createCommunicationConfig(createConfigDto.levelId, createConfigDto.levelType, createConfigDto.configType, createConfigDto.service, createConfigDto.provider, createConfigDto.config, createConfigDto.priority, createConfigDto.is_default);
43
+ return {
44
+ success: true,
45
+ data: result,
46
+ message: 'Communication configuration created successfully',
47
+ };
48
+ }
49
+ catch (error) {
50
+ if (error.message?.includes('active') &&
51
+ error.message?.includes('configuration already exists')) {
52
+ throw new common_1.BadRequestException({
53
+ success: false,
54
+ error: 'DUPLICATE_CONFIGURATION',
55
+ message: error.message,
56
+ code: 'VALIDATION_ERROR',
57
+ });
58
+ }
59
+ if (error.message?.includes('Unsupported combination')) {
60
+ throw new common_1.BadRequestException({
61
+ success: false,
62
+ error: 'UNSUPPORTED_COMBINATION',
63
+ message: error.message,
64
+ code: 'VALIDATION_ERROR',
65
+ });
66
+ }
67
+ if (error.authUrl && error.state) {
68
+ return {
69
+ success: false,
70
+ requiresOAuth: true,
71
+ authUrl: error.authUrl,
72
+ state: error.state,
73
+ message: error.message || 'OAuth authorization required',
74
+ };
75
+ }
76
+ throw new common_1.BadRequestException({
77
+ success: false,
78
+ error: 'CONFIGURATION_ERROR',
79
+ message: error.message || 'Failed to create communication configuration',
80
+ code: 'INTERNAL_ERROR',
81
+ });
82
+ }
42
83
  }
43
84
  async getSupportedCombinations() {
44
85
  return this.communicationService.getSupportedCombinations();
@@ -70,6 +111,23 @@ let CommunicationController = class CommunicationController {
70
111
  async getSendGridVerifiedSenders(dto) {
71
112
  return this.sendGridApiStrategy.getVerifiedSenders(dto.apiKey);
72
113
  }
114
+ async disconnectConfig(hubId) {
115
+ try {
116
+ await this.communicationService.deleteConfiguration(hubId);
117
+ return {
118
+ success: true,
119
+ message: 'Communication configuration deleted successfully',
120
+ };
121
+ }
122
+ catch (error) {
123
+ throw new common_1.BadRequestException({
124
+ success: false,
125
+ error: 'DELETE_ERROR',
126
+ message: error.message || 'Failed to delete communication configuration',
127
+ code: 'CONFIGURATION_ERROR',
128
+ });
129
+ }
130
+ }
73
131
  };
74
132
  exports.CommunicationController = CommunicationController;
75
133
  __decorate([
@@ -174,6 +232,14 @@ __decorate([
174
232
  __metadata("design:paramtypes", [create_config_dto_1.SendGridVerifiedSendersDto]),
175
233
  __metadata("design:returntype", Promise)
176
234
  ], CommunicationController.prototype, "getSendGridVerifiedSenders", null);
235
+ __decorate([
236
+ (0, common_1.Post)('config/delete/:hubId'),
237
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
238
+ __param(0, (0, common_1.Param)('hubId', common_1.ParseIntPipe)),
239
+ __metadata("design:type", Function),
240
+ __metadata("design:paramtypes", [Number]),
241
+ __metadata("design:returntype", Promise)
242
+ ], CommunicationController.prototype, "disconnectConfig", null);
177
243
  exports.CommunicationController = CommunicationController = __decorate([
178
244
  (0, common_1.Controller)('communication'),
179
245
  __metadata("design:paramtypes", [communication_service_1.CommunicationService,
@@ -1 +1 @@
1
- {"version":3,"file":"communication.controller.js","sourceRoot":"","sources":["../../../../src/module/communication/controller/communication.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communication.controller.js","sourceRoot":"","sources":["../../../../src/module/communication/controller/communication.controller.ts"],"names":[],"mappings":"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"}
@@ -85,6 +85,7 @@ export declare class CommunicationService {
85
85
  private extractLinkedSource;
86
86
  private extractConfigDetails;
87
87
  updateConfigStatus(hubId: number, status: number): Promise<void>;
88
+ deleteConfiguration(hubId: number): Promise<void>;
88
89
  sendGenericMessage(messageDto: GenericMessageDto): Promise<CommunicationResult>;
89
90
  sendBulkMessage(bulkDto: BulkMessageDto): Promise<{
90
91
  results: CommunicationResult[];
@@ -111,6 +112,7 @@ export declare class CommunicationService {
111
112
  error?: string;
112
113
  }>;
113
114
  private generateSecureState;
115
+ private validateUniqueActiveConfig;
114
116
  private requiresOAuthFlow;
115
117
  private generateOAuthUrl;
116
118
  private createDirectConfig;
@@ -119,34 +121,4 @@ export declare class CommunicationService {
119
121
  state: string;
120
122
  }>;
121
123
  handleOutlookOAuthCallback(code: string, state: string): Promise<GmailSSOResult>;
122
- queueMessage(messageDto: GenericMessageDto & {
123
- useQueue?: boolean;
124
- scheduledFor?: Date;
125
- }): Promise<{
126
- queued: boolean;
127
- messageId?: string;
128
- result?: CommunicationResult;
129
- }>;
130
- queueBulkMessage(bulkDto: BulkMessageDto & {
131
- useQueue?: boolean;
132
- scheduledFor?: Date;
133
- }): Promise<{
134
- queued: boolean;
135
- messageIds?: string[];
136
- result?: any;
137
- }>;
138
- isQueueAvailable(): boolean;
139
- getQueueStats(): {
140
- total: number;
141
- pending: number;
142
- scheduled: number;
143
- byPriority: {
144
- high: number;
145
- medium: number;
146
- low: number;
147
- };
148
- processing: boolean;
149
- } | null;
150
- cancelQueuedMessage(messageId: string): boolean;
151
- private mapPriorityToSimpleQueue;
152
124
  }
@@ -139,6 +139,7 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
139
139
  return result;
140
140
  }
141
141
  async createCommunicationConfig(levelId, levelType, configType, service, provider, config, priority, is_default) {
142
+ await this.validateUniqueActiveConfig(levelId, levelType, configType);
142
143
  const supportedCombinations = await this.getSupportedCombinations();
143
144
  const isValidCombination = supportedCombinations.some((combo) => combo.mode === configType &&
144
145
  combo.service.toLowerCase() === service.toLowerCase() &&
@@ -384,6 +385,17 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
384
385
  async updateConfigStatus(hubId, status) {
385
386
  await this.hubRepository.update(hubId, { status });
386
387
  }
388
+ async deleteConfiguration(hubId) {
389
+ const hub = await this.hubRepository.findOne({
390
+ where: { id: hubId },
391
+ });
392
+ if (!hub) {
393
+ throw new Error('Communication configuration not found');
394
+ }
395
+ await this.hubRepository.delete(hubId);
396
+ await this.configRepository.delete(hub.config_id);
397
+ this.logger.log(`Communication configuration deleted: Hub ${hubId}, Config ${hub.config_id}`);
398
+ }
387
399
  async sendGenericMessage(messageDto) {
388
400
  try {
389
401
  const { levelId, levelType, to, message, type, priority = 'medium', subject, html, cc, bcc, attachments, mediaUrl, templateId, variables, } = messageDto;
@@ -691,6 +703,7 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
691
703
  tokenType: tokens.token_type,
692
704
  expiryDate: tokens.expiry_date,
693
705
  };
706
+ await this.validateUniqueActiveConfig(oauthState.levelId, oauthState.levelType, communication_hub_entity_1.CommunicationConfigType.EMAIL);
694
707
  const communicationConfig = this.configRepository.create({
695
708
  config_json: gmailConfig,
696
709
  });
@@ -729,6 +742,7 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
729
742
  if (oauthState.email && oauthState.email !== email) {
730
743
  throw new Error('Email mismatch with OAuth hint');
731
744
  }
745
+ await this.validateUniqueActiveConfig(oauthState.levelId, oauthState.levelType, communication_hub_entity_1.CommunicationConfigType.EMAIL);
732
746
  const gmailConfig = {
733
747
  email: email,
734
748
  accessToken: accessToken,
@@ -795,6 +809,19 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
795
809
  generateSecureState() {
796
810
  return Math.random().toString(36).substring(2) + Date.now().toString(36);
797
811
  }
812
+ async validateUniqueActiveConfig(levelId, levelType, configType) {
813
+ const existingActiveConfig = await this.hubRepository.findOne({
814
+ where: {
815
+ level_id: levelId,
816
+ level_type: levelType,
817
+ communication_config_type: configType,
818
+ status: 1,
819
+ },
820
+ });
821
+ if (existingActiveConfig) {
822
+ throw new Error(`An active ${configType} configuration already exists for ${levelType} ${levelId}. Please deactivate the existing configuration first.`);
823
+ }
824
+ }
798
825
  requiresOAuthFlow(configType, service, provider, config) {
799
826
  const key = `${configType.toLowerCase()}_${service.toLowerCase()}_${provider.toLowerCase()}`;
800
827
  switch (key) {
@@ -828,6 +855,7 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
828
855
  }
829
856
  }
830
857
  async createDirectConfig(levelId, levelType, configType, service, provider, config, priority, is_default) {
858
+ await this.validateUniqueActiveConfig(levelId, levelType, configType);
831
859
  if (is_default) {
832
860
  await this.hubRepository.update({
833
861
  level_id: levelId,
@@ -935,6 +963,7 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
935
963
  if (!email) {
936
964
  throw new Error('Failed to get user email');
937
965
  }
966
+ await this.validateUniqueActiveConfig(oauthState.levelId, oauthState.levelType, communication_hub_entity_1.CommunicationConfigType.EMAIL);
938
967
  const outlookConfig = {
939
968
  clientId,
940
969
  tenantId,
@@ -970,79 +999,6 @@ let CommunicationService = CommunicationService_1 = class CommunicationService {
970
999
  throw new Error(`Failed to complete Outlook OAuth: ${error.message}`);
971
1000
  }
972
1001
  }
973
- async queueMessage(messageDto) {
974
- if (!this.queueService || !messageDto.useQueue) {
975
- const result = await this.sendGenericMessage(messageDto);
976
- return { queued: false, result };
977
- }
978
- try {
979
- const priority = this.mapPriorityToSimpleQueue(messageDto.priority);
980
- const messageId = await this.queueService.queueMessage(messageDto.levelId, messageDto.levelType, Array.isArray(messageDto.to) ? messageDto.to[0] : messageDto.to, messageDto.message, messageDto.type, priority, messageDto.scheduledFor, {
981
- subject: messageDto.subject,
982
- html: messageDto.html,
983
- cc: messageDto.cc,
984
- bcc: messageDto.bcc,
985
- attachments: messageDto.attachments,
986
- mediaUrl: messageDto.mediaUrl,
987
- templateId: messageDto.templateId,
988
- variables: messageDto.variables,
989
- });
990
- return { queued: true, messageId };
991
- }
992
- catch (error) {
993
- this.logger.error('Error queuing message, falling back to immediate send:', error.message);
994
- const result = await this.sendGenericMessage(messageDto);
995
- return { queued: false, result };
996
- }
997
- }
998
- async queueBulkMessage(bulkDto) {
999
- if (!this.queueService || !bulkDto.useQueue) {
1000
- const result = await this.sendBulkMessage(bulkDto);
1001
- return { queued: false, result };
1002
- }
1003
- try {
1004
- const priority = this.mapPriorityToSimpleQueue(bulkDto.priority) || 'low';
1005
- const messageIds = await this.queueService.queueBulkMessages(bulkDto.levelId, bulkDto.levelType, bulkDto.recipients, bulkDto.message, bulkDto.type, priority, {
1006
- subject: bulkDto.subject,
1007
- html: bulkDto.html,
1008
- templateId: bulkDto.templateId,
1009
- variables: bulkDto.variables,
1010
- });
1011
- return { queued: true, messageIds };
1012
- }
1013
- catch (error) {
1014
- this.logger.error('Error queuing bulk message, falling back to immediate send:', error.message);
1015
- const result = await this.sendBulkMessage(bulkDto);
1016
- return { queued: false, result };
1017
- }
1018
- }
1019
- isQueueAvailable() {
1020
- return !!this.queueService;
1021
- }
1022
- getQueueStats() {
1023
- if (!this.queueService) {
1024
- return null;
1025
- }
1026
- return this.queueService.getQueueStats();
1027
- }
1028
- cancelQueuedMessage(messageId) {
1029
- if (!this.queueService) {
1030
- return false;
1031
- }
1032
- return this.queueService.cancelMessage(messageId);
1033
- }
1034
- mapPriorityToSimpleQueue(priority) {
1035
- switch (priority?.toLowerCase()) {
1036
- case 'high':
1037
- case 'urgent':
1038
- return 'high';
1039
- case 'low':
1040
- return 'low';
1041
- case 'medium':
1042
- default:
1043
- return 'medium';
1044
- }
1045
- }
1046
1002
  };
1047
1003
  exports.CommunicationService = CommunicationService;
1048
1004
  exports.CommunicationService = CommunicationService = CommunicationService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"communication.service.js","sourceRoot":"","sources":["../../../../src/module/communication/service/communication.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"communication.service.js","sourceRoot":"","sources":["../../../../src/module/communication/service/communication.service.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { CreateInviteDto } from '../dto/ics.dto';
2
1
  export declare class IcsMeetingService {
3
- private toDateParts;
4
- generateIcs(dto: CreateInviteDto): Promise<string>;
2
+ private formatUtc;
3
+ generateIcs(dto: any): Promise<string>;
5
4
  }
@@ -8,44 +8,50 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.IcsMeetingService = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
- const ics_1 = require("ics");
11
+ const uuid_1 = require("uuid");
12
+ const moment = require("moment");
12
13
  let IcsMeetingService = class IcsMeetingService {
13
- toDateParts(iso) {
14
- const d = new Date(iso);
15
- return [
16
- d.getUTCFullYear(),
17
- d.getUTCMonth() + 1,
18
- d.getUTCDate(),
19
- d.getUTCHours(),
20
- d.getUTCMinutes(),
21
- ];
14
+ formatUtc(dateIso) {
15
+ return moment.utc(dateIso).format('YYYYMMDDTHHmmss[Z]');
22
16
  }
23
17
  async generateIcs(dto) {
24
- const startParts = this.toDateParts(dto.startsAt);
25
- const event = {
26
- start: startParts,
27
- duration: {
28
- hours: Math.floor(dto.durationMinutes / 60),
29
- minutes: dto.durationMinutes % 60,
30
- },
31
- title: dto.title,
32
- description: dto.description ?? '',
33
- location: dto.location ?? 'Online',
34
- url: dto.meetingUrl,
35
- organizer: dto.organizerEmail
36
- ? { name: dto.organizerName ?? 'Organizer', email: dto.organizerEmail }
37
- : undefined,
38
- attendees: dto.attendees?.map((a) => ({ name: a.name, email: a.email })),
39
- status: 'CONFIRMED',
40
- };
41
- return new Promise((resolve, reject) => {
42
- (0, ics_1.createEvent)(event, (err, value) => {
43
- if (err)
44
- reject(err);
45
- const base64 = Buffer.from(value, 'utf-8').toString('base64');
46
- resolve(base64);
47
- });
48
- });
18
+ const uid = `${(0, uuid_1.v4)()}@etherapp.in`;
19
+ const now = this.formatUtc(new Date());
20
+ const dtStart = this.formatUtc(dto.startsAt);
21
+ const dtEnd = this.formatUtc(new Date(new Date(dto.startsAt).getTime() + dto.durationMinutes * 60000));
22
+ const organizer = dto.organizerEmail
23
+ ? `ORGANIZER;CN=${dto.organizerName ?? 'Organizer'}:mailto:${dto.organizerEmail}`
24
+ : '';
25
+ const attendees = dto.attendees
26
+ ?.map((a) => `ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=${a.partStat ?? 'NEEDS-ACTION'};CN=${a.name};X-NUM-GUESTS=0:mailto:${a.email}`)
27
+ .join('\r\n');
28
+ const icsContent = [
29
+ 'BEGIN:VCALENDAR',
30
+ 'PRODID:-//Google Inc//Google Calendar 70.9054//EN',
31
+ 'VERSION:2.0',
32
+ 'CALSCALE:GREGORIAN',
33
+ 'METHOD:REPLY',
34
+ 'BEGIN:VEVENT',
35
+ `DTSTART:${dtStart}`,
36
+ `DTEND:${dtEnd}`,
37
+ `DTSTAMP:${now}`,
38
+ organizer,
39
+ `UID:${uid}`,
40
+ attendees ?? '',
41
+ `CREATED:${now}`,
42
+ `DESCRIPTION:${dto.description ?? ''}`,
43
+ `LAST-MODIFIED:${now}`,
44
+ `LOCATION:${dto.location ?? 'Google Meet'}`,
45
+ 'SEQUENCE:0',
46
+ 'STATUS:CONFIRMED',
47
+ `SUMMARY:${dto.title}`,
48
+ 'TRANSP:OPAQUE',
49
+ 'END:VEVENT',
50
+ 'END:VCALENDAR',
51
+ ]
52
+ .filter(Boolean)
53
+ .join('\r\n');
54
+ return Buffer.from(icsContent, 'utf-8').toString('base64');
49
55
  }
50
56
  };
51
57
  exports.IcsMeetingService = IcsMeetingService;
@@ -1 +1 @@
1
- {"version":3,"file":"ics.service.js","sourceRoot":"","sources":["../../../../src/module/ics/service/ics.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,2CAA4C;AAC5C,6BAAkC;AAI3B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACpB,WAAW,CAAC,GAAW;QAC7B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO;YACL,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC;YACnB,CAAC,CAAC,UAAU,EAAE;YACd,CAAC,CAAC,WAAW,EAAE;YACf,CAAC,CAAC,aAAa,EAAE;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAoB;QACpC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,KAAK,GAAQ;YACjB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,GAAG,EAAE,CAAC;gBAC3C,OAAO,EAAE,GAAG,CAAC,eAAe,GAAG,EAAE;aAClC;YACD,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;YAClC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,QAAQ;YAClC,GAAG,EAAE,GAAG,CAAC,UAAU;YACnB,SAAS,EAAE,GAAG,CAAC,cAAc;gBAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,aAAa,IAAI,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE;gBACvE,CAAC,CAAC,SAAS;YACb,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACxE,MAAM,EAAE,WAAoB;SAC7B,CAAC;QAEF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAA,iBAAW,EAAC,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBAChC,IAAI,GAAG;oBAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAErB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC9D,OAAO,CAAC,MAAM,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAzCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAyC7B"}
1
+ {"version":3,"file":"ics.service.js","sourceRoot":"","sources":["../../../../src/module/ics/service/ics.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,+BAAoC;AACpC,iCAAiC;AAG1B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACpB,SAAS,CAAC,OAAsB;QACtC,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,GAAQ;QACxB,MAAM,GAAG,GAAG,GAAG,IAAA,SAAM,GAAE,cAAc,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAC1B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,eAAe,GAAG,KAAK,CAAC,CACzE,CAAC;QAEF,MAAM,SAAS,GAAG,GAAG,CAAC,cAAc;YAClC,CAAC,CAAC,gBAAgB,GAAG,CAAC,aAAa,IAAI,WAAW,WAAW,GAAG,CAAC,cAAc,EAAE;YACjF,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS;YAC7B,EAAE,GAAG,CACH,CAAC,CAAC,EAAE,EAAE,CACJ,4DAA4D,CAAC,CAAC,QAAQ,IAAI,cAAc,OAAO,CAAC,CAAC,IAAI,0BAA0B,CAAC,CAAC,KAAK,EAAE,CAC3I;aACA,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,MAAM,UAAU,GAAG;YACjB,iBAAiB;YACjB,mDAAmD;YACnD,aAAa;YACb,oBAAoB;YACpB,cAAc;YACd,cAAc;YACd,WAAW,OAAO,EAAE;YACpB,SAAS,KAAK,EAAE;YAChB,WAAW,GAAG,EAAE;YAChB,SAAS;YACT,OAAO,GAAG,EAAE;YACZ,SAAS,IAAI,EAAE;YACf,WAAW,GAAG,EAAE;YAChB,eAAe,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE;YACtC,iBAAiB,GAAG,EAAE;YACtB,YAAY,GAAG,CAAC,QAAQ,IAAI,aAAa,EAAE;YAC3C,YAAY;YACZ,kBAAkB;YAClB,WAAW,GAAG,CAAC,KAAK,EAAE;YACtB,eAAe;YACf,YAAY;YACZ,eAAe;SAChB;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACF,CAAA;AAtDY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAsD7B"}