hgs-twilio-class-lib 1.1.72 → 1.1.73

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 (479) hide show
  1. package/lib/aws/abstract/ServiceObjectStore.d.ts +9 -0
  2. package/lib/aws/abstract/ServiceObjectStore.js +10 -0
  3. package/lib/aws/abstract/ServiceOpenRequest.d.ts +7 -0
  4. package/lib/aws/abstract/ServiceOpenRequest.js +10 -0
  5. package/lib/aws/abstract/ServiceRequest.d.ts +3 -0
  6. package/lib/aws/abstract/ServiceRequest.js +7 -0
  7. package/lib/aws/abstract/ServiceResource.d.ts +20 -0
  8. package/lib/aws/abstract/ServiceResource.js +31 -0
  9. package/lib/aws/abstract/ServiceResourceFactory.d.ts +13 -0
  10. package/lib/aws/abstract/ServiceResourceFactory.js +14 -0
  11. package/lib/aws/abstract/ServiceTransaction.d.ts +6 -0
  12. package/lib/aws/abstract/ServiceTransaction.js +11 -0
  13. package/lib/aws/impl/AWSAPIConfig.d.ts +14 -0
  14. package/lib/aws/impl/AWSAPIConfig.js +38 -0
  15. package/lib/aws/impl/AWSClient.d.ts +5 -0
  16. package/lib/aws/impl/AWSClient.js +21 -0
  17. package/lib/aws/impl/AWSConnectAPIConfig.d.ts +17 -0
  18. package/lib/aws/impl/AWSConnectAPIConfig.js +38 -0
  19. package/lib/aws/impl/DynamoDB/DynamoOpenRequest.d.ts +18 -0
  20. package/lib/aws/impl/DynamoDB/DynamoOpenRequest.js +24 -0
  21. package/lib/aws/impl/DynamoDB/DynamoRequest.d.ts +16 -0
  22. package/lib/aws/impl/DynamoDB/DynamoRequest.js +21 -0
  23. package/lib/aws/impl/DynamoDB/DynamoResourse.d.ts +29 -0
  24. package/lib/aws/impl/DynamoDB/DynamoResourse.js +45 -0
  25. package/lib/aws/impl/DynamoDB/DynamoServiceFactory.d.ts +16 -0
  26. package/lib/aws/impl/DynamoDB/DynamoServiceFactory.js +63 -0
  27. package/lib/aws/impl/DynamoDB/DynamoTable.d.ts +26 -0
  28. package/lib/aws/impl/DynamoDB/DynamoTable.js +126 -0
  29. package/lib/aws/impl/DynamoDB/DynamoTransaction.d.ts +21 -0
  30. package/lib/aws/impl/DynamoDB/DynamoTransaction.js +37 -0
  31. package/lib/aws/impl/HoopServices/HoopService.d.ts +28 -0
  32. package/lib/aws/impl/HoopServices/HoopService.js +124 -0
  33. package/lib/aws/impl/HoopServices/HoopServiceFactory.d.ts +17 -0
  34. package/lib/aws/impl/HoopServices/HoopServiceFactory.js +53 -0
  35. package/lib/aws/impl/HoopServices/HoopServiceOpenRequest.d.ts +18 -0
  36. package/lib/aws/impl/HoopServices/HoopServiceOpenRequest.js +24 -0
  37. package/lib/aws/impl/HoopServices/HoopServiceResource.d.ts +29 -0
  38. package/lib/aws/impl/HoopServices/HoopServiceResource.js +46 -0
  39. package/lib/aws/impl/HoopServices/HoopServiceTransaction.d.ts +22 -0
  40. package/lib/aws/impl/HoopServices/HoopServiceTransaction.js +37 -0
  41. package/lib/aws/interface/IDirection.d.ts +2 -0
  42. package/lib/aws/interface/IDirection.js +2 -0
  43. package/lib/aws/interface/ILink.d.ts +2 -0
  44. package/lib/aws/interface/ILink.js +2 -0
  45. package/lib/aws/interface/IServiceDBOpenRequest.d.ts +3 -0
  46. package/lib/aws/interface/IServiceDBOpenRequest.js +2 -0
  47. package/lib/aws/interface/IServiceObjectStore.d.ts +3 -0
  48. package/lib/aws/interface/IServiceObjectStore.js +2 -0
  49. package/lib/aws/interface/IServiceObjectStoreParameters.d.ts +4 -0
  50. package/lib/aws/interface/IServiceObjectStoreParameters.js +2 -0
  51. package/lib/aws/interface/IServiceRequest.d.ts +3 -0
  52. package/lib/aws/interface/IServiceRequest.js +2 -0
  53. package/lib/aws/interface/IServiceResource.d.ts +7 -0
  54. package/lib/aws/interface/IServiceResource.js +2 -0
  55. package/lib/aws/interface/IServiceTransation.d.ts +3 -0
  56. package/lib/aws/interface/IServiceTransation.js +2 -0
  57. package/lib/aws/interface/ISubResourceUri.d.ts +2 -0
  58. package/lib/aws/interface/ISubResourceUri.js +2 -0
  59. package/lib/aws/interface/ISyncItemData.d.ts +0 -0
  60. package/lib/aws/interface/ISyncItemData.js +1 -0
  61. package/lib/aws/interface/ISyncObjectStoreParameters.d.ts +0 -0
  62. package/lib/aws/interface/ISyncObjectStoreParameters.js +1 -0
  63. package/lib/aws/interface/ISyncTransactionOptions.d.ts +4 -0
  64. package/lib/aws/interface/ISyncTransactionOptions.js +2 -0
  65. package/lib/common/abstract/CommonError.d.ts +8 -0
  66. package/lib/common/abstract/CommonError.js +12 -0
  67. package/lib/common/abstract/Database.d.ts +44 -0
  68. package/lib/common/abstract/Database.js +58 -0
  69. package/lib/common/abstract/DatabaseClient.d.ts +11 -0
  70. package/lib/common/abstract/DatabaseClient.js +21 -0
  71. package/lib/common/abstract/DatabaseClientConfig.d.ts +5 -0
  72. package/lib/common/abstract/DatabaseClientConfig.js +9 -0
  73. package/lib/common/abstract/DatabaseFactory.d.ts +70 -0
  74. package/lib/common/abstract/DatabaseFactory.js +32 -0
  75. package/lib/common/abstract/DatabaseObjectStore.d.ts +29 -0
  76. package/lib/common/abstract/DatabaseObjectStore.js +13 -0
  77. package/lib/common/abstract/DatabaseOpenRequest.d.ts +24 -0
  78. package/lib/common/abstract/DatabaseOpenRequest.js +13 -0
  79. package/lib/common/abstract/DatabaseRequest.d.ts +21 -0
  80. package/lib/common/abstract/DatabaseRequest.js +14 -0
  81. package/lib/common/abstract/DatabaseTransaction.d.ts +22 -0
  82. package/lib/common/abstract/DatabaseTransaction.js +13 -0
  83. package/lib/common/abstract/Filter.d.ts +12 -0
  84. package/lib/common/abstract/Filter.js +30 -0
  85. package/lib/common/enum/ErrorTypes.d.ts +4 -0
  86. package/lib/common/enum/ErrorTypes.js +9 -0
  87. package/lib/common/enum/FilterTypes.d.ts +10 -0
  88. package/lib/common/enum/FilterTypes.js +14 -0
  89. package/lib/common/interface/IDatabaesInfo.d.ts +2 -0
  90. package/lib/common/interface/IDatabaesInfo.js +2 -0
  91. package/lib/common/interface/IDatabase.d.ts +4 -0
  92. package/lib/common/interface/IDatabase.js +2 -0
  93. package/lib/common/interface/IDatabaseClient.d.ts +5 -0
  94. package/lib/common/interface/IDatabaseClient.js +2 -0
  95. package/lib/common/interface/IDatabaseConfig.d.ts +8 -0
  96. package/lib/common/interface/IDatabaseConfig.js +10 -0
  97. package/lib/common/interface/IDatabaseDBOpenRequest.d.ts +2 -0
  98. package/lib/common/interface/IDatabaseDBOpenRequest.js +2 -0
  99. package/lib/common/interface/IDatabaseFactory.d.ts +21 -0
  100. package/lib/common/interface/IDatabaseFactory.js +2 -0
  101. package/lib/common/interface/IDatabaseObjectStore.d.ts +2 -0
  102. package/lib/common/interface/IDatabaseObjectStore.js +2 -0
  103. package/lib/common/interface/IDatabaseObjectStoreParameters.d.ts +2 -0
  104. package/lib/common/interface/IDatabaseObjectStoreParameters.js +2 -0
  105. package/lib/common/interface/IDatabaseRecord.d.ts +2 -0
  106. package/lib/common/interface/IDatabaseRecord.js +2 -0
  107. package/lib/common/interface/IDatabaseRequest.d.ts +2 -0
  108. package/lib/common/interface/IDatabaseRequest.js +2 -0
  109. package/lib/common/interface/IDatabaseTransaction.d.ts +2 -0
  110. package/lib/common/interface/IDatabaseTransaction.js +2 -0
  111. package/lib/common/interface/IDatabaseTransactionOptions.d.ts +2 -0
  112. package/lib/common/interface/IDatabaseTransactionOptions.js +2 -0
  113. package/lib/common/interface/IError.d.ts +5 -0
  114. package/lib/common/interface/IError.js +2 -0
  115. package/lib/common/interface/IErrorDetails.d.ts +6 -0
  116. package/lib/common/interface/IErrorDetails.js +2 -0
  117. package/lib/common/interface/IFilter.d.ts +25 -0
  118. package/lib/common/interface/IFilter.js +2 -0
  119. package/lib/common/type/DatabaseReadyType.d.ts +1 -0
  120. package/lib/common/type/DatabaseReadyType.js +2 -0
  121. package/lib/common/type/FilterInputType.d.ts +1 -0
  122. package/lib/common/type/FilterInputType.js +2 -0
  123. package/lib/common/type/SearchParameterType.d.ts +15 -0
  124. package/lib/common/type/SearchParameterType.js +3 -0
  125. package/lib/common/utils/dateFormat.d.ts +1 -0
  126. package/lib/common/utils/dateFormat.js +58 -0
  127. package/lib/common/utils/filter.d.ts +1 -0
  128. package/lib/common/utils/filter.js +99 -0
  129. package/lib/common/utils/newFilter.d.ts +1 -0
  130. package/lib/common/utils/newFilter.js +126 -0
  131. package/lib/common/utils/pagination.d.ts +1 -0
  132. package/lib/common/utils/pagination.js +9 -0
  133. package/lib/common/utils/search.d.ts +1 -0
  134. package/lib/common/utils/search.js +14 -0
  135. package/lib/common/utils/sort.d.ts +1 -0
  136. package/lib/common/utils/sort.js +29 -0
  137. package/lib/config/AWSConfig.d.ts +6 -0
  138. package/lib/config/AWSConfig.js +9 -0
  139. package/lib/config/DatabaseConfig.d.ts +33 -0
  140. package/lib/config/DatabaseConfig.js +36 -0
  141. package/lib/config/TwilioConfig.d.ts +4 -0
  142. package/lib/config/TwilioConfig.js +7 -0
  143. package/lib/controller/Common.d.ts +20 -0
  144. package/lib/controller/Common.js +57 -0
  145. package/lib/controller/DatabaseFactoryCollection.d.ts +6 -0
  146. package/lib/controller/DatabaseFactoryCollection.js +14 -0
  147. package/lib/controller/MainController.d.ts +6 -0
  148. package/lib/controller/MainController.js +174 -0
  149. package/lib/controller/aws/HoopBuisnessHours.d.ts +23 -0
  150. package/lib/controller/aws/HoopBuisnessHours.js +408 -0
  151. package/lib/controller/aws/HoopOperationsController.d.ts +9 -0
  152. package/lib/controller/aws/HoopOperationsController.js +86 -0
  153. package/lib/controller/aws/HoopOverrideBranchesController.d.ts +7 -0
  154. package/lib/controller/aws/HoopOverrideBranchesController.js +40 -0
  155. package/lib/controller/aws/HoopProfilesListController.d.ts +8 -0
  156. package/lib/controller/aws/HoopProfilesListController.js +61 -0
  157. package/lib/controller/aws/PlaybackScreenrecordings.d.ts +9 -0
  158. package/lib/controller/aws/PlaybackScreenrecordings.js +63 -0
  159. package/lib/controller/twilio/AgentActionsController.d.ts +54 -0
  160. package/lib/controller/twilio/AgentActionsController.js +177 -0
  161. package/lib/controller/twilio/AgentScorecardController.d.ts +53 -0
  162. package/lib/controller/twilio/AgentScorecardController.js +173 -0
  163. package/lib/controller/twilio/AuditLogController.d.ts +15 -0
  164. package/lib/controller/twilio/AuditLogController.js +137 -0
  165. package/lib/controller/twilio/CallLogsController.d.ts +12 -0
  166. package/lib/controller/twilio/CallLogsController.js +131 -0
  167. package/lib/controller/twilio/CallbackAndVoicemailController.d.ts +12 -0
  168. package/lib/controller/twilio/CallbackAndVoicemailController.js +114 -0
  169. package/lib/controller/twilio/ChannelSettingTaskInfoController.d.ts +11 -0
  170. package/lib/controller/twilio/ChannelSettingTaskInfoController.js +117 -0
  171. package/lib/controller/twilio/ChannelSettingsController.d.ts +16 -0
  172. package/lib/controller/twilio/ChannelSettingsController.js +142 -0
  173. package/lib/controller/twilio/CxConfigAssetController.d.ts +12 -0
  174. package/lib/controller/twilio/CxConfigAssetController.js +128 -0
  175. package/lib/controller/twilio/CxConfigController.d.ts +18 -0
  176. package/lib/controller/twilio/CxConfigController.js +112 -0
  177. package/lib/controller/twilio/CxConfigExternalNumbersController.d.ts +12 -0
  178. package/lib/controller/twilio/CxConfigExternalNumbersController.js +138 -0
  179. package/lib/controller/twilio/CxConfigOther.d.ts +16 -0
  180. package/lib/controller/twilio/CxConfigOther.js +138 -0
  181. package/lib/controller/twilio/CxConfigQueueMenuController.d.ts +12 -0
  182. package/lib/controller/twilio/CxConfigQueueMenuController.js +129 -0
  183. package/lib/controller/twilio/CxConfigUIconfigController.d.ts +12 -0
  184. package/lib/controller/twilio/CxConfigUIconfigController.js +132 -0
  185. package/lib/controller/twilio/GPMController.d.ts +12 -0
  186. package/lib/controller/twilio/GPMController.js +151 -0
  187. package/lib/controller/twilio/HoopBusinessHoursController.d.ts +18 -0
  188. package/lib/controller/twilio/HoopBusinessHoursController.js +285 -0
  189. package/lib/controller/twilio/HoopHolidaysController.d.ts +14 -0
  190. package/lib/controller/twilio/HoopHolidaysController.js +152 -0
  191. package/lib/controller/twilio/HoopMainController.d.ts +13 -0
  192. package/lib/controller/twilio/HoopMainController.js +297 -0
  193. package/lib/controller/twilio/HoopNotesController.d.ts +14 -0
  194. package/lib/controller/twilio/HoopNotesController.js +149 -0
  195. package/lib/controller/twilio/HoopOperationsController.d.ts +14 -0
  196. package/lib/controller/twilio/HoopOperationsController.js +138 -0
  197. package/lib/controller/twilio/HoopOverrideBranchesController.d.ts +14 -0
  198. package/lib/controller/twilio/HoopOverrideBranchesController.js +137 -0
  199. package/lib/controller/twilio/HoopPartialDaysController.d.ts +14 -0
  200. package/lib/controller/twilio/HoopPartialDaysController.js +152 -0
  201. package/lib/controller/twilio/HoopProfilesListController.d.ts +14 -0
  202. package/lib/controller/twilio/HoopProfilesListController.js +147 -0
  203. package/lib/controller/twilio/NavigationController.d.ts +13 -0
  204. package/lib/controller/twilio/NavigationController.js +170 -0
  205. package/lib/controller/twilio/QualityFormsController.d.ts +12 -0
  206. package/lib/controller/twilio/QualityFormsController.js +129 -0
  207. package/lib/controller/twilio/QuickLinkController.d.ts +11 -0
  208. package/lib/controller/twilio/QuickLinkController.js +122 -0
  209. package/lib/controller/twilio/RealTimeReportQueueDetailsController.d.ts +14 -0
  210. package/lib/controller/twilio/RealTimeReportQueueDetailsController.js +126 -0
  211. package/lib/controller/twilio/RealTimeReportsWGDetailsController.d.ts +53 -0
  212. package/lib/controller/twilio/RealTimeReportsWGDetailsController.js +160 -0
  213. package/lib/controller/twilio/TaskInfoPanelController.d.ts +15 -0
  214. package/lib/controller/twilio/TaskInfoPanelController.js +134 -0
  215. package/lib/controller/twilio/filterImpl/AgentScorecardFilter.d.ts +12 -0
  216. package/lib/controller/twilio/filterImpl/AgentScorecardFilter.js +52 -0
  217. package/lib/controller/twilio/filterImpl/AuditLogsFilter.d.ts +12 -0
  218. package/lib/controller/twilio/filterImpl/AuditLogsFilter.js +89 -0
  219. package/lib/controller/twilio/filterImpl/CXConfigPromptFilter.d.ts +12 -0
  220. package/lib/controller/twilio/filterImpl/CXConfigPromptFilter.js +81 -0
  221. package/lib/controller/twilio/filterImpl/CallLogsFilter.d.ts +20 -0
  222. package/lib/controller/twilio/filterImpl/CallLogsFilter.js +101 -0
  223. package/lib/controller/twilio/filterImpl/CxConfigAssetFilter.d.ts +12 -0
  224. package/lib/controller/twilio/filterImpl/CxConfigAssetFilter.js +59 -0
  225. package/lib/controller/twilio/filterImpl/CxConfigExternalNumbersFilter.d.ts +12 -0
  226. package/lib/controller/twilio/filterImpl/CxConfigExternalNumbersFilter.js +67 -0
  227. package/lib/controller/twilio/filterImpl/CxConfigOtherFilter.d.ts +14 -0
  228. package/lib/controller/twilio/filterImpl/CxConfigOtherFilter.js +52 -0
  229. package/lib/controller/twilio/filterImpl/CxConfigQueueMenuFilter.d.ts +17 -0
  230. package/lib/controller/twilio/filterImpl/CxConfigQueueMenuFilter.js +78 -0
  231. package/lib/controller/twilio/filterImpl/CxConfigUIconfigFilter.d.ts +12 -0
  232. package/lib/controller/twilio/filterImpl/CxConfigUIconfigFilter.js +51 -0
  233. package/lib/controller/twilio/filterImpl/HoopHolidaysFilter.d.ts +14 -0
  234. package/lib/controller/twilio/filterImpl/HoopHolidaysFilter.js +58 -0
  235. package/lib/controller/twilio/filterImpl/HoopNotesFilter.d.ts +12 -0
  236. package/lib/controller/twilio/filterImpl/HoopNotesFilter.js +51 -0
  237. package/lib/controller/twilio/filterImpl/HoopPartialDaysFilter.d.ts +14 -0
  238. package/lib/controller/twilio/filterImpl/HoopPartialDaysFilter.js +58 -0
  239. package/lib/controller/twilio/filterImpl/MainFilterService.d.ts +4 -0
  240. package/lib/controller/twilio/filterImpl/MainFilterService.js +108 -0
  241. package/lib/controller/twilio/filterImpl/NavigationFilter.d.ts +20 -0
  242. package/lib/controller/twilio/filterImpl/NavigationFilter.js +90 -0
  243. package/lib/controller/twilio/filterImpl/QueueDetailsFilter.d.ts +14 -0
  244. package/lib/controller/twilio/filterImpl/QueueDetailsFilter.js +53 -0
  245. package/lib/controller/twilio/filterImpl/TaskCompleteFilter.d.ts +12 -0
  246. package/lib/controller/twilio/filterImpl/TaskCompleteFilter.js +62 -0
  247. package/lib/controller/twilio/filterImpl/TaskInfoPanelFilter.d.ts +12 -0
  248. package/lib/controller/twilio/filterImpl/TaskInfoPanelFilter.js +52 -0
  249. package/lib/express/ApiResponse.d.ts +15 -0
  250. package/lib/express/ApiResponse.js +11 -0
  251. package/lib/express/RequestValidator.d.ts +50 -0
  252. package/lib/express/RequestValidator.js +77 -0
  253. package/lib/express/RequireParamsPicker.d.ts +7 -0
  254. package/lib/express/RequireParamsPicker.js +14 -0
  255. package/lib/express/ValidateRequireParameters.d.ts +3 -0
  256. package/lib/express/ValidateRequireParameters.js +39 -0
  257. package/lib/index.d.ts +39 -0
  258. package/lib/index.js +100 -0
  259. package/lib/models/BatchUpdateSkills.model.d.ts +0 -0
  260. package/lib/models/BatchUpdateSkills.model.js +11 -0
  261. package/lib/models/CannedMessage.model.d.ts +4 -0
  262. package/lib/models/CannedMessage.model.js +1 -0
  263. package/lib/models/ChannelSettingsTaskInfo.model.d.ts +87 -0
  264. package/lib/models/ChannelSettingsTaskInfo.model.js +1 -0
  265. package/lib/models/CustomerFeedback.model.d.ts +9 -0
  266. package/lib/models/CustomerFeedback.model.js +1 -0
  267. package/lib/models/Filter.model.d.ts +15 -0
  268. package/lib/models/Filter.model.js +2 -0
  269. package/lib/models/Hoop.model.d.ts +15 -0
  270. package/lib/models/Hoop.model.js +18 -0
  271. package/lib/models/Navigation.model.d.ts +28 -0
  272. package/lib/models/Navigation.model.js +8 -0
  273. package/lib/models/Roles.Model.d.ts +8 -0
  274. package/lib/models/Roles.Model.js +1 -0
  275. package/lib/models/abstract/BaseModel.d.ts +17 -0
  276. package/lib/models/abstract/BaseModel.js +40 -0
  277. package/lib/models/impl/AgentActionsLogsModel.d.ts +27 -0
  278. package/lib/models/impl/AgentActionsLogsModel.js +89 -0
  279. package/lib/models/impl/AgentActionsModel.d.ts +19 -0
  280. package/lib/models/impl/AgentActionsModel.js +60 -0
  281. package/lib/models/impl/AgentScorecardModel.d.ts +66 -0
  282. package/lib/models/impl/AgentScorecardModel.js +282 -0
  283. package/lib/models/impl/AuditLogsModel.d.ts +31 -0
  284. package/lib/models/impl/AuditLogsModel.js +146 -0
  285. package/lib/models/impl/CallLogsModel.d.ts +37 -0
  286. package/lib/models/impl/CallLogsModel.js +109 -0
  287. package/lib/models/impl/CallStatisticsModel.d.ts +16 -0
  288. package/lib/models/impl/CallStatisticsModel.js +52 -0
  289. package/lib/models/impl/CategoryDetailsModel.d.ts +17 -0
  290. package/lib/models/impl/CategoryDetailsModel.js +44 -0
  291. package/lib/models/impl/MemberModel.d.ts +42 -0
  292. package/lib/models/impl/MemberModel.js +170 -0
  293. package/lib/models/impl/ModelValidationError.d.ts +6 -0
  294. package/lib/models/impl/ModelValidationError.js +15 -0
  295. package/lib/models/impl/NavigationModel.d.ts +39 -0
  296. package/lib/models/impl/NavigationModel.js +126 -0
  297. package/lib/models/impl/PerformanceStatisticsModel.d.ts +41 -0
  298. package/lib/models/impl/PerformanceStatisticsModel.js +129 -0
  299. package/lib/models/impl/PlaybackScreenrecordings.d.ts +39 -0
  300. package/lib/models/impl/PlaybackScreenrecordings.js +133 -0
  301. package/lib/models/impl/ProfileModel.d.ts +23 -0
  302. package/lib/models/impl/ProfileModel.js +102 -0
  303. package/lib/models/impl/QualityFormsModel.d.ts +39 -0
  304. package/lib/models/impl/QualityFormsModel.js +150 -0
  305. package/lib/models/impl/QuestionDetailsModel.d.ts +39 -0
  306. package/lib/models/impl/QuestionDetailsModel.js +173 -0
  307. package/lib/models/impl/QueueDetailsModel.d.ts +63 -0
  308. package/lib/models/impl/QueueDetailsModel.js +261 -0
  309. package/lib/models/impl/QueueModel.d.ts +39 -0
  310. package/lib/models/impl/QueueModel.js +156 -0
  311. package/lib/models/impl/QuickLinkModel.d.ts +24 -0
  312. package/lib/models/impl/QuickLinkModel.js +122 -0
  313. package/lib/models/impl/StatisticsNumberDetailsModel.d.ts +18 -0
  314. package/lib/models/impl/StatisticsNumberDetailsModel.js +72 -0
  315. package/lib/models/impl/StatisticsTimeDetailsModel.d.ts +18 -0
  316. package/lib/models/impl/StatisticsTimeDetailsModel.js +72 -0
  317. package/lib/models/impl/TaskAttributesModel.d.ts +31 -0
  318. package/lib/models/impl/TaskAttributesModel.js +108 -0
  319. package/lib/models/impl/TaskChannelModel.d.ts +15 -0
  320. package/lib/models/impl/TaskChannelModel.js +69 -0
  321. package/lib/models/impl/TaskComplete.d.ts +0 -0
  322. package/lib/models/impl/TaskComplete.js +1 -0
  323. package/lib/models/impl/TaskInfoPanelModel.d.ts +16 -0
  324. package/lib/models/impl/TaskInfoPanelModel.js +69 -0
  325. package/lib/models/impl/TaskModel.d.ts +59 -0
  326. package/lib/models/impl/TaskModel.js +234 -0
  327. package/lib/models/impl/WorkGroupDetailsModel.d.ts +63 -0
  328. package/lib/models/impl/WorkGroupDetailsModel.js +281 -0
  329. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailModel.d.ts +33 -0
  330. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailModel.js +140 -0
  331. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailNamespace.d.ts +8 -0
  332. package/lib/models/impl/callbackandvoicemail/CallbackAndVoicemailNamespace.js +12 -0
  333. package/lib/models/impl/callbackandvoicemail/CallbackModel.d.ts +19 -0
  334. package/lib/models/impl/callbackandvoicemail/CallbackModel.js +82 -0
  335. package/lib/models/impl/callbackandvoicemail/VoicemailModel.d.ts +25 -0
  336. package/lib/models/impl/callbackandvoicemail/VoicemailModel.js +108 -0
  337. package/lib/models/impl/channelsettings/ChannelSettingModel.d.ts +68 -0
  338. package/lib/models/impl/channelsettings/ChannelSettingModel.js +240 -0
  339. package/lib/models/impl/channelsettings/ChannelSettingTaskInfoModel.d.ts +31 -0
  340. package/lib/models/impl/channelsettings/ChannelSettingTaskInfoModel.js +106 -0
  341. package/lib/models/impl/channelsettings/TaskInfoAttributeModel.d.ts +25 -0
  342. package/lib/models/impl/channelsettings/TaskInfoAttributeModel.js +80 -0
  343. package/lib/models/impl/channelsettings/TaskInfoModel.d.ts +13 -0
  344. package/lib/models/impl/channelsettings/TaskInfoModel.js +52 -0
  345. package/lib/models/impl/cxconfig/CxConfigNamespace.d.ts +16 -0
  346. package/lib/models/impl/cxconfig/CxConfigNamespace.js +20 -0
  347. package/lib/models/impl/cxconfig/CxConfigUIConfigModel.d.ts +27 -0
  348. package/lib/models/impl/cxconfig/CxConfigUIConfigModel.js +173 -0
  349. package/lib/models/impl/cxconfig/CxConfiguratorConfigModel.d.ts +24 -0
  350. package/lib/models/impl/cxconfig/CxConfiguratorConfigModel.js +103 -0
  351. package/lib/models/impl/cxconfig/CxConfiguratorExternalNumbersModel.d.ts +24 -0
  352. package/lib/models/impl/cxconfig/CxConfiguratorExternalNumbersModel.js +149 -0
  353. package/lib/models/impl/cxconfig/CxConfiguratorGPMAssetModel.d.ts +27 -0
  354. package/lib/models/impl/cxconfig/CxConfiguratorGPMAssetModel.js +179 -0
  355. package/lib/models/impl/cxconfig/CxConfiguratorGPMPromptModel.d.ts +37 -0
  356. package/lib/models/impl/cxconfig/CxConfiguratorGPMPromptModel.js +197 -0
  357. package/lib/models/impl/cxconfig/CxConfiguratorOtherModel.d.ts +27 -0
  358. package/lib/models/impl/cxconfig/CxConfiguratorOtherModel.js +159 -0
  359. package/lib/models/impl/cxconfig/CxConfiguratorQueueMenuModel.d.ts +40 -0
  360. package/lib/models/impl/cxconfig/CxConfiguratorQueueMenuModel.js +128 -0
  361. package/lib/models/impl/hoop/HoopBusinessHoursModel.d.ts +39 -0
  362. package/lib/models/impl/hoop/HoopBusinessHoursModel.js +122 -0
  363. package/lib/models/impl/hoop/HoopDescriptionModel.d.ts +16 -0
  364. package/lib/models/impl/hoop/HoopDescriptionModel.js +64 -0
  365. package/lib/models/impl/hoop/HoopHolidaysImplModel.d.ts +25 -0
  366. package/lib/models/impl/hoop/HoopHolidaysImplModel.js +118 -0
  367. package/lib/models/impl/hoop/HoopNotesImplModel.d.ts +25 -0
  368. package/lib/models/impl/hoop/HoopNotesImplModel.js +117 -0
  369. package/lib/models/impl/hoop/HoopOperationsImplModel.d.ts +28 -0
  370. package/lib/models/impl/hoop/HoopOperationsImplModel.js +161 -0
  371. package/lib/models/impl/hoop/HoopOverrideImplModel.d.ts +22 -0
  372. package/lib/models/impl/hoop/HoopOverrideImplModel.js +143 -0
  373. package/lib/models/impl/hoop/HoopPartialDaysImplModel.d.ts +31 -0
  374. package/lib/models/impl/hoop/HoopPartialDaysImplModel.js +140 -0
  375. package/lib/models/impl/hoop/HoopProfilesListImplModel.d.ts +22 -0
  376. package/lib/models/impl/hoop/HoopProfilesListImplModel.js +104 -0
  377. package/lib/models/impl/hoop/HoopWeeklyTimingModel.d.ts +22 -0
  378. package/lib/models/impl/hoop/HoopWeeklyTimingModel.js +86 -0
  379. package/lib/models/index.d.ts +25 -0
  380. package/lib/models/index.js +53 -0
  381. package/lib/models/interface/IBaseModel.d.ts +11 -0
  382. package/lib/models/interface/IBaseModel.js +2 -0
  383. package/lib/models/types/AgentScorecard.type.d.ts +6 -0
  384. package/lib/models/types/AgentScorecard.type.js +7 -0
  385. package/lib/models/types/AuditLog.type.d.ts +13 -0
  386. package/lib/models/types/AuditLog.type.js +10 -0
  387. package/lib/models/types/CallLog.type.d.ts +16 -0
  388. package/lib/models/types/CallLog.type.js +10 -0
  389. package/lib/models/types/ChannelSetting.type.d.ts +7 -0
  390. package/lib/models/types/ChannelSetting.type.js +11 -0
  391. package/lib/models/types/CxConfig.type.d.ts +72 -0
  392. package/lib/models/types/CxConfig.type.js +43 -0
  393. package/lib/models/types/Hoop.type.d.ts +9 -0
  394. package/lib/models/types/Hoop.type.js +13 -0
  395. package/lib/models/types/Navigation.type.d.ts +11 -0
  396. package/lib/models/types/Navigation.type.js +8 -0
  397. package/lib/models/types/Profile.type.d.ts +1 -0
  398. package/lib/models/types/Profile.type.js +2 -0
  399. package/lib/models/types/QueueDetails.type.d.ts +6 -0
  400. package/lib/models/types/QueueDetails.type.js +7 -0
  401. package/lib/models/types/TaskComplete.type.d.ts +7 -0
  402. package/lib/models/types/TaskComplete.type.js +6 -0
  403. package/lib/models/types/TaskInfoPanel.type.d.ts +6 -0
  404. package/lib/models/types/TaskInfoPanel.type.js +7 -0
  405. package/lib/server.d.ts +1 -0
  406. package/lib/server.js +39 -0
  407. package/lib/twilio/abstract/ServiceObjectStore.d.ts +6 -0
  408. package/lib/twilio/abstract/ServiceObjectStore.js +10 -0
  409. package/lib/twilio/abstract/ServiceOpenRequest.d.ts +7 -0
  410. package/lib/twilio/abstract/ServiceOpenRequest.js +10 -0
  411. package/lib/twilio/abstract/ServiceRequest.d.ts +3 -0
  412. package/lib/twilio/abstract/ServiceRequest.js +7 -0
  413. package/lib/twilio/abstract/ServiceResource.d.ts +23 -0
  414. package/lib/twilio/abstract/ServiceResource.js +37 -0
  415. package/lib/twilio/abstract/ServiceResourceFactory.d.ts +15 -0
  416. package/lib/twilio/abstract/ServiceResourceFactory.js +18 -0
  417. package/lib/twilio/abstract/ServiceTransaction.d.ts +6 -0
  418. package/lib/twilio/abstract/ServiceTransaction.js +11 -0
  419. package/lib/twilio/abstract/SyncServiceItemResource.d.ts +31 -0
  420. package/lib/twilio/abstract/SyncServiceItemResource.js +60 -0
  421. package/lib/twilio/abstract/TwilioClientConfig.d.ts +0 -0
  422. package/lib/twilio/abstract/TwilioClientConfig.js +1 -0
  423. package/lib/twilio/impl/TwilioAPIKeyConfig.d.ts +14 -0
  424. package/lib/twilio/impl/TwilioAPIKeyConfig.js +31 -0
  425. package/lib/twilio/impl/TwilioAuthTokenConfig.d.ts +11 -0
  426. package/lib/twilio/impl/TwilioAuthTokenConfig.js +24 -0
  427. package/lib/twilio/impl/TwilioClient.d.ts +6 -0
  428. package/lib/twilio/impl/TwilioClient.js +21 -0
  429. package/lib/twilio/impl/message/messageService.d.ts +0 -0
  430. package/lib/twilio/impl/message/messageService.js +42 -0
  431. package/lib/twilio/impl/sync/SyncDocument.d.ts +24 -0
  432. package/lib/twilio/impl/sync/SyncDocument.js +52 -0
  433. package/lib/twilio/impl/sync/SyncDocumentTransaction.d.ts +20 -0
  434. package/lib/twilio/impl/sync/SyncDocumentTransaction.js +31 -0
  435. package/lib/twilio/impl/sync/SyncList.d.ts +24 -0
  436. package/lib/twilio/impl/sync/SyncList.js +52 -0
  437. package/lib/twilio/impl/sync/SyncListItem.d.ts +5 -0
  438. package/lib/twilio/impl/sync/SyncListItem.js +22 -0
  439. package/lib/twilio/impl/sync/SyncListTransaction.d.ts +20 -0
  440. package/lib/twilio/impl/sync/SyncListTransaction.js +31 -0
  441. package/lib/twilio/impl/sync/SyncMap.d.ts +25 -0
  442. package/lib/twilio/impl/sync/SyncMap.js +139 -0
  443. package/lib/twilio/impl/sync/SyncMapItem.d.ts +5 -0
  444. package/lib/twilio/impl/sync/SyncMapItem.js +7 -0
  445. package/lib/twilio/impl/sync/SyncMapTransaction.d.ts +22 -0
  446. package/lib/twilio/impl/sync/SyncMapTransaction.js +38 -0
  447. package/lib/twilio/impl/sync/SyncOpenRequest.d.ts +18 -0
  448. package/lib/twilio/impl/sync/SyncOpenRequest.js +24 -0
  449. package/lib/twilio/impl/sync/SyncRequest.d.ts +16 -0
  450. package/lib/twilio/impl/sync/SyncRequest.js +21 -0
  451. package/lib/twilio/impl/sync/SyncResource.d.ts +50 -0
  452. package/lib/twilio/impl/sync/SyncResource.js +97 -0
  453. package/lib/twilio/impl/sync/SyncServiceFactory.d.ts +22 -0
  454. package/lib/twilio/impl/sync/SyncServiceFactory.js +117 -0
  455. package/lib/twilio/interface/IDirection.d.ts +2 -0
  456. package/lib/twilio/interface/IDirection.js +2 -0
  457. package/lib/twilio/interface/ILink.d.ts +2 -0
  458. package/lib/twilio/interface/ILink.js +2 -0
  459. package/lib/twilio/interface/IServiceDBOpenRequest.d.ts +3 -0
  460. package/lib/twilio/interface/IServiceDBOpenRequest.js +2 -0
  461. package/lib/twilio/interface/IServiceObjectStore.d.ts +3 -0
  462. package/lib/twilio/interface/IServiceObjectStore.js +2 -0
  463. package/lib/twilio/interface/IServiceObjectStoreParameters.d.ts +4 -0
  464. package/lib/twilio/interface/IServiceObjectStoreParameters.js +2 -0
  465. package/lib/twilio/interface/IServiceRequest.d.ts +3 -0
  466. package/lib/twilio/interface/IServiceRequest.js +2 -0
  467. package/lib/twilio/interface/IServiceResource.d.ts +8 -0
  468. package/lib/twilio/interface/IServiceResource.js +2 -0
  469. package/lib/twilio/interface/IServiceTransation.d.ts +3 -0
  470. package/lib/twilio/interface/IServiceTransation.js +2 -0
  471. package/lib/twilio/interface/ISubResourceUri.d.ts +2 -0
  472. package/lib/twilio/interface/ISubResourceUri.js +2 -0
  473. package/lib/twilio/interface/ISyncItemData.d.ts +0 -0
  474. package/lib/twilio/interface/ISyncItemData.js +1 -0
  475. package/lib/twilio/interface/ISyncObjectStoreParameters.d.ts +0 -0
  476. package/lib/twilio/interface/ISyncObjectStoreParameters.js +1 -0
  477. package/lib/twilio/interface/ISyncTransactionOptions.d.ts +4 -0
  478. package/lib/twilio/interface/ISyncTransactionOptions.js +2 -0
  479. package/package.json +1 -1
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.HoopBusinessHoursController = void 0;
16
+ const moment_timezone_1 = __importDefault(require("moment-timezone"));
17
+ const HoopProfilesListController_1 = require("./HoopProfilesListController");
18
+ const HoopHolidaysController_1 = require("./HoopHolidaysController");
19
+ const HoopPartialDaysController_1 = require("./HoopPartialDaysController");
20
+ const HoopOverrideBranchesController_1 = require("./HoopOverrideBranchesController");
21
+ const HoopOperationsController_1 = require("./HoopOperationsController");
22
+ const HoopWeeklyTimingModel_1 = require("../../models/impl/hoop/HoopWeeklyTimingModel");
23
+ const Hoop_type_1 = require("../../models/types/Hoop.type");
24
+ const HoopDescriptionModel_1 = require("../../models/impl/hoop/HoopDescriptionModel");
25
+ class HoopBusinessHoursController {
26
+ constructor(dbFactory) {
27
+ this._dbFactory = dbFactory;
28
+ }
29
+ /**
30
+ * Method to get business hours based on the profile ID.
31
+ * Handles multiple statuses such as Emergency, ACD Down, IVR Down, Meetings, etc.
32
+ * @param query - Object containing the profileName
33
+ * @returns - Business hours status
34
+ */
35
+ getBusinessHours(query) {
36
+ var _a, _b;
37
+ return __awaiter(this, void 0, void 0, function* () {
38
+ try {
39
+ // Initialize the default status object
40
+ let status = {
41
+ isOpen: true,
42
+ isHoliday: false,
43
+ isPartialDay: false,
44
+ isRegularDay: true,
45
+ description: {
46
+ hoopDesc: "Normal Operations",
47
+ begin: "00:00:00",
48
+ end: "23:59:00",
49
+ },
50
+ overrideBranches: false,
51
+ weeklyTiming: [],
52
+ weeklyTimingString: "",
53
+ timeZone: ""
54
+ };
55
+ // Initialize necessary controllers for fetching data
56
+ const profilesListController = new HoopProfilesListController_1.HoopProfilesListController(this._dbFactory);
57
+ const operationsListController = new HoopOperationsController_1.HoopOperationsController(this._dbFactory);
58
+ const holidaysController = new HoopHolidaysController_1.HoopHolidaysController(this._dbFactory);
59
+ const partialDaysController = new HoopPartialDaysController_1.HoopPartialDaysController(this._dbFactory);
60
+ const overrideBranchesController = new HoopOverrideBranchesController_1.HoopOverrideBranchesController(this._dbFactory);
61
+ const profileInfo1 = yield profilesListController.getAll({
62
+ itemsPerPage: 200,
63
+ pageNo: 1,
64
+ });
65
+ const profilesList = profileInfo1.result.items;
66
+ const isProfileAvailable = profilesList.find((profile) => profile.profileName === query.profileName);
67
+ const profileId = isProfileAvailable.profileId;
68
+ if (isProfileAvailable) {
69
+ // Fetch holidays, partial days, and override branches data
70
+ const allOperationsInfo = yield operationsListController.getAll({
71
+ itemsPerPage: 500,
72
+ pageNo: 1,
73
+ });
74
+ const operations = allOperationsInfo.result.items;
75
+ // Filter holidays based on profile ID
76
+ const operationsList = operations.filter((operation) => operation.profileId === profileId);
77
+ const weeklyTimings = operationsList.map((item) => __awaiter(this, void 0, void 0, function* () {
78
+ const weeklyTiming = new HoopWeeklyTimingModel_1.HoopWeeklyTimingModel(item.day, item.day, item.beginTime + ':00', item.endTime + ':00', item.day);
79
+ // Validate weeklyTiming
80
+ if (weeklyTiming.validationMessages.length > 0) {
81
+ throw weeklyTiming.validationMessages; // Throw error if data validation fails
82
+ }
83
+ // Serialize weeklyTiming
84
+ return weeklyTiming.serialize;
85
+ }));
86
+ const resolvedWeeklyTimings = yield Promise.all(weeklyTimings);
87
+ resolvedWeeklyTimings.sort((a, b) => Hoop_type_1.AvailableDay[a.startDay.toLowerCase()]
88
+ - Hoop_type_1.AvailableDay[b.startDay.toLowerCase()]);
89
+ const weeklyTimingString = yield this.getWeeklyTimingString(resolvedWeeklyTimings);
90
+ status.weeklyTiming = resolvedWeeklyTimings;
91
+ status.weeklyTimingString = weeklyTimingString;
92
+ status.timeZone = isProfileAvailable.timeZone;
93
+ const allHolidaysInfo = yield holidaysController.getAll({
94
+ itemsPerPage: 500,
95
+ pageNo: 1,
96
+ });
97
+ // Filter holidays based on profile ID
98
+ const holidays = allHolidaysInfo.result.items.filter((holiday) => holiday.profileId === profileId);
99
+ // Fetch and filter partial days based on profile ID
100
+ const allPartialDays = yield partialDaysController.getAll({
101
+ itemsPerPage: 500,
102
+ pageNo: 1,
103
+ });
104
+ const partialDays = allPartialDays.result.items.filter((partialDay) => partialDay.profileId === profileId);
105
+ // Fetch and filter override branches based on profile ID
106
+ const allOverrideBranches = yield overrideBranchesController.getAll({
107
+ itemsPerPage: 500,
108
+ pageNo: 1,
109
+ });
110
+ const overrideBranches = allOverrideBranches.result.items.filter((branches) => branches.profileId === profileId);
111
+ // Extract branch status and endDatePeriod from the first matching override branch
112
+ const branchStatus = (_a = overrideBranches[0]) === null || _a === void 0 ? void 0 : _a.branchStatus;
113
+ const endDatePeriod = branchStatus.endDatePeriod;
114
+ // Set the timezone based on profile information or default to "America/New_York"
115
+ const timezone = isProfileAvailable.timeZone || "America/New_York";
116
+ const now = (0, moment_timezone_1.default)().tz(timezone); // Current time in specified timezone
117
+ const today = (0, moment_timezone_1.default)().tz(timezone).format("YYYY-MM-DD");
118
+ const endDateTime = endDatePeriod
119
+ ? moment_timezone_1.default.tz(endDatePeriod, "YYYY-MM-DD HH:mm", timezone).endOf('day')
120
+ : null;
121
+ // Handle various branch statuses before endDatePeriod
122
+ if (endDateTime &&
123
+ now.isBefore(endDateTime) &&
124
+ ((branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.emergency) ||
125
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.normal) ||
126
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.acdDown) ||
127
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.ivrDown) ||
128
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.meeting) ||
129
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.other) ||
130
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.weather))) {
131
+ // Initialize default response variables
132
+ const description = yield this.getBranchStatusDescription(branchStatus);
133
+ status.isOpen = false;
134
+ status.isRegularDay = false;
135
+ const HoopDescription = yield this.createHoopDescription(description, "00:00:00", "00:00:00");
136
+ status.description = HoopDescription;
137
+ status.overrideBranches = true;
138
+ return status;
139
+ }
140
+ // Handle the scenario where endDatePeriod has passed
141
+ if (!endDateTime || now.isAfter(endDateTime)) {
142
+ const dayOfWeek = (0, moment_timezone_1.default)().tz(timezone).format("dddd");
143
+ const todayOperations = operationsList.find((operation) => operation.day === dayOfWeek);
144
+ status.isOpen = false;
145
+ status.isHoliday = false;
146
+ status.isPartialDay = false;
147
+ status.isRegularDay = true;
148
+ const HoopDescription = yield this.createHoopDescription("Out of Business Hours", "00:00:00", "00:00:00");
149
+ status.description = HoopDescription;
150
+ // let beginHoursAndMinutes = getTime(todayOperations.beginTime);
151
+ // let endHoursAndMinutes = getTime(todayOperations.endTime);
152
+ const beginTime = moment_timezone_1.default.tz(`${today} ${todayOperations.beginTime}`, "YYYY-MM-DD HH:mm", timezone);
153
+ const endTime = moment_timezone_1.default.tz(`${today} ${todayOperations.endTime}`, "YYYY-MM-DD HH:mm", timezone);
154
+ if ((branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.normal) || now.isAfter(endDateTime)) {
155
+ if (now.isBetween(beginTime, endTime) ||
156
+ endTime.isBefore(beginTime)) {
157
+ status.isOpen = true;
158
+ const HoopDescription = yield this.createHoopDescription("Normal Operations", todayOperations.beginTime + ":00", todayOperations.endTime + ":00");
159
+ status.description = HoopDescription;
160
+ }
161
+ else {
162
+ const HoopDescription = yield this.createHoopDescription("Out of Business Hours", todayOperations.beginTime + ":00", todayOperations.endTime + ":00");
163
+ status.description = HoopDescription;
164
+ }
165
+ }
166
+ else if (((branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.emergency) ||
167
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.acdDown) ||
168
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.ivrDown) ||
169
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.meeting) ||
170
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.other) ||
171
+ (branchStatus === null || branchStatus === void 0 ? void 0 : branchStatus.weather))) {
172
+ status.isOpen = false;
173
+ status.isRegularDay = false;
174
+ status.overrideBranches = true;
175
+ const description = yield this.getBranchStatusDescription(branchStatus);
176
+ const HoopDescription = yield this.createHoopDescription(description, "00:00:00", "00:00:00");
177
+ status.description = HoopDescription;
178
+ }
179
+ }
180
+ // Check if today is a holiday
181
+ const todayHoliday = ((_b = holidays.find((holiday) => (0, moment_timezone_1.default)(holiday.date).format("YYYY-MM-DD") === today)) === null || _b === void 0 ? void 0 : _b.description) || "";
182
+ const partialDayToday = partialDays.find((partialDay) => (0, moment_timezone_1.default)(partialDay.date).format("YYYY-MM-DD") === today);
183
+ // Update status if today is a holiday
184
+ if (todayHoliday) {
185
+ status.isOpen = false;
186
+ status.isHoliday = true;
187
+ status.isRegularDay = false;
188
+ const HoopDescription = yield this.createHoopDescription(todayHoliday, "00:00:00", "00:00:00");
189
+ status.description = HoopDescription;
190
+ status.overrideBranches = false;
191
+ }
192
+ else if (status.overrideBranches === false && partialDayToday) {
193
+ // Timezone-aware time comparison for partial day
194
+ // let beginHoursAndMinutes = getTime(partialDayToday.beginTime);
195
+ // let endHoursAndMinutes = getTime(partialDayToday.endTime);
196
+ const beginTime = moment_timezone_1.default.tz(`${today} ${partialDayToday.beginTime}`, "YYYY-MM-DD HH:mm", timezone);
197
+ const endTime = moment_timezone_1.default.tz(`${today} ${partialDayToday.endTime}`, "YYYY-MM-DD HH:mm", timezone);
198
+ // Check if current time is within the partial day time range
199
+ if (now.isBetween(beginTime, endTime)) {
200
+ status.isOpen = true;
201
+ status.isPartialDay = true;
202
+ status.isRegularDay = false;
203
+ const HoopDescription = yield this.createHoopDescription(partialDayToday.description, partialDayToday.beginTime + ":00", partialDayToday.endTime + ":00");
204
+ status.description = HoopDescription;
205
+ }
206
+ else {
207
+ status.isOpen = false;
208
+ status.isPartialDay = false;
209
+ status.isRegularDay = false;
210
+ const HoopDescription = yield this.createHoopDescription("Out of Business Hours", "00:00:00", "00:00:00");
211
+ status.description = HoopDescription;
212
+ }
213
+ }
214
+ status.weeklyTiming = resolvedWeeklyTimings;
215
+ status.weeklyTimingString = weeklyTimingString;
216
+ status.timeZone = isProfileAvailable.timeZone;
217
+ return status;
218
+ }
219
+ else {
220
+ // Return an error message if the profile is not found
221
+ return "Profile not found";
222
+ }
223
+ }
224
+ catch (error) {
225
+ // Log and return the error if an exception occurs
226
+ return error;
227
+ }
228
+ });
229
+ }
230
+ formatTime(time) {
231
+ return __awaiter(this, void 0, void 0, function* () {
232
+ const [hours, minutes] = time.split(":").map(Number);
233
+ const period = hours < 12 ? "AM" : "PM";
234
+ const formattedHours = hours % 12 || 12; // Convert 0 -> 12 AM, 13 -> 1 PM
235
+ return `${formattedHours}:${minutes.toString().padStart(2, "0")} ${period}`;
236
+ });
237
+ }
238
+ getWeeklyTimingString(weeklyTiming) {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ if (!weeklyTiming || weeklyTiming.length === 0) {
241
+ return ""; // Return an empty string if no timings exist
242
+ }
243
+ const formattedTimings = yield Promise.all(weeklyTiming
244
+ .filter(item => item.startTime !== "00:00:00" || item.endTime !== "00:00:00") // Remove closed days
245
+ .map((item) => __awaiter(this, void 0, void 0, function* () {
246
+ return `${item.startDay}: ${yield this.formatTime(item.startTime)} through ${yield this.formatTime(item.endTime)}`;
247
+ })));
248
+ return formattedTimings.join(", ");
249
+ });
250
+ }
251
+ createHoopDescription(description, beginTime, endTime) {
252
+ return __awaiter(this, void 0, void 0, function* () {
253
+ const hoopDescription = new HoopDescriptionModel_1.HoopDescriptionModel(description, beginTime, endTime);
254
+ // Validate hoopDescription
255
+ if (hoopDescription.validationMessages.length > 0) {
256
+ throw hoopDescription.validationMessages; // Throw error if data validation fails
257
+ }
258
+ return hoopDescription.serialize;
259
+ });
260
+ }
261
+ getBranchStatusDescription(branchStatus) {
262
+ return __awaiter(this, void 0, void 0, function* () {
263
+ const statusMap = {
264
+ emergency: "Emergency",
265
+ acdDown: "ACD Down",
266
+ ivrDown: "IVR Down",
267
+ meeting: "Meeting in Progress",
268
+ other: "Other - Please Check",
269
+ weather: "Weather Alert"
270
+ };
271
+ for (const key in statusMap) {
272
+ if (branchStatus[key]) {
273
+ return statusMap[key];
274
+ }
275
+ }
276
+ });
277
+ }
278
+ }
279
+ exports.HoopBusinessHoursController = HoopBusinessHoursController;
280
+ function getTime(isoString) {
281
+ const date = new Date(isoString);
282
+ const hours = date.getUTCHours().toString().padStart(2, "0");
283
+ const minutes = date.getUTCMinutes().toString().padStart(2, "0");
284
+ return `${hours}:${minutes}`;
285
+ }
@@ -0,0 +1,14 @@
1
+ import { SyncServiceFactory } from "../../twilio/impl/sync/SyncServiceFactory";
2
+ import { SearchParameterType } from "../../common/type/SearchParameterType";
3
+ import { HoopHolidaysImplModel } from "../../models/impl/hoop/HoopHolidaysImplModel";
4
+ export declare class HoopHolidaysController {
5
+ private _dbFactory;
6
+ constructor(dbFactory: SyncServiceFactory);
7
+ add(data: HoopHolidaysImplModel): Promise<any>;
8
+ edit(data: HoopHolidaysImplModel): Promise<any>;
9
+ get(query: {
10
+ holidaysId: string;
11
+ }): Promise<any>;
12
+ getAll(query: SearchParameterType): Promise<any>;
13
+ delete(query: Pick<HoopHolidaysImplModel, "holidaysId">): Promise<any>;
14
+ }
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.HoopHolidaysController = void 0;
13
+ const DatabaseConfig_1 = require("../../config/DatabaseConfig");
14
+ // import { HolidaysAllowedFields } from "../../models/Hoop.model";
15
+ const HoopHolidaysImplModel_1 = require("../../models/impl/hoop/HoopHolidaysImplModel");
16
+ const HoopHolidaysFilter_1 = require("./filterImpl/HoopHolidaysFilter");
17
+ // Controller class to manage holidays-related data
18
+ class HoopHolidaysController {
19
+ // Constructor to initialize SyncServiceFactory
20
+ constructor(dbFactory) {
21
+ this._dbFactory = dbFactory;
22
+ }
23
+ // Method to add new data to the holidays
24
+ add(data) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ try {
27
+ // Validate incoming data
28
+ const holidays = new HoopHolidaysImplModel_1.HoopHolidaysImplModel(data.holidaysId, data.profileId, data.description, data.date, data.createdAt, data.updatedAt);
29
+ if (holidays.validationMessages.length > 0) {
30
+ throw holidays.validationMessages; // Throw error if data validation fails
31
+ }
32
+ // Open database connection
33
+ const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
34
+ const database = databaseConnection.result;
35
+ // Start database transaction
36
+ const dbTransaction = database.transaction(DatabaseConfig_1.databaseConfig.tables.hoopHolidays, "readwrite");
37
+ // Access object store
38
+ let table = dbTransaction.objectStore(DatabaseConfig_1.databaseConfig.tables.hoopHolidays);
39
+ // Add data to the object store
40
+ let result = yield table.add(holidays.serialize, data.holidaysId);
41
+ return result;
42
+ }
43
+ catch (error) {
44
+ throw error;
45
+ }
46
+ });
47
+ }
48
+ // Method to edit existing data in the holidays
49
+ edit(data) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ try {
52
+ // Validate incoming data
53
+ const holidays = new HoopHolidaysImplModel_1.HoopHolidaysImplModel(data.holidaysId, data.profileId, data.description, data.date, data.createdAt, data.updatedAt);
54
+ if (holidays.validationMessages.length > 0) {
55
+ throw holidays.validationMessages; // Throw error if data validation fails
56
+ }
57
+ // Open database connection
58
+ const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
59
+ const database = databaseConnection.result;
60
+ // Start database transaction
61
+ const dbTransaction = database.transaction(DatabaseConfig_1.databaseConfig.tables.hoopHolidays, "readwrite");
62
+ // Access object store
63
+ let table = dbTransaction.objectStore(DatabaseConfig_1.databaseConfig.tables.hoopHolidays);
64
+ const key = data.holidaysId;
65
+ // Update existing data in the object store
66
+ let result = table.put(holidays.serialize, key);
67
+ return result;
68
+ }
69
+ catch (error) {
70
+ return error;
71
+ }
72
+ });
73
+ }
74
+ // Method to get data by holidaysId
75
+ get(query) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ try {
78
+ console.log(query);
79
+ if (typeof query.holidaysId !== "string") {
80
+ throw new Error("holidaysId must be a string");
81
+ }
82
+ // Open database connection
83
+ const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
84
+ const database = databaseConnection.result;
85
+ // Start database transaction
86
+ const dbTransaction = database.transaction(DatabaseConfig_1.databaseConfig.tables.hoopHolidays, "readwrite");
87
+ // Access object store
88
+ let table = dbTransaction.objectStore(DatabaseConfig_1.databaseConfig.tables.hoopHolidays);
89
+ // Get data by holidaysId from the object store
90
+ let result = table.get(query.holidaysId);
91
+ return result;
92
+ }
93
+ catch (error) {
94
+ console.log("error ", error);
95
+ return error;
96
+ }
97
+ });
98
+ }
99
+ // Method to get all data with query parameters
100
+ getAll(query) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ try {
103
+ // Open database connection
104
+ const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
105
+ const database = databaseConnection.result;
106
+ // Start database transaction
107
+ const dbTransaction = database.transaction(DatabaseConfig_1.databaseConfig.tables.hoopHolidays, "readwrite");
108
+ // Access object store
109
+ let table = dbTransaction.objectStore(DatabaseConfig_1.databaseConfig.tables.hoopHolidays);
110
+ const allowedFields = [
111
+ "profileId"
112
+ ];
113
+ if (query.getFilterContent) {
114
+ query.allowedFields = allowedFields;
115
+ }
116
+ query.category = "hoopHolidays";
117
+ let result = yield table.getAll(query);
118
+ if (query.getFilterContent) {
119
+ result.filterContent = HoopHolidaysFilter_1.HoopHolidaysFilterService.getFilterData(result.filterOptions);
120
+ }
121
+ if ("filterOptions" in result) {
122
+ delete result.filterOptions;
123
+ }
124
+ return { result, meta: query };
125
+ }
126
+ catch (error) {
127
+ return error;
128
+ }
129
+ });
130
+ }
131
+ // Method to delete data by holidaysId
132
+ delete(query) {
133
+ return __awaiter(this, void 0, void 0, function* () {
134
+ try {
135
+ // Open database connection
136
+ const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
137
+ const database = databaseConnection.result;
138
+ // Start database transaction
139
+ const dbTransaction = database.transaction(DatabaseConfig_1.databaseConfig.tables.hoopHolidays, "readwrite");
140
+ // Access object store
141
+ let table = dbTransaction.objectStore(DatabaseConfig_1.databaseConfig.tables.hoopHolidays);
142
+ // Delete data by holidaysId from the object store
143
+ let result = table.delete(query.holidaysId);
144
+ return result;
145
+ }
146
+ catch (error) {
147
+ return error;
148
+ }
149
+ });
150
+ }
151
+ }
152
+ exports.HoopHolidaysController = HoopHolidaysController;
@@ -0,0 +1,13 @@
1
+ import { SyncServiceFactory } from "../../twilio/impl/sync/SyncServiceFactory";
2
+ import { HoopProfilesListImplModel } from "../../models/impl/hoop/HoopProfilesListImplModel";
3
+ import { HoopOverrideBranchImplModel } from "../../models/impl/hoop/HoopOverrideImplModel";
4
+ import { HoopOperationsImplModel } from "../../models/impl/hoop/HoopOperationsImplModel";
5
+ export declare class HoopMainController {
6
+ private _dbFactory;
7
+ constructor(dbFactory: SyncServiceFactory);
8
+ addProfile(data: HoopProfilesListImplModel): Promise<any>;
9
+ addBranch(data: HoopOverrideBranchImplModel): Promise<any>;
10
+ addOperations(data: HoopOperationsImplModel): Promise<any>;
11
+ createProfile(query: any): Promise<any>;
12
+ deleteProfile(query: any): Promise<any>;
13
+ }