grm-shared-library 1.1.202 → 1.1.203

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 (244) hide show
  1. package/dist/cjs/index.js +1 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/kafka/topics.js +26 -0
  4. package/dist/cjs/kafka/topics.js.map +1 -1
  5. package/dist/cjs/modules/common/constants/service.const.js +1 -0
  6. package/dist/cjs/modules/common/constants/service.const.js.map +1 -1
  7. package/dist/cjs/modules/permission/data/permissions.data.js +26 -0
  8. package/dist/cjs/modules/permission/data/permissions.data.js.map +1 -1
  9. package/dist/cjs/modules/permission/enums/permission-actions.enum.js +40 -0
  10. package/dist/cjs/modules/permission/enums/permission-actions.enum.js.map +1 -1
  11. package/dist/cjs/modules/permission/enums/permissions-module.enum.js +1 -0
  12. package/dist/cjs/modules/permission/enums/permissions-module.enum.js.map +1 -1
  13. package/dist/cjs/modules/role/data/roles.data.js +83 -0
  14. package/dist/cjs/modules/role/data/roles.data.js.map +1 -1
  15. package/dist/cjs/modules/socket/enums/redis-channel-name.enum.js +1 -0
  16. package/dist/cjs/modules/socket/enums/redis-channel-name.enum.js.map +1 -1
  17. package/dist/cjs/modules/socket/enums/room-type.enum.js +8 -0
  18. package/dist/cjs/modules/socket/enums/room-type.enum.js.map +1 -1
  19. package/dist/cjs/modules/socket/enums/socket-event-name.enum.js +5 -0
  20. package/dist/cjs/modules/socket/enums/socket-event-name.enum.js.map +1 -1
  21. package/dist/cjs/modules/support/constants/support-defaults.const.js +139 -0
  22. package/dist/cjs/modules/support/constants/support-defaults.const.js.map +1 -0
  23. package/dist/cjs/modules/support/constants/support-kafka.const.js +51 -0
  24. package/dist/cjs/modules/support/constants/support-kafka.const.js.map +1 -0
  25. package/dist/cjs/modules/support/dtos/create-support-ticket-message.dto.js +82 -0
  26. package/dist/cjs/modules/support/dtos/create-support-ticket-message.dto.js.map +1 -0
  27. package/dist/cjs/modules/support/dtos/create-support-ticket.dto.js +169 -0
  28. package/dist/cjs/modules/support/dtos/create-support-ticket.dto.js.map +1 -0
  29. package/dist/cjs/modules/support/dtos/customer-feedback.dto.js +401 -0
  30. package/dist/cjs/modules/support/dtos/customer-feedback.dto.js.map +1 -0
  31. package/dist/cjs/modules/support/dtos/support-configuration.dto.js +732 -0
  32. package/dist/cjs/modules/support/dtos/support-configuration.dto.js.map +1 -0
  33. package/dist/cjs/modules/support/dtos/support-related-entity.dto.js +38 -0
  34. package/dist/cjs/modules/support/dtos/support-related-entity.dto.js.map +1 -0
  35. package/dist/cjs/modules/support/dtos/support-report-query.dto.js +127 -0
  36. package/dist/cjs/modules/support/dtos/support-report-query.dto.js.map +1 -0
  37. package/dist/cjs/modules/support/dtos/support-sync.dto.js +175 -0
  38. package/dist/cjs/modules/support/dtos/support-sync.dto.js.map +1 -0
  39. package/dist/cjs/modules/support/dtos/support-ticket-actions.dto.js +191 -0
  40. package/dist/cjs/modules/support/dtos/support-ticket-actions.dto.js.map +1 -0
  41. package/dist/cjs/modules/support/dtos/support-ticket-query.dto.js +225 -0
  42. package/dist/cjs/modules/support/dtos/support-ticket-query.dto.js.map +1 -0
  43. package/dist/cjs/modules/support/enums/support-audit-action.enum.js +87 -0
  44. package/dist/cjs/modules/support/enums/support-audit-action.enum.js.map +1 -0
  45. package/dist/cjs/modules/support/enums/support-feedback.enum.js +110 -0
  46. package/dist/cjs/modules/support/enums/support-feedback.enum.js.map +1 -0
  47. package/dist/cjs/modules/support/enums/support-provider-code.enum.js +66 -0
  48. package/dist/cjs/modules/support/enums/support-provider-code.enum.js.map +1 -0
  49. package/dist/cjs/modules/support/enums/support-related-entity-type.enum.js +50 -0
  50. package/dist/cjs/modules/support/enums/support-related-entity-type.enum.js.map +1 -0
  51. package/dist/cjs/modules/support/enums/support-routing.enum.js +58 -0
  52. package/dist/cjs/modules/support/enums/support-routing.enum.js.map +1 -0
  53. package/dist/cjs/modules/support/enums/support-sla.enum.js +55 -0
  54. package/dist/cjs/modules/support/enums/support-sla.enum.js.map +1 -0
  55. package/dist/cjs/modules/support/enums/support-sync.enum.js +133 -0
  56. package/dist/cjs/modules/support/enums/support-sync.enum.js.map +1 -0
  57. package/dist/cjs/modules/support/enums/support-ticket-channel.enum.js +36 -0
  58. package/dist/cjs/modules/support/enums/support-ticket-channel.enum.js.map +1 -0
  59. package/dist/cjs/modules/support/enums/support-ticket-message.enum.js +54 -0
  60. package/dist/cjs/modules/support/enums/support-ticket-message.enum.js.map +1 -0
  61. package/dist/cjs/modules/support/enums/support-ticket-priority.enum.js +41 -0
  62. package/dist/cjs/modules/support/enums/support-ticket-priority.enum.js.map +1 -0
  63. package/dist/cjs/modules/support/enums/support-ticket-status.enum.js +138 -0
  64. package/dist/cjs/modules/support/enums/support-ticket-status.enum.js.map +1 -0
  65. package/dist/cjs/modules/support/index.js +60 -0
  66. package/dist/cjs/modules/support/index.js.map +1 -0
  67. package/dist/cjs/modules/support/interfaces/customer-feedback.js +3 -0
  68. package/dist/cjs/modules/support/interfaces/customer-feedback.js.map +1 -0
  69. package/dist/cjs/modules/support/interfaces/support-configuration.js +3 -0
  70. package/dist/cjs/modules/support/interfaces/support-configuration.js.map +1 -0
  71. package/dist/cjs/modules/support/interfaces/support-events.js +3 -0
  72. package/dist/cjs/modules/support/interfaces/support-events.js.map +1 -0
  73. package/dist/cjs/modules/support/interfaces/support-provider-descriptor.js +3 -0
  74. package/dist/cjs/modules/support/interfaces/support-provider-descriptor.js.map +1 -0
  75. package/dist/cjs/modules/support/interfaces/support-realtime.js +18 -0
  76. package/dist/cjs/modules/support/interfaces/support-realtime.js.map +1 -0
  77. package/dist/cjs/modules/support/interfaces/support-reports.js +3 -0
  78. package/dist/cjs/modules/support/interfaces/support-reports.js.map +1 -0
  79. package/dist/cjs/modules/support/interfaces/support-sync.js +3 -0
  80. package/dist/cjs/modules/support/interfaces/support-sync.js.map +1 -0
  81. package/dist/cjs/modules/support/interfaces/support-ticket-message.js +3 -0
  82. package/dist/cjs/modules/support/interfaces/support-ticket-message.js.map +1 -0
  83. package/dist/cjs/modules/support/interfaces/support-ticket.js +3 -0
  84. package/dist/cjs/modules/support/interfaces/support-ticket.js.map +1 -0
  85. package/dist/cjs/modules/support/utils/support-feedback.util.js +66 -0
  86. package/dist/cjs/modules/support/utils/support-feedback.util.js.map +1 -0
  87. package/dist/cjs/modules/support/utils/support-redaction.util.js +173 -0
  88. package/dist/cjs/modules/support/utils/support-redaction.util.js.map +1 -0
  89. package/dist/cjs/modules/support/utils/support-routing.util.js +87 -0
  90. package/dist/cjs/modules/support/utils/support-routing.util.js.map +1 -0
  91. package/dist/cjs/modules/support/utils/support-sla.util.js +239 -0
  92. package/dist/cjs/modules/support/utils/support-sla.util.js.map +1 -0
  93. package/dist/cjs/modules/support/utils/support-status.util.js +93 -0
  94. package/dist/cjs/modules/support/utils/support-status.util.js.map +1 -0
  95. package/dist/cjs/modules/support/utils/support-sync.util.js +151 -0
  96. package/dist/cjs/modules/support/utils/support-sync.util.js.map +1 -0
  97. package/dist/cjs/modules/support/utils/support-ticket-number.util.js +61 -0
  98. package/dist/cjs/modules/support/utils/support-ticket-number.util.js.map +1 -0
  99. package/dist/esm/index.js +1 -0
  100. package/dist/esm/index.js.map +1 -1
  101. package/dist/esm/kafka/topics.js +26 -0
  102. package/dist/esm/kafka/topics.js.map +1 -1
  103. package/dist/esm/modules/common/constants/service.const.js +1 -0
  104. package/dist/esm/modules/common/constants/service.const.js.map +1 -1
  105. package/dist/esm/modules/permission/data/permissions.data.js +26 -0
  106. package/dist/esm/modules/permission/data/permissions.data.js.map +1 -1
  107. package/dist/esm/modules/permission/enums/permission-actions.enum.js +40 -0
  108. package/dist/esm/modules/permission/enums/permission-actions.enum.js.map +1 -1
  109. package/dist/esm/modules/permission/enums/permissions-module.enum.js +1 -0
  110. package/dist/esm/modules/permission/enums/permissions-module.enum.js.map +1 -1
  111. package/dist/esm/modules/role/data/roles.data.js +83 -0
  112. package/dist/esm/modules/role/data/roles.data.js.map +1 -1
  113. package/dist/esm/modules/socket/enums/redis-channel-name.enum.js +1 -0
  114. package/dist/esm/modules/socket/enums/redis-channel-name.enum.js.map +1 -1
  115. package/dist/esm/modules/socket/enums/room-type.enum.js +8 -0
  116. package/dist/esm/modules/socket/enums/room-type.enum.js.map +1 -1
  117. package/dist/esm/modules/socket/enums/socket-event-name.enum.js +5 -0
  118. package/dist/esm/modules/socket/enums/socket-event-name.enum.js.map +1 -1
  119. package/dist/esm/modules/support/constants/support-defaults.const.js +136 -0
  120. package/dist/esm/modules/support/constants/support-defaults.const.js.map +1 -0
  121. package/dist/esm/modules/support/constants/support-kafka.const.js +48 -0
  122. package/dist/esm/modules/support/constants/support-kafka.const.js.map +1 -0
  123. package/dist/esm/modules/support/dtos/create-support-ticket-message.dto.js +77 -0
  124. package/dist/esm/modules/support/dtos/create-support-ticket-message.dto.js.map +1 -0
  125. package/dist/esm/modules/support/dtos/create-support-ticket.dto.js +165 -0
  126. package/dist/esm/modules/support/dtos/create-support-ticket.dto.js.map +1 -0
  127. package/dist/esm/modules/support/dtos/customer-feedback.dto.js +392 -0
  128. package/dist/esm/modules/support/dtos/customer-feedback.dto.js.map +1 -0
  129. package/dist/esm/modules/support/dtos/support-configuration.dto.js +716 -0
  130. package/dist/esm/modules/support/dtos/support-configuration.dto.js.map +1 -0
  131. package/dist/esm/modules/support/dtos/support-related-entity.dto.js +34 -0
  132. package/dist/esm/modules/support/dtos/support-related-entity.dto.js.map +1 -0
  133. package/dist/esm/modules/support/dtos/support-report-query.dto.js +123 -0
  134. package/dist/esm/modules/support/dtos/support-report-query.dto.js.map +1 -0
  135. package/dist/esm/modules/support/dtos/support-sync.dto.js +169 -0
  136. package/dist/esm/modules/support/dtos/support-sync.dto.js.map +1 -0
  137. package/dist/esm/modules/support/dtos/support-ticket-actions.dto.js +180 -0
  138. package/dist/esm/modules/support/dtos/support-ticket-actions.dto.js.map +1 -0
  139. package/dist/esm/modules/support/dtos/support-ticket-query.dto.js +221 -0
  140. package/dist/esm/modules/support/dtos/support-ticket-query.dto.js.map +1 -0
  141. package/dist/esm/modules/support/enums/support-audit-action.enum.js +84 -0
  142. package/dist/esm/modules/support/enums/support-audit-action.enum.js.map +1 -0
  143. package/dist/esm/modules/support/enums/support-feedback.enum.js +107 -0
  144. package/dist/esm/modules/support/enums/support-feedback.enum.js.map +1 -0
  145. package/dist/esm/modules/support/enums/support-provider-code.enum.js +63 -0
  146. package/dist/esm/modules/support/enums/support-provider-code.enum.js.map +1 -0
  147. package/dist/esm/modules/support/enums/support-related-entity-type.enum.js +47 -0
  148. package/dist/esm/modules/support/enums/support-related-entity-type.enum.js.map +1 -0
  149. package/dist/esm/modules/support/enums/support-routing.enum.js +55 -0
  150. package/dist/esm/modules/support/enums/support-routing.enum.js.map +1 -0
  151. package/dist/esm/modules/support/enums/support-sla.enum.js +52 -0
  152. package/dist/esm/modules/support/enums/support-sla.enum.js.map +1 -0
  153. package/dist/esm/modules/support/enums/support-sync.enum.js +130 -0
  154. package/dist/esm/modules/support/enums/support-sync.enum.js.map +1 -0
  155. package/dist/esm/modules/support/enums/support-ticket-channel.enum.js +33 -0
  156. package/dist/esm/modules/support/enums/support-ticket-channel.enum.js.map +1 -0
  157. package/dist/esm/modules/support/enums/support-ticket-message.enum.js +51 -0
  158. package/dist/esm/modules/support/enums/support-ticket-message.enum.js.map +1 -0
  159. package/dist/esm/modules/support/enums/support-ticket-priority.enum.js +38 -0
  160. package/dist/esm/modules/support/enums/support-ticket-priority.enum.js.map +1 -0
  161. package/dist/esm/modules/support/enums/support-ticket-status.enum.js +135 -0
  162. package/dist/esm/modules/support/enums/support-ticket-status.enum.js.map +1 -0
  163. package/dist/esm/modules/support/index.js +44 -0
  164. package/dist/esm/modules/support/index.js.map +1 -0
  165. package/dist/esm/modules/support/interfaces/customer-feedback.js +2 -0
  166. package/dist/esm/modules/support/interfaces/customer-feedback.js.map +1 -0
  167. package/dist/esm/modules/support/interfaces/support-configuration.js +2 -0
  168. package/dist/esm/modules/support/interfaces/support-configuration.js.map +1 -0
  169. package/dist/esm/modules/support/interfaces/support-events.js +2 -0
  170. package/dist/esm/modules/support/interfaces/support-events.js.map +1 -0
  171. package/dist/esm/modules/support/interfaces/support-provider-descriptor.js +2 -0
  172. package/dist/esm/modules/support/interfaces/support-provider-descriptor.js.map +1 -0
  173. package/dist/esm/modules/support/interfaces/support-realtime.js +15 -0
  174. package/dist/esm/modules/support/interfaces/support-realtime.js.map +1 -0
  175. package/dist/esm/modules/support/interfaces/support-reports.js +2 -0
  176. package/dist/esm/modules/support/interfaces/support-reports.js.map +1 -0
  177. package/dist/esm/modules/support/interfaces/support-sync.js +2 -0
  178. package/dist/esm/modules/support/interfaces/support-sync.js.map +1 -0
  179. package/dist/esm/modules/support/interfaces/support-ticket-message.js +2 -0
  180. package/dist/esm/modules/support/interfaces/support-ticket-message.js.map +1 -0
  181. package/dist/esm/modules/support/interfaces/support-ticket.js +2 -0
  182. package/dist/esm/modules/support/interfaces/support-ticket.js.map +1 -0
  183. package/dist/esm/modules/support/utils/support-feedback.util.js +60 -0
  184. package/dist/esm/modules/support/utils/support-feedback.util.js.map +1 -0
  185. package/dist/esm/modules/support/utils/support-redaction.util.js +164 -0
  186. package/dist/esm/modules/support/utils/support-redaction.util.js.map +1 -0
  187. package/dist/esm/modules/support/utils/support-routing.util.js +82 -0
  188. package/dist/esm/modules/support/utils/support-routing.util.js.map +1 -0
  189. package/dist/esm/modules/support/utils/support-sla.util.js +229 -0
  190. package/dist/esm/modules/support/utils/support-sla.util.js.map +1 -0
  191. package/dist/esm/modules/support/utils/support-status.util.js +81 -0
  192. package/dist/esm/modules/support/utils/support-status.util.js.map +1 -0
  193. package/dist/esm/modules/support/utils/support-sync.util.js +142 -0
  194. package/dist/esm/modules/support/utils/support-sync.util.js.map +1 -0
  195. package/dist/esm/modules/support/utils/support-ticket-number.util.js +56 -0
  196. package/dist/esm/modules/support/utils/support-ticket-number.util.js.map +1 -0
  197. package/dist/types/index.d.ts +1 -0
  198. package/dist/types/kafka/topics.d.ts +21 -0
  199. package/dist/types/modules/common/constants/service.const.d.ts +4 -0
  200. package/dist/types/modules/permission/enums/permission-actions.enum.d.ts +21 -0
  201. package/dist/types/modules/permission/enums/permissions-module.enum.d.ts +2 -1
  202. package/dist/types/modules/socket/enums/redis-channel-name.enum.d.ts +2 -1
  203. package/dist/types/modules/socket/enums/room-type.enum.d.ts +8 -0
  204. package/dist/types/modules/socket/enums/socket-event-name.enum.d.ts +2 -1
  205. package/dist/types/modules/support/constants/support-defaults.const.d.ts +129 -0
  206. package/dist/types/modules/support/constants/support-kafka.const.d.ts +47 -0
  207. package/dist/types/modules/support/dtos/create-support-ticket-message.dto.d.ts +30 -0
  208. package/dist/types/modules/support/dtos/create-support-ticket.dto.d.ts +35 -0
  209. package/dist/types/modules/support/dtos/customer-feedback.dto.d.ts +83 -0
  210. package/dist/types/modules/support/dtos/support-configuration.dto.d.ts +130 -0
  211. package/dist/types/modules/support/dtos/support-related-entity.dto.d.ts +13 -0
  212. package/dist/types/modules/support/dtos/support-report-query.dto.d.ts +29 -0
  213. package/dist/types/modules/support/dtos/support-sync.dto.d.ts +40 -0
  214. package/dist/types/modules/support/dtos/support-ticket-actions.dto.d.ts +61 -0
  215. package/dist/types/modules/support/dtos/support-ticket-query.dto.d.ts +41 -0
  216. package/dist/types/modules/support/enums/support-audit-action.enum.d.ts +80 -0
  217. package/dist/types/modules/support/enums/support-feedback.enum.d.ts +65 -0
  218. package/dist/types/modules/support/enums/support-provider-code.enum.d.ts +57 -0
  219. package/dist/types/modules/support/enums/support-related-entity-type.enum.d.ts +41 -0
  220. package/dist/types/modules/support/enums/support-routing.enum.d.ts +48 -0
  221. package/dist/types/modules/support/enums/support-sla.enum.d.ts +47 -0
  222. package/dist/types/modules/support/enums/support-sync.enum.d.ts +108 -0
  223. package/dist/types/modules/support/enums/support-ticket-channel.enum.d.ts +30 -0
  224. package/dist/types/modules/support/enums/support-ticket-message.enum.d.ts +42 -0
  225. package/dist/types/modules/support/enums/support-ticket-priority.enum.d.ts +24 -0
  226. package/dist/types/modules/support/enums/support-ticket-status.enum.d.ts +58 -0
  227. package/dist/types/modules/support/index.d.ts +38 -0
  228. package/dist/types/modules/support/interfaces/customer-feedback.d.ts +115 -0
  229. package/dist/types/modules/support/interfaces/support-configuration.d.ts +170 -0
  230. package/dist/types/modules/support/interfaces/support-events.d.ts +126 -0
  231. package/dist/types/modules/support/interfaces/support-provider-descriptor.d.ts +92 -0
  232. package/dist/types/modules/support/interfaces/support-realtime.d.ts +65 -0
  233. package/dist/types/modules/support/interfaces/support-reports.d.ts +122 -0
  234. package/dist/types/modules/support/interfaces/support-sync.d.ts +105 -0
  235. package/dist/types/modules/support/interfaces/support-ticket-message.d.ts +66 -0
  236. package/dist/types/modules/support/interfaces/support-ticket.d.ts +180 -0
  237. package/dist/types/modules/support/utils/support-feedback.util.d.ts +23 -0
  238. package/dist/types/modules/support/utils/support-redaction.util.d.ts +48 -0
  239. package/dist/types/modules/support/utils/support-routing.util.d.ts +50 -0
  240. package/dist/types/modules/support/utils/support-sla.util.d.ts +69 -0
  241. package/dist/types/modules/support/utils/support-status.util.d.ts +44 -0
  242. package/dist/types/modules/support/utils/support-sync.util.d.ts +76 -0
  243. package/dist/types/modules/support/utils/support-ticket-number.util.d.ts +39 -0
  244. package/package.json +1 -1
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SupportTicketQueryDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const country_code_enum_1 = require("../../country/enums/country-code.enum");
17
+ const support_provider_code_enum_1 = require("../enums/support-provider-code.enum");
18
+ const support_sla_enum_1 = require("../enums/support-sla.enum");
19
+ const support_ticket_channel_enum_1 = require("../enums/support-ticket-channel.enum");
20
+ const support_ticket_priority_enum_1 = require("../enums/support-ticket-priority.enum");
21
+ const support_ticket_status_enum_1 = require("../enums/support-ticket-status.enum");
22
+ /** Turns 'true'/'false' query strings into booleans without accepting anything else. */
23
+ const toOptionalBoolean = ({ value }) => {
24
+ if (value === undefined || value === null || value === '')
25
+ return undefined;
26
+ if (typeof value === 'boolean')
27
+ return value;
28
+ const normalized = String(value).toLowerCase();
29
+ if (normalized === 'true')
30
+ return true;
31
+ if (normalized === 'false')
32
+ return false;
33
+ return undefined;
34
+ };
35
+ /**
36
+ * Filters for a ticket list.
37
+ *
38
+ * Every field here NARROWS what the caller may already see. None of them widens
39
+ * it: `organizationId` is honoured only for a super-admin, and for anybody else
40
+ * the tenant scope comes from their trusted context and is applied in the
41
+ * repository regardless of what arrives here.
42
+ */
43
+ class SupportTicketQueryDto {
44
+ }
45
+ exports.SupportTicketQueryDto = SupportTicketQueryDto;
46
+ __decorate([
47
+ (0, swagger_1.ApiPropertyOptional)({ minimum: 1, default: 1 }),
48
+ (0, class_transformer_1.Type)(() => Number),
49
+ (0, class_validator_1.IsInt)(),
50
+ (0, class_validator_1.Min)(1),
51
+ (0, class_validator_1.IsOptional)(),
52
+ __metadata("design:type", Number)
53
+ ], SupportTicketQueryDto.prototype, "page", void 0);
54
+ __decorate([
55
+ (0, swagger_1.ApiPropertyOptional)({ minimum: 1, maximum: 200, default: 25 }),
56
+ (0, class_transformer_1.Type)(() => Number),
57
+ (0, class_validator_1.IsInt)(),
58
+ (0, class_validator_1.Min)(1),
59
+ (0, class_validator_1.Max)(200),
60
+ (0, class_validator_1.IsOptional)(),
61
+ __metadata("design:type", Number)
62
+ ], SupportTicketQueryDto.prototype, "limit", void 0);
63
+ __decorate([
64
+ (0, swagger_1.ApiPropertyOptional)({
65
+ description: 'Free text. A value that looks like a ticket number goes straight to that index; ' +
66
+ 'anything else runs a full-text search over subject, description and customer-visible messages.',
67
+ }),
68
+ (0, class_validator_1.IsString)(),
69
+ (0, class_validator_1.MaxLength)(200),
70
+ (0, class_validator_1.IsOptional)(),
71
+ __metadata("design:type", String)
72
+ ], SupportTicketQueryDto.prototype, "search", void 0);
73
+ __decorate([
74
+ (0, swagger_1.ApiPropertyOptional)({
75
+ description: 'Column to sort on.',
76
+ enum: ['createdAt', 'updatedAt', 'priority', 'status', 'firstResponseDueAt', 'resolutionDueAt'],
77
+ }),
78
+ (0, class_validator_1.IsIn)(['createdAt', 'updatedAt', 'priority', 'status', 'firstResponseDueAt', 'resolutionDueAt']),
79
+ (0, class_validator_1.IsOptional)(),
80
+ __metadata("design:type", String)
81
+ ], SupportTicketQueryDto.prototype, "sortBy", void 0);
82
+ __decorate([
83
+ (0, swagger_1.ApiPropertyOptional)({ enum: ['ASC', 'DESC'], default: 'DESC' }),
84
+ (0, class_validator_1.IsIn)(['ASC', 'DESC']),
85
+ (0, class_validator_1.IsOptional)(),
86
+ __metadata("design:type", String)
87
+ ], SupportTicketQueryDto.prototype, "sortOrder", void 0);
88
+ __decorate([
89
+ (0, swagger_1.ApiPropertyOptional)({ enum: support_ticket_status_enum_1.SupportTicketStatus }),
90
+ (0, class_validator_1.IsEnum)(support_ticket_status_enum_1.SupportTicketStatus),
91
+ (0, class_validator_1.IsOptional)(),
92
+ __metadata("design:type", String)
93
+ ], SupportTicketQueryDto.prototype, "status", void 0);
94
+ __decorate([
95
+ (0, swagger_1.ApiPropertyOptional)({
96
+ description: 'Show only tickets that are still live. Overrides `status` when both are sent.',
97
+ }),
98
+ (0, class_transformer_1.Transform)(toOptionalBoolean),
99
+ (0, class_validator_1.IsBoolean)(),
100
+ (0, class_validator_1.IsOptional)(),
101
+ __metadata("design:type", Boolean)
102
+ ], SupportTicketQueryDto.prototype, "activeOnly", void 0);
103
+ __decorate([
104
+ (0, swagger_1.ApiPropertyOptional)({ enum: support_ticket_priority_enum_1.SupportTicketPriority }),
105
+ (0, class_validator_1.IsEnum)(support_ticket_priority_enum_1.SupportTicketPriority),
106
+ (0, class_validator_1.IsOptional)(),
107
+ __metadata("design:type", String)
108
+ ], SupportTicketQueryDto.prototype, "priority", void 0);
109
+ __decorate([
110
+ (0, swagger_1.ApiPropertyOptional)({ enum: support_ticket_channel_enum_1.SupportTicketChannel }),
111
+ (0, class_validator_1.IsEnum)(support_ticket_channel_enum_1.SupportTicketChannel),
112
+ (0, class_validator_1.IsOptional)(),
113
+ __metadata("design:type", String)
114
+ ], SupportTicketQueryDto.prototype, "channel", void 0);
115
+ __decorate([
116
+ (0, swagger_1.ApiPropertyOptional)({ enum: country_code_enum_1.CountryCode }),
117
+ (0, class_validator_1.IsEnum)(country_code_enum_1.CountryCode),
118
+ (0, class_validator_1.IsOptional)(),
119
+ __metadata("design:type", String)
120
+ ], SupportTicketQueryDto.prototype, "countryCode", void 0);
121
+ __decorate([
122
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Super-admin only. Ignored for every other caller.' }),
123
+ (0, class_transformer_1.Type)(() => Number),
124
+ (0, class_validator_1.IsInt)(),
125
+ (0, class_validator_1.IsPositive)(),
126
+ (0, class_validator_1.IsOptional)(),
127
+ __metadata("design:type", Number)
128
+ ], SupportTicketQueryDto.prototype, "organizationId", void 0);
129
+ __decorate([
130
+ (0, swagger_1.ApiPropertyOptional)(),
131
+ (0, class_transformer_1.Type)(() => Number),
132
+ (0, class_validator_1.IsInt)(),
133
+ (0, class_validator_1.IsPositive)(),
134
+ (0, class_validator_1.IsOptional)(),
135
+ __metadata("design:type", Number)
136
+ ], SupportTicketQueryDto.prototype, "controlCentreId", void 0);
137
+ __decorate([
138
+ (0, swagger_1.ApiPropertyOptional)(),
139
+ (0, class_validator_1.IsUUID)(),
140
+ (0, class_validator_1.IsOptional)(),
141
+ __metadata("design:type", String)
142
+ ], SupportTicketQueryDto.prototype, "queueId", void 0);
143
+ __decorate([
144
+ (0, swagger_1.ApiPropertyOptional)(),
145
+ (0, class_validator_1.IsUUID)(),
146
+ (0, class_validator_1.IsOptional)(),
147
+ __metadata("design:type", String)
148
+ ], SupportTicketQueryDto.prototype, "teamId", void 0);
149
+ __decorate([
150
+ (0, swagger_1.ApiPropertyOptional)(),
151
+ (0, class_validator_1.IsUUID)(),
152
+ (0, class_validator_1.IsOptional)(),
153
+ __metadata("design:type", String)
154
+ ], SupportTicketQueryDto.prototype, "categoryId", void 0);
155
+ __decorate([
156
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Tickets assigned to this agent.' }),
157
+ (0, class_transformer_1.Type)(() => Number),
158
+ (0, class_validator_1.IsInt)(),
159
+ (0, class_validator_1.IsPositive)(),
160
+ (0, class_validator_1.IsOptional)(),
161
+ __metadata("design:type", Number)
162
+ ], SupportTicketQueryDto.prototype, "assignedAgentId", void 0);
163
+ __decorate([
164
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Only tickets nobody owns. The queue supervisor\'s first filter.' }),
165
+ (0, class_transformer_1.Transform)(toOptionalBoolean),
166
+ (0, class_validator_1.IsBoolean)(),
167
+ (0, class_validator_1.IsOptional)(),
168
+ __metadata("design:type", Boolean)
169
+ ], SupportTicketQueryDto.prototype, "unassignedOnly", void 0);
170
+ __decorate([
171
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Tickets raised by, or on behalf of, this customer.' }),
172
+ (0, class_transformer_1.Type)(() => Number),
173
+ (0, class_validator_1.IsInt)(),
174
+ (0, class_validator_1.IsPositive)(),
175
+ (0, class_validator_1.IsOptional)(),
176
+ __metadata("design:type", Number)
177
+ ], SupportTicketQueryDto.prototype, "customerUserId", void 0);
178
+ __decorate([
179
+ (0, swagger_1.ApiPropertyOptional)({ enum: support_sla_enum_1.SupportSlaState, description: 'Filter on either SLA clock.' }),
180
+ (0, class_validator_1.IsEnum)(support_sla_enum_1.SupportSlaState),
181
+ (0, class_validator_1.IsOptional)(),
182
+ __metadata("design:type", String)
183
+ ], SupportTicketQueryDto.prototype, "slaState", void 0);
184
+ __decorate([
185
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Only tickets past a deadline on either clock.' }),
186
+ (0, class_transformer_1.Transform)(toOptionalBoolean),
187
+ (0, class_validator_1.IsBoolean)(),
188
+ (0, class_validator_1.IsOptional)(),
189
+ __metadata("design:type", Boolean)
190
+ ], SupportTicketQueryDto.prototype, "breachedOnly", void 0);
191
+ __decorate([
192
+ (0, swagger_1.ApiPropertyOptional)({ description: 'A single tag. Matched exactly, lower-cased.' }),
193
+ (0, class_validator_1.IsString)(),
194
+ (0, class_validator_1.MaxLength)(50),
195
+ (0, class_validator_1.IsOptional)(),
196
+ __metadata("design:type", String)
197
+ ], SupportTicketQueryDto.prototype, "tag", void 0);
198
+ __decorate([
199
+ (0, swagger_1.ApiPropertyOptional)({ enum: support_provider_code_enum_1.SupportProviderCode }),
200
+ (0, class_validator_1.IsEnum)(support_provider_code_enum_1.SupportProviderCode),
201
+ (0, class_validator_1.IsOptional)(),
202
+ __metadata("design:type", String)
203
+ ], SupportTicketQueryDto.prototype, "externalProvider", void 0);
204
+ __decorate([
205
+ (0, swagger_1.ApiPropertyOptional)({
206
+ description: 'Only tickets whose helpdesk mirror has failed. The synchronization triage filter.',
207
+ }),
208
+ (0, class_transformer_1.Transform)(toOptionalBoolean),
209
+ (0, class_validator_1.IsBoolean)(),
210
+ (0, class_validator_1.IsOptional)(),
211
+ __metadata("design:type", Boolean)
212
+ ], SupportTicketQueryDto.prototype, "syncFailedOnly", void 0);
213
+ __decorate([
214
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Created at or after this instant.' }),
215
+ (0, class_validator_1.IsDateString)(),
216
+ (0, class_validator_1.IsOptional)(),
217
+ __metadata("design:type", String)
218
+ ], SupportTicketQueryDto.prototype, "from", void 0);
219
+ __decorate([
220
+ (0, swagger_1.ApiPropertyOptional)({ description: 'Created at or before this instant.' }),
221
+ (0, class_validator_1.IsDateString)(),
222
+ (0, class_validator_1.IsOptional)(),
223
+ __metadata("design:type", String)
224
+ ], SupportTicketQueryDto.prototype, "to", void 0);
225
+ //# sourceMappingURL=support-ticket-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-ticket-query.dto.js","sourceRoot":"","sources":["../../../../../src/modules/support/dtos/support-ticket-query.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupportActorType = exports.SupportAuditEntityType = exports.SupportAuditAction = void 0;
4
+ /**
5
+ * Every security- or business-sensitive thing that can happen in the support
6
+ * domain, as a closed vocabulary.
7
+ *
8
+ * A closed enum rather than free text because an audit trail nobody can query
9
+ * is not an audit trail. The admin filters on these values, and the operational
10
+ * runbook refers to them by name.
11
+ */
12
+ var SupportAuditAction;
13
+ (function (SupportAuditAction) {
14
+ SupportAuditAction["TICKET_CREATED"] = "TICKET_CREATED";
15
+ SupportAuditAction["TICKET_UPDATED"] = "TICKET_UPDATED";
16
+ SupportAuditAction["TICKET_ASSIGNED"] = "TICKET_ASSIGNED";
17
+ SupportAuditAction["TICKET_REASSIGNED"] = "TICKET_REASSIGNED";
18
+ SupportAuditAction["TICKET_UNASSIGNED"] = "TICKET_UNASSIGNED";
19
+ SupportAuditAction["TICKET_STATUS_CHANGED"] = "TICKET_STATUS_CHANGED";
20
+ SupportAuditAction["TICKET_PRIORITY_CHANGED"] = "TICKET_PRIORITY_CHANGED";
21
+ SupportAuditAction["TICKET_CATEGORY_CHANGED"] = "TICKET_CATEGORY_CHANGED";
22
+ SupportAuditAction["TICKET_QUEUE_CHANGED"] = "TICKET_QUEUE_CHANGED";
23
+ SupportAuditAction["TICKET_CLOSED"] = "TICKET_CLOSED";
24
+ SupportAuditAction["TICKET_REOPENED"] = "TICKET_REOPENED";
25
+ SupportAuditAction["TICKET_CANCELLED"] = "TICKET_CANCELLED";
26
+ SupportAuditAction["TICKET_TAGGED"] = "TICKET_TAGGED";
27
+ SupportAuditAction["TICKET_UNTAGGED"] = "TICKET_UNTAGGED";
28
+ SupportAuditAction["TICKET_WATCHER_ADDED"] = "TICKET_WATCHER_ADDED";
29
+ SupportAuditAction["TICKET_WATCHER_REMOVED"] = "TICKET_WATCHER_REMOVED";
30
+ SupportAuditAction["MESSAGE_ADDED"] = "MESSAGE_ADDED";
31
+ SupportAuditAction["INTERNAL_NOTE_ADDED"] = "INTERNAL_NOTE_ADDED";
32
+ SupportAuditAction["ATTACHMENT_ADDED"] = "ATTACHMENT_ADDED";
33
+ SupportAuditAction["ATTACHMENT_ACCESSED"] = "ATTACHMENT_ACCESSED";
34
+ SupportAuditAction["ATTACHMENT_REMOVED"] = "ATTACHMENT_REMOVED";
35
+ SupportAuditAction["FEEDBACK_CREATED"] = "FEEDBACK_CREATED";
36
+ SupportAuditAction["FEEDBACK_REVIEWED"] = "FEEDBACK_REVIEWED";
37
+ SupportAuditAction["FEEDBACK_RESPONDED"] = "FEEDBACK_RESPONDED";
38
+ SupportAuditAction["FEEDBACK_STATUS_CHANGED"] = "FEEDBACK_STATUS_CHANGED";
39
+ SupportAuditAction["FEEDBACK_CONVERTED_TO_TICKET"] = "FEEDBACK_CONVERTED_TO_TICKET";
40
+ SupportAuditAction["SLA_WARNING_RAISED"] = "SLA_WARNING_RAISED";
41
+ SupportAuditAction["SLA_BREACHED"] = "SLA_BREACHED";
42
+ SupportAuditAction["SLA_POLICY_CREATED"] = "SLA_POLICY_CREATED";
43
+ SupportAuditAction["SLA_POLICY_UPDATED"] = "SLA_POLICY_UPDATED";
44
+ SupportAuditAction["SLA_POLICY_DELETED"] = "SLA_POLICY_DELETED";
45
+ SupportAuditAction["QUEUE_CREATED"] = "QUEUE_CREATED";
46
+ SupportAuditAction["QUEUE_UPDATED"] = "QUEUE_UPDATED";
47
+ SupportAuditAction["QUEUE_DELETED"] = "QUEUE_DELETED";
48
+ SupportAuditAction["TEAM_CREATED"] = "TEAM_CREATED";
49
+ SupportAuditAction["TEAM_UPDATED"] = "TEAM_UPDATED";
50
+ SupportAuditAction["TEAM_DELETED"] = "TEAM_DELETED";
51
+ SupportAuditAction["TEAM_MEMBER_ADDED"] = "TEAM_MEMBER_ADDED";
52
+ SupportAuditAction["TEAM_MEMBER_REMOVED"] = "TEAM_MEMBER_REMOVED";
53
+ SupportAuditAction["CATEGORY_CREATED"] = "CATEGORY_CREATED";
54
+ SupportAuditAction["CATEGORY_UPDATED"] = "CATEGORY_UPDATED";
55
+ SupportAuditAction["CATEGORY_DELETED"] = "CATEGORY_DELETED";
56
+ SupportAuditAction["PROVIDER_SYNC_QUEUED"] = "PROVIDER_SYNC_QUEUED";
57
+ SupportAuditAction["PROVIDER_SYNC_SUCCEEDED"] = "PROVIDER_SYNC_SUCCEEDED";
58
+ SupportAuditAction["PROVIDER_SYNC_FAILED"] = "PROVIDER_SYNC_FAILED";
59
+ SupportAuditAction["PROVIDER_SYNC_RETRIED"] = "PROVIDER_SYNC_RETRIED";
60
+ SupportAuditAction["PROVIDER_SYNC_DEAD_LETTERED"] = "PROVIDER_SYNC_DEAD_LETTERED";
61
+ SupportAuditAction["PROVIDER_RECONCILED"] = "PROVIDER_RECONCILED";
62
+ SupportAuditAction["PROVIDER_WEBHOOK_RECEIVED"] = "PROVIDER_WEBHOOK_RECEIVED";
63
+ SupportAuditAction["PROVIDER_WEBHOOK_REJECTED"] = "PROVIDER_WEBHOOK_REJECTED";
64
+ })(SupportAuditAction || (exports.SupportAuditAction = SupportAuditAction = {}));
65
+ /** What the audit entry was about, so a trail can be read per record. */
66
+ var SupportAuditEntityType;
67
+ (function (SupportAuditEntityType) {
68
+ SupportAuditEntityType["TICKET"] = "TICKET";
69
+ SupportAuditEntityType["TICKET_MESSAGE"] = "TICKET_MESSAGE";
70
+ SupportAuditEntityType["TICKET_ATTACHMENT"] = "TICKET_ATTACHMENT";
71
+ SupportAuditEntityType["FEEDBACK"] = "FEEDBACK";
72
+ SupportAuditEntityType["QUEUE"] = "QUEUE";
73
+ SupportAuditEntityType["TEAM"] = "TEAM";
74
+ SupportAuditEntityType["CATEGORY"] = "CATEGORY";
75
+ SupportAuditEntityType["SLA_POLICY"] = "SLA_POLICY";
76
+ SupportAuditEntityType["PROVIDER_SYNC"] = "PROVIDER_SYNC";
77
+ })(SupportAuditEntityType || (exports.SupportAuditEntityType = SupportAuditEntityType = {}));
78
+ /** Who performed the action. */
79
+ var SupportActorType;
80
+ (function (SupportActorType) {
81
+ SupportActorType["USER"] = "USER";
82
+ /** A background job inside clarion-support. */
83
+ SupportActorType["SYSTEM"] = "SYSTEM";
84
+ /** A change that arrived from the helpdesk. */
85
+ SupportActorType["PROVIDER"] = "PROVIDER";
86
+ })(SupportActorType || (exports.SupportActorType = SupportActorType = {}));
87
+ //# sourceMappingURL=support-audit-action.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-audit-action.enum.js","sourceRoot":"","sources":["../../../../../src/modules/support/enums/support-audit-action.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,kBAwDX;AAxDD,WAAY,kBAAkB;IAC1B,uDAAiC,CAAA;IACjC,uDAAiC,CAAA;IACjC,yDAAmC,CAAA;IACnC,6DAAuC,CAAA;IACvC,6DAAuC,CAAA;IACvC,qEAA+C,CAAA;IAC/C,yEAAmD,CAAA;IACnD,yEAAmD,CAAA;IACnD,mEAA6C,CAAA;IAC7C,qDAA+B,CAAA;IAC/B,yDAAmC,CAAA;IACnC,2DAAqC,CAAA;IACrC,qDAA+B,CAAA;IAC/B,yDAAmC,CAAA;IACnC,mEAA6C,CAAA;IAC7C,uEAAiD,CAAA;IAEjD,qDAA+B,CAAA;IAC/B,iEAA2C,CAAA;IAC3C,2DAAqC,CAAA;IACrC,iEAA2C,CAAA;IAC3C,+DAAyC,CAAA;IAEzC,2DAAqC,CAAA;IACrC,6DAAuC,CAAA;IACvC,+DAAyC,CAAA;IACzC,yEAAmD,CAAA;IACnD,mFAA6D,CAAA;IAE7D,+DAAyC,CAAA;IACzC,mDAA6B,CAAA;IAC7B,+DAAyC,CAAA;IACzC,+DAAyC,CAAA;IACzC,+DAAyC,CAAA;IAEzC,qDAA+B,CAAA;IAC/B,qDAA+B,CAAA;IAC/B,qDAA+B,CAAA;IAC/B,mDAA6B,CAAA;IAC7B,mDAA6B,CAAA;IAC7B,mDAA6B,CAAA;IAC7B,6DAAuC,CAAA;IACvC,iEAA2C,CAAA;IAC3C,2DAAqC,CAAA;IACrC,2DAAqC,CAAA;IACrC,2DAAqC,CAAA;IAErC,mEAA6C,CAAA;IAC7C,yEAAmD,CAAA;IACnD,mEAA6C,CAAA;IAC7C,qEAA+C,CAAA;IAC/C,iFAA2D,CAAA;IAC3D,iEAA2C,CAAA;IAC3C,6EAAuD,CAAA;IACvD,6EAAuD,CAAA;AAC3D,CAAC,EAxDW,kBAAkB,kCAAlB,kBAAkB,QAwD7B;AAED,yEAAyE;AACzE,IAAY,sBAUX;AAVD,WAAY,sBAAsB;IAC9B,2CAAiB,CAAA;IACjB,2DAAiC,CAAA;IACjC,iEAAuC,CAAA;IACvC,+CAAqB,CAAA;IACrB,yCAAe,CAAA;IACf,uCAAa,CAAA;IACb,+CAAqB,CAAA;IACrB,mDAAyB,CAAA;IACzB,yDAA+B,CAAA;AACnC,CAAC,EAVW,sBAAsB,sCAAtB,sBAAsB,QAUjC;AAED,gCAAgC;AAChC,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,iCAAa,CAAA;IACb,+CAA+C;IAC/C,qCAAiB,CAAA;IACjB,+CAA+C;IAC/C,yCAAqB,CAAA;AACzB,CAAC,EANW,gBAAgB,gCAAhB,gBAAgB,QAM3B"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustomerFeedbackMessageAuthorType = exports.CustomerFeedbackSentiment = exports.CustomerFeedbackChannel = exports.OPEN_CUSTOMER_FEEDBACK_STATUSES = exports.CUSTOMER_FEEDBACK_TRANSITIONS = exports.CustomerFeedbackStatus = exports.RATING_CUSTOMER_FEEDBACK_TYPES = exports.CustomerFeedbackType = void 0;
4
+ /**
5
+ * What a customer is telling us.
6
+ *
7
+ * Feedback stays inside Clarion whatever helpdesk is configured, so these
8
+ * values are never mapped onto a vendor's vocabulary and never leave the
9
+ * platform unless a piece of feedback is deliberately converted into a ticket.
10
+ */
11
+ var CustomerFeedbackType;
12
+ (function (CustomerFeedbackType) {
13
+ CustomerFeedbackType["BUG_REPORT"] = "BUG_REPORT";
14
+ CustomerFeedbackType["FEATURE_REQUEST"] = "FEATURE_REQUEST";
15
+ CustomerFeedbackType["COMPLAINT"] = "COMPLAINT";
16
+ CustomerFeedbackType["COMPLIMENT"] = "COMPLIMENT";
17
+ CustomerFeedbackType["GENERAL"] = "GENERAL";
18
+ /** A rating of the emergency or security service itself. */
19
+ CustomerFeedbackType["SERVICE_RATING"] = "SERVICE_RATING";
20
+ /** A rating of a support interaction. */
21
+ CustomerFeedbackType["SUPPORT_RATING"] = "SUPPORT_RATING";
22
+ })(CustomerFeedbackType || (exports.CustomerFeedbackType = CustomerFeedbackType = {}));
23
+ /** The feedback types that carry a star rating and feed satisfaction reporting. */
24
+ exports.RATING_CUSTOMER_FEEDBACK_TYPES = [
25
+ CustomerFeedbackType.SERVICE_RATING,
26
+ CustomerFeedbackType.SUPPORT_RATING,
27
+ ];
28
+ /** Where a piece of feedback is in its review workflow. */
29
+ var CustomerFeedbackStatus;
30
+ (function (CustomerFeedbackStatus) {
31
+ CustomerFeedbackStatus["NEW"] = "NEW";
32
+ CustomerFeedbackStatus["UNDER_REVIEW"] = "UNDER_REVIEW";
33
+ /** Read and acknowledged, with no reply owed. */
34
+ CustomerFeedbackStatus["ACKNOWLEDGED"] = "ACKNOWLEDGED";
35
+ /** A reply has been sent to the customer. */
36
+ CustomerFeedbackStatus["RESPONDED"] = "RESPONDED";
37
+ /** Promoted into a ticket; `convertedTicketId` points at it. */
38
+ CustomerFeedbackStatus["CONVERTED_TO_TICKET"] = "CONVERTED_TO_TICKET";
39
+ CustomerFeedbackStatus["CLOSED"] = "CLOSED";
40
+ /** Spam, abuse or a test submission. Kept, never counted in satisfaction metrics. */
41
+ CustomerFeedbackStatus["DISMISSED"] = "DISMISSED";
42
+ })(CustomerFeedbackStatus || (exports.CustomerFeedbackStatus = CustomerFeedbackStatus = {}));
43
+ /** Transitions the feedback workflow permits. */
44
+ exports.CUSTOMER_FEEDBACK_TRANSITIONS = {
45
+ [CustomerFeedbackStatus.NEW]: [
46
+ CustomerFeedbackStatus.UNDER_REVIEW,
47
+ CustomerFeedbackStatus.ACKNOWLEDGED,
48
+ CustomerFeedbackStatus.RESPONDED,
49
+ CustomerFeedbackStatus.CONVERTED_TO_TICKET,
50
+ CustomerFeedbackStatus.DISMISSED,
51
+ ],
52
+ [CustomerFeedbackStatus.UNDER_REVIEW]: [
53
+ CustomerFeedbackStatus.ACKNOWLEDGED,
54
+ CustomerFeedbackStatus.RESPONDED,
55
+ CustomerFeedbackStatus.CONVERTED_TO_TICKET,
56
+ CustomerFeedbackStatus.CLOSED,
57
+ CustomerFeedbackStatus.DISMISSED,
58
+ ],
59
+ [CustomerFeedbackStatus.ACKNOWLEDGED]: [
60
+ CustomerFeedbackStatus.UNDER_REVIEW,
61
+ CustomerFeedbackStatus.RESPONDED,
62
+ CustomerFeedbackStatus.CONVERTED_TO_TICKET,
63
+ CustomerFeedbackStatus.CLOSED,
64
+ ],
65
+ [CustomerFeedbackStatus.RESPONDED]: [
66
+ /** A customer who replies to a response puts it back under review. */
67
+ CustomerFeedbackStatus.UNDER_REVIEW,
68
+ CustomerFeedbackStatus.CONVERTED_TO_TICKET,
69
+ CustomerFeedbackStatus.CLOSED,
70
+ ],
71
+ [CustomerFeedbackStatus.CONVERTED_TO_TICKET]: [CustomerFeedbackStatus.CLOSED],
72
+ [CustomerFeedbackStatus.CLOSED]: [CustomerFeedbackStatus.UNDER_REVIEW],
73
+ [CustomerFeedbackStatus.DISMISSED]: [],
74
+ };
75
+ /** Statuses that still need somebody to look at them. */
76
+ exports.OPEN_CUSTOMER_FEEDBACK_STATUSES = [
77
+ CustomerFeedbackStatus.NEW,
78
+ CustomerFeedbackStatus.UNDER_REVIEW,
79
+ ];
80
+ /** Where the feedback was submitted from. */
81
+ var CustomerFeedbackChannel;
82
+ (function (CustomerFeedbackChannel) {
83
+ CustomerFeedbackChannel["MOBILE_APP"] = "MOBILE_APP";
84
+ CustomerFeedbackChannel["WEB_APP"] = "WEB_APP";
85
+ CustomerFeedbackChannel["AGENT_PORTAL"] = "AGENT_PORTAL";
86
+ CustomerFeedbackChannel["API"] = "API";
87
+ })(CustomerFeedbackChannel || (exports.CustomerFeedbackChannel = CustomerFeedbackChannel = {}));
88
+ /**
89
+ * Coarse sentiment.
90
+ *
91
+ * Derived from the feedback TYPE and rating only - never inferred from the
92
+ * message text. There is deliberately no classifier here: a wrong automated
93
+ * reading of "the guard never came" is worse than no reading at all. The field
94
+ * exists so a real classifier can be added later without a migration.
95
+ */
96
+ var CustomerFeedbackSentiment;
97
+ (function (CustomerFeedbackSentiment) {
98
+ CustomerFeedbackSentiment["POSITIVE"] = "POSITIVE";
99
+ CustomerFeedbackSentiment["NEUTRAL"] = "NEUTRAL";
100
+ CustomerFeedbackSentiment["NEGATIVE"] = "NEGATIVE";
101
+ CustomerFeedbackSentiment["UNKNOWN"] = "UNKNOWN";
102
+ })(CustomerFeedbackSentiment || (exports.CustomerFeedbackSentiment = CustomerFeedbackSentiment = {}));
103
+ /** Who wrote an entry in a feedback thread. */
104
+ var CustomerFeedbackMessageAuthorType;
105
+ (function (CustomerFeedbackMessageAuthorType) {
106
+ CustomerFeedbackMessageAuthorType["CUSTOMER"] = "CUSTOMER";
107
+ CustomerFeedbackMessageAuthorType["REVIEWER"] = "REVIEWER";
108
+ CustomerFeedbackMessageAuthorType["SYSTEM"] = "SYSTEM";
109
+ })(CustomerFeedbackMessageAuthorType || (exports.CustomerFeedbackMessageAuthorType = CustomerFeedbackMessageAuthorType = {}));
110
+ //# sourceMappingURL=support-feedback.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-feedback.enum.js","sourceRoot":"","sources":["../../../../../src/modules/support/enums/support-feedback.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,oBAUX;AAVD,WAAY,oBAAoB;IAC5B,iDAAyB,CAAA;IACzB,2DAAmC,CAAA;IACnC,+CAAuB,CAAA;IACvB,iDAAyB,CAAA;IACzB,2CAAmB,CAAA;IACnB,4DAA4D;IAC5D,yDAAiC,CAAA;IACjC,yCAAyC;IACzC,yDAAiC,CAAA;AACrC,CAAC,EAVW,oBAAoB,oCAApB,oBAAoB,QAU/B;AAED,mFAAmF;AACtE,QAAA,8BAA8B,GAAoC;IAC3E,oBAAoB,CAAC,cAAc;IACnC,oBAAoB,CAAC,cAAc;CACtC,CAAC;AAEF,2DAA2D;AAC3D,IAAY,sBAYX;AAZD,WAAY,sBAAsB;IAC9B,qCAAW,CAAA;IACX,uDAA6B,CAAA;IAC7B,iDAAiD;IACjD,uDAA6B,CAAA;IAC7B,6CAA6C;IAC7C,iDAAuB,CAAA;IACvB,gEAAgE;IAChE,qEAA2C,CAAA;IAC3C,2CAAiB,CAAA;IACjB,qFAAqF;IACrF,iDAAuB,CAAA;AAC3B,CAAC,EAZW,sBAAsB,sCAAtB,sBAAsB,QAYjC;AAED,iDAAiD;AACpC,QAAA,6BAA6B,GAEtC;IACA,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE;QAC1B,sBAAsB,CAAC,YAAY;QACnC,sBAAsB,CAAC,YAAY;QACnC,sBAAsB,CAAC,SAAS;QAChC,sBAAsB,CAAC,mBAAmB;QAC1C,sBAAsB,CAAC,SAAS;KACnC;IACD,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;QACnC,sBAAsB,CAAC,YAAY;QACnC,sBAAsB,CAAC,SAAS;QAChC,sBAAsB,CAAC,mBAAmB;QAC1C,sBAAsB,CAAC,MAAM;QAC7B,sBAAsB,CAAC,SAAS;KACnC;IACD,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;QACnC,sBAAsB,CAAC,YAAY;QACnC,sBAAsB,CAAC,SAAS;QAChC,sBAAsB,CAAC,mBAAmB;QAC1C,sBAAsB,CAAC,MAAM;KAChC;IACD,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE;QAChC,sEAAsE;QACtE,sBAAsB,CAAC,YAAY;QACnC,sBAAsB,CAAC,mBAAmB;QAC1C,sBAAsB,CAAC,MAAM;KAChC;IACD,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC;IAC7E,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC;IACtE,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE,EAAE;CACzC,CAAC;AAEF,yDAAyD;AAC5C,QAAA,+BAA+B,GAAsC;IAC9E,sBAAsB,CAAC,GAAG;IAC1B,sBAAsB,CAAC,YAAY;CACtC,CAAC;AAEF,6CAA6C;AAC7C,IAAY,uBAKX;AALD,WAAY,uBAAuB;IAC/B,oDAAyB,CAAA;IACzB,8CAAmB,CAAA;IACnB,wDAA6B,CAAA;IAC7B,sCAAW,CAAA;AACf,CAAC,EALW,uBAAuB,uCAAvB,uBAAuB,QAKlC;AAED;;;;;;;GAOG;AACH,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,kDAAqB,CAAA;IACrB,gDAAmB,CAAA;IACnB,kDAAqB,CAAA;IACrB,gDAAmB,CAAA;AACvB,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC;AAED,+CAA+C;AAC/C,IAAY,iCAIX;AAJD,WAAY,iCAAiC;IACzC,0DAAqB,CAAA;IACrB,0DAAqB,CAAA;IACrB,sDAAiB,CAAA;AACrB,CAAC,EAJW,iCAAiC,iDAAjC,iCAAiC,QAI5C"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SupportProviderCapability = exports.DEFAULT_SUPPORT_PROVIDER = exports.EXTERNAL_SUPPORT_PROVIDERS = exports.SupportProviderCode = void 0;
4
+ /**
5
+ * Identifies the helpdesk platform a deployment operates support tickets on.
6
+ *
7
+ * Provider-neutral by design: the support domain in clarion-support - tickets,
8
+ * messages, feedback, queues, SLAs, audit and the whole REST surface - never
9
+ * branches on a specific helpdesk. Only the per-provider adapter inside that
10
+ * service understands a vendor's wire format, authentication and payload shape,
11
+ * and no vendor type is allowed to escape it.
12
+ *
13
+ * The value is stored on every ticket that has been mirrored outward, so a
14
+ * deployment that changes provider keeps an unambiguous record of which
15
+ * platform each historical ticket actually lives on. That is the whole reason
16
+ * it is persisted rather than read from configuration at display time.
17
+ */
18
+ var SupportProviderCode;
19
+ (function (SupportProviderCode) {
20
+ /** Zammad - self-hosted, the platform default. */
21
+ SupportProviderCode["ZAMMAD"] = "ZAMMAD";
22
+ /** Freshdesk - SaaS, the initial alternative. */
23
+ SupportProviderCode["FRESHDESK"] = "FRESHDESK";
24
+ /**
25
+ * No external helpdesk. Clarion is the whole system of record.
26
+ *
27
+ * A first-class choice, not a failure state: an organization can run support
28
+ * entirely inside Clarion, and a deployment that has not finished
29
+ * provisioning a helpdesk still takes tickets rather than refusing them.
30
+ */
31
+ SupportProviderCode["NONE"] = "NONE";
32
+ })(SupportProviderCode || (exports.SupportProviderCode = SupportProviderCode = {}));
33
+ /** Providers that are actually mirrored to an external helpdesk. */
34
+ exports.EXTERNAL_SUPPORT_PROVIDERS = [
35
+ SupportProviderCode.ZAMMAD,
36
+ SupportProviderCode.FRESHDESK,
37
+ ];
38
+ /** The platform default when a deployment sets no provider at all. */
39
+ exports.DEFAULT_SUPPORT_PROVIDER = SupportProviderCode.ZAMMAD;
40
+ /**
41
+ * What a helpdesk adapter is able to do.
42
+ *
43
+ * Published by each adapter rather than assumed, because helpdesks differ
44
+ * materially: both Zammad and Freshdesk can take a public reply, but only some
45
+ * deployments enable attachments, and a vendor without webhooks has to be
46
+ * reconciled by polling instead. The admin builds its buttons from this, so a
47
+ * capability a provider lacks is never offered to an operator as if it worked.
48
+ */
49
+ var SupportProviderCapability;
50
+ (function (SupportProviderCapability) {
51
+ SupportProviderCapability["CREATE_TICKET"] = "CREATE_TICKET";
52
+ SupportProviderCapability["UPDATE_TICKET"] = "UPDATE_TICKET";
53
+ SupportProviderCapability["PUBLIC_REPLY"] = "PUBLIC_REPLY";
54
+ SupportProviderCapability["INTERNAL_NOTE"] = "INTERNAL_NOTE";
55
+ SupportProviderCapability["ASSIGN_TICKET"] = "ASSIGN_TICKET";
56
+ SupportProviderCapability["CHANGE_STATUS"] = "CHANGE_STATUS";
57
+ SupportProviderCapability["CLOSE_REOPEN"] = "CLOSE_REOPEN";
58
+ SupportProviderCapability["ATTACHMENTS"] = "ATTACHMENTS";
59
+ SupportProviderCapability["CONTACTS"] = "CONTACTS";
60
+ SupportProviderCapability["SEARCH"] = "SEARCH";
61
+ /** The provider can push changes back to Clarion over a webhook. */
62
+ SupportProviderCapability["WEBHOOKS"] = "WEBHOOKS";
63
+ /** A single ticket can be re-read for reconciliation. */
64
+ SupportProviderCapability["FETCH_TICKET"] = "FETCH_TICKET";
65
+ })(SupportProviderCapability || (exports.SupportProviderCapability = SupportProviderCapability = {}));
66
+ //# sourceMappingURL=support-provider-code.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-provider-code.enum.js","sourceRoot":"","sources":["../../../../../src/modules/support/enums/support-provider-code.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;GAaG;AACH,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC3B,kDAAkD;IAClD,wCAAiB,CAAA;IACjB,iDAAiD;IACjD,8CAAuB,CAAA;IACvB;;;;;;OAMG;IACH,oCAAa,CAAA;AACjB,CAAC,EAbW,mBAAmB,mCAAnB,mBAAmB,QAa9B;AAED,oEAAoE;AACvD,QAAA,0BAA0B,GAAmC;IACtE,mBAAmB,CAAC,MAAM;IAC1B,mBAAmB,CAAC,SAAS;CAChC,CAAC;AAEF,sEAAsE;AACzD,QAAA,wBAAwB,GAAwB,mBAAmB,CAAC,MAAM,CAAC;AAExF;;;;;;;;GAQG;AACH,IAAY,yBAeX;AAfD,WAAY,yBAAyB;IACjC,4DAA+B,CAAA;IAC/B,4DAA+B,CAAA;IAC/B,0DAA6B,CAAA;IAC7B,4DAA+B,CAAA;IAC/B,4DAA+B,CAAA;IAC/B,4DAA+B,CAAA;IAC/B,0DAA6B,CAAA;IAC7B,wDAA2B,CAAA;IAC3B,kDAAqB,CAAA;IACrB,8CAAiB,CAAA;IACjB,oEAAoE;IACpE,kDAAqB,CAAA;IACrB,yDAAyD;IACzD,0DAA6B,CAAA;AACjC,CAAC,EAfW,yBAAyB,yCAAzB,yBAAyB,QAepC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENRICHABLE_SUPPORT_RELATED_ENTITY_TYPES = exports.SupportRelatedEntityType = void 0;
4
+ /**
5
+ * The kind of Clarion record a ticket or a piece of feedback is about.
6
+ *
7
+ * A reference only. clarion-support stores the type and the id and nothing
8
+ * else: it never copies an incident, an invoice or a chat message into its own
9
+ * schema, and it never declares a database foreign key across a service
10
+ * boundary.
11
+ *
12
+ * Ids are carried as text because the owning services do not agree on a type -
13
+ * incidents, organizations and newsfeed posts are integers, a chat conversation
14
+ * is a uuid. Storing the widest safe representation is what keeps this from
15
+ * needing a migration the first time one of them changes.
16
+ */
17
+ var SupportRelatedEntityType;
18
+ (function (SupportRelatedEntityType) {
19
+ SupportRelatedEntityType["INCIDENT"] = "INCIDENT";
20
+ SupportRelatedEntityType["BILLING_SUBSCRIPTION"] = "BILLING_SUBSCRIPTION";
21
+ SupportRelatedEntityType["BILLING_INVOICE"] = "BILLING_INVOICE";
22
+ SupportRelatedEntityType["BILLING_PAYMENT"] = "BILLING_PAYMENT";
23
+ SupportRelatedEntityType["BILLING_PACKAGE"] = "BILLING_PACKAGE";
24
+ SupportRelatedEntityType["CHAT_CONVERSATION"] = "CHAT_CONVERSATION";
25
+ SupportRelatedEntityType["NEWSFEED_POST"] = "NEWSFEED_POST";
26
+ SupportRelatedEntityType["NEWSFEED_COMMENT"] = "NEWSFEED_COMMENT";
27
+ SupportRelatedEntityType["PARTNER_DISPATCH"] = "PARTNER_DISPATCH";
28
+ SupportRelatedEntityType["RESPONSE_UNIT"] = "RESPONSE_UNIT";
29
+ SupportRelatedEntityType["ORGANIZATION"] = "ORGANIZATION";
30
+ SupportRelatedEntityType["USER"] = "USER";
31
+ /** A screen or feature in a client application, for contextual feedback. */
32
+ SupportRelatedEntityType["APP_SCREEN"] = "APP_SCREEN";
33
+ /** Another support ticket - a duplicate, or a follow-up. */
34
+ SupportRelatedEntityType["SUPPORT_TICKET"] = "SUPPORT_TICKET";
35
+ SupportRelatedEntityType["CUSTOMER_FEEDBACK"] = "CUSTOMER_FEEDBACK";
36
+ SupportRelatedEntityType["OTHER"] = "OTHER";
37
+ })(SupportRelatedEntityType || (exports.SupportRelatedEntityType = SupportRelatedEntityType = {}));
38
+ /**
39
+ * Related entities whose detail is fetched from another service for display.
40
+ *
41
+ * The admin ticket page enriches only these, and only for a reader who already
42
+ * passed that service's own authorization. Everything else is shown as a bare
43
+ * type and id, which is honest rather than broken.
44
+ */
45
+ exports.ENRICHABLE_SUPPORT_RELATED_ENTITY_TYPES = [
46
+ SupportRelatedEntityType.INCIDENT,
47
+ SupportRelatedEntityType.BILLING_SUBSCRIPTION,
48
+ SupportRelatedEntityType.BILLING_INVOICE,
49
+ ];
50
+ //# sourceMappingURL=support-related-entity-type.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-related-entity-type.enum.js","sourceRoot":"","sources":["../../../../../src/modules/support/enums/support-related-entity-type.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;GAYG;AACH,IAAY,wBAmBX;AAnBD,WAAY,wBAAwB;IAChC,iDAAqB,CAAA;IACrB,yEAA6C,CAAA;IAC7C,+DAAmC,CAAA;IACnC,+DAAmC,CAAA;IACnC,+DAAmC,CAAA;IACnC,mEAAuC,CAAA;IACvC,2DAA+B,CAAA;IAC/B,iEAAqC,CAAA;IACrC,iEAAqC,CAAA;IACrC,2DAA+B,CAAA;IAC/B,yDAA6B,CAAA;IAC7B,yCAAa,CAAA;IACb,4EAA4E;IAC5E,qDAAyB,CAAA;IACzB,4DAA4D;IAC5D,6DAAiC,CAAA;IACjC,mEAAuC,CAAA;IACvC,2CAAe,CAAA;AACnB,CAAC,EAnBW,wBAAwB,wCAAxB,wBAAwB,QAmBnC;AAED;;;;;;GAMG;AACU,QAAA,uCAAuC,GAAwC;IACxF,wBAAwB,CAAC,QAAQ;IACjC,wBAAwB,CAAC,oBAAoB;IAC7C,wBAAwB,CAAC,eAAe;CAC3C,CAAC"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUPPORT_ESCALATION_TEAM_ROLES = exports.SupportTeamMemberRole = exports.SupportRoutingMatchType = exports.SupportQueueAssignmentStrategy = void 0;
4
+ /**
5
+ * How a queue hands a ticket to an agent.
6
+ *
7
+ * Only MANUAL is honoured by the first implementation. The other members exist
8
+ * so that adding automatic assignment later is a service change and not a
9
+ * schema change, and so the admin can already show an operator what a queue
10
+ * will eventually do.
11
+ */
12
+ var SupportQueueAssignmentStrategy;
13
+ (function (SupportQueueAssignmentStrategy) {
14
+ /** A supervisor assigns. The queue is a shared inbox. */
15
+ SupportQueueAssignmentStrategy["MANUAL"] = "MANUAL";
16
+ /** Round-robin across available team members. Reserved. */
17
+ SupportQueueAssignmentStrategy["ROUND_ROBIN"] = "ROUND_ROBIN";
18
+ /** To whoever holds the fewest open tickets. Reserved. */
19
+ SupportQueueAssignmentStrategy["LEAST_BUSY"] = "LEAST_BUSY";
20
+ })(SupportQueueAssignmentStrategy || (exports.SupportQueueAssignmentStrategy = SupportQueueAssignmentStrategy = {}));
21
+ /**
22
+ * What a routing rule matches on.
23
+ *
24
+ * Rules are evaluated in priority order and the first match wins, so the
25
+ * dimensions are deliberately few and orthogonal. Anything cleverer belongs in
26
+ * a later classification service, not in a rule table an operator maintains by
27
+ * hand.
28
+ */
29
+ var SupportRoutingMatchType;
30
+ (function (SupportRoutingMatchType) {
31
+ /** Any ticket in the organization. The catch-all rule. */
32
+ SupportRoutingMatchType["ANY"] = "ANY";
33
+ SupportRoutingMatchType["CATEGORY"] = "CATEGORY";
34
+ SupportRoutingMatchType["PRIORITY"] = "PRIORITY";
35
+ SupportRoutingMatchType["CHANNEL"] = "CHANNEL";
36
+ SupportRoutingMatchType["COUNTRY"] = "COUNTRY";
37
+ SupportRoutingMatchType["CONTROL_CENTRE"] = "CONTROL_CENTRE";
38
+ /** The client application the ticket came from, e.g. G4S or GardaWorld. */
39
+ SupportRoutingMatchType["APP_ID"] = "APP_ID";
40
+ /** The kind of Clarion record the ticket is about. */
41
+ SupportRoutingMatchType["RELATED_ENTITY_TYPE"] = "RELATED_ENTITY_TYPE";
42
+ })(SupportRoutingMatchType || (exports.SupportRoutingMatchType = SupportRoutingMatchType = {}));
43
+ /** A support person's standing inside a team, independent of their platform role. */
44
+ var SupportTeamMemberRole;
45
+ (function (SupportTeamMemberRole) {
46
+ /** Works tickets. */
47
+ SupportTeamMemberRole["AGENT"] = "AGENT";
48
+ /** Works tickets, assigns them, and receives SLA warnings for the team. */
49
+ SupportTeamMemberRole["SUPERVISOR"] = "SUPERVISOR";
50
+ /** Owns the team's configuration and receives breach escalations. */
51
+ SupportTeamMemberRole["MANAGER"] = "MANAGER";
52
+ })(SupportTeamMemberRole || (exports.SupportTeamMemberRole = SupportTeamMemberRole = {}));
53
+ /** Team roles that receive SLA escalations, most junior first. */
54
+ exports.SUPPORT_ESCALATION_TEAM_ROLES = [
55
+ SupportTeamMemberRole.SUPERVISOR,
56
+ SupportTeamMemberRole.MANAGER,
57
+ ];
58
+ //# sourceMappingURL=support-routing.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"support-routing.enum.js","sourceRoot":"","sources":["../../../../../src/modules/support/enums/support-routing.enum.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,8BAOX;AAPD,WAAY,8BAA8B;IACtC,yDAAyD;IACzD,mDAAiB,CAAA;IACjB,2DAA2D;IAC3D,6DAA2B,CAAA;IAC3B,0DAA0D;IAC1D,2DAAyB,CAAA;AAC7B,CAAC,EAPW,8BAA8B,8CAA9B,8BAA8B,QAOzC;AAED;;;;;;;GAOG;AACH,IAAY,uBAYX;AAZD,WAAY,uBAAuB;IAC/B,0DAA0D;IAC1D,sCAAW,CAAA;IACX,gDAAqB,CAAA;IACrB,gDAAqB,CAAA;IACrB,8CAAmB,CAAA;IACnB,8CAAmB,CAAA;IACnB,4DAAiC,CAAA;IACjC,2EAA2E;IAC3E,4CAAiB,CAAA;IACjB,sDAAsD;IACtD,sEAA2C,CAAA;AAC/C,CAAC,EAZW,uBAAuB,uCAAvB,uBAAuB,QAYlC;AAED,qFAAqF;AACrF,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC7B,qBAAqB;IACrB,wCAAe,CAAA;IACf,2EAA2E;IAC3E,kDAAyB,CAAA;IACzB,qEAAqE;IACrE,4CAAmB,CAAA;AACvB,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC;AAED,kEAAkE;AACrD,QAAA,6BAA6B,GAAqC;IAC3E,qBAAqB,CAAC,UAAU;IAChC,qBAAqB,CAAC,OAAO;CAChC,CAAC"}