grm-shared-library 1.1.202 → 1.1.204

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