@chat21/chat21-ionic 3.4.27-rc8 → 3.4.27

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 (153) hide show
  1. package/CHANGELOG.md +4 -49
  2. package/angular.json +0 -1
  3. package/package.json +1 -1
  4. package/src/app/app.component.ts +13 -68
  5. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.scss +3 -3
  6. package/src/app/chatlib/conversation-detail/conversation-content/conversation-content.component.ts +1 -1
  7. package/src/app/chatlib/conversation-detail/ion-conversation-detail/ion-conversation-detail.component.html +1 -1
  8. package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.html +1 -1
  9. package/src/app/chatlib/conversation-detail/message/avatar/avatar.component.ts +4 -4
  10. package/src/app/chatlib/conversation-detail/message/return-receipt/return-receipt.component.scss +3 -3
  11. package/src/app/chatlib/list-conversations-component/ion-list-conversations/ion-list-conversations.component.html +9 -9
  12. package/src/app/components/bubbleMessageInfo-popover/bubbleinfo-popover.component.html +1 -1
  13. package/src/app/components/canned-response/canned-response.component.html +23 -26
  14. package/src/app/components/canned-response/canned-response.component.scss +2 -0
  15. package/src/app/components/canned-response/canned-response.component.ts +1 -3
  16. package/src/app/components/conversation-detail/header-conversation-detail/header-conversation-detail.component.html +8 -8
  17. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.html +1 -24
  18. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.scss +0 -30
  19. package/src/app/components/conversation-detail/message-text-area/message-text-area.component.ts +16 -29
  20. package/src/app/components/copilot-popover/copilot-popover.component.html +1 -1
  21. package/src/app/components/navbar/navbar.component.html +3 -3
  22. package/src/app/components/navbar/navbar.component.ts +38 -29
  23. package/src/app/components/project-item/project-item.component.ts +11 -11
  24. package/src/app/components/sidebar/sidebar.component.html +47 -67
  25. package/src/app/components/sidebar/sidebar.component.ts +117 -92
  26. package/src/app/components/sidebar-user-details/sidebar-user-details.component.html +4 -4
  27. package/src/app/components/sidebar-user-details/sidebar-user-details.component.ts +14 -16
  28. package/src/app/modals/create-ticket/create-ticket.page.html +6 -6
  29. package/src/app/modals/create-ticket/create-ticket.page.ts +6 -8
  30. package/src/app/modals/loader-preview/loader-preview.page.ts +1 -1
  31. package/src/app/modals/send-whatsapp-template/send-whatsapp-template.page.scss +1 -1
  32. package/src/app/pages/conversation-detail/conversation-detail.page.html +3 -7
  33. package/src/app/pages/conversation-detail/conversation-detail.page.scss +1 -1
  34. package/src/app/pages/conversation-detail/conversation-detail.page.ts +4 -63
  35. package/src/app/pages/conversations-list/conversations-list.page.ts +8 -8
  36. package/src/app/pages/profile-info/profile-info.page.ts +3 -3
  37. package/src/app/services/brand/brand.service.ts +5 -5
  38. package/src/app/services/global-settings/global-settings.service.ts +2 -5
  39. package/src/app/services/tiledesk/tiledesk.service.ts +16 -0
  40. package/src/app/shared/shared.module.ts +0 -11
  41. package/src/app/utils/project-utils.ts +2 -2
  42. package/src/app/utils/utils-resources.ts +8 -7
  43. package/src/app/utils/utils.ts +1 -18
  44. package/src/assets/i18n/ar.json +1 -11
  45. package/src/assets/i18n/az.json +1 -11
  46. package/src/assets/i18n/de.json +1 -11
  47. package/src/assets/i18n/en.json +1 -11
  48. package/src/assets/i18n/es.json +1 -11
  49. package/src/assets/i18n/fr.json +1 -11
  50. package/src/assets/i18n/it.json +3 -13
  51. package/src/assets/i18n/kk.json +1 -11
  52. package/src/assets/i18n/pt.json +1 -11
  53. package/src/assets/i18n/ru.json +1 -11
  54. package/src/assets/i18n/sr.json +1 -11
  55. package/src/assets/i18n/sv.json +1 -11
  56. package/src/assets/i18n/tr.json +1 -11
  57. package/src/assets/i18n/uk.json +1 -11
  58. package/src/assets/i18n/uz.json +1 -12
  59. package/src/chat-config-template.json +0 -1
  60. package/src/chat-config.json +0 -1
  61. package/src/chat21-core/providers/firebase/firebase-conversation-handler.ts +1 -1
  62. package/src/chat21-core/providers/mqtt/mqtt-conversation-handler.ts +1 -1
  63. package/src/chat21-core/providers/tiledesk/tiledesk-auth.service.ts +0 -3
  64. package/src/chat21-core/utils/constants.ts +2 -2
  65. package/src/chat21-core/utils/utils.ts +2 -10
  66. package/src/app/services/project_users/project-users.service.spec.ts +0 -16
  67. package/src/app/services/project_users/project-users.service.ts +0 -63
  68. package/src/app/utils/permissions.constants.ts +0 -138
  69. package/src/assets/js/agentDesktop-sdk.js +0 -47
  70. package/src/chat21-core/models/projectUsers.ts +0 -19
  71. /package/src/assets/{images → img}/channel_icons/chat21.svg +0 -0
  72. /package/src/assets/{images → img}/channel_icons/direct.svg +0 -0
  73. /package/src/assets/{images → img}/channel_icons/email-logo.svg +0 -0
  74. /package/src/assets/{images → img}/channel_icons/form-logo_v2.svg +0 -0
  75. /package/src/assets/{images → img}/channel_icons/group.svg +0 -0
  76. /package/src/assets/{images → img}/channel_icons/messenger-logo.svg +0 -0
  77. /package/src/assets/{images → img}/channel_icons/telegram-logo.svg +0 -0
  78. /package/src/assets/{images → img}/channel_icons/voice.svg +0 -0
  79. /package/src/assets/{images → img}/channel_icons/whatsapp-logo.svg +0 -0
  80. /package/src/assets/{images → img}/default-avatar-x-select.png +0 -0
  81. /package/src/assets/{images → img}/f21ico-done.svg +0 -0
  82. /package/src/assets/{images → img}/f21ico-done_all.svg +0 -0
  83. /package/src/assets/{images → img}/f21ico-schedule.svg +0 -0
  84. /package/src/assets/{images → img}/file-alt-solid.png +0 -0
  85. /package/src/assets/{images → img}/icons/copilot.svg +0 -0
  86. /package/src/assets/{images → img}/json-file.svg +0 -0
  87. /package/src/assets/{images → img}/language_flag/ar.png +0 -0
  88. /package/src/assets/{images → img}/language_flag/az.png +0 -0
  89. /package/src/assets/{images → img}/language_flag/bg.png +0 -0
  90. /package/src/assets/{images → img}/language_flag/ca.png +0 -0
  91. /package/src/assets/{images → img}/language_flag/cs.png +0 -0
  92. /package/src/assets/{images → img}/language_flag/da.png +0 -0
  93. /package/src/assets/{images → img}/language_flag/de.png +0 -0
  94. /package/src/assets/{images → img}/language_flag/el.png +0 -0
  95. /package/src/assets/{images → img}/language_flag/en.png +0 -0
  96. /package/src/assets/{images → img}/language_flag/es.png +0 -0
  97. /package/src/assets/{images → img}/language_flag/fa.png +0 -0
  98. /package/src/assets/{images → img}/language_flag/fi.png +0 -0
  99. /package/src/assets/{images → img}/language_flag/fr.png +0 -0
  100. /package/src/assets/{images → img}/language_flag/he.png +0 -0
  101. /package/src/assets/{images → img}/language_flag/hi.png +0 -0
  102. /package/src/assets/{images → img}/language_flag/hr.png +0 -0
  103. /package/src/assets/{images → img}/language_flag/hu.png +0 -0
  104. /package/src/assets/{images → img}/language_flag/id.png +0 -0
  105. /package/src/assets/{images → img}/language_flag/it.png +0 -0
  106. /package/src/assets/{images → img}/language_flag/ja.png +0 -0
  107. /package/src/assets/{images → img}/language_flag/kk.png +0 -0
  108. /package/src/assets/{images → img}/language_flag/ko.png +0 -0
  109. /package/src/assets/{images → img}/language_flag/ml-IN.png +0 -0
  110. /package/src/assets/{images → img}/language_flag/ne-NP.png +0 -0
  111. /package/src/assets/{images → img}/language_flag/nl.png +0 -0
  112. /package/src/assets/{images → img}/language_flag/no.png +0 -0
  113. /package/src/assets/{images → img}/language_flag/pl.png +0 -0
  114. /package/src/assets/{images → img}/language_flag/pt-BR.png +0 -0
  115. /package/src/assets/{images → img}/language_flag/pt.png +0 -0
  116. /package/src/assets/{images → img}/language_flag/ro.png +0 -0
  117. /package/src/assets/{images → img}/language_flag/ru.png +0 -0
  118. /package/src/assets/{images → img}/language_flag/sk.png +0 -0
  119. /package/src/assets/{images → img}/language_flag/sl.png +0 -0
  120. /package/src/assets/{images → img}/language_flag/sr.png +0 -0
  121. /package/src/assets/{images → img}/language_flag/sv.png +0 -0
  122. /package/src/assets/{images → img}/language_flag/ta.png +0 -0
  123. /package/src/assets/{images → img}/language_flag/th.png +0 -0
  124. /package/src/assets/{images → img}/language_flag/tr.png +0 -0
  125. /package/src/assets/{images → img}/language_flag/uk.png +0 -0
  126. /package/src/assets/{images → img}/language_flag/uz.png +0 -0
  127. /package/src/assets/{images → img}/language_flag/vi.png +0 -0
  128. /package/src/assets/{images → img}/language_flag/zh-CN.png +0 -0
  129. /package/src/assets/{images → img}/language_flag/zh-TW.png +0 -0
  130. /package/src/assets/{logos → img/logos}/chat21-logo.png +0 -0
  131. /package/src/assets/{logos → img/logos}/logo.png +0 -0
  132. /package/src/assets/{logos → img/logos}/tiledesk-logo_new_white.svg +0 -0
  133. /package/src/assets/{logos → img/logos}/tiledesk-solo-logo.png +0 -0
  134. /package/src/assets/{logos → img/logos}/tiledesk_logo.svg +0 -0
  135. /package/src/assets/{logos → img/logos}/tiledesk_logo_no_text.svg +0 -0
  136. /package/src/assets/{logos → img/logos}/tiledesk_logo_white_small.svg +0 -0
  137. /package/src/assets/{images → img}/no_conversation.jpg +0 -0
  138. /package/src/assets/{images → img}/no_image.png +0 -0
  139. /package/src/assets/{images → img}/no_image_user.png +0 -0
  140. /package/src/assets/{images → img}/pin.svg +0 -0
  141. /package/src/assets/{images → img}/pinned.svg +0 -0
  142. /package/src/assets/{images → img}/priority_icons/high.svg +0 -0
  143. /package/src/assets/{images → img}/priority_icons/high_v2.svg +0 -0
  144. /package/src/assets/{images → img}/priority_icons/low.svg +0 -0
  145. /package/src/assets/{images → img}/priority_icons/low_v2.svg +0 -0
  146. /package/src/assets/{images → img}/priority_icons/medium.svg +0 -0
  147. /package/src/assets/{images → img}/priority_icons/medium_v2.svg +0 -0
  148. /package/src/assets/{images → img}/priority_icons/urgent.svg +0 -0
  149. /package/src/assets/{images → img}/priority_icons/urgent_v2.svg +0 -0
  150. /package/src/assets/{images → img}/teammate-status/avaible.svg +0 -0
  151. /package/src/assets/{images → img}/teammate-status/inactive.svg +0 -0
  152. /package/src/assets/{images → img}/teammate-status/unavaible.svg +0 -0
  153. /package/src/assets/{images → img}/whatsapp_background.png +0 -0
@@ -225,10 +225,6 @@
225
225
  "admin": "Aдминистратор",
226
226
  "agent": "Агент",
227
227
  "Conversations": "Разговори",
228
- "Monitor": "Монитор",
229
- "Flows": "Токови",
230
- "Knowledgebases": "Baze znanja",
231
- "Whatsappbroadcasts": "WhatsApp emitovanja",
232
228
  "Apps":"Аппс",
233
229
  "Analytics":"Аналитика",
234
230
  "Activities": "Активности",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Порука је такође послата е-поштом 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emodžiji nisu dozvoljeni",
313
- "DOMAIN_NOT_ALLOWED": "URL sadrži nedozvoljenu domenu",
314
- "TICKET": {
315
- "OPEN_TICKET": "Otvori tiket",
316
- "DESCRIPTION": "Da li potvrđujete da želite da otvorite tiket za ovaj razgovor?",
317
- "CONFIRM": "Potvrdi",
318
- "CLOSE": "Zatvori"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL sadrži nedozvoljenu domenu"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administratör",
226
226
  "agent": "Ombud",
227
227
  "Conversations": "Samtal",
228
- "Monitor": "Monitor",
229
- "Flows": "Flöden",
230
- "Knowledgebases": "Kunskapsbaser",
231
- "Whatsappbroadcasts": "WhatsApp-sändningar",
232
228
  "Apps": "Appar",
233
229
  "Analytics": "Analytics",
234
230
  "Activities": "Aktiviteter",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Meddelande skickas även via mail 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji är inte tillåtna",
313
- "DOMAIN_NOT_ALLOWED": "URL:en innehåller en otillåten domän",
314
- "TICKET": {
315
- "OPEN_TICKET": "Öppna Ärende",
316
- "DESCRIPTION": "Bekräftar du att du vill öppna ett ärende för den här konversationen?",
317
- "CONFIRM": "Bekräfta",
318
- "CLOSE": "Stäng"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL:en innehåller en otillåten domän"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Yönetici",
226
226
  "agent": "Ajan",
227
227
  "Conversations": "Konuşmalar",
228
- "Monitor": "Monitör",
229
- "Flows": "Akışlar",
230
- "Knowledgebases": "Bilgi Tabanları",
231
- "Whatsappbroadcasts": "WhatsApp Yayınları",
232
228
  "Apps":"Uygulamalar",
233
229
  "Analytics":"Analitik",
234
230
  "Activities": "Faaliyetler",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Mesaj ayrıca e-posta ile gönderilir 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji'ye izin verilmiyor",
313
- "DOMAIN_NOT_ALLOWED": "URL izin verilmeyen bir alan adı içeriyor",
314
- "TICKET": {
315
- "OPEN_TICKET": "Bilet Aç",
316
- "DESCRIPTION": "Bu görüşme için bir bilet açmak istediğinizi onaylıyor musunuz?",
317
- "CONFIRM": "Onayla",
318
- "CLOSE": "Kapat"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL izin verilmeyen bir alan adı içeriyor"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Адміністратор",
226
226
  "agent": "Агент",
227
227
  "Conversations": "Бесіди",
228
- "Monitor": "Монітор",
229
- "Flows": "Потоки",
230
- "Knowledgebases": "Бази знань",
231
- "Whatsappbroadcasts": "WhatsApp-розсилки",
232
228
  "Apps": "Програми",
233
229
  "Analytics": "Аналітика",
234
230
  "Activities": "Діяльність",
@@ -310,11 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Повідомлення також надіслано електронною поштою 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Емодзі не дозволені",
313
- "DOMAIN_NOT_ALLOWED": "URL містить недозволений домен",
314
- "TICKET": {
315
- "OPEN_TICKET": "Відкрити тікет",
316
- "DESCRIPTION": "Підтверджуєте, що хочете відкрити тікет для цієї розмови?",
317
- "CONFIRM": "Підтвердити",
318
- "CLOSE": "Закрити"
319
- }
309
+ "DOMAIN_NOT_ALLOWED": "URL містить недозволений домен"
320
310
  }
@@ -225,10 +225,6 @@
225
225
  "admin": "Administrator",
226
226
  "agent": "Agent",
227
227
  "Conversations": "Suhbatlar",
228
- "Monitor": "Monitor",
229
- "Flows": "Oqimlar",
230
- "Knowledgebases": "Bilim bazalari",
231
- "Whatsappbroadcasts": "WhatsApp efirlarini yuborish",
232
228
  "Apps": "Ilovalar",
233
229
  "Analytics": "Analitika",
234
230
  "Activities": "Faoliyatlar",
@@ -310,12 +306,5 @@
310
306
  "SEND_EMAIL_SUCCESS_OFFLINE_MESSAGE":"Xabar elektron pochta orqali ham yuborildi 📩"
311
307
  },
312
308
  "EMOJI_NOT_ELLOWED": "Emoji'ga ruxsat berilmagan",
313
- "DOMAIN_NOT_ALLOWED": "URL ruxsat etilmagan domenni o'z ichiga oladi",
314
- "TICKET": {
315
- "OPEN_TICKET": "Chiptani ochish",
316
- "DESCRIPTION": "Ushbu suhbat uchun chipta ochmoqchi ekanligingizni tasdiqlaysizmi?",
317
- "CONFIRM": "Tasdiqlash",
318
- "CLOSE": "Yopish"
319
- }
320
-
309
+ "DOMAIN_NOT_ALLOWED": "URL ruxsat etilmagan domenni o'z ichiga oladi"
321
310
  }
@@ -37,7 +37,6 @@
37
37
  "wsUrlRel": "${WS_URL_RELATIVE}",
38
38
  "storage_prefix": "${CHAT_STORAGE_PREFIX}",
39
39
  "emailSection": "${EMAIL_SECTION}",
40
- "ticketSection": "${TICKET_SECTION}",
41
40
  "whatsappTemplatesSection":"${WHATSAPP_TEMPLATES_SECTION}",
42
41
  "googleMapsApiKey":"${GOOGLE_MAPS_APIKEY}"
43
42
  }
@@ -37,7 +37,6 @@
37
37
  "writeToButton": false,
38
38
  "archivedButton": false,
39
39
  "emailSection": true,
40
- "ticketSection": false,
41
40
  "whatsappTemplatesSection":true,
42
41
  "googleMapsApiKey":"CHANGEIT"
43
42
  }
@@ -387,7 +387,7 @@ export class FirebaseConversationHandler extends ConversationHandlerService {
387
387
  } else {
388
388
 
389
389
  if (message.attributes.messagelabel.parameters.firstname) {
390
- // other user has been added to the group (and he has a fullname)
390
+ // other user has been added to the group (and he has a firstname)
391
391
  subject = message.attributes.messagelabel.parameters.firstname;
392
392
  verb = INFO_SUPPORT_USER_ADDED_VERB;
393
393
  complement = INFO_SUPPORT_USER_ADDED_COMPLEMENT;
@@ -365,7 +365,7 @@ export class MQTTConversationHandler extends ConversationHandlerService {
365
365
  complement = INFO_SUPPORT_USER_ADDED_COMPLEMENT;
366
366
  } else {
367
367
  if (message.attributes.messagelabel.parameters.firstname) {
368
- // other user has been added to the group (and he has a fullname)
368
+ // other user has been added to the group (and he has a firstname)
369
369
  subject = message.attributes.messagelabel.parameters.firstname;
370
370
  verb = INFO_SUPPORT_USER_ADDED_VERB;
371
371
  complement = INFO_SUPPORT_USER_ADDED_COMPLEMENT;
@@ -121,7 +121,6 @@ export class TiledeskAuthService {
121
121
  this.http.post(this.URL_TILEDESK_SIGNIN_WITH_CUSTOM_TOKEN, null, requestOptions).subscribe((data) => {
122
122
  if (data['success'] && data['token']) {
123
123
  that.tiledeskToken = data['token'];
124
- data['user'].token = tiledeskToken; // mantengo il token custom nell'oggetto user
125
124
  that.createCompleteUser(data['user']);
126
125
  this.checkAndSetInStorageTiledeskToken(that.tiledeskToken)
127
126
  this.BS_IsONLINE.next(true)
@@ -178,8 +177,6 @@ export class TiledeskAuthService {
178
177
  this.currentUser = member;
179
178
  this.logger.log('[TILEDESK-AUTH] - createCompleteUser member ', member);
180
179
  this.appStorage.setItem('currentUser', JSON.stringify(this.currentUser));
181
- const { iat, aud, iss, jti, ...cleanUser } = user; //destructuring and rest user object
182
- localStorage.setItem('user', JSON.stringify(cleanUser));
183
180
 
184
181
  } catch (err) {
185
182
  this.logger.error('[TILEDESK-AUTH]- createCompleteUser ERR ', err)
@@ -119,8 +119,8 @@ export const STORAGE_PREFIX = 'tiledesk_widget_';
119
119
 
120
120
  // links
121
121
  export const FIREBASESTORAGE_BASE_URL_IMAGE = 'https://firebasestorage.googleapis.com/v0/b/' //+ 'chat-v2-dev.appspot.com/o/';
122
- export const IMG_PROFILE_BOT = '/assets/images/avatar_bot_tiledesk.svg';
123
- export const IMG_PROFILE_DEFAULT = '/assets/images/avatar_male_tiledesk.svg';
122
+ export const IMG_PROFILE_BOT = '/assets/img/avatar_bot_tiledesk.svg';
123
+ export const IMG_PROFILE_DEFAULT = '/assets/img/avatar_male_tiledesk.svg';
124
124
 
125
125
  //LOG LEVEL
126
126
  // export enum LogLevel {
@@ -1018,14 +1018,6 @@ export function isAllowedUrlInText(text: string, allowedUrls: string[]) {
1018
1018
  }
1019
1019
 
1020
1020
  function extractUrls(text: string): string[] {
1021
- // Rileva URL con o senza protocollo (http/https)
1022
- const urlRegex = /\b((https?:\/\/)?(www\.)?[a-z0-9.-]+\.[a-z]{2,})(\/[^\s]*)?/gi;
1023
- const matches = text.match(urlRegex) || [];
1024
- // Normalizza: aggiunge https:// se manca, così il parsing con new URL() funziona
1025
- return matches.map((url) => {
1026
- if (!/^https?:\/\//i.test(url)) {
1027
- return 'https://' + url;
1028
- }
1029
- return url;
1030
- });
1021
+ const urlRegex = /https?:\/\/[^\s]+/g;
1022
+ return text.match(urlRegex) || [];
1031
1023
  }
@@ -1,16 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
-
3
- import { ProjectUsersService } from './project-users.service';
4
-
5
- describe('ProjectUsersService', () => {
6
- let service: ProjectUsersService;
7
-
8
- beforeEach(() => {
9
- TestBed.configureTestingModule({});
10
- service = TestBed.inject(ProjectUsersService);
11
- });
12
-
13
- it('should be created', () => {
14
- expect(service).toBeTruthy();
15
- });
16
- });
@@ -1,63 +0,0 @@
1
- import { HttpClient, HttpHeaders } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { Observable } from 'rxjs';
4
- import { map } from 'rxjs/operators';
5
- import { ProjectUser } from 'src/chat21-core/models/projectUsers';
6
- import { AppStorageService } from 'src/chat21-core/providers/abstract/app-storage.service';
7
- import { LoggerService } from 'src/chat21-core/providers/abstract/logger.service';
8
- import { LoggerInstance } from 'src/chat21-core/providers/logger/loggerInstance';
9
-
10
- @Injectable({
11
- providedIn: 'root'
12
- })
13
- export class ProjectUsersService {
14
-
15
- private SERVER_BASE_URL: string;
16
- private tiledeskToken: string;
17
-
18
- private logger: LoggerService = LoggerInstance.getInstance();
19
- constructor(
20
- public http: HttpClient,
21
- public appStorageService: AppStorageService
22
- ) {}
23
-
24
- initialize(serverBaseUrl: string) {
25
- this.logger.log('[TILEDESK-PROJECT_USERS-SERV] - initialize serverBaseUrl', serverBaseUrl);
26
- this.SERVER_BASE_URL = serverBaseUrl;
27
- this.tiledeskToken = this.appStorageService.getItem('tiledeskToken')
28
- }
29
-
30
- public getProjectUsersByProjectId(project_id: string): Observable<ProjectUser[]> {
31
- const url = this.SERVER_BASE_URL + project_id + '/project_users/';
32
- this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER URL', url);
33
-
34
- const httpOptions = {
35
- headers: new HttpHeaders({
36
- 'Content-Type': 'application/json',
37
- Authorization: this.tiledeskToken
38
- })
39
- };
40
- return this.http.get(url, httpOptions).pipe(map((res: any) => {
41
- this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER RES ', res);
42
- return res
43
- }))
44
- }
45
-
46
- public getProjectUserByProjectId(project_id: string): Promise<ProjectUser> {
47
- const url = this.SERVER_BASE_URL + project_id + '/project_users/me';
48
- this.logger.log('[TILEDESK-SERVICE]- GET PROJECT-USER BY USER-ID - URL', url);
49
-
50
- const httpOptions = {
51
- headers: new HttpHeaders({
52
- 'Content-Type': 'application/json',
53
- Authorization: this.tiledeskToken
54
- })
55
- };
56
-
57
- return this.http.get(url, httpOptions).pipe(map((res: any) => {
58
- this.logger.log('[TILEDESK-SERVICE] - GET PROJECT-USER RES ', res);
59
- return res[0]
60
- })).toPromise();
61
- }
62
-
63
- }
@@ -1,138 +0,0 @@
1
-
2
- export const PERMISSIONS = {
3
- REQUEST_READ_ALL: 'request_read_all',
4
- REQUEST_READ_GROUP: 'request_read_group',
5
- REQUEST_READ_MY: 'request_read_my',
6
-
7
- HOME_READ: 'home_read',
8
-
9
- INBOX_READ: 'inbox_read',
10
- REQUEST_UPDATE: 'request_update',
11
- REQUEST_SEND: 'request_send',
12
- REQUEST_CREATE_TICKET: 'request_create_ticket',
13
- REQUEST_CLOSE: 'request_close',
14
- REQUEST_JOIN: 'request_join',
15
- REQUEST_REOPEN: 'request_reopen',
16
- REQUEST_DELETE: 'request_delete',
17
- REQUEST_UPDATE_STATUS: 'request_update_status',
18
- REQUEST_UPDATE_PRIORITY: 'request_update_priority',
19
- REQUEST_UPDATE_FOLLOWERS: 'request_update_followers',
20
- REQUEST_UPDATE_SMART_ASSIGNMENT: 'request_update_smart_assignment',
21
- REQUEST_UPDATE_TAGS: 'request_update_tags',
22
- REQUEST_UPDATE_NOTES: 'request_update_notes',
23
- REQUEST_REASSIGN:'request_reassign',
24
- REQUEST_ADD:'request_add',
25
- REQUEST_LEFT: 'request_left',
26
- REQUEST_TRANSCRIPT_SEND: 'request_transcript_send',
27
-
28
- HISTORY_READ: 'history_read',
29
-
30
- RATING_READ:'rating_read',
31
-
32
- AUTOMATIONSLOG_READ: "automationslog_read",
33
- AUTOMATIONSLOG_CREATE: "automationslog_create",
34
-
35
- KB_READ: 'kb_read',
36
- KB_CONTENTS_ADD:'kb_contents_add',
37
- KB_CONTENT_UPDATE: 'kb_content_update',
38
- KB_CONTENT_REINDEX: 'kb_content_reindex',
39
- KB_CONTENT_CHECK_STATUS: 'kb_content_check_status',
40
- KB_NAMESPACE_ADD:'kb_namespace_add',
41
- KB_SETTINGS_EDIT:'kb_settings_edit',
42
- KB_DELETE: 'kb_delete',
43
- KB_CONTENTS_EXPORT: 'kb_contents_export',
44
- // KB_NAMESPACE_DELETE:'kb_namespace_delete',
45
- // KB_CONTENTS_DELETE:'kb_contents_delete',
46
-
47
-
48
-
49
- FLOWS_READ: 'flows_read',
50
- FLOW_ADD: 'flow_add',
51
- FLOW_EDIT: 'flow_edit',
52
- FLOW_TEST: 'flow_test',
53
- FLOW_DUPLICATE: 'flow_duplicate',
54
- FLOW_DELETE: 'flow_delete',
55
- FLOW_SHARE: 'flow_share',
56
- FLOW_EXPORT: 'flow_export',
57
- FLOW_WEBHOOK_COPY:"flow_webhook_copy",
58
- FLOW_WEBHOOK_EDIT:"flow_webhook_edit",
59
- FLOW_WEBHOOK_DELETE:"flow_webhook_delete",
60
- // FLOW_VIEW_MESSAGE_GRAPH: 'flow_view_message_graph',
61
-
62
- LEADS_READ: 'leads_read',
63
- LEAD_UPDATE: 'lead_update',
64
- LEAD_RESTORE: 'lead_restore',
65
- LEAD_TRASH: 'lead_trash',
66
- LEAD_DELETE: 'lead_delete',
67
- LEADS_EXPORT: 'leads_export',
68
- LEAD_BAN: 'lead_ban',
69
- LEAD_UNBAN: 'lead_unban',
70
-
71
- ANALYTICS_READ: 'analytics_read',
72
- ACTIVITIES_READ: 'activities_read',
73
-
74
- WIDGETSETUP_READ: 'widgetsetup_read',
75
- INSTALLATION_READ: 'installation_read',
76
- TRANSLATIONS_READ: 'translations_read',
77
- WIDGETSETUP_UPDATE: 'widgetsetup_update',
78
-
79
-
80
-
81
- DEPARTMENTS_LIST_READ: 'department_list_read',
82
- DEPARTMENT_DETAIL_READ: 'department_detail_read',
83
- DEPARTMENT_CREATE_READ: 'department_create_read',
84
-
85
- TEAMMATES_READ: 'teammates_read',
86
- TEAMMATE_UPDATE: 'teammate_update',
87
- TEAMMATES_CREATE: 'teammates_create',
88
- ROLES_READ: 'roles_read',
89
- GROUPS_READ: 'groups_read',
90
-
91
-
92
-
93
- EMAIL_TICKETING_READ:'email_ticketing_read',
94
- EMAIL_TICKETING_UPDATE:'email_ticketing_update',
95
-
96
- CANNED_RESPONSES_READ:'canned_responses_read',
97
- CANNED_RESPONSES_UPDATE:'canned_responses_update',
98
- CANNED_RESPONSES_CREATE:'canned_responses_create',
99
- CANNED_RESPONSES_DELETE:'canned_responses_delete',
100
-
101
- TAGS_READ:'tags_read',
102
- TAG_CREATE:'tag_create',
103
- TAG_DELETE:'tag_delete',
104
- TAG_UPDATE:'tag_update',
105
-
106
- HOURS_READ: 'hours_read',
107
- HOURS_UPDATE: 'hours_update',
108
- HOURS_DELETE: 'hours_delete',
109
- HOURS_CREATE: 'hours_create',
110
-
111
- INTEGRATIONS_READ: 'integrations_read',
112
- INTEGRATIONS_UPDATE: 'integrations_update',
113
-
114
- APPS_READ:'apps_read',
115
- APPS_UPDATE:'apps_update',
116
-
117
- SETTINGS_READ: 'settings_read',
118
- PROJECTSETTINGS_GENERAL_READ: 'projectsettings_general_read',
119
- PROJECTSETTINGS_GENERAL_UPDATE: 'projectsettings_general_update',
120
- PROJECTSETTINGS_SUBSCRIPTION_READ: 'projectsettings_subscription_read',
121
- PROJECTSETTINGS_DEVELOPER_READ: 'projectsettings_developer_read',
122
- PROJECTSETTINGS_DEVELOPER_UPDATE: 'projectsettings_developer_update',
123
- PROJECTSETTINGS_SMARTASSIGNMENT_READ: 'projectsettings_smartassignment_read',
124
- PROJECTSETTINGS_SMARTASSIGNMENT_UPDATE: 'projectsettings_smartassignment_update',
125
- PROJECTSETTINGS_NOTIFICATION_READ: 'projectsettings_notification_read',
126
- PROJECTSETTINGS_SECURITY_READ: 'projectsettings_security_read',
127
- PROJECTSETTINGS_BANNED_READ: 'projectsettings_banned_read',
128
- PROJECTSETTINGS_ADVANCED_READ: 'projectsettings_advanced_read',
129
-
130
- ACCESS_LISTS: 'accessLists',
131
- PROFILE_PAGES: 'profilePages',
132
- LEAD_DATA: 'leadData',
133
- IMPORT_DATA: 'importData',
134
- MANAGE_TAGS: 'manageTags',
135
-
136
- CHANGE_PROJECT:'change_project',
137
- SIMULATE_CONV:'simulate_conv',
138
- };
@@ -1,47 +0,0 @@
1
- function loadAgentDesktopScript() {
2
- if (document.getElementById('agentdesktop-sdk')) {
3
- return;
4
- }
5
-
6
- const script = document.createElement('script');
7
- script.id = 'agentdesktop-sdk';
8
- script.type = 'text/javascript';
9
- script.src = 'https://devcti.aruba.it/AD/widget/agentdesktop_widget.js';
10
- script.async = true;
11
-
12
- script.onload = () => {
13
- console.log('AgentDesktop SDK caricato');
14
- window.agentDesktopLoaded = true;
15
- };
16
-
17
- script.onerror = (error) => {
18
- console.error('Errore nel caricamento AgentDesktop SDK', error);
19
- };
20
-
21
-
22
-
23
-
24
-
25
-
26
- if (document.body) {
27
- document.body.appendChild(script);
28
- } else {
29
- window.addEventListener('DOMContentLoaded', function() {
30
- document.body.appendChild(script);
31
- });
32
- }
33
- }
34
-
35
-
36
- function openTicketOnHDA(requestId){
37
- console.log('openTicketOnHDA called with requestId:', requestId);
38
- if(window && window.parent){
39
- const message = { companyID: "1", sourceID: "CHAT", tiledeskID: requestId }
40
- window.parent.postMessage(message, 'https://devhda2bo.aruba.it/HDAPortal/');
41
- window.postMessage(message, 'https://devhda2bo.aruba.it/HDAPortal/');
42
- console.log('Message posted to parent window and current window');
43
- }
44
-
45
- }
46
-
47
- loadAgentDesktopScript();
@@ -1,19 +0,0 @@
1
- export interface ProjectUser {
2
- _id?: string;
3
- updatedAt?: any;
4
- createdAt?: any;
5
- id_project?: string;
6
- user_available?: boolean;
7
- role?: string;
8
- createdBy?: string;
9
- is_group_member?: boolean;
10
- // id_user?: string;
11
- isAuthenticated?: boolean;
12
- isBusy?: boolean;
13
- status?: string;
14
- id_user?: any;
15
- rolePermissions?: string[];
16
- profileStatus?: string;
17
- presence?: { [key: string]: string}
18
- __v?: any;
19
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes