grm-shared-library 1.1.201 → 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 +85 -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 +85 -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,716 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
11
+ import { Type } from 'class-transformer';
12
+ import { ArrayMaxSize, ArrayNotEmpty, IsArray, IsBoolean, IsEnum, IsInt, IsOptional, IsPositive, IsString, IsUUID, Matches, Max, MaxLength, Min, ValidateNested, } from 'class-validator';
13
+ import { CountryCode } from '../../country/enums/country-code.enum';
14
+ import { IncidentAppId } from '../../incident/enums/incident-app-id.enum';
15
+ import { SupportRelatedEntityType } from '../enums/support-related-entity-type.enum';
16
+ import { SupportQueueAssignmentStrategy, SupportRoutingMatchType, SupportTeamMemberRole, } from '../enums/support-routing.enum';
17
+ import { SupportSlaClock } from '../enums/support-sla.enum';
18
+ import { SupportTicketChannel } from '../enums/support-ticket-channel.enum';
19
+ import { SupportTicketPriority } from '../enums/support-ticket-priority.enum';
20
+ /** Stable machine keys: upper snake case, so a code never contains a space or a slash. */
21
+ const CODE_PATTERN = /^[A-Z][A-Z0-9_]{1,49}$/;
22
+ export class CreateSupportCategoryDto {
23
+ }
24
+ __decorate([
25
+ ApiProperty({ example: 'Billing' }),
26
+ IsString(),
27
+ MaxLength(100),
28
+ __metadata("design:type", String)
29
+ ], CreateSupportCategoryDto.prototype, "name", void 0);
30
+ __decorate([
31
+ ApiProperty({ example: 'BILLING', description: 'Stable key. Unique per organization.' }),
32
+ Matches(CODE_PATTERN, { message: 'code must be upper snake case, e.g. BILLING' }),
33
+ __metadata("design:type", String)
34
+ ], CreateSupportCategoryDto.prototype, "code", void 0);
35
+ __decorate([
36
+ ApiPropertyOptional({ maxLength: 500 }),
37
+ IsString(),
38
+ MaxLength(500),
39
+ IsOptional(),
40
+ __metadata("design:type", String)
41
+ ], CreateSupportCategoryDto.prototype, "description", void 0);
42
+ __decorate([
43
+ ApiPropertyOptional({ description: 'Parent category. At most one level of nesting.' }),
44
+ IsUUID(),
45
+ IsOptional(),
46
+ __metadata("design:type", String)
47
+ ], CreateSupportCategoryDto.prototype, "parentId", void 0);
48
+ __decorate([
49
+ ApiPropertyOptional({ enum: SupportTicketPriority }),
50
+ IsEnum(SupportTicketPriority),
51
+ IsOptional(),
52
+ __metadata("design:type", String)
53
+ ], CreateSupportCategoryDto.prototype, "defaultPriority", void 0);
54
+ __decorate([
55
+ ApiPropertyOptional(),
56
+ IsUUID(),
57
+ IsOptional(),
58
+ __metadata("design:type", String)
59
+ ], CreateSupportCategoryDto.prototype, "defaultQueueId", void 0);
60
+ __decorate([
61
+ ApiPropertyOptional({ enum: SupportRelatedEntityType }),
62
+ IsEnum(SupportRelatedEntityType),
63
+ IsOptional(),
64
+ __metadata("design:type", String)
65
+ ], CreateSupportCategoryDto.prototype, "expectedRelatedEntityType", void 0);
66
+ __decorate([
67
+ ApiPropertyOptional({ default: 100 }),
68
+ Type(() => Number),
69
+ IsInt(),
70
+ Min(0),
71
+ Max(10000),
72
+ IsOptional(),
73
+ __metadata("design:type", Number)
74
+ ], CreateSupportCategoryDto.prototype, "displayOrder", void 0);
75
+ __decorate([
76
+ ApiPropertyOptional({ description: 'Super-admin only. Omit for a platform-wide category.' }),
77
+ Type(() => Number),
78
+ IsInt(),
79
+ IsPositive(),
80
+ IsOptional(),
81
+ __metadata("design:type", Number)
82
+ ], CreateSupportCategoryDto.prototype, "organizationId", void 0);
83
+ export class UpdateSupportCategoryDto {
84
+ }
85
+ __decorate([
86
+ ApiPropertyOptional(),
87
+ IsString(),
88
+ MaxLength(100),
89
+ IsOptional(),
90
+ __metadata("design:type", String)
91
+ ], UpdateSupportCategoryDto.prototype, "name", void 0);
92
+ __decorate([
93
+ ApiPropertyOptional(),
94
+ IsString(),
95
+ MaxLength(500),
96
+ IsOptional(),
97
+ __metadata("design:type", String)
98
+ ], UpdateSupportCategoryDto.prototype, "description", void 0);
99
+ __decorate([
100
+ ApiPropertyOptional(),
101
+ IsUUID(),
102
+ IsOptional(),
103
+ __metadata("design:type", String)
104
+ ], UpdateSupportCategoryDto.prototype, "parentId", void 0);
105
+ __decorate([
106
+ ApiPropertyOptional({ enum: SupportTicketPriority }),
107
+ IsEnum(SupportTicketPriority),
108
+ IsOptional(),
109
+ __metadata("design:type", String)
110
+ ], UpdateSupportCategoryDto.prototype, "defaultPriority", void 0);
111
+ __decorate([
112
+ ApiPropertyOptional(),
113
+ IsUUID(),
114
+ IsOptional(),
115
+ __metadata("design:type", String)
116
+ ], UpdateSupportCategoryDto.prototype, "defaultQueueId", void 0);
117
+ __decorate([
118
+ ApiPropertyOptional({ enum: SupportRelatedEntityType }),
119
+ IsEnum(SupportRelatedEntityType),
120
+ IsOptional(),
121
+ __metadata("design:type", String)
122
+ ], UpdateSupportCategoryDto.prototype, "expectedRelatedEntityType", void 0);
123
+ __decorate([
124
+ ApiPropertyOptional(),
125
+ Type(() => Number),
126
+ IsInt(),
127
+ Min(0),
128
+ Max(10000),
129
+ IsOptional(),
130
+ __metadata("design:type", Number)
131
+ ], UpdateSupportCategoryDto.prototype, "displayOrder", void 0);
132
+ __decorate([
133
+ ApiPropertyOptional(),
134
+ IsBoolean(),
135
+ IsOptional(),
136
+ __metadata("design:type", Boolean)
137
+ ], UpdateSupportCategoryDto.prototype, "active", void 0);
138
+ export class CreateSupportQueueDto {
139
+ }
140
+ __decorate([
141
+ ApiProperty({ example: 'Kenya Billing Support' }),
142
+ IsString(),
143
+ MaxLength(100),
144
+ __metadata("design:type", String)
145
+ ], CreateSupportQueueDto.prototype, "name", void 0);
146
+ __decorate([
147
+ ApiProperty({ example: 'KE_BILLING' }),
148
+ Matches(CODE_PATTERN, { message: 'code must be upper snake case, e.g. KE_BILLING' }),
149
+ __metadata("design:type", String)
150
+ ], CreateSupportQueueDto.prototype, "code", void 0);
151
+ __decorate([
152
+ ApiPropertyOptional(),
153
+ IsString(),
154
+ MaxLength(500),
155
+ IsOptional(),
156
+ __metadata("design:type", String)
157
+ ], CreateSupportQueueDto.prototype, "description", void 0);
158
+ __decorate([
159
+ ApiPropertyOptional({ description: 'The team that works this queue.' }),
160
+ IsUUID(),
161
+ IsOptional(),
162
+ __metadata("design:type", String)
163
+ ], CreateSupportQueueDto.prototype, "teamId", void 0);
164
+ __decorate([
165
+ ApiPropertyOptional({
166
+ enum: CountryCode,
167
+ description: 'Narrows the queue to one country. A KE queue never receives a UG ticket.',
168
+ }),
169
+ IsEnum(CountryCode),
170
+ IsOptional(),
171
+ __metadata("design:type", String)
172
+ ], CreateSupportQueueDto.prototype, "countryCode", void 0);
173
+ __decorate([
174
+ ApiPropertyOptional(),
175
+ Type(() => Number),
176
+ IsInt(),
177
+ IsPositive(),
178
+ IsOptional(),
179
+ __metadata("design:type", Number)
180
+ ], CreateSupportQueueDto.prototype, "controlCentreId", void 0);
181
+ __decorate([
182
+ ApiPropertyOptional({
183
+ enum: SupportQueueAssignmentStrategy,
184
+ description: 'Only MANUAL is honoured today; the others are reserved.',
185
+ }),
186
+ IsEnum(SupportQueueAssignmentStrategy),
187
+ IsOptional(),
188
+ __metadata("design:type", String)
189
+ ], CreateSupportQueueDto.prototype, "assignmentStrategy", void 0);
190
+ __decorate([
191
+ ApiPropertyOptional({ description: 'Overrides the organization SLA policy for this queue.' }),
192
+ IsUUID(),
193
+ IsOptional(),
194
+ __metadata("design:type", String)
195
+ ], CreateSupportQueueDto.prototype, "slaPolicyId", void 0);
196
+ __decorate([
197
+ ApiPropertyOptional({ default: 100 }),
198
+ Type(() => Number),
199
+ IsInt(),
200
+ Min(0),
201
+ Max(10000),
202
+ IsOptional(),
203
+ __metadata("design:type", Number)
204
+ ], CreateSupportQueueDto.prototype, "displayOrder", void 0);
205
+ __decorate([
206
+ ApiPropertyOptional({ description: 'Super-admin only.' }),
207
+ Type(() => Number),
208
+ IsInt(),
209
+ IsPositive(),
210
+ IsOptional(),
211
+ __metadata("design:type", Number)
212
+ ], CreateSupportQueueDto.prototype, "organizationId", void 0);
213
+ export class UpdateSupportQueueDto {
214
+ }
215
+ __decorate([
216
+ ApiPropertyOptional(),
217
+ IsString(),
218
+ MaxLength(100),
219
+ IsOptional(),
220
+ __metadata("design:type", String)
221
+ ], UpdateSupportQueueDto.prototype, "name", void 0);
222
+ __decorate([
223
+ ApiPropertyOptional(),
224
+ IsString(),
225
+ MaxLength(500),
226
+ IsOptional(),
227
+ __metadata("design:type", String)
228
+ ], UpdateSupportQueueDto.prototype, "description", void 0);
229
+ __decorate([
230
+ ApiPropertyOptional(),
231
+ IsUUID(),
232
+ IsOptional(),
233
+ __metadata("design:type", String)
234
+ ], UpdateSupportQueueDto.prototype, "teamId", void 0);
235
+ __decorate([
236
+ ApiPropertyOptional({ enum: CountryCode }),
237
+ IsEnum(CountryCode),
238
+ IsOptional(),
239
+ __metadata("design:type", String)
240
+ ], UpdateSupportQueueDto.prototype, "countryCode", void 0);
241
+ __decorate([
242
+ ApiPropertyOptional(),
243
+ Type(() => Number),
244
+ IsInt(),
245
+ IsPositive(),
246
+ IsOptional(),
247
+ __metadata("design:type", Number)
248
+ ], UpdateSupportQueueDto.prototype, "controlCentreId", void 0);
249
+ __decorate([
250
+ ApiPropertyOptional({ enum: SupportQueueAssignmentStrategy }),
251
+ IsEnum(SupportQueueAssignmentStrategy),
252
+ IsOptional(),
253
+ __metadata("design:type", String)
254
+ ], UpdateSupportQueueDto.prototype, "assignmentStrategy", void 0);
255
+ __decorate([
256
+ ApiPropertyOptional(),
257
+ IsUUID(),
258
+ IsOptional(),
259
+ __metadata("design:type", String)
260
+ ], UpdateSupportQueueDto.prototype, "slaPolicyId", void 0);
261
+ __decorate([
262
+ ApiPropertyOptional(),
263
+ Type(() => Number),
264
+ IsInt(),
265
+ Min(0),
266
+ Max(10000),
267
+ IsOptional(),
268
+ __metadata("design:type", Number)
269
+ ], UpdateSupportQueueDto.prototype, "displayOrder", void 0);
270
+ __decorate([
271
+ ApiPropertyOptional(),
272
+ IsBoolean(),
273
+ IsOptional(),
274
+ __metadata("design:type", Boolean)
275
+ ], UpdateSupportQueueDto.prototype, "active", void 0);
276
+ export class CreateSupportTeamDto {
277
+ }
278
+ __decorate([
279
+ ApiProperty({ example: 'Tier 1 Support' }),
280
+ IsString(),
281
+ MaxLength(100),
282
+ __metadata("design:type", String)
283
+ ], CreateSupportTeamDto.prototype, "name", void 0);
284
+ __decorate([
285
+ ApiProperty({ example: 'TIER_1' }),
286
+ Matches(CODE_PATTERN),
287
+ __metadata("design:type", String)
288
+ ], CreateSupportTeamDto.prototype, "code", void 0);
289
+ __decorate([
290
+ ApiPropertyOptional(),
291
+ IsString(),
292
+ MaxLength(500),
293
+ IsOptional(),
294
+ __metadata("design:type", String)
295
+ ], CreateSupportTeamDto.prototype, "description", void 0);
296
+ __decorate([
297
+ ApiPropertyOptional({
298
+ type: [Number],
299
+ description: 'Users who receive this team\'s SLA escalations.',
300
+ }),
301
+ IsArray(),
302
+ ArrayMaxSize(20),
303
+ Type(() => Number),
304
+ IsInt({ each: true }),
305
+ IsPositive({ each: true }),
306
+ IsOptional(),
307
+ __metadata("design:type", Array)
308
+ ], CreateSupportTeamDto.prototype, "supervisorUserIds", void 0);
309
+ __decorate([
310
+ ApiPropertyOptional({ description: 'Super-admin only.' }),
311
+ Type(() => Number),
312
+ IsInt(),
313
+ IsPositive(),
314
+ IsOptional(),
315
+ __metadata("design:type", Number)
316
+ ], CreateSupportTeamDto.prototype, "organizationId", void 0);
317
+ export class UpdateSupportTeamDto {
318
+ }
319
+ __decorate([
320
+ ApiPropertyOptional(),
321
+ IsString(),
322
+ MaxLength(100),
323
+ IsOptional(),
324
+ __metadata("design:type", String)
325
+ ], UpdateSupportTeamDto.prototype, "name", void 0);
326
+ __decorate([
327
+ ApiPropertyOptional(),
328
+ IsString(),
329
+ MaxLength(500),
330
+ IsOptional(),
331
+ __metadata("design:type", String)
332
+ ], UpdateSupportTeamDto.prototype, "description", void 0);
333
+ __decorate([
334
+ ApiPropertyOptional({ type: [Number] }),
335
+ IsArray(),
336
+ ArrayMaxSize(20),
337
+ Type(() => Number),
338
+ IsInt({ each: true }),
339
+ IsPositive({ each: true }),
340
+ IsOptional(),
341
+ __metadata("design:type", Array)
342
+ ], UpdateSupportTeamDto.prototype, "supervisorUserIds", void 0);
343
+ __decorate([
344
+ ApiPropertyOptional(),
345
+ IsBoolean(),
346
+ IsOptional(),
347
+ __metadata("design:type", Boolean)
348
+ ], UpdateSupportTeamDto.prototype, "active", void 0);
349
+ export class UpsertSupportTeamMemberDto {
350
+ }
351
+ __decorate([
352
+ ApiProperty({ example: 900 }),
353
+ Type(() => Number),
354
+ IsInt(),
355
+ IsPositive(),
356
+ __metadata("design:type", Number)
357
+ ], UpsertSupportTeamMemberDto.prototype, "userId", void 0);
358
+ __decorate([
359
+ ApiProperty({ enum: SupportTeamMemberRole }),
360
+ IsEnum(SupportTeamMemberRole),
361
+ __metadata("design:type", String)
362
+ ], UpsertSupportTeamMemberDto.prototype, "role", void 0);
363
+ __decorate([
364
+ ApiPropertyOptional({
365
+ description: 'An agent off rota keeps their membership and stops being assigned work.',
366
+ default: true,
367
+ }),
368
+ IsBoolean(),
369
+ IsOptional(),
370
+ __metadata("design:type", Boolean)
371
+ ], UpsertSupportTeamMemberDto.prototype, "active", void 0);
372
+ /** One priority row of an SLA policy. */
373
+ export class SupportSlaPolicyTargetDto {
374
+ }
375
+ __decorate([
376
+ ApiProperty({ enum: SupportTicketPriority }),
377
+ IsEnum(SupportTicketPriority),
378
+ __metadata("design:type", String)
379
+ ], SupportSlaPolicyTargetDto.prototype, "priority", void 0);
380
+ __decorate([
381
+ ApiProperty({ minimum: 1, maximum: 100000, description: 'Minutes allowed for the first reply.' }),
382
+ Type(() => Number),
383
+ IsInt(),
384
+ Min(1),
385
+ Max(100000),
386
+ __metadata("design:type", Number)
387
+ ], SupportSlaPolicyTargetDto.prototype, "firstResponseMinutes", void 0);
388
+ __decorate([
389
+ ApiProperty({ minimum: 1, maximum: 1000000, description: 'Minutes allowed to reach RESOLVED.' }),
390
+ Type(() => Number),
391
+ IsInt(),
392
+ Min(1),
393
+ Max(1000000),
394
+ __metadata("design:type", Number)
395
+ ], SupportSlaPolicyTargetDto.prototype, "resolutionMinutes", void 0);
396
+ __decorate([
397
+ ApiProperty({
398
+ enum: SupportSlaClock,
399
+ description: 'CALENDAR runs around the clock; BUSINESS consumes only working minutes.',
400
+ }),
401
+ IsEnum(SupportSlaClock),
402
+ __metadata("design:type", String)
403
+ ], SupportSlaPolicyTargetDto.prototype, "clock", void 0);
404
+ /** A working calendar for BUSINESS-clock targets. */
405
+ export class SupportBusinessCalendarDto {
406
+ }
407
+ __decorate([
408
+ ApiProperty({ type: [Number], description: 'ISO weekday numbers, Monday = 1.', example: [1, 2, 3, 4, 5] }),
409
+ IsArray(),
410
+ ArrayNotEmpty(),
411
+ ArrayMaxSize(7),
412
+ Type(() => Number),
413
+ IsInt({ each: true }),
414
+ Min(1, { each: true }),
415
+ Max(7, { each: true }),
416
+ __metadata("design:type", Array)
417
+ ], SupportBusinessCalendarDto.prototype, "workingDays", void 0);
418
+ __decorate([
419
+ ApiProperty({ minimum: 0, maximum: 1439, example: 480 }),
420
+ Type(() => Number),
421
+ IsInt(),
422
+ Min(0),
423
+ Max(1439),
424
+ __metadata("design:type", Number)
425
+ ], SupportBusinessCalendarDto.prototype, "startMinuteOfDay", void 0);
426
+ __decorate([
427
+ ApiProperty({ minimum: 1, maximum: 1440, example: 1020 }),
428
+ Type(() => Number),
429
+ IsInt(),
430
+ Min(1),
431
+ Max(1440),
432
+ __metadata("design:type", Number)
433
+ ], SupportBusinessCalendarDto.prototype, "endMinuteOfDay", void 0);
434
+ __decorate([
435
+ ApiPropertyOptional({ description: 'IANA zone. Resolved from the ticket country when omitted.' }),
436
+ IsString(),
437
+ MaxLength(60),
438
+ IsOptional(),
439
+ __metadata("design:type", String)
440
+ ], SupportBusinessCalendarDto.prototype, "timezone", void 0);
441
+ __decorate([
442
+ ApiPropertyOptional({ type: [String], description: 'Non-working dates as YYYY-MM-DD.' }),
443
+ IsArray(),
444
+ ArrayMaxSize(200),
445
+ Matches(/^\d{4}-\d{2}-\d{2}$/, { each: true }),
446
+ IsOptional(),
447
+ __metadata("design:type", Array)
448
+ ], SupportBusinessCalendarDto.prototype, "holidays", void 0);
449
+ export class CreateSupportSlaPolicyDto {
450
+ }
451
+ __decorate([
452
+ ApiProperty({ example: 'Kenya standard' }),
453
+ IsString(),
454
+ MaxLength(100),
455
+ __metadata("design:type", String)
456
+ ], CreateSupportSlaPolicyDto.prototype, "name", void 0);
457
+ __decorate([
458
+ ApiPropertyOptional(),
459
+ IsString(),
460
+ MaxLength(500),
461
+ IsOptional(),
462
+ __metadata("design:type", String)
463
+ ], CreateSupportSlaPolicyDto.prototype, "description", void 0);
464
+ __decorate([
465
+ ApiProperty({
466
+ type: [SupportSlaPolicyTargetDto],
467
+ description: 'One row per priority. A priority left out falls through to the next policy for that ' +
468
+ 'priority alone, so tightening CRITICAL does not mean restating the other four.',
469
+ }),
470
+ IsArray(),
471
+ ArrayNotEmpty(),
472
+ ArrayMaxSize(10),
473
+ ValidateNested({ each: true }),
474
+ Type(() => SupportSlaPolicyTargetDto),
475
+ __metadata("design:type", Array)
476
+ ], CreateSupportSlaPolicyDto.prototype, "targets", void 0);
477
+ __decorate([
478
+ ApiPropertyOptional({ type: SupportBusinessCalendarDto }),
479
+ ValidateNested(),
480
+ Type(() => SupportBusinessCalendarDto),
481
+ IsOptional(),
482
+ __metadata("design:type", SupportBusinessCalendarDto)
483
+ ], CreateSupportSlaPolicyDto.prototype, "businessCalendar", void 0);
484
+ __decorate([
485
+ ApiPropertyOptional({ description: 'Make this the organization default. Only one may be.' }),
486
+ IsBoolean(),
487
+ IsOptional(),
488
+ __metadata("design:type", Boolean)
489
+ ], CreateSupportSlaPolicyDto.prototype, "isDefault", void 0);
490
+ __decorate([
491
+ ApiPropertyOptional({ description: 'Super-admin only. Omit for the platform-wide policy.' }),
492
+ Type(() => Number),
493
+ IsInt(),
494
+ IsPositive(),
495
+ IsOptional(),
496
+ __metadata("design:type", Number)
497
+ ], CreateSupportSlaPolicyDto.prototype, "organizationId", void 0);
498
+ export class UpdateSupportSlaPolicyDto {
499
+ }
500
+ __decorate([
501
+ ApiPropertyOptional(),
502
+ IsString(),
503
+ MaxLength(100),
504
+ IsOptional(),
505
+ __metadata("design:type", String)
506
+ ], UpdateSupportSlaPolicyDto.prototype, "name", void 0);
507
+ __decorate([
508
+ ApiPropertyOptional(),
509
+ IsString(),
510
+ MaxLength(500),
511
+ IsOptional(),
512
+ __metadata("design:type", String)
513
+ ], UpdateSupportSlaPolicyDto.prototype, "description", void 0);
514
+ __decorate([
515
+ ApiPropertyOptional({ type: [SupportSlaPolicyTargetDto] }),
516
+ IsArray(),
517
+ ArrayMaxSize(10),
518
+ ValidateNested({ each: true }),
519
+ Type(() => SupportSlaPolicyTargetDto),
520
+ IsOptional(),
521
+ __metadata("design:type", Array)
522
+ ], UpdateSupportSlaPolicyDto.prototype, "targets", void 0);
523
+ __decorate([
524
+ ApiPropertyOptional({ type: SupportBusinessCalendarDto }),
525
+ ValidateNested(),
526
+ Type(() => SupportBusinessCalendarDto),
527
+ IsOptional(),
528
+ __metadata("design:type", SupportBusinessCalendarDto)
529
+ ], UpdateSupportSlaPolicyDto.prototype, "businessCalendar", void 0);
530
+ __decorate([
531
+ ApiPropertyOptional(),
532
+ IsBoolean(),
533
+ IsOptional(),
534
+ __metadata("design:type", Boolean)
535
+ ], UpdateSupportSlaPolicyDto.prototype, "isDefault", void 0);
536
+ __decorate([
537
+ ApiPropertyOptional(),
538
+ IsBoolean(),
539
+ IsOptional(),
540
+ __metadata("design:type", Boolean)
541
+ ], UpdateSupportSlaPolicyDto.prototype, "active", void 0);
542
+ export class CreateSupportRoutingRuleDto {
543
+ }
544
+ __decorate([
545
+ ApiProperty({ example: 'Billing questions to the billing queue' }),
546
+ IsString(),
547
+ MaxLength(100),
548
+ __metadata("design:type", String)
549
+ ], CreateSupportRoutingRuleDto.prototype, "name", void 0);
550
+ __decorate([
551
+ ApiProperty({ enum: SupportRoutingMatchType }),
552
+ IsEnum(SupportRoutingMatchType),
553
+ __metadata("design:type", String)
554
+ ], CreateSupportRoutingRuleDto.prototype, "matchType", void 0);
555
+ __decorate([
556
+ ApiPropertyOptional(),
557
+ IsUUID(),
558
+ IsOptional(),
559
+ __metadata("design:type", String)
560
+ ], CreateSupportRoutingRuleDto.prototype, "matchCategoryId", void 0);
561
+ __decorate([
562
+ ApiPropertyOptional({ enum: SupportTicketPriority }),
563
+ IsEnum(SupportTicketPriority),
564
+ IsOptional(),
565
+ __metadata("design:type", String)
566
+ ], CreateSupportRoutingRuleDto.prototype, "matchPriority", void 0);
567
+ __decorate([
568
+ ApiPropertyOptional({ enum: SupportTicketChannel }),
569
+ IsEnum(SupportTicketChannel),
570
+ IsOptional(),
571
+ __metadata("design:type", String)
572
+ ], CreateSupportRoutingRuleDto.prototype, "matchChannel", void 0);
573
+ __decorate([
574
+ ApiPropertyOptional({ enum: CountryCode }),
575
+ IsEnum(CountryCode),
576
+ IsOptional(),
577
+ __metadata("design:type", String)
578
+ ], CreateSupportRoutingRuleDto.prototype, "matchCountryCode", void 0);
579
+ __decorate([
580
+ ApiPropertyOptional(),
581
+ Type(() => Number),
582
+ IsInt(),
583
+ IsPositive(),
584
+ IsOptional(),
585
+ __metadata("design:type", Number)
586
+ ], CreateSupportRoutingRuleDto.prototype, "matchControlCentreId", void 0);
587
+ __decorate([
588
+ ApiPropertyOptional({ enum: IncidentAppId }),
589
+ IsEnum(IncidentAppId),
590
+ IsOptional(),
591
+ __metadata("design:type", String)
592
+ ], CreateSupportRoutingRuleDto.prototype, "matchAppId", void 0);
593
+ __decorate([
594
+ ApiPropertyOptional({ enum: SupportRelatedEntityType }),
595
+ IsEnum(SupportRelatedEntityType),
596
+ IsOptional(),
597
+ __metadata("design:type", String)
598
+ ], CreateSupportRoutingRuleDto.prototype, "matchRelatedEntityType", void 0);
599
+ __decorate([
600
+ ApiProperty({ description: 'Where a matching ticket goes.' }),
601
+ IsUUID(),
602
+ __metadata("design:type", String)
603
+ ], CreateSupportRoutingRuleDto.prototype, "targetQueueId", void 0);
604
+ __decorate([
605
+ ApiPropertyOptional({
606
+ enum: SupportTicketPriority,
607
+ description: 'Raises the priority when it matches. A rule never lowers one.',
608
+ }),
609
+ IsEnum(SupportTicketPriority),
610
+ IsOptional(),
611
+ __metadata("design:type", String)
612
+ ], CreateSupportRoutingRuleDto.prototype, "forcePriority", void 0);
613
+ __decorate([
614
+ ApiPropertyOptional({ default: 100, description: 'Lower runs first. First match wins.' }),
615
+ Type(() => Number),
616
+ IsInt(),
617
+ Min(0),
618
+ Max(10000),
619
+ IsOptional(),
620
+ __metadata("design:type", Number)
621
+ ], CreateSupportRoutingRuleDto.prototype, "priority", void 0);
622
+ __decorate([
623
+ ApiPropertyOptional({ description: 'Super-admin only.' }),
624
+ Type(() => Number),
625
+ IsInt(),
626
+ IsPositive(),
627
+ IsOptional(),
628
+ __metadata("design:type", Number)
629
+ ], CreateSupportRoutingRuleDto.prototype, "organizationId", void 0);
630
+ export class UpdateSupportRoutingRuleDto {
631
+ }
632
+ __decorate([
633
+ ApiPropertyOptional(),
634
+ IsString(),
635
+ MaxLength(100),
636
+ IsOptional(),
637
+ __metadata("design:type", String)
638
+ ], UpdateSupportRoutingRuleDto.prototype, "name", void 0);
639
+ __decorate([
640
+ ApiPropertyOptional({ enum: SupportRoutingMatchType }),
641
+ IsEnum(SupportRoutingMatchType),
642
+ IsOptional(),
643
+ __metadata("design:type", String)
644
+ ], UpdateSupportRoutingRuleDto.prototype, "matchType", void 0);
645
+ __decorate([
646
+ ApiPropertyOptional(),
647
+ IsUUID(),
648
+ IsOptional(),
649
+ __metadata("design:type", String)
650
+ ], UpdateSupportRoutingRuleDto.prototype, "matchCategoryId", void 0);
651
+ __decorate([
652
+ ApiPropertyOptional({ enum: SupportTicketPriority }),
653
+ IsEnum(SupportTicketPriority),
654
+ IsOptional(),
655
+ __metadata("design:type", String)
656
+ ], UpdateSupportRoutingRuleDto.prototype, "matchPriority", void 0);
657
+ __decorate([
658
+ ApiPropertyOptional({ enum: SupportTicketChannel }),
659
+ IsEnum(SupportTicketChannel),
660
+ IsOptional(),
661
+ __metadata("design:type", String)
662
+ ], UpdateSupportRoutingRuleDto.prototype, "matchChannel", void 0);
663
+ __decorate([
664
+ ApiPropertyOptional({ enum: CountryCode }),
665
+ IsEnum(CountryCode),
666
+ IsOptional(),
667
+ __metadata("design:type", String)
668
+ ], UpdateSupportRoutingRuleDto.prototype, "matchCountryCode", void 0);
669
+ __decorate([
670
+ ApiPropertyOptional(),
671
+ Type(() => Number),
672
+ IsInt(),
673
+ IsPositive(),
674
+ IsOptional(),
675
+ __metadata("design:type", Number)
676
+ ], UpdateSupportRoutingRuleDto.prototype, "matchControlCentreId", void 0);
677
+ __decorate([
678
+ ApiPropertyOptional({ enum: IncidentAppId }),
679
+ IsEnum(IncidentAppId),
680
+ IsOptional(),
681
+ __metadata("design:type", String)
682
+ ], UpdateSupportRoutingRuleDto.prototype, "matchAppId", void 0);
683
+ __decorate([
684
+ ApiPropertyOptional({ enum: SupportRelatedEntityType }),
685
+ IsEnum(SupportRelatedEntityType),
686
+ IsOptional(),
687
+ __metadata("design:type", String)
688
+ ], UpdateSupportRoutingRuleDto.prototype, "matchRelatedEntityType", void 0);
689
+ __decorate([
690
+ ApiPropertyOptional(),
691
+ IsUUID(),
692
+ IsOptional(),
693
+ __metadata("design:type", String)
694
+ ], UpdateSupportRoutingRuleDto.prototype, "targetQueueId", void 0);
695
+ __decorate([
696
+ ApiPropertyOptional({ enum: SupportTicketPriority }),
697
+ IsEnum(SupportTicketPriority),
698
+ IsOptional(),
699
+ __metadata("design:type", String)
700
+ ], UpdateSupportRoutingRuleDto.prototype, "forcePriority", void 0);
701
+ __decorate([
702
+ ApiPropertyOptional(),
703
+ Type(() => Number),
704
+ IsInt(),
705
+ Min(0),
706
+ Max(10000),
707
+ IsOptional(),
708
+ __metadata("design:type", Number)
709
+ ], UpdateSupportRoutingRuleDto.prototype, "priority", void 0);
710
+ __decorate([
711
+ ApiPropertyOptional(),
712
+ IsBoolean(),
713
+ IsOptional(),
714
+ __metadata("design:type", Boolean)
715
+ ], UpdateSupportRoutingRuleDto.prototype, "active", void 0);
716
+ //# sourceMappingURL=support-configuration.dto.js.map