hgs-twilio-class-lib 1.1.53 → 1.1.54

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 (480) hide show
  1. package/lib/aws/abstract/ServiceObjectStore.d.ts +9 -0
  2. package/lib/aws/abstract/ServiceObjectStore.js +10 -1
  3. package/lib/aws/abstract/ServiceOpenRequest.d.ts +7 -0
  4. package/lib/aws/abstract/ServiceOpenRequest.js +10 -1
  5. package/lib/aws/abstract/ServiceRequest.d.ts +3 -0
  6. package/lib/aws/abstract/ServiceRequest.js +7 -1
  7. package/lib/aws/abstract/ServiceResource.d.ts +20 -0
  8. package/lib/aws/abstract/ServiceResource.js +31 -1
  9. package/lib/aws/abstract/ServiceResourceFactory.d.ts +13 -0
  10. package/lib/aws/abstract/ServiceResourceFactory.js +14 -1
  11. package/lib/aws/abstract/ServiceTransaction.d.ts +6 -0
  12. package/lib/aws/abstract/ServiceTransaction.js +11 -1
  13. package/lib/aws/impl/AWSAPIConfig.d.ts +14 -0
  14. package/lib/aws/impl/AWSAPIConfig.js +38 -1
  15. package/lib/aws/impl/AWSClient.d.ts +5 -0
  16. package/lib/aws/impl/AWSClient.js +21 -1
  17. package/lib/aws/impl/AWSConnectAPIConfig.d.ts +17 -0
  18. package/lib/aws/impl/AWSConnectAPIConfig.js +38 -1
  19. package/lib/aws/impl/DynamoDB/DynamoOpenRequest.d.ts +18 -0
  20. package/lib/aws/impl/DynamoDB/DynamoOpenRequest.js +24 -1
  21. package/lib/aws/impl/DynamoDB/DynamoRequest.d.ts +16 -0
  22. package/lib/aws/impl/DynamoDB/DynamoRequest.js +21 -1
  23. package/lib/aws/impl/DynamoDB/DynamoResourse.d.ts +29 -0
  24. package/lib/aws/impl/DynamoDB/DynamoResourse.js +45 -1
  25. package/lib/aws/impl/DynamoDB/DynamoServiceFactory.d.ts +16 -0
  26. package/lib/aws/impl/DynamoDB/DynamoServiceFactory.js +63 -1
  27. package/lib/aws/impl/DynamoDB/DynamoTable.d.ts +26 -0
  28. package/lib/aws/impl/DynamoDB/DynamoTable.js +126 -1
  29. package/lib/aws/impl/DynamoDB/DynamoTransaction.d.ts +21 -0
  30. package/lib/aws/impl/DynamoDB/DynamoTransaction.js +37 -1
  31. package/lib/aws/impl/HoopServices/HoopService.d.ts +28 -0
  32. package/lib/aws/impl/HoopServices/HoopService.js +124 -1
  33. package/lib/aws/impl/HoopServices/HoopServiceFactory.d.ts +17 -0
  34. package/lib/aws/impl/HoopServices/HoopServiceFactory.js +53 -1
  35. package/lib/aws/impl/HoopServices/HoopServiceOpenRequest.d.ts +18 -0
  36. package/lib/aws/impl/HoopServices/HoopServiceOpenRequest.js +24 -1
  37. package/lib/aws/impl/HoopServices/HoopServiceResource.d.ts +29 -0
  38. package/lib/aws/impl/HoopServices/HoopServiceResource.js +46 -1
  39. package/lib/aws/impl/HoopServices/HoopServiceTransaction.d.ts +22 -0
  40. package/lib/aws/impl/HoopServices/HoopServiceTransaction.js +37 -1
  41. package/lib/aws/interface/IDirection.d.ts +2 -0
  42. package/lib/aws/interface/IDirection.js +2 -1
  43. package/lib/aws/interface/ILink.d.ts +2 -0
  44. package/lib/aws/interface/ILink.js +2 -1
  45. package/lib/aws/interface/IServiceDBOpenRequest.d.ts +3 -0
  46. package/lib/aws/interface/IServiceDBOpenRequest.js +2 -1
  47. package/lib/aws/interface/IServiceObjectStore.d.ts +3 -0
  48. package/lib/aws/interface/IServiceObjectStore.js +2 -1
  49. package/lib/aws/interface/IServiceObjectStoreParameters.d.ts +4 -0
  50. package/lib/aws/interface/IServiceObjectStoreParameters.js +2 -1
  51. package/lib/aws/interface/IServiceRequest.d.ts +3 -0
  52. package/lib/aws/interface/IServiceRequest.js +2 -1
  53. package/lib/aws/interface/IServiceResource.d.ts +7 -0
  54. package/lib/aws/interface/IServiceResource.js +2 -1
  55. package/lib/aws/interface/IServiceTransation.d.ts +3 -0
  56. package/lib/aws/interface/IServiceTransation.js +2 -1
  57. package/lib/aws/interface/ISubResourceUri.d.ts +2 -0
  58. package/lib/aws/interface/ISubResourceUri.js +2 -1
  59. package/lib/aws/interface/ISyncItemData.d.ts +0 -0
  60. package/lib/aws/interface/ISyncItemData.js +1 -1
  61. package/lib/aws/interface/ISyncObjectStoreParameters.d.ts +0 -0
  62. package/lib/aws/interface/ISyncObjectStoreParameters.js +1 -1
  63. package/lib/aws/interface/ISyncTransactionOptions.d.ts +4 -0
  64. package/lib/aws/interface/ISyncTransactionOptions.js +2 -1
  65. package/lib/common/abstract/CommonError.d.ts +8 -0
  66. package/lib/common/abstract/CommonError.js +12 -1
  67. package/lib/common/abstract/Database.d.ts +44 -0
  68. package/lib/common/abstract/Database.js +58 -1
  69. package/lib/common/abstract/DatabaseClient.d.ts +11 -0
  70. package/lib/common/abstract/DatabaseClient.js +21 -1
  71. package/lib/common/abstract/DatabaseClientConfig.d.ts +5 -0
  72. package/lib/common/abstract/DatabaseClientConfig.js +9 -1
  73. package/lib/common/abstract/DatabaseFactory.d.ts +70 -0
  74. package/lib/common/abstract/DatabaseFactory.js +32 -1
  75. package/lib/common/abstract/DatabaseObjectStore.d.ts +29 -0
  76. package/lib/common/abstract/DatabaseObjectStore.js +13 -1
  77. package/lib/common/abstract/DatabaseOpenRequest.d.ts +24 -0
  78. package/lib/common/abstract/DatabaseOpenRequest.js +13 -1
  79. package/lib/common/abstract/DatabaseRequest.d.ts +21 -0
  80. package/lib/common/abstract/DatabaseRequest.js +14 -1
  81. package/lib/common/abstract/DatabaseTransaction.d.ts +22 -0
  82. package/lib/common/abstract/DatabaseTransaction.js +13 -1
  83. package/lib/common/abstract/Filter.d.ts +12 -0
  84. package/lib/common/abstract/Filter.js +30 -1
  85. package/lib/common/enum/ErrorTypes.d.ts +4 -0
  86. package/lib/common/enum/ErrorTypes.js +9 -1
  87. package/lib/common/enum/FilterTypes.d.ts +10 -0
  88. package/lib/common/enum/FilterTypes.js +14 -1
  89. package/lib/common/interface/IDatabaesInfo.d.ts +2 -0
  90. package/lib/common/interface/IDatabaesInfo.js +2 -1
  91. package/lib/common/interface/IDatabase.d.ts +4 -0
  92. package/lib/common/interface/IDatabase.js +2 -1
  93. package/lib/common/interface/IDatabaseClient.d.ts +5 -0
  94. package/lib/common/interface/IDatabaseClient.js +2 -1
  95. package/lib/common/interface/IDatabaseConfig.d.ts +8 -0
  96. package/lib/common/interface/IDatabaseConfig.js +10 -1
  97. package/lib/common/interface/IDatabaseDBOpenRequest.d.ts +2 -0
  98. package/lib/common/interface/IDatabaseDBOpenRequest.js +2 -1
  99. package/lib/common/interface/IDatabaseFactory.d.ts +21 -0
  100. package/lib/common/interface/IDatabaseFactory.js +2 -1
  101. package/lib/common/interface/IDatabaseObjectStore.d.ts +2 -0
  102. package/lib/common/interface/IDatabaseObjectStore.js +2 -1
  103. package/lib/common/interface/IDatabaseObjectStoreParameters.d.ts +2 -0
  104. package/lib/common/interface/IDatabaseObjectStoreParameters.js +2 -1
  105. package/lib/common/interface/IDatabaseRecord.d.ts +2 -0
  106. package/lib/common/interface/IDatabaseRecord.js +2 -1
  107. package/lib/common/interface/IDatabaseRequest.d.ts +2 -0
  108. package/lib/common/interface/IDatabaseRequest.js +2 -1
  109. package/lib/common/interface/IDatabaseTransaction.d.ts +2 -0
  110. package/lib/common/interface/IDatabaseTransaction.js +2 -1
  111. package/lib/common/interface/IDatabaseTransactionOptions.d.ts +2 -0
  112. package/lib/common/interface/IDatabaseTransactionOptions.js +2 -1
  113. package/lib/common/interface/IError.d.ts +5 -0
  114. package/lib/common/interface/IError.js +2 -1
  115. package/lib/common/interface/IErrorDetails.d.ts +6 -0
  116. package/lib/common/interface/IErrorDetails.js +2 -1
  117. package/lib/common/interface/IFilter.d.ts +25 -0
  118. package/lib/common/interface/IFilter.js +2 -1
  119. package/lib/common/type/DatabaseReadyType.d.ts +1 -0
  120. package/lib/common/type/DatabaseReadyType.js +2 -1
  121. package/lib/common/type/FilterInputType.d.ts +1 -0
  122. package/lib/common/type/FilterInputType.js +2 -1
  123. package/lib/common/type/SearchParameterType.d.ts +15 -0
  124. package/lib/common/type/SearchParameterType.js +3 -1
  125. package/lib/common/utils/dateFormat.d.ts +1 -0
  126. package/lib/common/utils/dateFormat.js +58 -1
  127. package/lib/common/utils/filter.d.ts +1 -0
  128. package/lib/common/utils/filter.js +99 -1
  129. package/lib/common/utils/newFilter.d.ts +1 -0
  130. package/lib/common/utils/newFilter.js +126 -1
  131. package/lib/common/utils/pagination.d.ts +1 -0
  132. package/lib/common/utils/pagination.js +9 -1
  133. package/lib/common/utils/search.d.ts +1 -0
  134. package/lib/common/utils/search.js +14 -1
  135. package/lib/common/utils/sort.d.ts +1 -0
  136. package/lib/common/utils/sort.js +13 -1
  137. package/lib/config/AWSConfig.d.ts +6 -0
  138. package/lib/config/AWSConfig.js +9 -1
  139. package/lib/config/DatabaseConfig.d.ts +33 -0
  140. package/lib/config/DatabaseConfig.js +36 -1
  141. package/lib/config/TwilioConfig.d.ts +4 -0
  142. package/lib/config/TwilioConfig.js +7 -1
  143. package/lib/controller/Common.d.ts +20 -0
  144. package/lib/controller/Common.js +57 -1
  145. package/lib/controller/DatabaseFactoryCollection.d.ts +6 -0
  146. package/lib/controller/DatabaseFactoryCollection.js +14 -1
  147. package/lib/controller/MainController.d.ts +6 -0
  148. package/lib/controller/MainController.js +174 -1
  149. package/lib/controller/aws/HoopBuisnessHours.d.ts +23 -0
  150. package/lib/controller/aws/HoopBuisnessHours.js +408 -1
  151. package/lib/controller/aws/HoopOperationsController.d.ts +9 -0
  152. package/lib/controller/aws/HoopOperationsController.js +86 -1
  153. package/lib/controller/aws/HoopOverrideBranchesController.d.ts +7 -0
  154. package/lib/controller/aws/HoopOverrideBranchesController.js +40 -1
  155. package/lib/controller/aws/HoopProfilesListController.d.ts +8 -0
  156. package/lib/controller/aws/HoopProfilesListController.js +61 -1
  157. package/lib/controller/aws/PlaybackScreenrecordings.d.ts +9 -0
  158. package/lib/controller/aws/PlaybackScreenrecordings.js +63 -1
  159. package/lib/controller/twilio/AgentActionsController.d.ts +54 -0
  160. package/lib/controller/twilio/AgentActionsController.js +177 -1
  161. package/lib/controller/twilio/AgentScorecardController.d.ts +53 -0
  162. package/lib/controller/twilio/AgentScorecardController.js +173 -1
  163. package/lib/controller/twilio/AuditLogController.d.ts +15 -0
  164. package/lib/controller/twilio/AuditLogController.js +137 -1
  165. package/lib/controller/twilio/CallLogsController.d.ts +12 -0
  166. package/lib/controller/twilio/CallLogsController.js +131 -1
  167. package/lib/controller/twilio/CallbackAndVoicemailController.d.ts +12 -0
  168. package/lib/controller/twilio/CallbackAndVoicemailController.js +114 -1
  169. package/lib/controller/twilio/ChannelSettingTaskInfoController.d.ts +11 -0
  170. package/lib/controller/twilio/ChannelSettingTaskInfoController.js +117 -1
  171. package/lib/controller/twilio/ChannelSettingsController.d.ts +16 -0
  172. package/lib/controller/twilio/ChannelSettingsController.js +142 -1
  173. package/lib/controller/twilio/CxConfigAssetController.d.ts +12 -0
  174. package/lib/controller/twilio/CxConfigAssetController.js +128 -1
  175. package/lib/controller/twilio/CxConfigController.d.ts +18 -0
  176. package/lib/controller/twilio/CxConfigController.js +112 -1
  177. package/lib/controller/twilio/CxConfigExternalNumbersController.d.ts +12 -0
  178. package/lib/controller/twilio/CxConfigExternalNumbersController.js +138 -1
  179. package/lib/controller/twilio/CxConfigOther.d.ts +16 -0
  180. package/lib/controller/twilio/CxConfigOther.js +128 -1
  181. package/lib/controller/twilio/CxConfigQueueMenuController.d.ts +12 -0
  182. package/lib/controller/twilio/CxConfigQueueMenuController.js +129 -1
  183. package/lib/controller/twilio/CxConfigUIconfigController.d.ts +12 -0
  184. package/lib/controller/twilio/CxConfigUIconfigController.js +132 -1
  185. package/lib/controller/twilio/GPMController.d.ts +12 -0
  186. package/lib/controller/twilio/GPMController.js +151 -1
  187. package/lib/controller/twilio/HoopBusinessHoursController.d.ts +18 -0
  188. package/lib/controller/twilio/HoopBusinessHoursController.js +285 -1
  189. package/lib/controller/twilio/HoopHolidaysController.d.ts +14 -0
  190. package/lib/controller/twilio/HoopHolidaysController.js +150 -1
  191. package/lib/controller/twilio/HoopMainController.d.ts +13 -0
  192. package/lib/controller/twilio/HoopMainController.js +297 -1
  193. package/lib/controller/twilio/HoopNotesController.d.ts +14 -0
  194. package/lib/controller/twilio/HoopNotesController.js +149 -1
  195. package/lib/controller/twilio/HoopOperationsController.d.ts +14 -0
  196. package/lib/controller/twilio/HoopOperationsController.js +138 -1
  197. package/lib/controller/twilio/HoopOverrideBranchesController.d.ts +14 -0
  198. package/lib/controller/twilio/HoopOverrideBranchesController.js +137 -1
  199. package/lib/controller/twilio/HoopPartialDaysController.d.ts +14 -0
  200. package/lib/controller/twilio/HoopPartialDaysController.js +150 -1
  201. package/lib/controller/twilio/HoopProfilesListController.d.ts +14 -0
  202. package/lib/controller/twilio/HoopProfilesListController.js +147 -1
  203. package/lib/controller/twilio/NavigationController.d.ts +13 -0
  204. package/lib/controller/twilio/NavigationController.js +170 -1
  205. package/lib/controller/twilio/QualityFormsController.d.ts +12 -0
  206. package/lib/controller/twilio/QualityFormsController.js +129 -1
  207. package/lib/controller/twilio/QuickLinkController.d.ts +11 -0
  208. package/lib/controller/twilio/QuickLinkController.js +122 -1
  209. package/lib/controller/twilio/RealTimeReportQueueDetailsController.d.ts +14 -0
  210. package/lib/controller/twilio/RealTimeReportQueueDetailsController.js +126 -1
  211. package/lib/controller/twilio/RealTimeReportsWGDetailsController.d.ts +53 -0
  212. package/lib/controller/twilio/RealTimeReportsWGDetailsController.js +160 -1
  213. package/lib/controller/twilio/TaskInfoPanelController.d.ts +15 -0
  214. package/lib/controller/twilio/TaskInfoPanelController.js +134 -1
  215. package/lib/controller/twilio/filterImpl/AgentScorecardFilter.d.ts +12 -0
  216. package/lib/controller/twilio/filterImpl/AgentScorecardFilter.js +52 -1
  217. package/lib/controller/twilio/filterImpl/AuditLogsFilter.d.ts +12 -0
  218. package/lib/controller/twilio/filterImpl/AuditLogsFilter.js +89 -1
  219. package/lib/controller/twilio/filterImpl/CXConfigPromptFilter.d.ts +12 -0
  220. package/lib/controller/twilio/filterImpl/CXConfigPromptFilter.js +81 -1
  221. package/lib/controller/twilio/filterImpl/CallLogsFilter.d.ts +20 -0
  222. package/lib/controller/twilio/filterImpl/CallLogsFilter.js +101 -1
  223. package/lib/controller/twilio/filterImpl/CxConfigAssetFilter.d.ts +12 -0
  224. package/lib/controller/twilio/filterImpl/CxConfigAssetFilter.js +59 -1
  225. package/lib/controller/twilio/filterImpl/CxConfigExternalNumbersFilter.d.ts +12 -0
  226. package/lib/controller/twilio/filterImpl/CxConfigExternalNumbersFilter.js +67 -1
  227. package/lib/controller/twilio/filterImpl/CxConfigOtherFilter.d.ts +14 -0
  228. package/lib/controller/twilio/filterImpl/CxConfigOtherFilter.js +52 -1
  229. package/lib/controller/twilio/filterImpl/CxConfigQueueMenuFilter.d.ts +17 -0
  230. package/lib/controller/twilio/filterImpl/CxConfigQueueMenuFilter.js +78 -1
  231. package/lib/controller/twilio/filterImpl/CxConfigUIconfigFilter.d.ts +12 -0
  232. package/lib/controller/twilio/filterImpl/CxConfigUIconfigFilter.js +51 -1
  233. package/lib/controller/twilio/filterImpl/HoopHolidaysFilter.d.ts +12 -0
  234. package/lib/controller/twilio/filterImpl/HoopHolidaysFilter.js +55 -1
  235. package/lib/controller/twilio/filterImpl/HoopNotesFilter.d.ts +12 -0
  236. package/lib/controller/twilio/filterImpl/HoopNotesFilter.js +51 -1
  237. package/lib/controller/twilio/filterImpl/HoopPartialDaysFilter.d.ts +12 -0
  238. package/lib/controller/twilio/filterImpl/HoopPartialDaysFilter.js +55 -1
  239. package/lib/controller/twilio/filterImpl/MainFilterService.d.ts +4 -0
  240. package/lib/controller/twilio/filterImpl/MainFilterService.js +108 -1
  241. package/lib/controller/twilio/filterImpl/NavigationFilter.d.ts +20 -0
  242. package/lib/controller/twilio/filterImpl/NavigationFilter.js +90 -1
  243. package/lib/controller/twilio/filterImpl/QueueDetailsFilter.d.ts +14 -0
  244. package/lib/controller/twilio/filterImpl/QueueDetailsFilter.js +53 -1
  245. package/lib/controller/twilio/filterImpl/TaskCompleteFilter.d.ts +12 -0
  246. package/lib/controller/twilio/filterImpl/TaskCompleteFilter.js +62 -1
  247. package/lib/controller/twilio/filterImpl/TaskInfoPanelFilter.d.ts +12 -0
  248. package/lib/controller/twilio/filterImpl/TaskInfoPanelFilter.js +52 -1
  249. package/lib/express/ApiResponse.d.ts +15 -0
  250. package/lib/express/ApiResponse.js +11 -1
  251. package/lib/express/RequestValidator.d.ts +50 -0
  252. package/lib/express/RequestValidator.js +77 -1
  253. package/lib/express/RequireParamsPicker.d.ts +7 -0
  254. package/lib/express/RequireParamsPicker.js +14 -1
  255. package/lib/express/ValidateRequireParameters.d.ts +3 -0
  256. package/lib/express/ValidateRequireParameters.js +39 -1
  257. package/lib/index.d.ts +39 -0
  258. package/lib/index.js +100 -1
  259. package/lib/models/BatchUpdateSkills.model.d.ts +0 -0
  260. package/lib/models/BatchUpdateSkills.model.js +11 -1
  261. package/lib/models/CannedMessage.model.d.ts +4 -0
  262. package/lib/models/CannedMessage.model.js +1 -1
  263. package/lib/models/ChannelSettingsTaskInfo.model.d.ts +87 -0
  264. package/lib/models/ChannelSettingsTaskInfo.model.js +1 -1
  265. package/lib/models/CustomerFeedback.model.d.ts +9 -0
  266. package/lib/models/CustomerFeedback.model.js +1 -1
  267. package/lib/models/Filter.model.d.ts +15 -0
  268. package/lib/models/Filter.model.js +2 -1
  269. package/lib/models/Hoop.model.d.ts +9 -0
  270. package/lib/models/Hoop.model.js +9 -1
  271. package/lib/models/Navigation.model.d.ts +28 -0
  272. package/lib/models/Navigation.model.js +8 -1
  273. package/lib/models/Roles.Model.d.ts +8 -0
  274. package/lib/models/Roles.Model.js +1 -1
  275. package/lib/models/abstract/BaseModel.d.ts +17 -0
  276. package/lib/models/abstract/BaseModel.js +40 -1
  277. package/lib/models/impl/AgentActionsLogsModel.d.ts +27 -0
  278. package/lib/models/impl/AgentActionsLogsModel.js +89 -1
  279. package/lib/models/impl/AgentActionsModel.d.ts +19 -0
  280. package/lib/models/impl/AgentActionsModel.js +60 -1
  281. package/lib/models/impl/AgentScorecardModel.d.ts +66 -0
  282. package/lib/models/impl/AgentScorecardModel.js +282 -1
  283. package/lib/models/impl/AuditLogsModel.d.ts +31 -0
  284. package/lib/models/impl/AuditLogsModel.js +146 -1
  285. package/lib/models/impl/CallLogsModel.d.ts +37 -0
  286. package/lib/models/impl/CallLogsModel.js +109 -1
  287. package/lib/models/impl/CallStatisticsModel.d.ts +16 -0
  288. package/lib/models/impl/CallStatisticsModel.js +52 -1
  289. package/lib/models/impl/CategoryDetailsModel.d.ts +17 -0
  290. package/lib/models/impl/CategoryDetailsModel.js +44 -1
  291. package/lib/models/impl/MemberModel.d.ts +42 -0
  292. package/lib/models/impl/MemberModel.js +170 -1
  293. package/lib/models/impl/ModelValidationError.d.ts +6 -0
  294. package/lib/models/impl/ModelValidationError.js +15 -1
  295. package/lib/models/impl/NavigationModel.d.ts +39 -0
  296. package/lib/models/impl/NavigationModel.js +126 -1
  297. package/lib/models/impl/PerformanceStatisticsModel.d.ts +41 -0
  298. package/lib/models/impl/PerformanceStatisticsModel.js +129 -1
  299. package/lib/models/impl/PlaybackScreenrecordings.d.ts +39 -0
  300. package/lib/models/impl/PlaybackScreenrecordings.js +133 -1
  301. package/lib/models/impl/ProfileModel.d.ts +23 -0
  302. package/lib/models/impl/ProfileModel.js +102 -1
  303. package/lib/models/impl/QualityFormsModel.d.ts +39 -0
  304. package/lib/models/impl/QualityFormsModel.js +150 -1
  305. package/lib/models/impl/QuestionDetailsModel.d.ts +39 -0
  306. package/lib/models/impl/QuestionDetailsModel.js +173 -1
  307. package/lib/models/impl/QueueDetailsModel.d.ts +63 -0
  308. package/lib/models/impl/QueueDetailsModel.js +261 -1
  309. package/lib/models/impl/QueueModel.d.ts +39 -0
  310. package/lib/models/impl/QueueModel.js +156 -1
  311. package/lib/models/impl/QuickLinkModel.d.ts +24 -0
  312. package/lib/models/impl/QuickLinkModel.js +122 -1
  313. package/lib/models/impl/StatisticsNumberDetailsModel.d.ts +18 -0
  314. package/lib/models/impl/StatisticsNumberDetailsModel.js +72 -1
  315. package/lib/models/impl/StatisticsTimeDetailsModel.d.ts +18 -0
  316. package/lib/models/impl/StatisticsTimeDetailsModel.js +72 -1
  317. package/lib/models/impl/TaskAttributesModel.d.ts +31 -0
  318. package/lib/models/impl/TaskAttributesModel.js +108 -1
  319. package/lib/models/impl/TaskChannelModel.d.ts +15 -0
  320. package/lib/models/impl/TaskChannelModel.js +69 -1
  321. package/lib/models/impl/TaskComplete.d.ts +0 -0
  322. package/lib/models/impl/TaskComplete.js +1 -1
  323. package/lib/models/impl/TaskInfoPanelModel.d.ts +16 -0
  324. package/lib/models/impl/TaskInfoPanelModel.js +69 -1
  325. package/lib/models/impl/TaskModel.d.ts +59 -0
  326. package/lib/models/impl/TaskModel.js +234 -1
  327. package/lib/models/impl/WorkGroupDetailsModel.d.ts +63 -0
  328. package/lib/models/impl/WorkGroupDetailsModel.js +281 -1
  329. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailModel.d.ts +33 -0
  330. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailModel.js +140 -1
  331. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailNamespace.d.ts +8 -0
  332. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailNamespace.js +12 -1
  333. package/lib/models/impl/callbackandvoicemail/CallbackModel.d.ts +19 -0
  334. package/lib/models/impl/callbackandvoicemail/CallbackModel.js +82 -1
  335. package/lib/models/impl/callbackandvoicemail/VoicemailModel.d.ts +25 -0
  336. package/lib/models/impl/callbackandvoicemail/VoicemailModel.js +108 -1
  337. package/lib/models/impl/channelsettings/ChannelSettingModel.d.ts +68 -0
  338. package/lib/models/impl/channelsettings/ChannelSettingModel.js +240 -1
  339. package/lib/models/impl/channelsettings/ChannelSettingTaskInfoModel.d.ts +31 -0
  340. package/lib/models/impl/channelsettings/ChannelSettingTaskInfoModel.js +106 -1
  341. package/lib/models/impl/channelsettings/TaskInfoAttributeModel.d.ts +25 -0
  342. package/lib/models/impl/channelsettings/TaskInfoAttributeModel.js +80 -1
  343. package/lib/models/impl/channelsettings/TaskInfoModel.d.ts +13 -0
  344. package/lib/models/impl/channelsettings/TaskInfoModel.js +52 -1
  345. package/lib/models/impl/cxconfig/CxConfigNamespace.d.ts +16 -0
  346. package/lib/models/impl/cxconfig/CxConfigNamespace.js +20 -1
  347. package/lib/models/impl/cxconfig/CxConfigUIConfigModel.d.ts +27 -0
  348. package/lib/models/impl/cxconfig/CxConfigUIConfigModel.js +180 -1
  349. package/lib/models/impl/cxconfig/CxConfiguratorConfigModel.d.ts +24 -0
  350. package/lib/models/impl/cxconfig/CxConfiguratorConfigModel.js +103 -1
  351. package/lib/models/impl/cxconfig/CxConfiguratorExternalNumbersModel.d.ts +24 -0
  352. package/lib/models/impl/cxconfig/CxConfiguratorExternalNumbersModel.js +149 -1
  353. package/lib/models/impl/cxconfig/CxConfiguratorGPMAssetModel.d.ts +27 -0
  354. package/lib/models/impl/cxconfig/CxConfiguratorGPMAssetModel.js +179 -1
  355. package/lib/models/impl/cxconfig/CxConfiguratorGPMPromptModel.d.ts +40 -0
  356. package/lib/models/impl/cxconfig/CxConfiguratorGPMPromptModel.js +213 -1
  357. package/lib/models/impl/cxconfig/CxConfiguratorOtherModel.d.ts +27 -0
  358. package/lib/models/impl/cxconfig/CxConfiguratorOtherModel.js +159 -1
  359. package/lib/models/impl/cxconfig/CxConfiguratorQueueMenuModel.d.ts +40 -0
  360. package/lib/models/impl/cxconfig/CxConfiguratorQueueMenuModel.js +128 -1
  361. package/lib/models/impl/hoop/HoopBusinessHoursModel.d.ts +39 -0
  362. package/lib/models/impl/hoop/HoopBusinessHoursModel.js +122 -1
  363. package/lib/models/impl/hoop/HoopDescriptionModel.d.ts +16 -0
  364. package/lib/models/impl/hoop/HoopDescriptionModel.js +64 -1
  365. package/lib/models/impl/hoop/HoopHolidaysImplModel.d.ts +25 -0
  366. package/lib/models/impl/hoop/HoopHolidaysImplModel.js +118 -1
  367. package/lib/models/impl/hoop/HoopNotesImplModel.d.ts +25 -0
  368. package/lib/models/impl/hoop/HoopNotesImplModel.js +117 -1
  369. package/lib/models/impl/hoop/HoopOperationsImplModel.d.ts +28 -0
  370. package/lib/models/impl/hoop/HoopOperationsImplModel.js +161 -1
  371. package/lib/models/impl/hoop/HoopOverrideImplModel.d.ts +22 -0
  372. package/lib/models/impl/hoop/HoopOverrideImplModel.js +143 -1
  373. package/lib/models/impl/hoop/HoopPartialDaysImplModel.d.ts +31 -0
  374. package/lib/models/impl/hoop/HoopPartialDaysImplModel.js +140 -1
  375. package/lib/models/impl/hoop/HoopProfilesListImplModel.d.ts +22 -0
  376. package/lib/models/impl/hoop/HoopProfilesListImplModel.js +104 -1
  377. package/lib/models/impl/hoop/HoopWeeklyTimingModel.d.ts +22 -0
  378. package/lib/models/impl/hoop/HoopWeeklyTimingModel.js +86 -1
  379. package/lib/models/index.d.ts +25 -0
  380. package/lib/models/index.js +53 -1
  381. package/lib/models/interface/IBaseModel.d.ts +11 -0
  382. package/lib/models/interface/IBaseModel.js +2 -1
  383. package/lib/models/types/AgentScorecard.type.d.ts +6 -0
  384. package/lib/models/types/AgentScorecard.type.js +7 -1
  385. package/lib/models/types/AuditLog.type.d.ts +13 -0
  386. package/lib/models/types/AuditLog.type.js +10 -1
  387. package/lib/models/types/CallLog.type.d.ts +16 -0
  388. package/lib/models/types/CallLog.type.js +10 -1
  389. package/lib/models/types/ChannelSetting.type.d.ts +7 -0
  390. package/lib/models/types/ChannelSetting.type.js +11 -1
  391. package/lib/models/types/CxConfig.type.d.ts +72 -0
  392. package/lib/models/types/CxConfig.type.js +43 -1
  393. package/lib/models/types/Hoop.type.d.ts +9 -0
  394. package/lib/models/types/Hoop.type.js +13 -1
  395. package/lib/models/types/Navigation.type.d.ts +11 -0
  396. package/lib/models/types/Navigation.type.js +8 -1
  397. package/lib/models/types/Profile.type.d.ts +1 -0
  398. package/lib/models/types/Profile.type.js +2 -1
  399. package/lib/models/types/QueueDetails.type.d.ts +6 -0
  400. package/lib/models/types/QueueDetails.type.js +7 -1
  401. package/lib/models/types/TaskComplete.type.d.ts +7 -0
  402. package/lib/models/types/TaskComplete.type.js +6 -1
  403. package/lib/models/types/TaskInfoPanel.type.d.ts +6 -0
  404. package/lib/models/types/TaskInfoPanel.type.js +7 -1
  405. package/lib/server.d.ts +1 -0
  406. package/lib/server.js +39 -1
  407. package/lib/twilio/abstract/ServiceObjectStore.d.ts +6 -0
  408. package/lib/twilio/abstract/ServiceObjectStore.js +10 -1
  409. package/lib/twilio/abstract/ServiceOpenRequest.d.ts +7 -0
  410. package/lib/twilio/abstract/ServiceOpenRequest.js +10 -1
  411. package/lib/twilio/abstract/ServiceRequest.d.ts +3 -0
  412. package/lib/twilio/abstract/ServiceRequest.js +7 -1
  413. package/lib/twilio/abstract/ServiceResource.d.ts +23 -0
  414. package/lib/twilio/abstract/ServiceResource.js +37 -1
  415. package/lib/twilio/abstract/ServiceResourceFactory.d.ts +15 -0
  416. package/lib/twilio/abstract/ServiceResourceFactory.js +18 -1
  417. package/lib/twilio/abstract/ServiceTransaction.d.ts +6 -0
  418. package/lib/twilio/abstract/ServiceTransaction.js +11 -1
  419. package/lib/twilio/abstract/SyncServiceItemResource.d.ts +31 -0
  420. package/lib/twilio/abstract/SyncServiceItemResource.js +60 -1
  421. package/lib/twilio/abstract/TwilioClientConfig.d.ts +0 -0
  422. package/lib/twilio/abstract/TwilioClientConfig.js +1 -1
  423. package/lib/twilio/impl/TwilioAPIKeyConfig.d.ts +14 -0
  424. package/lib/twilio/impl/TwilioAPIKeyConfig.js +31 -1
  425. package/lib/twilio/impl/TwilioAuthTokenConfig.d.ts +11 -0
  426. package/lib/twilio/impl/TwilioAuthTokenConfig.js +24 -1
  427. package/lib/twilio/impl/TwilioClient.d.ts +6 -0
  428. package/lib/twilio/impl/TwilioClient.js +21 -1
  429. package/lib/twilio/impl/message/messageService.d.ts +0 -0
  430. package/lib/twilio/impl/message/messageService.js +42 -1
  431. package/lib/twilio/impl/sync/SyncDocument.d.ts +24 -0
  432. package/lib/twilio/impl/sync/SyncDocument.js +52 -1
  433. package/lib/twilio/impl/sync/SyncDocumentTransaction.d.ts +20 -0
  434. package/lib/twilio/impl/sync/SyncDocumentTransaction.js +31 -1
  435. package/lib/twilio/impl/sync/SyncList.d.ts +24 -0
  436. package/lib/twilio/impl/sync/SyncList.js +52 -1
  437. package/lib/twilio/impl/sync/SyncListItem.d.ts +5 -0
  438. package/lib/twilio/impl/sync/SyncListItem.js +22 -1
  439. package/lib/twilio/impl/sync/SyncListTransaction.d.ts +20 -0
  440. package/lib/twilio/impl/sync/SyncListTransaction.js +31 -1
  441. package/lib/twilio/impl/sync/SyncMap.d.ts +25 -0
  442. package/lib/twilio/impl/sync/SyncMap.js +139 -1
  443. package/lib/twilio/impl/sync/SyncMapItem.d.ts +5 -0
  444. package/lib/twilio/impl/sync/SyncMapItem.js +7 -1
  445. package/lib/twilio/impl/sync/SyncMapTransaction.d.ts +22 -0
  446. package/lib/twilio/impl/sync/SyncMapTransaction.js +38 -1
  447. package/lib/twilio/impl/sync/SyncOpenRequest.d.ts +18 -0
  448. package/lib/twilio/impl/sync/SyncOpenRequest.js +24 -1
  449. package/lib/twilio/impl/sync/SyncRequest.d.ts +16 -0
  450. package/lib/twilio/impl/sync/SyncRequest.js +21 -1
  451. package/lib/twilio/impl/sync/SyncResource.d.ts +50 -0
  452. package/lib/twilio/impl/sync/SyncResource.js +97 -1
  453. package/lib/twilio/impl/sync/SyncServiceFactory.d.ts +22 -0
  454. package/lib/twilio/impl/sync/SyncServiceFactory.js +117 -1
  455. package/lib/twilio/interface/IDirection.d.ts +2 -0
  456. package/lib/twilio/interface/IDirection.js +2 -1
  457. package/lib/twilio/interface/ILink.d.ts +2 -0
  458. package/lib/twilio/interface/ILink.js +2 -1
  459. package/lib/twilio/interface/IServiceDBOpenRequest.d.ts +3 -0
  460. package/lib/twilio/interface/IServiceDBOpenRequest.js +2 -1
  461. package/lib/twilio/interface/IServiceObjectStore.d.ts +3 -0
  462. package/lib/twilio/interface/IServiceObjectStore.js +2 -1
  463. package/lib/twilio/interface/IServiceObjectStoreParameters.d.ts +4 -0
  464. package/lib/twilio/interface/IServiceObjectStoreParameters.js +2 -1
  465. package/lib/twilio/interface/IServiceRequest.d.ts +3 -0
  466. package/lib/twilio/interface/IServiceRequest.js +2 -1
  467. package/lib/twilio/interface/IServiceResource.d.ts +8 -0
  468. package/lib/twilio/interface/IServiceResource.js +2 -1
  469. package/lib/twilio/interface/IServiceTransation.d.ts +3 -0
  470. package/lib/twilio/interface/IServiceTransation.js +2 -1
  471. package/lib/twilio/interface/ISubResourceUri.d.ts +2 -0
  472. package/lib/twilio/interface/ISubResourceUri.js +2 -1
  473. package/lib/twilio/interface/ISyncItemData.d.ts +0 -0
  474. package/lib/twilio/interface/ISyncItemData.js +1 -1
  475. package/lib/twilio/interface/ISyncObjectStoreParameters.d.ts +0 -0
  476. package/lib/twilio/interface/ISyncObjectStoreParameters.js +1 -1
  477. package/lib/twilio/interface/ISyncTransactionOptions.d.ts +4 -0
  478. package/lib/twilio/interface/ISyncTransactionOptions.js +2 -1
  479. package/package.json +9 -5
  480. package/lib/models/abstract/BaseModelOld.js +0 -1
@@ -1 +1,15 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.ModelValidationError=void 0;const r=require("../../common/abstract/CommonError"),o=require("../../common/enum/ErrorTypes");class e extends r.CommonError{constructor(r){r.type=o.ErrorTypes.ValidationError,super(r)}handleError(r){throw new Error("Method not implemented.")}}exports.ModelValidationError=e;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModelValidationError = void 0;
4
+ const CommonError_1 = require("../../common/abstract/CommonError");
5
+ const ErrorTypes_1 = require("../../common/enum/ErrorTypes");
6
+ class ModelValidationError extends CommonError_1.CommonError {
7
+ constructor(error) {
8
+ error.type = ErrorTypes_1.ErrorTypes.ValidationError;
9
+ super(error);
10
+ }
11
+ handleError(error) {
12
+ throw new Error("Method not implemented.");
13
+ }
14
+ }
15
+ exports.ModelValidationError = ModelValidationError;
@@ -0,0 +1,39 @@
1
+ import { BaseModel } from "../abstract/BaseModel";
2
+ import { validationMessage } from "../interface/IBaseModel";
3
+ export declare class NavigationModel extends BaseModel {
4
+ private _id;
5
+ private _name;
6
+ private _isEnabled;
7
+ private _visible;
8
+ private _appliedVersion;
9
+ private _latestVersion;
10
+ private _dateOflatestVersion;
11
+ private _description;
12
+ private _route;
13
+ private _createdAt;
14
+ private _updatedAt;
15
+ constructor(id: string, name: string, isEnabled: boolean, visible: boolean, appliedVersion: string, latestVersion: string, dateOflatestVersion: string, description: string, route: string, createdAt: Date | undefined, updatedAt: Date | undefined);
16
+ get id(): string;
17
+ set id(value: string);
18
+ get name(): string;
19
+ set name(value: string);
20
+ get isEnabled(): boolean;
21
+ set isEnabled(value: boolean);
22
+ get visible(): boolean;
23
+ set visible(value: boolean);
24
+ get appliedVersion(): string;
25
+ set appliedVersion(value: string);
26
+ get latestVersion(): string;
27
+ set latestVersion(value: string);
28
+ get dateOflatestVersion(): string;
29
+ set dateOflatestVersion(value: string);
30
+ get description(): string;
31
+ set description(value: string);
32
+ get route(): string;
33
+ set route(value: string);
34
+ get createdAt(): Date | undefined;
35
+ set createdAt(value: Date | undefined);
36
+ get updatedAt(): Date | undefined;
37
+ set updatedAt(value: Date | undefined);
38
+ validateData(): validationMessage[];
39
+ }
@@ -1 +1,126 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.NavigationModel=void 0;const t=require("../abstract/BaseModel");class e extends t.BaseModel{constructor(t,e,i,s,r,a,n,o,d,l,p){super(),this._id=t,this._name=e,this._isEnabled=i,this._visible=s,this._appliedVersion=r,this._latestVersion=a,this._dateOflatestVersion=n,this._description=o,this._route=d,this._createdAt=l,this._updatedAt=p}get id(){return this._id}set id(t){this._id=t}get name(){return this._name}set name(t){this._name=t}get isEnabled(){return this._isEnabled}set isEnabled(t){this._isEnabled=t}get visible(){return this._visible}set visible(t){this._visible=t}get appliedVersion(){return this._appliedVersion}set appliedVersion(t){this._appliedVersion=t}get latestVersion(){return this._latestVersion}set latestVersion(t){this._latestVersion=t}get dateOflatestVersion(){return this._dateOflatestVersion}set dateOflatestVersion(t){this._dateOflatestVersion=t}get description(){return this._description}set description(t){this._description=t}get route(){return this._route}set route(t){this._route=t}get createdAt(){return this._createdAt}set createdAt(t){this._createdAt=t}get updatedAt(){return this._updatedAt}set updatedAt(t){this._updatedAt=t}validateData(){this.validationMessages=[];const t={id:t=>"string"==typeof t&&""!==t.trim(),name:t=>"string"==typeof t&&""!==t.trim(),isEnabled:t=>"boolean"==typeof t,visible:t=>"boolean"==typeof t,appliedVersion:t=>"string"==typeof t&&""!==t.trim(),description:t=>"string"==typeof t&&""!==t.trim(),latestVersion:t=>"string"==typeof t&&""!==t.trim(),dateOflatestVersion:t=>"string"==typeof t&&""!==t.trim(),route:t=>"string"==typeof t,createdAt:t=>{const e=new Date(t);return e instanceof Date&&!isNaN(e.getTime())},updatedAt:t=>{const e=new Date(t);return e instanceof Date&&!isNaN(e.getTime())}};for(const e in t){if(!t.hasOwnProperty(e))continue;(0,t[e])(this[e])||(console.error(`Validation failed for property "${e}".`),this.validationMessages.push({type:"Error",fieldDescription:e,message:`${e} is not valid`}))}return this.validationMessages}}exports.NavigationModel=e;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NavigationModel = void 0;
4
+ const BaseModel_1 = require("../abstract/BaseModel");
5
+ class NavigationModel extends BaseModel_1.BaseModel {
6
+ constructor(id, name, isEnabled, visible, appliedVersion, latestVersion, dateOflatestVersion, description, route, createdAt, updatedAt) {
7
+ super();
8
+ this._id = id;
9
+ this._name = name;
10
+ this._isEnabled = isEnabled;
11
+ this._visible = visible;
12
+ this._appliedVersion = appliedVersion;
13
+ this._latestVersion = latestVersion;
14
+ this._dateOflatestVersion = dateOflatestVersion;
15
+ this._description = description;
16
+ this._route = route;
17
+ this._createdAt = createdAt;
18
+ this._updatedAt = updatedAt;
19
+ }
20
+ // Getters and Setters
21
+ get id() {
22
+ return this._id;
23
+ }
24
+ set id(value) {
25
+ this._id = value;
26
+ }
27
+ get name() {
28
+ return this._name;
29
+ }
30
+ set name(value) {
31
+ this._name = value;
32
+ }
33
+ get isEnabled() {
34
+ return this._isEnabled;
35
+ }
36
+ set isEnabled(value) {
37
+ this._isEnabled = value;
38
+ }
39
+ get visible() {
40
+ return this._visible;
41
+ }
42
+ set visible(value) {
43
+ this._visible = value;
44
+ }
45
+ get appliedVersion() {
46
+ return this._appliedVersion;
47
+ }
48
+ set appliedVersion(value) {
49
+ this._appliedVersion = value;
50
+ }
51
+ get latestVersion() {
52
+ return this._latestVersion;
53
+ }
54
+ set latestVersion(value) {
55
+ this._latestVersion = value;
56
+ }
57
+ get dateOflatestVersion() {
58
+ return this._dateOflatestVersion;
59
+ }
60
+ set dateOflatestVersion(value) {
61
+ this._dateOflatestVersion = value;
62
+ }
63
+ get description() {
64
+ return this._description;
65
+ }
66
+ set description(value) {
67
+ this._description = value;
68
+ }
69
+ get route() {
70
+ return this._route;
71
+ }
72
+ set route(value) {
73
+ this._route = value;
74
+ }
75
+ get createdAt() {
76
+ return this._createdAt;
77
+ }
78
+ set createdAt(value) {
79
+ this._createdAt = value;
80
+ }
81
+ get updatedAt() {
82
+ return this._updatedAt;
83
+ }
84
+ set updatedAt(value) {
85
+ this._updatedAt = value;
86
+ }
87
+ // Validation method
88
+ validateData() {
89
+ this.validationMessages = [];
90
+ const validationRules = {
91
+ id: (value) => typeof value === "string" && value.trim() !== "",
92
+ name: (value) => typeof value === "string" && value.trim() !== "",
93
+ isEnabled: (value) => typeof value === "boolean",
94
+ visible: (value) => typeof value === "boolean",
95
+ appliedVersion: (value) => typeof value === "string" && value.trim() !== "",
96
+ description: (value) => typeof value === "string" && value.trim() !== "",
97
+ latestVersion: (value) => typeof value === "string" && value.trim() !== "",
98
+ dateOflatestVersion: (value) => typeof value === "string" && value.trim() !== "",
99
+ route: (value) => typeof value === "string",
100
+ createdAt: (value) => {
101
+ const parsedDate = new Date(value);
102
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
103
+ },
104
+ updatedAt: (value) => {
105
+ const parsedDate = new Date(value);
106
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
107
+ },
108
+ };
109
+ for (const key in validationRules) {
110
+ if (!validationRules.hasOwnProperty(key))
111
+ continue;
112
+ const validator = validationRules[key];
113
+ const value = this[key]; // Dynamically access the property
114
+ if (!validator(value)) {
115
+ console.error(`Validation failed for property "${key}".`);
116
+ this.validationMessages.push({
117
+ type: "Error",
118
+ fieldDescription: key,
119
+ message: `${key} is not valid`,
120
+ });
121
+ }
122
+ }
123
+ return this.validationMessages;
124
+ }
125
+ }
126
+ exports.NavigationModel = NavigationModel;
@@ -0,0 +1,41 @@
1
+ import { BaseModel } from "../abstract/BaseModel";
2
+ import { validationMessage } from "../interface/IBaseModel";
3
+ import { StatisticsTimeDetailsModel } from "./StatisticsTimeDetailsModel";
4
+ import { StatisticsNumberDetailsModel } from "./StatisticsNumberDetailsModel";
5
+ export declare class PerformanceStatisticsModel extends BaseModel {
6
+ private _averageWaitTime;
7
+ private _longestWaitTime;
8
+ private _averageHoldTime;
9
+ private _longestHoldTime;
10
+ private _averageTalkTime;
11
+ private _longestTalkTime;
12
+ private _serviceLevel;
13
+ private _abandonRate;
14
+ private _longestInboundAcdInteraction;
15
+ private _longestNonAcdInteraction;
16
+ private _longestOutboundAcdInteraction;
17
+ constructor(averageWaitTime: StatisticsTimeDetailsModel, longestWaitTime: StatisticsTimeDetailsModel, averageHoldTime: StatisticsTimeDetailsModel, longestHoldTime: StatisticsTimeDetailsModel, averageTalkTime: StatisticsTimeDetailsModel, longestTalkTime: StatisticsTimeDetailsModel, serviceLevel: StatisticsNumberDetailsModel, abandonRate: StatisticsNumberDetailsModel, longestInboundAcdInteraction: StatisticsTimeDetailsModel, longestNonAcdInteraction: StatisticsTimeDetailsModel, longestOutboundAcdInteraction: StatisticsTimeDetailsModel);
18
+ get averageWaitTime(): StatisticsTimeDetailsModel;
19
+ set averageWaitTime(value: StatisticsTimeDetailsModel);
20
+ get longestWaitTime(): StatisticsTimeDetailsModel;
21
+ set longestWaitTime(value: StatisticsTimeDetailsModel);
22
+ get averageHoldTime(): StatisticsTimeDetailsModel;
23
+ set averageHoldTime(value: StatisticsTimeDetailsModel);
24
+ get longestHoldTime(): StatisticsTimeDetailsModel;
25
+ set longestHoldTime(value: StatisticsTimeDetailsModel);
26
+ get averageTalkTime(): StatisticsTimeDetailsModel;
27
+ set averageTalkTime(value: StatisticsTimeDetailsModel);
28
+ get longestTalkTime(): StatisticsTimeDetailsModel;
29
+ set longestTalkTime(value: StatisticsTimeDetailsModel);
30
+ get serviceLevel(): StatisticsNumberDetailsModel;
31
+ set serviceLevel(value: StatisticsNumberDetailsModel);
32
+ get abandonRate(): StatisticsNumberDetailsModel;
33
+ set abandonRate(value: StatisticsNumberDetailsModel);
34
+ get longestInboundAcdInteraction(): StatisticsTimeDetailsModel;
35
+ set longestInboundAcdInteraction(value: StatisticsTimeDetailsModel);
36
+ get longestNonAcdInteraction(): StatisticsTimeDetailsModel;
37
+ set longestNonAcdInteraction(value: StatisticsTimeDetailsModel);
38
+ get longestOutboundAcdInteraction(): StatisticsTimeDetailsModel;
39
+ set longestOutboundAcdInteraction(value: StatisticsTimeDetailsModel);
40
+ validateData(): validationMessage[];
41
+ }
@@ -1 +1,129 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.PerformanceStatisticsModel=void 0;const e=require("../abstract/BaseModel"),t=require("./StatisticsTimeDetailsModel"),i=require("./StatisticsNumberDetailsModel");class s extends e.BaseModel{constructor(e,t,i,s,a,n,o,r,l,d,g){super(),this._averageWaitTime=e,this._longestWaitTime=t,this._averageHoldTime=i,this._longestHoldTime=s,this._averageTalkTime=a,this._longestTalkTime=n,this._serviceLevel=o,this._abandonRate=r,this._longestInboundAcdInteraction=l,this._longestNonAcdInteraction=d,this._longestOutboundAcdInteraction=g}get averageWaitTime(){return this._averageWaitTime}set averageWaitTime(e){this._averageWaitTime=e}get longestWaitTime(){return this._longestWaitTime}set longestWaitTime(e){this._longestWaitTime=e}get averageHoldTime(){return this._averageHoldTime}set averageHoldTime(e){this._averageHoldTime=e}get longestHoldTime(){return this._longestHoldTime}set longestHoldTime(e){this._longestHoldTime=e}get averageTalkTime(){return this._averageTalkTime}set averageTalkTime(e){this._averageTalkTime=e}get longestTalkTime(){return this._longestTalkTime}set longestTalkTime(e){this._longestTalkTime=e}get serviceLevel(){return this._serviceLevel}set serviceLevel(e){this._serviceLevel=e}get abandonRate(){return this._abandonRate}set abandonRate(e){this._abandonRate=e}get longestInboundAcdInteraction(){return this._longestInboundAcdInteraction}set longestInboundAcdInteraction(e){this._longestInboundAcdInteraction=e}get longestNonAcdInteraction(){return this._longestNonAcdInteraction}set longestNonAcdInteraction(e){this._longestNonAcdInteraction=e}get longestOutboundAcdInteraction(){return this._longestOutboundAcdInteraction}set longestOutboundAcdInteraction(e){this._longestOutboundAcdInteraction=e}validateData(){this.validationMessages=[];return[this._averageWaitTime,this._longestWaitTime,this._averageHoldTime,this._longestHoldTime,this._averageTalkTime,this._longestTalkTime,this._longestInboundAcdInteraction,this._longestNonAcdInteraction,this._longestOutboundAcdInteraction].forEach(((e,i)=>{e instanceof t.StatisticsTimeDetailsModel||this.validationMessages.push({type:"Error",fieldDescription:`Field at index ${i}`,message:"Invalid StatisticsTimeDetailsModel instance"})})),this._serviceLevel instanceof i.StatisticsNumberDetailsModel||this.validationMessages.push({type:"Error",fieldDescription:"serviceLevel",message:"Invalid StatisticsNumberDetailsModel instance"}),this._abandonRate instanceof i.StatisticsNumberDetailsModel||this.validationMessages.push({type:"Error",fieldDescription:"abandonRate",message:"Invalid StatisticsNumberDetailsModel instance"}),this.validationMessages}}exports.PerformanceStatisticsModel=s;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PerformanceStatisticsModel = void 0;
4
+ const BaseModel_1 = require("../abstract/BaseModel");
5
+ const StatisticsTimeDetailsModel_1 = require("./StatisticsTimeDetailsModel");
6
+ const StatisticsNumberDetailsModel_1 = require("./StatisticsNumberDetailsModel");
7
+ class PerformanceStatisticsModel extends BaseModel_1.BaseModel {
8
+ constructor(averageWaitTime, longestWaitTime, averageHoldTime, longestHoldTime, averageTalkTime, longestTalkTime, serviceLevel, abandonRate, longestInboundAcdInteraction, longestNonAcdInteraction, longestOutboundAcdInteraction) {
9
+ super();
10
+ this._averageWaitTime = averageWaitTime;
11
+ this._longestWaitTime = longestWaitTime;
12
+ this._averageHoldTime = averageHoldTime;
13
+ this._longestHoldTime = longestHoldTime;
14
+ this._averageTalkTime = averageTalkTime;
15
+ this._longestTalkTime = longestTalkTime;
16
+ this._serviceLevel = serviceLevel;
17
+ this._abandonRate = abandonRate;
18
+ this._longestInboundAcdInteraction = longestInboundAcdInteraction;
19
+ this._longestNonAcdInteraction = longestNonAcdInteraction;
20
+ this._longestOutboundAcdInteraction = longestOutboundAcdInteraction;
21
+ }
22
+ // Getters and Setters
23
+ get averageWaitTime() {
24
+ return this._averageWaitTime;
25
+ }
26
+ set averageWaitTime(value) {
27
+ this._averageWaitTime = value;
28
+ }
29
+ get longestWaitTime() {
30
+ return this._longestWaitTime;
31
+ }
32
+ set longestWaitTime(value) {
33
+ this._longestWaitTime = value;
34
+ }
35
+ get averageHoldTime() {
36
+ return this._averageHoldTime;
37
+ }
38
+ set averageHoldTime(value) {
39
+ this._averageHoldTime = value;
40
+ }
41
+ get longestHoldTime() {
42
+ return this._longestHoldTime;
43
+ }
44
+ set longestHoldTime(value) {
45
+ this._longestHoldTime = value;
46
+ }
47
+ get averageTalkTime() {
48
+ return this._averageTalkTime;
49
+ }
50
+ set averageTalkTime(value) {
51
+ this._averageTalkTime = value;
52
+ }
53
+ get longestTalkTime() {
54
+ return this._longestTalkTime;
55
+ }
56
+ set longestTalkTime(value) {
57
+ this._longestTalkTime = value;
58
+ }
59
+ get serviceLevel() {
60
+ return this._serviceLevel;
61
+ }
62
+ set serviceLevel(value) {
63
+ this._serviceLevel = value;
64
+ }
65
+ get abandonRate() {
66
+ return this._abandonRate;
67
+ }
68
+ set abandonRate(value) {
69
+ this._abandonRate = value;
70
+ }
71
+ get longestInboundAcdInteraction() {
72
+ return this._longestInboundAcdInteraction;
73
+ }
74
+ set longestInboundAcdInteraction(value) {
75
+ this._longestInboundAcdInteraction = value;
76
+ }
77
+ get longestNonAcdInteraction() {
78
+ return this._longestNonAcdInteraction;
79
+ }
80
+ set longestNonAcdInteraction(value) {
81
+ this._longestNonAcdInteraction = value;
82
+ }
83
+ get longestOutboundAcdInteraction() {
84
+ return this._longestOutboundAcdInteraction;
85
+ }
86
+ set longestOutboundAcdInteraction(value) {
87
+ this._longestOutboundAcdInteraction = value;
88
+ }
89
+ // Validation Method
90
+ validateData() {
91
+ this.validationMessages = [];
92
+ const timeDetailsFields = [
93
+ this._averageWaitTime,
94
+ this._longestWaitTime,
95
+ this._averageHoldTime,
96
+ this._longestHoldTime,
97
+ this._averageTalkTime,
98
+ this._longestTalkTime,
99
+ this._longestInboundAcdInteraction,
100
+ this._longestNonAcdInteraction,
101
+ this._longestOutboundAcdInteraction,
102
+ ];
103
+ timeDetailsFields.forEach((field, index) => {
104
+ if (!(field instanceof StatisticsTimeDetailsModel_1.StatisticsTimeDetailsModel)) {
105
+ this.validationMessages.push({
106
+ type: "Error",
107
+ fieldDescription: `Field at index ${index}`,
108
+ message: "Invalid StatisticsTimeDetailsModel instance",
109
+ });
110
+ }
111
+ });
112
+ if (!(this._serviceLevel instanceof StatisticsNumberDetailsModel_1.StatisticsNumberDetailsModel)) {
113
+ this.validationMessages.push({
114
+ type: "Error",
115
+ fieldDescription: "serviceLevel",
116
+ message: "Invalid StatisticsNumberDetailsModel instance",
117
+ });
118
+ }
119
+ if (!(this._abandonRate instanceof StatisticsNumberDetailsModel_1.StatisticsNumberDetailsModel)) {
120
+ this.validationMessages.push({
121
+ type: "Error",
122
+ fieldDescription: "abandonRate",
123
+ message: "Invalid StatisticsNumberDetailsModel instance",
124
+ });
125
+ }
126
+ return this.validationMessages;
127
+ }
128
+ }
129
+ exports.PerformanceStatisticsModel = PerformanceStatisticsModel;
@@ -0,0 +1,39 @@
1
+ import { BaseModel } from "../abstract/BaseModel";
2
+ import { validationMessage } from "../interface/IBaseModel";
3
+ export declare class PlaybackScreenrecordingsModel extends BaseModel {
4
+ private _id;
5
+ private _estDateTime;
6
+ private _utcDateTime;
7
+ private _agent;
8
+ private _customer;
9
+ private _direction;
10
+ private _recordingSid;
11
+ private _reservationSid;
12
+ private _recordingLink;
13
+ private _createdAt;
14
+ private _updatedAt;
15
+ constructor(id: string, estDateTime: Date | undefined, utcDateTime: Date | undefined, agent: string, customer: string, direction: "Inbound" | "Outbound", recordingSid: string, reservationSid: string, recordingLink: string, createdAt: Date | undefined, updatedAt: Date | undefined);
16
+ get id(): string;
17
+ set id(value: string);
18
+ get estDateTime(): Date | undefined;
19
+ set estDateTime(value: Date | undefined);
20
+ get utcDateTime(): Date | undefined;
21
+ set utcDateTime(value: Date | undefined);
22
+ get agent(): string;
23
+ set agent(value: string);
24
+ get customer(): string;
25
+ set customer(value: string);
26
+ get direction(): "Inbound" | "Outbound";
27
+ set direction(value: "Inbound" | "Outbound");
28
+ get recordingSid(): string;
29
+ set recordingSid(value: string);
30
+ get reservationSid(): string;
31
+ set reservationSid(value: string);
32
+ get recordingLink(): string;
33
+ set recordingLink(value: string);
34
+ get createdAt(): Date | undefined;
35
+ set createdAt(value: Date | undefined);
36
+ get updatedAt(): Date | undefined;
37
+ set updatedAt(value: Date | undefined);
38
+ validateData(): validationMessage[];
39
+ }
@@ -1 +1,133 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.PlaybackScreenrecordingsModel=void 0;const t=require("../abstract/BaseModel"),e=require("uuid");class i extends t.BaseModel{constructor(t,e,i,r,s,n,a,o,d,c,u){super(),this._id=t,this._estDateTime=e,this._utcDateTime=i,this._agent=r,this._customer=s,this._direction=n,this._recordingSid=a,this._reservationSid=o,this._recordingLink=d,this._createdAt=c,this._updatedAt=u}get id(){return this._id}set id(t){this._id=t}get estDateTime(){return this._estDateTime}set estDateTime(t){this._estDateTime=t}get utcDateTime(){return this._utcDateTime}set utcDateTime(t){this._utcDateTime=t}get agent(){return this._agent}set agent(t){this._agent=t}get customer(){return this._customer}set customer(t){this._customer=t}get direction(){return this._direction}set direction(t){this._direction=t}get recordingSid(){return this._recordingSid}set recordingSid(t){this._recordingSid=t}get reservationSid(){return this._reservationSid}set reservationSid(t){this._reservationSid=t}get recordingLink(){return this._recordingLink}set recordingLink(t){this._recordingLink=t}get createdAt(){return this._createdAt}set createdAt(t){this._createdAt=t}get updatedAt(){return this._updatedAt}set updatedAt(t){this._updatedAt=t}validateData(){this.validationMessages=[];const t={id:t=>"string"==typeof t&&""!==t.trim()&&(0,e.validate)(t),estDateTime:t=>{const e=new Date(t);return e instanceof Date&&!isNaN(e.getTime())},utcDateTime:t=>{const e=new Date(t);return e instanceof Date&&!isNaN(e.getTime())},agent:t=>"string"==typeof t&&""!==t.trim(),customer:t=>"string"==typeof t&&""!==t.trim(),direction:t=>"Inbound"===t||"Outbound"===t,recordingSid:t=>"string"==typeof t&&""!==t.trim(),reservationSid:t=>"string"==typeof t&&""!==t.trim(),recordingLink:t=>"string"==typeof t&&""!==t.trim(),createdAt:t=>{const e=new Date(t);return e instanceof Date&&!isNaN(e.getTime())},updatedAt:t=>{const e=new Date(t);return e instanceof Date&&!isNaN(e.getTime())}};for(const e in t){if(!t.hasOwnProperty(e))continue;(0,t[e])(this[e])||(console.error(`Validation failed for property "${e}".`),this.validationMessages.push({type:"Error",fieldDescription:e,message:`${e} is not valid`}))}return this.validationMessages}}exports.PlaybackScreenrecordingsModel=i;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlaybackScreenrecordingsModel = void 0;
4
+ const BaseModel_1 = require("../abstract/BaseModel");
5
+ const uuid_1 = require("uuid");
6
+ class PlaybackScreenrecordingsModel extends BaseModel_1.BaseModel {
7
+ constructor(id, estDateTime, utcDateTime, agent, customer, direction, recordingSid, reservationSid, recordingLink, createdAt, updatedAt) {
8
+ super();
9
+ this._id = id;
10
+ this._estDateTime = estDateTime;
11
+ this._utcDateTime = utcDateTime;
12
+ this._agent = agent;
13
+ this._customer = customer;
14
+ this._direction = direction;
15
+ this._recordingSid = recordingSid;
16
+ this._reservationSid = reservationSid;
17
+ this._recordingLink = recordingLink;
18
+ this._createdAt = createdAt;
19
+ this._updatedAt = updatedAt;
20
+ }
21
+ // Getters and Setters
22
+ get id() {
23
+ return this._id;
24
+ }
25
+ set id(value) {
26
+ this._id = value;
27
+ }
28
+ get estDateTime() {
29
+ return this._estDateTime;
30
+ }
31
+ set estDateTime(value) {
32
+ this._estDateTime = value;
33
+ }
34
+ get utcDateTime() {
35
+ return this._utcDateTime;
36
+ }
37
+ set utcDateTime(value) {
38
+ this._utcDateTime = value;
39
+ }
40
+ get agent() {
41
+ return this._agent;
42
+ }
43
+ set agent(value) {
44
+ this._agent = value;
45
+ }
46
+ get customer() {
47
+ return this._customer;
48
+ }
49
+ set customer(value) {
50
+ this._customer = value;
51
+ }
52
+ get direction() {
53
+ return this._direction;
54
+ }
55
+ set direction(value) {
56
+ this._direction = value;
57
+ }
58
+ get recordingSid() {
59
+ return this._recordingSid;
60
+ }
61
+ set recordingSid(value) {
62
+ this._recordingSid = value;
63
+ }
64
+ get reservationSid() {
65
+ return this._reservationSid;
66
+ }
67
+ set reservationSid(value) {
68
+ this._reservationSid = value;
69
+ }
70
+ get recordingLink() {
71
+ return this._recordingLink;
72
+ }
73
+ set recordingLink(value) {
74
+ this._recordingLink = value;
75
+ }
76
+ get createdAt() {
77
+ return this._createdAt;
78
+ }
79
+ set createdAt(value) {
80
+ this._createdAt = value;
81
+ }
82
+ get updatedAt() {
83
+ return this._updatedAt;
84
+ }
85
+ set updatedAt(value) {
86
+ this._updatedAt = value;
87
+ }
88
+ // Method to validate data based on predefined rules
89
+ validateData() {
90
+ this.validationMessages = [];
91
+ const validationRules = {
92
+ id: (value) => typeof value === "string" && value.trim() !== "" && (0, uuid_1.validate)(value),
93
+ estDateTime: (value) => {
94
+ const parsedDate = new Date(value);
95
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
96
+ },
97
+ utcDateTime: (value) => {
98
+ const parsedDate = new Date(value);
99
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
100
+ },
101
+ agent: (value) => typeof value === "string" && value.trim() !== "",
102
+ customer: (value) => typeof value === "string" && value.trim() !== "",
103
+ direction: (value) => value === "Inbound" || value === "Outbound",
104
+ recordingSid: (value) => typeof value === "string" && value.trim() !== "",
105
+ reservationSid: (value) => typeof value === "string" && value.trim() !== "",
106
+ recordingLink: (value) => typeof value === "string" && value.trim() !== "",
107
+ createdAt: (value) => {
108
+ const parsedDate = new Date(value);
109
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
110
+ },
111
+ updatedAt: (value) => {
112
+ const parsedDate = new Date(value);
113
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
114
+ },
115
+ };
116
+ // Iterate through each property and validate against its respective rule
117
+ for (const key in validationRules) {
118
+ if (!validationRules.hasOwnProperty(key))
119
+ continue;
120
+ const validator = validationRules[key];
121
+ if (!validator(this[key])) {
122
+ console.error(`Validation failed for property "${key}".`);
123
+ this.validationMessages.push({
124
+ type: "Error",
125
+ fieldDescription: key,
126
+ message: `${key} is not valid`,
127
+ });
128
+ }
129
+ }
130
+ return this.validationMessages;
131
+ }
132
+ }
133
+ exports.PlaybackScreenrecordingsModel = PlaybackScreenrecordingsModel;
@@ -0,0 +1,23 @@
1
+ import { BaseModel } from "../abstract/BaseModel";
2
+ import { ActivityType } from "../types/Profile.type";
3
+ import { validationMessage } from "../interface/IBaseModel";
4
+ import { TaskChannelModel } from "./TaskChannelModel";
5
+ export declare class ProfileModel extends BaseModel {
6
+ private _agentId;
7
+ private _agentName;
8
+ private _activity;
9
+ private _imageUrl;
10
+ private _taskChannels;
11
+ constructor(agentId: string, agentName: string, activity: ActivityType, imageUrl: string, taskChannels: TaskChannelModel[]);
12
+ get agentId(): string;
13
+ set agentId(value: string);
14
+ get agentName(): string;
15
+ set agentName(value: string);
16
+ get activity(): ActivityType;
17
+ set activity(value: ActivityType);
18
+ get imageUrl(): string;
19
+ set imageUrl(value: string);
20
+ get taskChannels(): TaskChannelModel[];
21
+ set taskChannels(value: TaskChannelModel[]);
22
+ validateData(): validationMessage[];
23
+ }
@@ -1 +1,102 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.ProfileModel=void 0;const t=require("../abstract/BaseModel"),e=require("uuid");class a extends t.BaseModel{constructor(t,e,a,i,s){super(),this._agentId=t,this._agentName=e,this._activity=a,this._imageUrl=i,this._taskChannels=s}get agentId(){return this._agentId}set agentId(t){if("string"!=typeof t||!(0,e.validate)(t))throw new Error("Invalid agentId");this._agentId=t}get agentName(){return this._agentName}set agentName(t){if("string"!=typeof t||""===t.trim())throw new Error("Invalid agentName");this._agentName=t}get activity(){return this._activity}set activity(t){if("Online"!==t&&"Offline"!==t&&"Busy"!==t)throw new Error("Invalid activity");this._activity=t}get imageUrl(){return this._imageUrl}set imageUrl(t){if("string"!=typeof t||!t.startsWith("http"))throw new Error("Invalid imageUrl");this._imageUrl=t}get taskChannels(){return this._taskChannels}set taskChannels(t){if(!Array.isArray(t)||!t.every((t=>"string"==typeof t.channel&&"number"==typeof t.capacity&&"boolean"==typeof t.isAvailable)))throw new Error("Invalid taskChannels");this._taskChannels=t}validateData(){this.validationMessages=[];const t={agentId:t=>"string"==typeof t&&(0,e.validate)(t),agentName:t=>"string"==typeof t&&""!==t.trim(),activity:t=>"Online"===t||"Offline"===t||"Busy"===t,imageUrl:t=>"string"==typeof t&&t.startsWith("http"),taskChannels:t=>Array.isArray(t)&&t.every((t=>"string"==typeof t.channel&&"number"==typeof t.capacity&&"boolean"==typeof t.isAvailable))};return Object.keys(t).forEach((e=>{(0,t[e])(this[e])||this.validationMessages.push({type:"Error",fieldDescription:e,message:`${e} is not valid`})})),this.validationMessages}}exports.ProfileModel=a;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProfileModel = void 0;
4
+ const BaseModel_1 = require("../abstract/BaseModel");
5
+ const uuid_1 = require("uuid");
6
+ class ProfileModel extends BaseModel_1.BaseModel {
7
+ constructor(agentId, agentName, activity, imageUrl, taskChannels) {
8
+ super();
9
+ this._agentId = agentId;
10
+ this._agentName = agentName;
11
+ this._activity = activity;
12
+ this._imageUrl = imageUrl;
13
+ this._taskChannels = taskChannels;
14
+ }
15
+ // Getters and Setters
16
+ get agentId() {
17
+ return this._agentId;
18
+ }
19
+ set agentId(value) {
20
+ if (typeof value === "string" && (0, uuid_1.validate)(value)) {
21
+ this._agentId = value;
22
+ }
23
+ else {
24
+ throw new Error("Invalid agentId");
25
+ }
26
+ }
27
+ get agentName() {
28
+ return this._agentName;
29
+ }
30
+ set agentName(value) {
31
+ if (typeof value === "string" && value.trim() !== "") {
32
+ this._agentName = value;
33
+ }
34
+ else {
35
+ throw new Error("Invalid agentName");
36
+ }
37
+ }
38
+ get activity() {
39
+ return this._activity;
40
+ }
41
+ set activity(value) {
42
+ if (value === "Online" || value === "Offline" || value === "Busy") {
43
+ this._activity = value;
44
+ }
45
+ else {
46
+ throw new Error("Invalid activity");
47
+ }
48
+ }
49
+ get imageUrl() {
50
+ return this._imageUrl;
51
+ }
52
+ set imageUrl(value) {
53
+ if (typeof value === "string" && value.startsWith("http")) {
54
+ this._imageUrl = value;
55
+ }
56
+ else {
57
+ throw new Error("Invalid imageUrl");
58
+ }
59
+ }
60
+ get taskChannels() {
61
+ return this._taskChannels;
62
+ }
63
+ set taskChannels(value) {
64
+ if (Array.isArray(value) &&
65
+ value.every((channel) => typeof channel.channel === "string" &&
66
+ typeof channel.capacity === "number" &&
67
+ typeof channel.isAvailable === "boolean")) {
68
+ this._taskChannels = value;
69
+ }
70
+ else {
71
+ throw new Error("Invalid taskChannels");
72
+ }
73
+ }
74
+ // Validate data
75
+ validateData() {
76
+ this.validationMessages = [];
77
+ const validationRules = {
78
+ agentId: (value) => typeof value === "string" && (0, uuid_1.validate)(value),
79
+ agentName: (value) => typeof value === "string" && value.trim() !== "",
80
+ activity: (value) => value === "Online" || value === "Offline" || value === "Busy",
81
+ imageUrl: (value) => typeof value === "string" && value.startsWith("http"),
82
+ taskChannels: (value) => Array.isArray(value) &&
83
+ value.every((channel) => typeof channel.channel === "string" &&
84
+ typeof channel.capacity === "number" &&
85
+ typeof channel.isAvailable === "boolean"),
86
+ };
87
+ // Validate each property
88
+ Object.keys(validationRules).forEach((key) => {
89
+ const validator = validationRules[key];
90
+ const fieldValue = this[key];
91
+ if (!validator(fieldValue)) {
92
+ this.validationMessages.push({
93
+ type: "Error",
94
+ fieldDescription: key,
95
+ message: `${key} is not valid`,
96
+ });
97
+ }
98
+ });
99
+ return this.validationMessages;
100
+ }
101
+ }
102
+ exports.ProfileModel = ProfileModel;