hgs-twilio-class-lib 1.1.72 → 1.1.74

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 (490) hide show
  1. package/README.md +5 -5
  2. package/lib/aws/abstract/ServiceObjectStore.d.ts +9 -0
  3. package/lib/aws/abstract/ServiceObjectStore.js +10 -0
  4. package/lib/aws/abstract/ServiceOpenRequest.d.ts +7 -0
  5. package/lib/aws/abstract/ServiceOpenRequest.js +10 -0
  6. package/lib/aws/abstract/ServiceRequest.d.ts +3 -0
  7. package/lib/aws/abstract/ServiceRequest.js +7 -0
  8. package/lib/aws/abstract/ServiceResource.d.ts +20 -0
  9. package/lib/aws/abstract/ServiceResource.js +31 -0
  10. package/lib/aws/abstract/ServiceResourceFactory.d.ts +13 -0
  11. package/lib/aws/abstract/ServiceResourceFactory.js +14 -0
  12. package/lib/aws/abstract/ServiceTransaction.d.ts +6 -0
  13. package/lib/aws/abstract/ServiceTransaction.js +11 -0
  14. package/lib/aws/impl/AWSAPIConfig.d.ts +14 -0
  15. package/lib/aws/impl/AWSAPIConfig.js +38 -0
  16. package/lib/aws/impl/AWSClient.d.ts +5 -0
  17. package/lib/aws/impl/AWSClient.js +21 -0
  18. package/lib/aws/impl/AWSConnectAPIConfig.d.ts +17 -0
  19. package/lib/aws/impl/AWSConnectAPIConfig.js +38 -0
  20. package/lib/aws/impl/DynamoDB/DynamoOpenRequest.d.ts +18 -0
  21. package/lib/aws/impl/DynamoDB/DynamoOpenRequest.js +24 -0
  22. package/lib/aws/impl/DynamoDB/DynamoRequest.d.ts +16 -0
  23. package/lib/aws/impl/DynamoDB/DynamoRequest.js +21 -0
  24. package/lib/aws/impl/DynamoDB/DynamoResourse.d.ts +29 -0
  25. package/lib/aws/impl/DynamoDB/DynamoResourse.js +45 -0
  26. package/lib/aws/impl/DynamoDB/DynamoServiceFactory.d.ts +16 -0
  27. package/lib/aws/impl/DynamoDB/DynamoServiceFactory.js +63 -0
  28. package/lib/aws/impl/DynamoDB/DynamoTable.d.ts +26 -0
  29. package/lib/aws/impl/DynamoDB/DynamoTable.js +126 -0
  30. package/lib/aws/impl/DynamoDB/DynamoTransaction.d.ts +21 -0
  31. package/lib/aws/impl/DynamoDB/DynamoTransaction.js +37 -0
  32. package/lib/aws/impl/HoopServices/HoopService.d.ts +28 -0
  33. package/lib/aws/impl/HoopServices/HoopService.js +124 -0
  34. package/lib/aws/impl/HoopServices/HoopServiceFactory.d.ts +17 -0
  35. package/lib/aws/impl/HoopServices/HoopServiceFactory.js +53 -0
  36. package/lib/aws/impl/HoopServices/HoopServiceOpenRequest.d.ts +18 -0
  37. package/lib/aws/impl/HoopServices/HoopServiceOpenRequest.js +24 -0
  38. package/lib/aws/impl/HoopServices/HoopServiceResource.d.ts +29 -0
  39. package/lib/aws/impl/HoopServices/HoopServiceResource.js +46 -0
  40. package/lib/aws/impl/HoopServices/HoopServiceTransaction.d.ts +22 -0
  41. package/lib/aws/impl/HoopServices/HoopServiceTransaction.js +37 -0
  42. package/lib/aws/interface/IDirection.d.ts +2 -0
  43. package/lib/aws/interface/IDirection.js +2 -0
  44. package/lib/aws/interface/ILink.d.ts +2 -0
  45. package/lib/aws/interface/ILink.js +2 -0
  46. package/lib/aws/interface/IServiceDBOpenRequest.d.ts +3 -0
  47. package/lib/aws/interface/IServiceDBOpenRequest.js +2 -0
  48. package/lib/aws/interface/IServiceObjectStore.d.ts +3 -0
  49. package/lib/aws/interface/IServiceObjectStore.js +2 -0
  50. package/lib/aws/interface/IServiceObjectStoreParameters.d.ts +4 -0
  51. package/lib/aws/interface/IServiceObjectStoreParameters.js +2 -0
  52. package/lib/aws/interface/IServiceRequest.d.ts +3 -0
  53. package/lib/aws/interface/IServiceRequest.js +2 -0
  54. package/lib/aws/interface/IServiceResource.d.ts +7 -0
  55. package/lib/aws/interface/IServiceResource.js +2 -0
  56. package/lib/aws/interface/IServiceTransation.d.ts +3 -0
  57. package/lib/aws/interface/IServiceTransation.js +2 -0
  58. package/lib/aws/interface/ISubResourceUri.d.ts +2 -0
  59. package/lib/aws/interface/ISubResourceUri.js +2 -0
  60. package/lib/aws/interface/ISyncItemData.d.ts +0 -0
  61. package/lib/aws/interface/ISyncItemData.js +1 -0
  62. package/lib/aws/interface/ISyncObjectStoreParameters.d.ts +0 -0
  63. package/lib/aws/interface/ISyncObjectStoreParameters.js +1 -0
  64. package/lib/aws/interface/ISyncTransactionOptions.d.ts +4 -0
  65. package/lib/aws/interface/ISyncTransactionOptions.js +2 -0
  66. package/lib/common/abstract/CommonError.d.ts +8 -0
  67. package/lib/common/abstract/CommonError.js +12 -0
  68. package/lib/common/abstract/Database.d.ts +44 -0
  69. package/lib/common/abstract/Database.js +58 -0
  70. package/lib/common/abstract/DatabaseClient.d.ts +11 -0
  71. package/lib/common/abstract/DatabaseClient.js +21 -0
  72. package/lib/common/abstract/DatabaseClientConfig.d.ts +5 -0
  73. package/lib/common/abstract/DatabaseClientConfig.js +9 -0
  74. package/lib/common/abstract/DatabaseFactory.d.ts +70 -0
  75. package/lib/common/abstract/DatabaseFactory.js +32 -0
  76. package/lib/common/abstract/DatabaseObjectStore.d.ts +29 -0
  77. package/lib/common/abstract/DatabaseObjectStore.js +13 -0
  78. package/lib/common/abstract/DatabaseOpenRequest.d.ts +24 -0
  79. package/lib/common/abstract/DatabaseOpenRequest.js +13 -0
  80. package/lib/common/abstract/DatabaseRequest.d.ts +21 -0
  81. package/lib/common/abstract/DatabaseRequest.js +14 -0
  82. package/lib/common/abstract/DatabaseTransaction.d.ts +22 -0
  83. package/lib/common/abstract/DatabaseTransaction.js +13 -0
  84. package/lib/common/abstract/Filter.d.ts +12 -0
  85. package/lib/common/abstract/Filter.js +30 -0
  86. package/lib/common/enum/ErrorTypes.d.ts +4 -0
  87. package/lib/common/enum/ErrorTypes.js +9 -0
  88. package/lib/common/enum/FilterTypes.d.ts +10 -0
  89. package/lib/common/enum/FilterTypes.js +14 -0
  90. package/lib/common/interface/IDatabaesInfo.d.ts +2 -0
  91. package/lib/common/interface/IDatabaesInfo.js +2 -0
  92. package/lib/common/interface/IDatabase.d.ts +4 -0
  93. package/lib/common/interface/IDatabase.js +2 -0
  94. package/lib/common/interface/IDatabaseClient.d.ts +5 -0
  95. package/lib/common/interface/IDatabaseClient.js +2 -0
  96. package/lib/common/interface/IDatabaseConfig.d.ts +8 -0
  97. package/lib/common/interface/IDatabaseConfig.js +10 -0
  98. package/lib/common/interface/IDatabaseDBOpenRequest.d.ts +2 -0
  99. package/lib/common/interface/IDatabaseDBOpenRequest.js +2 -0
  100. package/lib/common/interface/IDatabaseFactory.d.ts +21 -0
  101. package/lib/common/interface/IDatabaseFactory.js +2 -0
  102. package/lib/common/interface/IDatabaseObjectStore.d.ts +2 -0
  103. package/lib/common/interface/IDatabaseObjectStore.js +2 -0
  104. package/lib/common/interface/IDatabaseObjectStoreParameters.d.ts +2 -0
  105. package/lib/common/interface/IDatabaseObjectStoreParameters.js +2 -0
  106. package/lib/common/interface/IDatabaseRecord.d.ts +2 -0
  107. package/lib/common/interface/IDatabaseRecord.js +2 -0
  108. package/lib/common/interface/IDatabaseRequest.d.ts +2 -0
  109. package/lib/common/interface/IDatabaseRequest.js +2 -0
  110. package/lib/common/interface/IDatabaseTransaction.d.ts +2 -0
  111. package/lib/common/interface/IDatabaseTransaction.js +2 -0
  112. package/lib/common/interface/IDatabaseTransactionOptions.d.ts +2 -0
  113. package/lib/common/interface/IDatabaseTransactionOptions.js +2 -0
  114. package/lib/common/interface/IError.d.ts +5 -0
  115. package/lib/common/interface/IError.js +2 -0
  116. package/lib/common/interface/IErrorDetails.d.ts +6 -0
  117. package/lib/common/interface/IErrorDetails.js +2 -0
  118. package/lib/common/interface/IFilter.d.ts +25 -0
  119. package/lib/common/interface/IFilter.js +2 -0
  120. package/lib/common/type/DatabaseReadyType.d.ts +1 -0
  121. package/lib/common/type/DatabaseReadyType.js +2 -0
  122. package/lib/common/type/FilterInputType.d.ts +1 -0
  123. package/lib/common/type/FilterInputType.js +2 -0
  124. package/lib/common/type/SearchParameterType.d.ts +15 -0
  125. package/lib/common/type/SearchParameterType.js +3 -0
  126. package/lib/common/utils/dateFormat.d.ts +1 -0
  127. package/lib/common/utils/dateFormat.js +58 -0
  128. package/lib/common/utils/filter.d.ts +1 -0
  129. package/lib/common/utils/filter.js +99 -0
  130. package/lib/common/utils/newFilter.d.ts +1 -0
  131. package/lib/common/utils/newFilter.js +126 -0
  132. package/lib/common/utils/pagination.d.ts +1 -0
  133. package/lib/common/utils/pagination.js +9 -0
  134. package/lib/common/utils/search.d.ts +1 -0
  135. package/lib/common/utils/search.js +14 -0
  136. package/lib/common/utils/sort.d.ts +1 -0
  137. package/lib/common/utils/sort.js +29 -0
  138. package/lib/config/AWSConfig.d.ts +6 -0
  139. package/lib/config/AWSConfig.js +9 -0
  140. package/lib/config/DatabaseConfig.d.ts +6 -0
  141. package/lib/config/DatabaseConfig.js +38 -0
  142. package/lib/config/TwilioConfig.d.ts +4 -0
  143. package/lib/config/TwilioConfig.js +7 -0
  144. package/lib/controller/Common.d.ts +20 -0
  145. package/lib/controller/Common.js +57 -0
  146. package/lib/controller/DatabaseFactoryCollection.d.ts +6 -0
  147. package/lib/controller/DatabaseFactoryCollection.js +14 -0
  148. package/lib/controller/MainController.d.ts +6 -0
  149. package/lib/controller/MainController.js +174 -0
  150. package/lib/controller/RealTimeDashboardController.d.ts +39 -0
  151. package/lib/controller/RealTimeDashboardController.js +267 -0
  152. package/lib/controller/aws/HoopBuisnessHours.d.ts +23 -0
  153. package/lib/controller/aws/HoopBuisnessHours.js +408 -0
  154. package/lib/controller/aws/HoopOperationsController.d.ts +9 -0
  155. package/lib/controller/aws/HoopOperationsController.js +86 -0
  156. package/lib/controller/aws/HoopOverrideBranchesController.d.ts +7 -0
  157. package/lib/controller/aws/HoopOverrideBranchesController.js +40 -0
  158. package/lib/controller/aws/HoopProfilesListController.d.ts +8 -0
  159. package/lib/controller/aws/HoopProfilesListController.js +61 -0
  160. package/lib/controller/aws/PlaybackScreenrecordings.d.ts +9 -0
  161. package/lib/controller/aws/PlaybackScreenrecordings.js +63 -0
  162. package/lib/controller/twilio/AgentActionsController.d.ts +54 -0
  163. package/lib/controller/twilio/AgentActionsController.js +177 -0
  164. package/lib/controller/twilio/AgentScorecardController.d.ts +53 -0
  165. package/lib/controller/twilio/AgentScorecardController.js +173 -0
  166. package/lib/controller/twilio/AuditLogController.d.ts +15 -0
  167. package/lib/controller/twilio/AuditLogController.js +137 -0
  168. package/lib/controller/twilio/CallLogsController.d.ts +12 -0
  169. package/lib/controller/twilio/CallLogsController.js +131 -0
  170. package/lib/controller/twilio/CallbackAndVoicemailController.d.ts +12 -0
  171. package/lib/controller/twilio/CallbackAndVoicemailController.js +114 -0
  172. package/lib/controller/twilio/ChannelSettingTaskInfoController.d.ts +11 -0
  173. package/lib/controller/twilio/ChannelSettingTaskInfoController.js +117 -0
  174. package/lib/controller/twilio/ChannelSettingsController.d.ts +16 -0
  175. package/lib/controller/twilio/ChannelSettingsController.js +142 -0
  176. package/lib/controller/twilio/CxConfigAssetController.d.ts +12 -0
  177. package/lib/controller/twilio/CxConfigAssetController.js +128 -0
  178. package/lib/controller/twilio/CxConfigController.d.ts +18 -0
  179. package/lib/controller/twilio/CxConfigController.js +112 -0
  180. package/lib/controller/twilio/CxConfigExternalNumbersController.d.ts +12 -0
  181. package/lib/controller/twilio/CxConfigExternalNumbersController.js +138 -0
  182. package/lib/controller/twilio/CxConfigOther.d.ts +16 -0
  183. package/lib/controller/twilio/CxConfigOther.js +138 -0
  184. package/lib/controller/twilio/CxConfigQueueMenuController.d.ts +12 -0
  185. package/lib/controller/twilio/CxConfigQueueMenuController.js +129 -0
  186. package/lib/controller/twilio/CxConfigUIconfigController.d.ts +12 -0
  187. package/lib/controller/twilio/CxConfigUIconfigController.js +132 -0
  188. package/lib/controller/twilio/GPMController.d.ts +12 -0
  189. package/lib/controller/twilio/GPMController.js +151 -0
  190. package/lib/controller/twilio/HoopBusinessHoursController.d.ts +18 -0
  191. package/lib/controller/twilio/HoopBusinessHoursController.js +285 -0
  192. package/lib/controller/twilio/HoopHolidaysController.d.ts +14 -0
  193. package/lib/controller/twilio/HoopHolidaysController.js +152 -0
  194. package/lib/controller/twilio/HoopMainController.d.ts +13 -0
  195. package/lib/controller/twilio/HoopMainController.js +297 -0
  196. package/lib/controller/twilio/HoopNotesController.d.ts +14 -0
  197. package/lib/controller/twilio/HoopNotesController.js +149 -0
  198. package/lib/controller/twilio/HoopOperationsController.d.ts +14 -0
  199. package/lib/controller/twilio/HoopOperationsController.js +138 -0
  200. package/lib/controller/twilio/HoopOverrideBranchesController.d.ts +14 -0
  201. package/lib/controller/twilio/HoopOverrideBranchesController.js +137 -0
  202. package/lib/controller/twilio/HoopPartialDaysController.d.ts +14 -0
  203. package/lib/controller/twilio/HoopPartialDaysController.js +152 -0
  204. package/lib/controller/twilio/HoopProfilesListController.d.ts +14 -0
  205. package/lib/controller/twilio/HoopProfilesListController.js +147 -0
  206. package/lib/controller/twilio/NavigationController.d.ts +13 -0
  207. package/lib/controller/twilio/NavigationController.js +170 -0
  208. package/lib/controller/twilio/QualityFormsController.d.ts +12 -0
  209. package/lib/controller/twilio/QualityFormsController.js +129 -0
  210. package/lib/controller/twilio/QuickLinkController.d.ts +11 -0
  211. package/lib/controller/twilio/QuickLinkController.js +122 -0
  212. package/lib/controller/twilio/RealTimeReportQueueDetailsController.d.ts +14 -0
  213. package/lib/controller/twilio/RealTimeReportQueueDetailsController.js +126 -0
  214. package/lib/controller/twilio/RealTimeReportsWGDetailsController.d.ts +53 -0
  215. package/lib/controller/twilio/RealTimeReportsWGDetailsController.js +160 -0
  216. package/lib/controller/twilio/TaskInfoPanelController.d.ts +15 -0
  217. package/lib/controller/twilio/TaskInfoPanelController.js +134 -0
  218. package/lib/controller/twilio/filterImpl/AgentScorecardFilter.d.ts +12 -0
  219. package/lib/controller/twilio/filterImpl/AgentScorecardFilter.js +52 -0
  220. package/lib/controller/twilio/filterImpl/AuditLogsFilter.d.ts +12 -0
  221. package/lib/controller/twilio/filterImpl/AuditLogsFilter.js +89 -0
  222. package/lib/controller/twilio/filterImpl/CXConfigPromptFilter.d.ts +12 -0
  223. package/lib/controller/twilio/filterImpl/CXConfigPromptFilter.js +81 -0
  224. package/lib/controller/twilio/filterImpl/CallLogsFilter.d.ts +20 -0
  225. package/lib/controller/twilio/filterImpl/CallLogsFilter.js +101 -0
  226. package/lib/controller/twilio/filterImpl/CxConfigAssetFilter.d.ts +12 -0
  227. package/lib/controller/twilio/filterImpl/CxConfigAssetFilter.js +59 -0
  228. package/lib/controller/twilio/filterImpl/CxConfigExternalNumbersFilter.d.ts +12 -0
  229. package/lib/controller/twilio/filterImpl/CxConfigExternalNumbersFilter.js +67 -0
  230. package/lib/controller/twilio/filterImpl/CxConfigOtherFilter.d.ts +14 -0
  231. package/lib/controller/twilio/filterImpl/CxConfigOtherFilter.js +52 -0
  232. package/lib/controller/twilio/filterImpl/CxConfigQueueMenuFilter.d.ts +17 -0
  233. package/lib/controller/twilio/filterImpl/CxConfigQueueMenuFilter.js +78 -0
  234. package/lib/controller/twilio/filterImpl/CxConfigUIconfigFilter.d.ts +12 -0
  235. package/lib/controller/twilio/filterImpl/CxConfigUIconfigFilter.js +51 -0
  236. package/lib/controller/twilio/filterImpl/HoopHolidaysFilter.d.ts +14 -0
  237. package/lib/controller/twilio/filterImpl/HoopHolidaysFilter.js +58 -0
  238. package/lib/controller/twilio/filterImpl/HoopNotesFilter.d.ts +12 -0
  239. package/lib/controller/twilio/filterImpl/HoopNotesFilter.js +51 -0
  240. package/lib/controller/twilio/filterImpl/HoopPartialDaysFilter.d.ts +14 -0
  241. package/lib/controller/twilio/filterImpl/HoopPartialDaysFilter.js +58 -0
  242. package/lib/controller/twilio/filterImpl/MainFilterService.d.ts +4 -0
  243. package/lib/controller/twilio/filterImpl/MainFilterService.js +108 -0
  244. package/lib/controller/twilio/filterImpl/NavigationFilter.d.ts +20 -0
  245. package/lib/controller/twilio/filterImpl/NavigationFilter.js +90 -0
  246. package/lib/controller/twilio/filterImpl/QueueDetailsFilter.d.ts +14 -0
  247. package/lib/controller/twilio/filterImpl/QueueDetailsFilter.js +53 -0
  248. package/lib/controller/twilio/filterImpl/TaskCompleteFilter.d.ts +12 -0
  249. package/lib/controller/twilio/filterImpl/TaskCompleteFilter.js +62 -0
  250. package/lib/controller/twilio/filterImpl/TaskInfoPanelFilter.d.ts +12 -0
  251. package/lib/controller/twilio/filterImpl/TaskInfoPanelFilter.js +52 -0
  252. package/lib/express/ApiResponse.d.ts +15 -0
  253. package/lib/express/ApiResponse.js +11 -0
  254. package/lib/express/RequestValidator.d.ts +50 -0
  255. package/lib/express/RequestValidator.js +77 -0
  256. package/lib/express/RequireParamsPicker.d.ts +7 -0
  257. package/lib/express/RequireParamsPicker.js +14 -0
  258. package/lib/express/ValidateRequireParameters.d.ts +3 -0
  259. package/lib/express/ValidateRequireParameters.js +39 -0
  260. package/lib/index.d.ts +39 -0
  261. package/lib/index.js +100 -0
  262. package/lib/models/BatchUpdateSkills.model.d.ts +0 -0
  263. package/lib/models/BatchUpdateSkills.model.js +11 -0
  264. package/lib/models/CannedMessage.model.d.ts +4 -0
  265. package/lib/models/CannedMessage.model.js +1 -0
  266. package/lib/models/ChannelSettingsTaskInfo.model.d.ts +87 -0
  267. package/lib/models/ChannelSettingsTaskInfo.model.js +1 -0
  268. package/lib/models/CustomerFeedback.model.d.ts +9 -0
  269. package/lib/models/CustomerFeedback.model.js +1 -0
  270. package/lib/models/Filter.model.d.ts +15 -0
  271. package/lib/models/Filter.model.js +2 -0
  272. package/lib/models/Hoop.model.d.ts +15 -0
  273. package/lib/models/Hoop.model.js +18 -0
  274. package/lib/models/Navigation.model.d.ts +28 -0
  275. package/lib/models/Navigation.model.js +8 -0
  276. package/lib/models/Roles.Model.d.ts +8 -0
  277. package/lib/models/Roles.Model.js +1 -0
  278. package/lib/models/abstract/BaseModel.d.ts +17 -0
  279. package/lib/models/abstract/BaseModel.js +40 -0
  280. package/lib/models/impl/AgentActionsLogsModel.d.ts +27 -0
  281. package/lib/models/impl/AgentActionsLogsModel.js +89 -0
  282. package/lib/models/impl/AgentActionsModel.d.ts +19 -0
  283. package/lib/models/impl/AgentActionsModel.js +60 -0
  284. package/lib/models/impl/AgentScorecardModel.d.ts +66 -0
  285. package/lib/models/impl/AgentScorecardModel.js +282 -0
  286. package/lib/models/impl/AuditLogsModel.d.ts +31 -0
  287. package/lib/models/impl/AuditLogsModel.js +146 -0
  288. package/lib/models/impl/CallLogsModel.d.ts +37 -0
  289. package/lib/models/impl/CallLogsModel.js +109 -0
  290. package/lib/models/impl/CallStatisticsModel.d.ts +16 -0
  291. package/lib/models/impl/CallStatisticsModel.js +52 -0
  292. package/lib/models/impl/CategoryDetailsModel.d.ts +17 -0
  293. package/lib/models/impl/CategoryDetailsModel.js +44 -0
  294. package/lib/models/impl/DailySummaryModel.d.ts +60 -0
  295. package/lib/models/impl/DailySummaryModel.js +247 -0
  296. package/lib/models/impl/IntervalSummaryModel.d.ts +63 -0
  297. package/lib/models/impl/IntervalSummaryModel.js +261 -0
  298. package/lib/models/impl/MemberModel.d.ts +42 -0
  299. package/lib/models/impl/MemberModel.js +170 -0
  300. package/lib/models/impl/ModelValidationError.d.ts +6 -0
  301. package/lib/models/impl/ModelValidationError.js +15 -0
  302. package/lib/models/impl/NavigationModel.d.ts +39 -0
  303. package/lib/models/impl/NavigationModel.js +126 -0
  304. package/lib/models/impl/PerformanceStatisticsModel.d.ts +41 -0
  305. package/lib/models/impl/PerformanceStatisticsModel.js +129 -0
  306. package/lib/models/impl/PlaybackScreenrecordings.d.ts +39 -0
  307. package/lib/models/impl/PlaybackScreenrecordings.js +133 -0
  308. package/lib/models/impl/ProfileModel.d.ts +23 -0
  309. package/lib/models/impl/ProfileModel.js +102 -0
  310. package/lib/models/impl/QualityFormsModel.d.ts +39 -0
  311. package/lib/models/impl/QualityFormsModel.js +150 -0
  312. package/lib/models/impl/QuestionDetailsModel.d.ts +39 -0
  313. package/lib/models/impl/QuestionDetailsModel.js +173 -0
  314. package/lib/models/impl/QueueDetailsModel.d.ts +63 -0
  315. package/lib/models/impl/QueueDetailsModel.js +261 -0
  316. package/lib/models/impl/QueueModel.d.ts +39 -0
  317. package/lib/models/impl/QueueModel.js +156 -0
  318. package/lib/models/impl/QuickLinkModel.d.ts +24 -0
  319. package/lib/models/impl/QuickLinkModel.js +122 -0
  320. package/lib/models/impl/StatisticsNumberDetailsModel.d.ts +18 -0
  321. package/lib/models/impl/StatisticsNumberDetailsModel.js +72 -0
  322. package/lib/models/impl/StatisticsTimeDetailsModel.d.ts +18 -0
  323. package/lib/models/impl/StatisticsTimeDetailsModel.js +72 -0
  324. package/lib/models/impl/TaskAttributesModel.d.ts +31 -0
  325. package/lib/models/impl/TaskAttributesModel.js +108 -0
  326. package/lib/models/impl/TaskChannelModel.d.ts +15 -0
  327. package/lib/models/impl/TaskChannelModel.js +69 -0
  328. package/lib/models/impl/TaskComplete.d.ts +0 -0
  329. package/lib/models/impl/TaskComplete.js +1 -0
  330. package/lib/models/impl/TaskInfoPanelModel.d.ts +16 -0
  331. package/lib/models/impl/TaskInfoPanelModel.js +69 -0
  332. package/lib/models/impl/TaskModel.d.ts +59 -0
  333. package/lib/models/impl/TaskModel.js +234 -0
  334. package/lib/models/impl/WorkGroupDetailsModel.d.ts +63 -0
  335. package/lib/models/impl/WorkGroupDetailsModel.js +281 -0
  336. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailModel.d.ts +33 -0
  337. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailModel.js +140 -0
  338. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailNamespace.d.ts +8 -0
  339. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailNamespace.js +12 -0
  340. package/lib/models/impl/callbackandvoicemail/CallbackModel.d.ts +19 -0
  341. package/lib/models/impl/callbackandvoicemail/CallbackModel.js +82 -0
  342. package/lib/models/impl/callbackandvoicemail/VoicemailModel.d.ts +25 -0
  343. package/lib/models/impl/callbackandvoicemail/VoicemailModel.js +108 -0
  344. package/lib/models/impl/channelsettings/ChannelSettingModel.d.ts +68 -0
  345. package/lib/models/impl/channelsettings/ChannelSettingModel.js +240 -0
  346. package/lib/models/impl/channelsettings/ChannelSettingTaskInfoModel.d.ts +31 -0
  347. package/lib/models/impl/channelsettings/ChannelSettingTaskInfoModel.js +106 -0
  348. package/lib/models/impl/channelsettings/TaskInfoAttributeModel.d.ts +25 -0
  349. package/lib/models/impl/channelsettings/TaskInfoAttributeModel.js +80 -0
  350. package/lib/models/impl/channelsettings/TaskInfoModel.d.ts +13 -0
  351. package/lib/models/impl/channelsettings/TaskInfoModel.js +52 -0
  352. package/lib/models/impl/cxconfig/CxConfigNamespace.d.ts +16 -0
  353. package/lib/models/impl/cxconfig/CxConfigNamespace.js +20 -0
  354. package/lib/models/impl/cxconfig/CxConfigUIConfigModel.d.ts +27 -0
  355. package/lib/models/impl/cxconfig/CxConfigUIConfigModel.js +173 -0
  356. package/lib/models/impl/cxconfig/CxConfiguratorConfigModel.d.ts +24 -0
  357. package/lib/models/impl/cxconfig/CxConfiguratorConfigModel.js +103 -0
  358. package/lib/models/impl/cxconfig/CxConfiguratorExternalNumbersModel.d.ts +24 -0
  359. package/lib/models/impl/cxconfig/CxConfiguratorExternalNumbersModel.js +149 -0
  360. package/lib/models/impl/cxconfig/CxConfiguratorGPMAssetModel.d.ts +27 -0
  361. package/lib/models/impl/cxconfig/CxConfiguratorGPMAssetModel.js +179 -0
  362. package/lib/models/impl/cxconfig/CxConfiguratorGPMPromptModel.d.ts +37 -0
  363. package/lib/models/impl/cxconfig/CxConfiguratorGPMPromptModel.js +197 -0
  364. package/lib/models/impl/cxconfig/CxConfiguratorOtherModel.d.ts +27 -0
  365. package/lib/models/impl/cxconfig/CxConfiguratorOtherModel.js +159 -0
  366. package/lib/models/impl/cxconfig/CxConfiguratorQueueMenuModel.d.ts +40 -0
  367. package/lib/models/impl/cxconfig/CxConfiguratorQueueMenuModel.js +128 -0
  368. package/lib/models/impl/hoop/HoopBusinessHoursModel.d.ts +39 -0
  369. package/lib/models/impl/hoop/HoopBusinessHoursModel.js +122 -0
  370. package/lib/models/impl/hoop/HoopDescriptionModel.d.ts +16 -0
  371. package/lib/models/impl/hoop/HoopDescriptionModel.js +64 -0
  372. package/lib/models/impl/hoop/HoopHolidaysImplModel.d.ts +25 -0
  373. package/lib/models/impl/hoop/HoopHolidaysImplModel.js +118 -0
  374. package/lib/models/impl/hoop/HoopNotesImplModel.d.ts +25 -0
  375. package/lib/models/impl/hoop/HoopNotesImplModel.js +117 -0
  376. package/lib/models/impl/hoop/HoopOperationsImplModel.d.ts +28 -0
  377. package/lib/models/impl/hoop/HoopOperationsImplModel.js +161 -0
  378. package/lib/models/impl/hoop/HoopOverrideImplModel.d.ts +22 -0
  379. package/lib/models/impl/hoop/HoopOverrideImplModel.js +143 -0
  380. package/lib/models/impl/hoop/HoopPartialDaysImplModel.d.ts +31 -0
  381. package/lib/models/impl/hoop/HoopPartialDaysImplModel.js +140 -0
  382. package/lib/models/impl/hoop/HoopProfilesListImplModel.d.ts +22 -0
  383. package/lib/models/impl/hoop/HoopProfilesListImplModel.js +104 -0
  384. package/lib/models/impl/hoop/HoopWeeklyTimingModel.d.ts +22 -0
  385. package/lib/models/impl/hoop/HoopWeeklyTimingModel.js +86 -0
  386. package/lib/models/index.d.ts +27 -0
  387. package/lib/models/index.js +57 -0
  388. package/lib/models/interface/IBaseModel.d.ts +11 -0
  389. package/lib/models/interface/IBaseModel.js +2 -0
  390. package/lib/models/types/AgentScorecard.type.d.ts +6 -0
  391. package/lib/models/types/AgentScorecard.type.js +7 -0
  392. package/lib/models/types/AuditLog.type.d.ts +13 -0
  393. package/lib/models/types/AuditLog.type.js +10 -0
  394. package/lib/models/types/CallLog.type.d.ts +16 -0
  395. package/lib/models/types/CallLog.type.js +10 -0
  396. package/lib/models/types/ChannelSetting.type.d.ts +7 -0
  397. package/lib/models/types/ChannelSetting.type.js +11 -0
  398. package/lib/models/types/CxConfig.type.d.ts +72 -0
  399. package/lib/models/types/CxConfig.type.js +43 -0
  400. package/lib/models/types/Hoop.type.d.ts +9 -0
  401. package/lib/models/types/Hoop.type.js +13 -0
  402. package/lib/models/types/Navigation.type.d.ts +11 -0
  403. package/lib/models/types/Navigation.type.js +8 -0
  404. package/lib/models/types/Profile.type.d.ts +1 -0
  405. package/lib/models/types/Profile.type.js +2 -0
  406. package/lib/models/types/QueueDetails.type.d.ts +6 -0
  407. package/lib/models/types/QueueDetails.type.js +7 -0
  408. package/lib/models/types/RealtimeSyncMapDetails.type.d.ts +6 -0
  409. package/lib/models/types/RealtimeSyncMapDetails.type.js +7 -0
  410. package/lib/models/types/TaskComplete.type.d.ts +7 -0
  411. package/lib/models/types/TaskComplete.type.js +6 -0
  412. package/lib/models/types/TaskInfoPanel.type.d.ts +6 -0
  413. package/lib/models/types/TaskInfoPanel.type.js +7 -0
  414. package/lib/server.d.ts +1 -0
  415. package/lib/server.js +41 -0
  416. package/lib/twilio/abstract/ServiceObjectStore.d.ts +6 -0
  417. package/lib/twilio/abstract/ServiceObjectStore.js +10 -0
  418. package/lib/twilio/abstract/ServiceOpenRequest.d.ts +7 -0
  419. package/lib/twilio/abstract/ServiceOpenRequest.js +10 -0
  420. package/lib/twilio/abstract/ServiceRequest.d.ts +3 -0
  421. package/lib/twilio/abstract/ServiceRequest.js +7 -0
  422. package/lib/twilio/abstract/ServiceResource.d.ts +23 -0
  423. package/lib/twilio/abstract/ServiceResource.js +37 -0
  424. package/lib/twilio/abstract/ServiceResourceFactory.d.ts +15 -0
  425. package/lib/twilio/abstract/ServiceResourceFactory.js +18 -0
  426. package/lib/twilio/abstract/ServiceTransaction.d.ts +6 -0
  427. package/lib/twilio/abstract/ServiceTransaction.js +11 -0
  428. package/lib/twilio/abstract/SyncServiceItemResource.d.ts +31 -0
  429. package/lib/twilio/abstract/SyncServiceItemResource.js +60 -0
  430. package/lib/twilio/abstract/TwilioClientConfig.d.ts +0 -0
  431. package/lib/twilio/abstract/TwilioClientConfig.js +1 -0
  432. package/lib/twilio/impl/TwilioAPIKeyConfig.d.ts +14 -0
  433. package/lib/twilio/impl/TwilioAPIKeyConfig.js +31 -0
  434. package/lib/twilio/impl/TwilioAuthTokenConfig.d.ts +11 -0
  435. package/lib/twilio/impl/TwilioAuthTokenConfig.js +24 -0
  436. package/lib/twilio/impl/TwilioClient.d.ts +6 -0
  437. package/lib/twilio/impl/TwilioClient.js +21 -0
  438. package/lib/twilio/impl/message/messageService.d.ts +0 -0
  439. package/lib/twilio/impl/message/messageService.js +42 -0
  440. package/lib/twilio/impl/sync/SyncDocument.d.ts +24 -0
  441. package/lib/twilio/impl/sync/SyncDocument.js +52 -0
  442. package/lib/twilio/impl/sync/SyncDocumentTransaction.d.ts +20 -0
  443. package/lib/twilio/impl/sync/SyncDocumentTransaction.js +31 -0
  444. package/lib/twilio/impl/sync/SyncList.d.ts +24 -0
  445. package/lib/twilio/impl/sync/SyncList.js +52 -0
  446. package/lib/twilio/impl/sync/SyncListItem.d.ts +5 -0
  447. package/lib/twilio/impl/sync/SyncListItem.js +22 -0
  448. package/lib/twilio/impl/sync/SyncListTransaction.d.ts +20 -0
  449. package/lib/twilio/impl/sync/SyncListTransaction.js +31 -0
  450. package/lib/twilio/impl/sync/SyncMap.d.ts +25 -0
  451. package/lib/twilio/impl/sync/SyncMap.js +81 -0
  452. package/lib/twilio/impl/sync/SyncMapItem.d.ts +25 -0
  453. package/lib/twilio/impl/sync/SyncMapItem.js +139 -0
  454. package/lib/twilio/impl/sync/SyncMapItemsTransaction.d.ts +22 -0
  455. package/lib/twilio/impl/sync/SyncMapItemsTransaction.js +38 -0
  456. package/lib/twilio/impl/sync/SyncMapTransaction.d.ts +22 -0
  457. package/lib/twilio/impl/sync/SyncMapTransaction.js +38 -0
  458. package/lib/twilio/impl/sync/SyncOpenRequest.d.ts +18 -0
  459. package/lib/twilio/impl/sync/SyncOpenRequest.js +24 -0
  460. package/lib/twilio/impl/sync/SyncRequest.d.ts +16 -0
  461. package/lib/twilio/impl/sync/SyncRequest.js +21 -0
  462. package/lib/twilio/impl/sync/SyncResource.d.ts +51 -0
  463. package/lib/twilio/impl/sync/SyncResource.js +104 -0
  464. package/lib/twilio/impl/sync/SyncServiceFactory.d.ts +22 -0
  465. package/lib/twilio/impl/sync/SyncServiceFactory.js +116 -0
  466. package/lib/twilio/interface/IDirection.d.ts +2 -0
  467. package/lib/twilio/interface/IDirection.js +2 -0
  468. package/lib/twilio/interface/ILink.d.ts +2 -0
  469. package/lib/twilio/interface/ILink.js +2 -0
  470. package/lib/twilio/interface/IServiceDBOpenRequest.d.ts +3 -0
  471. package/lib/twilio/interface/IServiceDBOpenRequest.js +2 -0
  472. package/lib/twilio/interface/IServiceObjectStore.d.ts +3 -0
  473. package/lib/twilio/interface/IServiceObjectStore.js +2 -0
  474. package/lib/twilio/interface/IServiceObjectStoreParameters.d.ts +4 -0
  475. package/lib/twilio/interface/IServiceObjectStoreParameters.js +2 -0
  476. package/lib/twilio/interface/IServiceRequest.d.ts +3 -0
  477. package/lib/twilio/interface/IServiceRequest.js +2 -0
  478. package/lib/twilio/interface/IServiceResource.d.ts +8 -0
  479. package/lib/twilio/interface/IServiceResource.js +2 -0
  480. package/lib/twilio/interface/IServiceTransation.d.ts +3 -0
  481. package/lib/twilio/interface/IServiceTransation.js +2 -0
  482. package/lib/twilio/interface/ISubResourceUri.d.ts +2 -0
  483. package/lib/twilio/interface/ISubResourceUri.js +2 -0
  484. package/lib/twilio/interface/ISyncItemData.d.ts +0 -0
  485. package/lib/twilio/interface/ISyncItemData.js +1 -0
  486. package/lib/twilio/interface/ISyncObjectStoreParameters.d.ts +0 -0
  487. package/lib/twilio/interface/ISyncObjectStoreParameters.js +1 -0
  488. package/lib/twilio/interface/ISyncTransactionOptions.d.ts +4 -0
  489. package/lib/twilio/interface/ISyncTransactionOptions.js +2 -0
  490. package/package.json +56 -56
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HoopOperationsImplModel = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const BaseModel_1 = require("../../abstract/BaseModel");
6
+ const Hoop_type_1 = require("../../types/Hoop.type");
7
+ // Class to handle operations validation and management
8
+ class HoopOperationsImplModel extends BaseModel_1.BaseModel {
9
+ // Constructor to initialize with operations data
10
+ constructor(operationId, profileId, day, beginTime, endTime, createdAt, updatedAt) {
11
+ super();
12
+ this._operationId = operationId;
13
+ this._profileId = profileId;
14
+ this._day = day;
15
+ this._beginTime = beginTime;
16
+ this._endTime = endTime;
17
+ this._createdAt = createdAt;
18
+ this._updatedAt = updatedAt;
19
+ this.validateData();
20
+ }
21
+ // get beginTimeHours(): string {
22
+ // const timeString = this._beginTime.toISOString(); // Converts to ISO string (e.g., 2025-01-07T02:25:38.721Z)
23
+ // const timePart = timeString.slice(11, 16); // Extracts the time portion (HH:MM)
24
+ // return timePart;
25
+ // }
26
+ // get endTimeHours(): string {
27
+ // const timeString = this._endTime.toISOString(); // Converts to ISO string (e.g., 2025-01-07T02:25:38.721Z)
28
+ // const timePart = timeString.slice(11, 16); // Extracts the time portion (HH:MM)
29
+ // return timePart;
30
+ // }
31
+ // Getters
32
+ get operationId() {
33
+ return this._operationId;
34
+ }
35
+ get profileId() {
36
+ return this._profileId;
37
+ }
38
+ get day() {
39
+ return this._day;
40
+ }
41
+ // get beginTime(): Date {
42
+ get beginTime() {
43
+ return this._beginTime;
44
+ }
45
+ // get endTime(): Date {
46
+ get endTime() {
47
+ return this._endTime;
48
+ }
49
+ get createdAt() {
50
+ return this._createdAt;
51
+ }
52
+ get updatedAt() {
53
+ return this._updatedAt;
54
+ }
55
+ // Setters
56
+ set operationId(value) {
57
+ if (!(0, uuid_1.validate)(value)) {
58
+ throw new Error("Invalid operationId format.");
59
+ }
60
+ this._operationId = value;
61
+ }
62
+ set profileId(value) {
63
+ if (typeof value !== "string" || value.trim() === "") {
64
+ throw new Error("Invalid profileId format.");
65
+ }
66
+ this._profileId = value;
67
+ }
68
+ set day(value) {
69
+ const day = value.trim().toLowerCase();
70
+ if (!(day in Hoop_type_1.AvailableDay)) {
71
+ throw new Error("Invalid day format.");
72
+ }
73
+ this._day = value;
74
+ }
75
+ // set beginTime(value: Date) {
76
+ // if (!(value instanceof Date) || isNaN(value.getTime())) {
77
+ set beginTime(value) {
78
+ if (typeof value !== "string" || value.trim() === "") {
79
+ throw new Error("Invalid beginTime format.");
80
+ }
81
+ this._beginTime = value;
82
+ }
83
+ // set endTime(value: Date) {
84
+ // if (!(value instanceof Date) || isNaN(value.getTime())) {
85
+ set endTime(value) {
86
+ if (typeof value !== "string" || value.trim() === "") {
87
+ throw new Error("Invalid endTime format.");
88
+ }
89
+ this._endTime = value;
90
+ }
91
+ set createdAt(value) {
92
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
93
+ throw new Error("Invalid createdAt format.");
94
+ }
95
+ this._createdAt = value;
96
+ }
97
+ set updatedAt(value) {
98
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
99
+ throw new Error("Invalid updatedAt format.");
100
+ }
101
+ this._updatedAt = value;
102
+ }
103
+ // Method to validate operations data
104
+ validateData() {
105
+ this.validationMessages = [];
106
+ // Define validation rules for each property
107
+ const validationRules = {
108
+ // Validate operationId: must be a non-empty string and a valid UUID
109
+ operationId: (value) => typeof value === "string" && value.trim() !== "" && (0, uuid_1.validate)(value),
110
+ // Validate profileId: must be a non-empty string
111
+ profileId: (value) => typeof value === "string" && value.trim() !== "",
112
+ // Validate day: must be a non-empty string
113
+ day: (value) => {
114
+ const day = value.trim().toLowerCase();
115
+ return day in Hoop_type_1.AvailableDay;
116
+ },
117
+ // Validate status: must be a non-empty string
118
+ // status: (value: any) => typeof value === "string" && value.trim() !== "",
119
+ // Validate beginTime: must be a non-empty string
120
+ // beginTime: (value: any) => {
121
+ // const parsedDate = new Date(value);
122
+ // return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
123
+ // },
124
+ beginTime: (value) => typeof value === "string" && value.trim() !== "",
125
+ // endTime: (value: any) => {
126
+ // const parsedDate = new Date(value);
127
+ // return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
128
+ // },
129
+ // Validate endTime: must be a non-empty string
130
+ endTime: (value) => typeof value === "string" && value.trim() !== "",
131
+ // Validate createdAt: must be a valid date
132
+ createdAt: (value) => {
133
+ const parsedDate = new Date(value);
134
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
135
+ },
136
+ // Validate updatedAt: must be a valid date
137
+ updatedAt: (value) => {
138
+ const parsedDate = new Date(value);
139
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
140
+ },
141
+ };
142
+ // Iterate over each validation rule and validate corresponding data
143
+ for (const key in validationRules) {
144
+ // console.log(key)
145
+ const validator = validationRules[key];
146
+ const value = this[key];
147
+ if (!validator(value)) {
148
+ this.setValidationMessages({
149
+ type: "Error",
150
+ fieldDescription: key,
151
+ message: `${key} is invalid.`,
152
+ });
153
+ }
154
+ }
155
+ return this.validationMessages;
156
+ }
157
+ setValidationMessages(data) {
158
+ this.validationMessages.push(data);
159
+ }
160
+ }
161
+ exports.HoopOperationsImplModel = HoopOperationsImplModel;
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from "../../abstract/BaseModel";
2
+ import { validationMessage } from "../../interface/IBaseModel";
3
+ export declare class HoopOverrideBranchImplModel extends BaseModel {
4
+ private _branchId;
5
+ private _profileId;
6
+ private _branchStatus;
7
+ private _createdAt;
8
+ private _updatedAt;
9
+ constructor(branchId: string, profileId: string, branchStatus: object, createdAt: Date | undefined, updatedAt: Date | undefined);
10
+ get branchId(): string;
11
+ get profileId(): string;
12
+ get branchStatus(): object;
13
+ get createdAt(): Date | undefined;
14
+ get updatedAt(): Date | undefined;
15
+ set branchId(value: string);
16
+ set profileId(value: string);
17
+ set branchStatus(value: any);
18
+ set createdAt(value: Date | undefined);
19
+ set updatedAt(value: Date | undefined);
20
+ validateData(): validationMessage[];
21
+ setValidationMessages(message: validationMessage): void;
22
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HoopOverrideBranchImplModel = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const BaseModel_1 = require("../../abstract/BaseModel");
6
+ class HoopOverrideBranchImplModel extends BaseModel_1.BaseModel {
7
+ constructor(branchId, profileId, branchStatus, createdAt, updatedAt) {
8
+ super();
9
+ this._branchId = branchId;
10
+ this._profileId = profileId;
11
+ this._branchStatus = branchStatus;
12
+ this._createdAt = createdAt;
13
+ this._updatedAt = updatedAt;
14
+ this.validateData();
15
+ }
16
+ // Getters
17
+ get branchId() {
18
+ return this._branchId;
19
+ }
20
+ get profileId() {
21
+ return this._profileId;
22
+ }
23
+ get branchStatus() {
24
+ return this._branchStatus;
25
+ }
26
+ get createdAt() {
27
+ return this._createdAt;
28
+ }
29
+ get updatedAt() {
30
+ return this._updatedAt;
31
+ }
32
+ // Setters
33
+ set branchId(value) {
34
+ if (!(0, uuid_1.validate)(value)) {
35
+ throw new Error("Invalid branchId format.");
36
+ }
37
+ this._branchId = value;
38
+ }
39
+ set profileId(value) {
40
+ if (typeof value !== "string" || value.trim() === "") {
41
+ throw new Error("Invalid profileId format.");
42
+ }
43
+ this._profileId = value;
44
+ }
45
+ set branchStatus(value) {
46
+ if (typeof value !== "object" || value === null) {
47
+ throw new Error("branchStatus must be a non-null object.");
48
+ }
49
+ // Define allowed keys in branchStatus and their expected types
50
+ const allowedKeys = {
51
+ emergency: "boolean",
52
+ weather: "boolean",
53
+ meeting: "boolean",
54
+ normal: "boolean",
55
+ other: "boolean",
56
+ acdDown: "boolean",
57
+ ivrDown: "boolean",
58
+ hasEndDate: "boolean",
59
+ endDatePeriod: "string" // Special case: endDatePeriod is a string
60
+ };
61
+ // Validate each key in branchStatus
62
+ const invalidKeys = Object.keys(value).filter((key) => {
63
+ if (!allowedKeys.hasOwnProperty(key))
64
+ return true; // Invalid key
65
+ return typeof value[key] !== allowedKeys[key]; // Invalid type
66
+ });
67
+ if (invalidKeys.length > 0) {
68
+ throw new Error(`Invalid keys or types in branchStatus: ${invalidKeys.join(", ")}`);
69
+ }
70
+ this._branchStatus = value;
71
+ }
72
+ set createdAt(value) {
73
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
74
+ throw new Error("Invalid createdAt format.");
75
+ }
76
+ this._createdAt = value;
77
+ }
78
+ set updatedAt(value) {
79
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
80
+ throw new Error("Invalid updatedAt format.");
81
+ }
82
+ this._updatedAt = value;
83
+ }
84
+ validateData() {
85
+ this.validationMessages = [];
86
+ // Define validation rules for each property
87
+ const validationRules = {
88
+ // Validate branchId: must be a non-empty string and a valid UUID
89
+ branchId: (value) => typeof value === "string" && value.trim() !== "" && (0, uuid_1.validate)(value),
90
+ // Validate profileId: must be a non-empty string
91
+ profileId: (value) => typeof value === "string" && value.trim() !== "",
92
+ // Validate branchStatus: must be an object and validate specific keys
93
+ branchStatus: (value) => {
94
+ if (typeof value !== "object" || value === null)
95
+ return false;
96
+ // Define allowed keys in branchStatus and their expected types
97
+ const allowedKeys = {
98
+ emergency: 'boolean',
99
+ weather: 'boolean',
100
+ meeting: 'boolean',
101
+ normal: 'boolean',
102
+ other: 'boolean',
103
+ acdDown: 'boolean',
104
+ ivrDown: 'boolean',
105
+ hasEndDate: 'boolean',
106
+ endDatePeriod: 'string' // Special case: endDatePeriod is a string
107
+ };
108
+ // Validate each key in branchStatus
109
+ return Object.keys(value).every((key) => {
110
+ if (!allowedKeys.hasOwnProperty(key))
111
+ return false; // Invalid key
112
+ return typeof value[key] === allowedKeys[key]; // Check type
113
+ });
114
+ },
115
+ // Validate createdAt: must be a valid date
116
+ createdAt: (value) => {
117
+ const parsedDate = new Date(value);
118
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
119
+ },
120
+ // Validate updatedAt: must be a valid date
121
+ updatedAt: (value) => {
122
+ const parsedDate = new Date(value);
123
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
124
+ },
125
+ };
126
+ for (const key in validationRules) {
127
+ const validator = validationRules[key];
128
+ const value = this[key];
129
+ if (!validator(value)) {
130
+ this.setValidationMessages({
131
+ type: "Error",
132
+ fieldDescription: key,
133
+ message: `${key} is invalid.`,
134
+ });
135
+ }
136
+ }
137
+ return this.validationMessages;
138
+ }
139
+ setValidationMessages(message) {
140
+ this.validationMessages.push(message);
141
+ }
142
+ }
143
+ exports.HoopOverrideBranchImplModel = HoopOverrideBranchImplModel;
@@ -0,0 +1,31 @@
1
+ import { BaseModel } from "../../abstract/BaseModel";
2
+ import { validationMessage } from "../../interface/IBaseModel";
3
+ export declare class HoopPartialDaysImplModel extends BaseModel {
4
+ private _partialDaysId;
5
+ private _profileId;
6
+ private _description;
7
+ private _beginTime;
8
+ private _endTime;
9
+ private _date;
10
+ private _createdAt;
11
+ private _updatedAt;
12
+ constructor(partialDaysId: string, profileId: string, description: string, beginTime: string, endTime: string, date: string, createdAt: Date | undefined, updatedAt: Date | undefined);
13
+ get partialDaysId(): string;
14
+ get profileId(): string;
15
+ get description(): string;
16
+ get beginTime(): string;
17
+ get endTime(): string;
18
+ get date(): string;
19
+ get createdAt(): Date | undefined;
20
+ get updatedAt(): Date | undefined;
21
+ set partialDaysId(value: string);
22
+ set profileId(value: string);
23
+ set description(value: string);
24
+ set beginTime(value: string);
25
+ set endTime(value: string);
26
+ set date(value: string);
27
+ set createdAt(value: Date | undefined);
28
+ set updatedAt(value: Date | undefined);
29
+ validateData(): validationMessage[];
30
+ setValidationMessages(message: validationMessage): void;
31
+ }
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HoopPartialDaysImplModel = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const BaseModel_1 = require("../../abstract/BaseModel");
6
+ // Class to handle partial days validation and management
7
+ class HoopPartialDaysImplModel extends BaseModel_1.BaseModel {
8
+ // Constructor to initialize with partial days data
9
+ constructor(partialDaysId, profileId, description, beginTime, endTime, date, createdAt, updatedAt) {
10
+ super();
11
+ this._partialDaysId = partialDaysId;
12
+ this._profileId = profileId;
13
+ this._description = description;
14
+ this._beginTime = beginTime;
15
+ this._endTime = endTime;
16
+ this._date = date;
17
+ this._createdAt = createdAt;
18
+ this._updatedAt = updatedAt;
19
+ this.validateData();
20
+ }
21
+ // **Getters**
22
+ get partialDaysId() {
23
+ return this._partialDaysId;
24
+ }
25
+ get profileId() {
26
+ return this._profileId;
27
+ }
28
+ get description() {
29
+ return this._description;
30
+ }
31
+ get beginTime() {
32
+ return this._beginTime;
33
+ }
34
+ get endTime() {
35
+ return this._endTime;
36
+ }
37
+ get date() {
38
+ return this._date;
39
+ }
40
+ get createdAt() {
41
+ return this._createdAt;
42
+ }
43
+ get updatedAt() {
44
+ return this._updatedAt;
45
+ }
46
+ // **Setters**
47
+ set partialDaysId(value) {
48
+ if (!(0, uuid_1.validate)(value)) {
49
+ throw new Error('Invalid partialDaysId format.');
50
+ }
51
+ this._partialDaysId = value;
52
+ }
53
+ set profileId(value) {
54
+ if (typeof value !== 'string' || value.trim() === '') {
55
+ throw new Error('Invalid profileId format.');
56
+ }
57
+ this._profileId = value;
58
+ }
59
+ set description(value) {
60
+ if (typeof value !== 'string' || value.trim() === '') {
61
+ throw new Error('Invalid description format.');
62
+ }
63
+ this._description = value;
64
+ }
65
+ set beginTime(value) {
66
+ if (typeof value !== 'string' || value.trim() === '') {
67
+ throw new Error('Invalid beginTime format.');
68
+ }
69
+ this._beginTime = value;
70
+ }
71
+ set endTime(value) {
72
+ if (typeof value !== 'string' || value.trim() === '') {
73
+ throw new Error('Invalid endTime format.');
74
+ }
75
+ this._endTime = value;
76
+ }
77
+ set date(value) {
78
+ if (typeof value !== 'string' || value.trim() === '') {
79
+ throw new Error('Invalid date format.');
80
+ }
81
+ this._date = value;
82
+ }
83
+ set createdAt(value) {
84
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
85
+ throw new Error('Invalid createdAt format.');
86
+ }
87
+ this._createdAt = value;
88
+ }
89
+ set updatedAt(value) {
90
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
91
+ throw new Error('Invalid updatedAt format.');
92
+ }
93
+ this._updatedAt = value;
94
+ }
95
+ // Method to validate partial days data
96
+ validateData() {
97
+ this.validationMessages = [];
98
+ // Define validation rules for each property
99
+ const validationRules = {
100
+ // Validate partialDaysId: must be a non-empty string and a valid UUID
101
+ partialDaysId: (value) => typeof value === "string" && value.trim() !== "" && (0, uuid_1.validate)(value),
102
+ // Validate profileId: must be a non-empty string
103
+ profileId: (value) => typeof value === "string" && value.trim() !== "",
104
+ // Validate description: must be a non-empty string
105
+ description: (value) => typeof value === "string" && value.trim() !== "",
106
+ // Validate beginTime: must be a non-empty string
107
+ beginTime: (value) => typeof value === "string" && value.trim() !== "",
108
+ // Validate endTime: must be a non-empty string
109
+ endTime: (value) => typeof value === "string" && value.trim() !== "",
110
+ // Validate date: must be a non-empty string
111
+ date: (value) => typeof value === "string" && value.trim() !== "",
112
+ // Validate createdAt: must be a valid date
113
+ createdAt: (value) => {
114
+ const parsedDate = new Date(value);
115
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
116
+ },
117
+ // Validate updatedAt: must be a valid date
118
+ updatedAt: (value) => {
119
+ const parsedDate = new Date(value);
120
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
121
+ },
122
+ };
123
+ for (const key in validationRules) {
124
+ const validator = validationRules[key];
125
+ const value = this[key];
126
+ if (!validator(value)) {
127
+ this.setValidationMessages({
128
+ type: "Error",
129
+ fieldDescription: key,
130
+ message: `${key} is invalid.`,
131
+ });
132
+ }
133
+ }
134
+ return this.validationMessages;
135
+ }
136
+ setValidationMessages(message) {
137
+ this.validationMessages.push(message);
138
+ }
139
+ }
140
+ exports.HoopPartialDaysImplModel = HoopPartialDaysImplModel;
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from "../../abstract/BaseModel";
2
+ import { validationMessage } from "../../interface/IBaseModel";
3
+ export declare class HoopProfilesListImplModel extends BaseModel {
4
+ private _profileId;
5
+ private _profileName;
6
+ private _timeZone;
7
+ private _createdAt;
8
+ private _updatedAt;
9
+ constructor(profileId: string, profileName: string, timeZone: string, createdAt: Date | undefined, updatedAt: Date | undefined);
10
+ get profileId(): string;
11
+ get profileName(): string;
12
+ get timeZone(): string;
13
+ get createdAt(): Date | undefined;
14
+ get updatedAt(): Date | undefined;
15
+ set profileId(value: string);
16
+ set profileName(value: string);
17
+ set timeZone(value: string);
18
+ set createdAt(value: Date | undefined);
19
+ set updatedAt(value: Date | undefined);
20
+ validateData(): validationMessage[];
21
+ setValidationMessages(message: validationMessage): void;
22
+ }
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HoopProfilesListImplModel = void 0;
4
+ const uuid_1 = require("uuid");
5
+ const BaseModel_1 = require("../../abstract/BaseModel");
6
+ // Class to handle profile list validation and management
7
+ class HoopProfilesListImplModel extends BaseModel_1.BaseModel {
8
+ // Constructor to initialize with profile data
9
+ constructor(profileId, profileName, timeZone, createdAt, updatedAt) {
10
+ super();
11
+ this._profileId = profileId;
12
+ this._profileName = profileName;
13
+ this._timeZone = timeZone;
14
+ this._createdAt = createdAt;
15
+ this._updatedAt = updatedAt;
16
+ this.validateData();
17
+ }
18
+ // **Getters**
19
+ get profileId() {
20
+ return this._profileId;
21
+ }
22
+ get profileName() {
23
+ return this._profileName;
24
+ }
25
+ get timeZone() {
26
+ return this._timeZone;
27
+ }
28
+ get createdAt() {
29
+ return this._createdAt;
30
+ }
31
+ get updatedAt() {
32
+ return this._updatedAt;
33
+ }
34
+ // **Setters**
35
+ set profileId(value) {
36
+ if (!(0, uuid_1.validate)(value)) {
37
+ throw new Error('Invalid profileId format.');
38
+ }
39
+ this._profileId = value;
40
+ }
41
+ set profileName(value) {
42
+ if (typeof value !== 'string' || value.trim() === '') {
43
+ throw new Error('Invalid profileName format.');
44
+ }
45
+ this._profileName = value;
46
+ }
47
+ set timeZone(value) {
48
+ if (typeof value !== 'string' || value.trim() === '') {
49
+ throw new Error('Invalid timeZone format.');
50
+ }
51
+ this._timeZone = value;
52
+ }
53
+ set createdAt(value) {
54
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
55
+ throw new Error('Invalid createdAt format.');
56
+ }
57
+ this._createdAt = value;
58
+ }
59
+ set updatedAt(value) {
60
+ if (!(value instanceof Date) || isNaN(value.getTime())) {
61
+ throw new Error('Invalid updatedAt format.');
62
+ }
63
+ this._updatedAt = value;
64
+ }
65
+ // Method to validate profile data
66
+ validateData() {
67
+ this.validationMessages = [];
68
+ // Define validation rules for each profile property
69
+ const validationRules = {
70
+ // Validate profileId: must be a non-empty string and a valid UUID
71
+ profileId: (value) => typeof value === "string" && value.trim() !== "" && (0, uuid_1.validate)(value),
72
+ // Validate profileName: must be a non-empty string
73
+ profileName: (value) => typeof value === "string" && value.trim() !== "",
74
+ // Validate timeZone: must be a non-empty string
75
+ timeZone: (value) => typeof value === "string" && value.trim() !== "",
76
+ // Validate createdAt: must be a valid date
77
+ createdAt: (value) => {
78
+ const parsedDate = new Date(value);
79
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
80
+ },
81
+ // Validate updatedAt: must be a valid date
82
+ updatedAt: (value) => {
83
+ const parsedDate = new Date(value);
84
+ return parsedDate instanceof Date && !isNaN(parsedDate.getTime());
85
+ },
86
+ };
87
+ for (const key in validationRules) {
88
+ const validator = validationRules[key];
89
+ const value = this[key];
90
+ if (!validator(value)) {
91
+ this.setValidationMessages({
92
+ type: "Error",
93
+ fieldDescription: key,
94
+ message: `${key} is invalid.`,
95
+ });
96
+ }
97
+ }
98
+ return this.validationMessages;
99
+ }
100
+ setValidationMessages(message) {
101
+ this.validationMessages.push(message);
102
+ }
103
+ }
104
+ exports.HoopProfilesListImplModel = HoopProfilesListImplModel;
@@ -0,0 +1,22 @@
1
+ import { BaseModel } from "../../abstract/BaseModel";
2
+ import { validationMessage } from "../../interface/IBaseModel";
3
+ export declare class HoopWeeklyTimingModel extends BaseModel {
4
+ private _startDay;
5
+ private _endDay;
6
+ private _startTime;
7
+ private _endTime;
8
+ private _description;
9
+ constructor(startDay: string, endDay: string, startTime: string, endTime: string, description: string);
10
+ get startDay(): string;
11
+ set startDay(value: string);
12
+ get endDay(): string;
13
+ set endDay(value: string);
14
+ get startTime(): string;
15
+ set startTime(value: string);
16
+ get endTime(): string;
17
+ set endTime(value: string);
18
+ get description(): string;
19
+ set description(value: string);
20
+ validateData(): validationMessage[];
21
+ setValidationMessages(data: validationMessage): void;
22
+ }