@oneuptime/common 1.0.0

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 (971) hide show
  1. package/.dockerignore +56 -0
  2. package/AnalyticsModels/BaseModel.ts +456 -0
  3. package/AnalyticsModels/CommonModel.ts +250 -0
  4. package/AnalyticsModels/NestedModel.ts +8 -0
  5. package/Models/AccessControlModel.ts +12 -0
  6. package/Models/BaseModel.ts +736 -0
  7. package/Models/FileModel.ts +111 -0
  8. package/Models/GlobalConfig.ts +8 -0
  9. package/Models/TenantModel.ts +12 -0
  10. package/Models/UserModel.ts +12 -0
  11. package/ServiceRoute.ts +31 -0
  12. package/Tests/Types/API/ErrorResponse.test.ts +16 -0
  13. package/Tests/Types/API/HTTPErrorResponse.test.ts +61 -0
  14. package/Tests/Types/API/HTTPMethod.test.ts +16 -0
  15. package/Tests/Types/API/Headers.test.ts +14 -0
  16. package/Tests/Types/API/Hostname.test.ts +21 -0
  17. package/Tests/Types/API/Protocal.test.ts +19 -0
  18. package/Tests/Types/API/Response.test.ts +21 -0
  19. package/Tests/Types/API/ResponseType.test.ts +12 -0
  20. package/Tests/Types/API/Route.test.ts +29 -0
  21. package/Tests/Types/API/StatusCode.test.ts +25 -0
  22. package/Tests/Types/API/URL.test.ts +42 -0
  23. package/Tests/Types/Alerts/AlertEventType.test.ts +49 -0
  24. package/Tests/Types/Alerts/AlertType.test.ts +19 -0
  25. package/Tests/Types/AppEnvironment.test.ts +12 -0
  26. package/Tests/Types/ApplicationLog/ApplicationLogType.test.ts +13 -0
  27. package/Tests/Types/ArrayUtil.test.ts +90 -0
  28. package/Tests/Types/Billing/SubscriptionPlan.test.ts +298 -0
  29. package/Tests/Types/BrandColors.test.ts +140 -0
  30. package/Tests/Types/Char.test.ts +83 -0
  31. package/Tests/Types/Code/CodeType.test.ts +13 -0
  32. package/Tests/Types/Color.test.ts +44 -0
  33. package/Tests/Types/Company/CompanySize.test.ts +21 -0
  34. package/Tests/Types/Company/JobRole.test.ts +22 -0
  35. package/Tests/Types/Countries.test.ts +303 -0
  36. package/Tests/Types/Database/ColumnLength.test.ts +55 -0
  37. package/Tests/Types/Database/ColumnType.test.ts +103 -0
  38. package/Tests/Types/Database/Columns.test.ts +22 -0
  39. package/Tests/Types/Database/CompareBase.test.ts +40 -0
  40. package/Tests/Types/Database/Date.test.ts +82 -0
  41. package/Tests/Types/Database/EqualToOrNull.test.ts +70 -0
  42. package/Tests/Types/Database/InBetween.test.ts +80 -0
  43. package/Tests/Types/Database/LimitMax.test.ts +20 -0
  44. package/Tests/Types/Database/NotEqual.test.ts +18 -0
  45. package/Tests/Types/Database/Search.test.ts +10 -0
  46. package/Tests/Types/DatabaseType.test.ts +7 -0
  47. package/Tests/Types/Date.test.ts +95 -0
  48. package/Tests/Types/Dictionary.test.ts +25 -0
  49. package/Tests/Types/Domain.test.ts +39 -0
  50. package/Tests/Types/Email/Email.test.ts +69 -0
  51. package/Tests/Types/EmailWithName.test.ts +49 -0
  52. package/Tests/Types/EncryptionAlgorithm.test.ts +7 -0
  53. package/Tests/Types/Exception/ApiException.test.ts +16 -0
  54. package/Tests/Types/Exception/BadDataException.test.ts +15 -0
  55. package/Tests/Types/Exception/BadOperationException.test.ts +16 -0
  56. package/Tests/Types/Exception/BadRequestException.test.ts +15 -0
  57. package/Tests/Types/Exception/DatabaseNotConnectedException.test.ts +13 -0
  58. package/Tests/Types/Exception/Exception.test.ts +21 -0
  59. package/Tests/Types/Exception/NotImplementedException.test.ts +13 -0
  60. package/Tests/Types/File.test.ts +22 -0
  61. package/Tests/Types/HashedString.test.ts +20 -0
  62. package/Tests/Types/Html.test.ts +8 -0
  63. package/Tests/Types/IP/IP.test.ts +83 -0
  64. package/Tests/Types/IP/IPType.test.ts +11 -0
  65. package/Tests/Types/IP/IPv4.test.ts +19 -0
  66. package/Tests/Types/IP/IPv6.test.ts +19 -0
  67. package/Tests/Types/JSON.test.ts +38 -0
  68. package/Tests/Types/JSONFunctions.test.ts +52 -0
  69. package/Tests/Types/ListData.test.ts +40 -0
  70. package/Tests/Types/Name.test.ts +26 -0
  71. package/Tests/Types/ObjectID.test.ts +12 -0
  72. package/Tests/Types/Permission.test.ts +11 -0
  73. package/Tests/Types/Phone.test.ts +40 -0
  74. package/Tests/Types/Port.test.ts +39 -0
  75. package/Tests/Types/PositiveNumber.test.ts +142 -0
  76. package/Tests/Types/SecuritySeverity.test.ts +16 -0
  77. package/Tests/Types/SerializableObject.test.ts +44 -0
  78. package/Tests/Types/Sleep.test.ts +25 -0
  79. package/Tests/Types/Text.test.ts +10 -0
  80. package/Tests/Types/Timezone.test.ts +676 -0
  81. package/Tests/Types/Typeof.test.ts +19 -0
  82. package/Tests/Types/UserType.test.ts +16 -0
  83. package/Tests/Types/Version.test.ts +35 -0
  84. package/Tests/Types/XML.test.ts +36 -0
  85. package/Tests/Utils/API.test.ts +425 -0
  86. package/Tests/Utils/Analytics.test.ts +85 -0
  87. package/Tests/Utils/CronTime.test.ts +34 -0
  88. package/Tests/Utils/Faker.test.ts +38 -0
  89. package/Tests/Utils/Slug.test.ts +22 -0
  90. package/Tests/Utils/UUID.test.ts +12 -0
  91. package/Types/API/EmptyResponse.ts +3 -0
  92. package/Types/API/HTTPErrorResponse.ts +28 -0
  93. package/Types/API/HTTPMethod.ts +9 -0
  94. package/Types/API/HTTPResponse.ts +128 -0
  95. package/Types/API/Headers.ts +4 -0
  96. package/Types/API/Hostname.ts +118 -0
  97. package/Types/API/Protocol.ts +10 -0
  98. package/Types/API/ResponseType.ts +7 -0
  99. package/Types/API/Route.ts +93 -0
  100. package/Types/API/StatusCode.ts +45 -0
  101. package/Types/API/URL.ts +273 -0
  102. package/Types/Alerts/AlertEventType.ts +14 -0
  103. package/Types/Alerts/AlertType.ts +9 -0
  104. package/Types/AnalyticsDatabase/AnalyticsTableEngine.ts +5 -0
  105. package/Types/AnalyticsDatabase/TableColumn.ts +163 -0
  106. package/Types/AnalyticsDatabase/TableColumnType.ts +15 -0
  107. package/Types/AppEnvironment.ts +7 -0
  108. package/Types/ApplicationLog/ApplicationLogType.ts +7 -0
  109. package/Types/ArrayUtil.ts +54 -0
  110. package/Types/BaseDatabase/AccessControl.ts +11 -0
  111. package/Types/BaseDatabase/ColumnBillingAccessControl.ts +7 -0
  112. package/Types/BaseDatabase/DatabaseCommonInteractionProps.ts +24 -0
  113. package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +73 -0
  114. package/Types/BaseDatabase/DatabaseType.ts +6 -0
  115. package/Types/BaseDatabase/EnableWorkflowOn.ts +6 -0
  116. package/Types/BaseDatabase/EqualToOrNull.ts +37 -0
  117. package/Types/BaseDatabase/GreaterThan.ts +24 -0
  118. package/Types/BaseDatabase/GreaterThanOrEqual.ts +24 -0
  119. package/Types/BaseDatabase/InBetween.ts +77 -0
  120. package/Types/BaseDatabase/Includes.ts +47 -0
  121. package/Types/BaseDatabase/IsNull.ts +28 -0
  122. package/Types/BaseDatabase/LessThan.ts +24 -0
  123. package/Types/BaseDatabase/LessThanOrEqual.ts +24 -0
  124. package/Types/BaseDatabase/ModelPermission.ts +37 -0
  125. package/Types/BaseDatabase/NotEqual.ts +37 -0
  126. package/Types/BaseDatabase/NotNull.ts +28 -0
  127. package/Types/BaseDatabase/Search.ts +39 -0
  128. package/Types/BaseDatabase/SortOrder.ts +6 -0
  129. package/Types/BaseDatabase/TableBillingAccessControl.ts +8 -0
  130. package/Types/Billing/MeteredPlan.ts +27 -0
  131. package/Types/Billing/SubscriptionPlan.ts +241 -0
  132. package/Types/Billing/SubscriptionStatus.ts +32 -0
  133. package/Types/BrandColors.ts +35 -0
  134. package/Types/Calendar/CalendarEvent.ts +12 -0
  135. package/Types/Call/CallRequest.ts +43 -0
  136. package/Types/Call/CallStatus.ts +9 -0
  137. package/Types/CallAndSMS/TwilioConfig.ts +7 -0
  138. package/Types/Char.ts +65 -0
  139. package/Types/Code/CodeType.ts +11 -0
  140. package/Types/Color.ts +108 -0
  141. package/Types/Company/CompanySize.ts +9 -0
  142. package/Types/Company/JobRole.ts +10 -0
  143. package/Types/Countries.ts +247 -0
  144. package/Types/Currency.ts +34 -0
  145. package/Types/CustomField/CustomFieldType.ts +7 -0
  146. package/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.ts +7 -0
  147. package/Types/Database/AccessControl/ColumnAccessControl.ts +49 -0
  148. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +51 -0
  149. package/Types/Database/AccessControl/TableAccessControl.ts +22 -0
  150. package/Types/Database/AccessControl/TableBillingAccessControl.ts +22 -0
  151. package/Types/Database/AccessControlColumn.ts +7 -0
  152. package/Types/Database/AllowUserQueryWithoutTenant.ts +7 -0
  153. package/Types/Database/CanAccessIfCanReadOn.ts +10 -0
  154. package/Types/Database/ColumnLength.ts +72 -0
  155. package/Types/Database/ColumnType.ts +37 -0
  156. package/Types/Database/Columns.ts +21 -0
  157. package/Types/Database/CompareBase.ts +38 -0
  158. package/Types/Database/CrudApiEndpoint.ts +8 -0
  159. package/Types/Database/CurrentUserCanAccessRecordBy.ts +7 -0
  160. package/Types/Database/DatabaseProperty.ts +51 -0
  161. package/Types/Database/Date.ts +28 -0
  162. package/Types/Database/EnableDocumentation.ts +13 -0
  163. package/Types/Database/EnableWorkflow.ts +8 -0
  164. package/Types/Database/IsPermissionsIf.ts +18 -0
  165. package/Types/Database/LabelsColumn.ts +7 -0
  166. package/Types/Database/LimitMax.ts +4 -0
  167. package/Types/Database/MultiTenentQueryAllowed.ts +7 -0
  168. package/Types/Database/PartialEntity.ts +3 -0
  169. package/Types/Database/SlugifyColumn.ts +8 -0
  170. package/Types/Database/TableColumn.ts +66 -0
  171. package/Types/Database/TableColumnType.ts +43 -0
  172. package/Types/Database/TableMetadata.ts +18 -0
  173. package/Types/Database/TenantColumn.ts +7 -0
  174. package/Types/Database/TotalItemsBy.ts +13 -0
  175. package/Types/Database/UniqueColumnBy.ts +49 -0
  176. package/Types/DatabaseType.ts +6 -0
  177. package/Types/Date.ts +1032 -0
  178. package/Types/Day/DayOfWeek.ts +32 -0
  179. package/Types/Decimal.ts +78 -0
  180. package/Types/Dictionary.ts +3 -0
  181. package/Types/DiskSize.ts +46 -0
  182. package/Types/Domain.ts +94 -0
  183. package/Types/Email/EmailBody.ts +4 -0
  184. package/Types/Email/EmailMessage.ts +14 -0
  185. package/Types/Email/EmailServer.ts +15 -0
  186. package/Types/Email/EmailTemplate.ts +8 -0
  187. package/Types/Email/EmailTemplateType.ts +39 -0
  188. package/Types/Email.ts +121 -0
  189. package/Types/EmailWithName.ts +35 -0
  190. package/Types/EncryptionAlgorithm.ts +5 -0
  191. package/Types/Events/EventInterval.ts +9 -0
  192. package/Types/Events/Recurring.ts +119 -0
  193. package/Types/Exception/ApiException.ts +8 -0
  194. package/Types/Exception/BadDataException.ts +8 -0
  195. package/Types/Exception/BadOperationException.ts +8 -0
  196. package/Types/Exception/BadRequestException.ts +8 -0
  197. package/Types/Exception/DatabaseNotConnectedException.ts +11 -0
  198. package/Types/Exception/Exception.ts +22 -0
  199. package/Types/Exception/ExceptionCode.ts +21 -0
  200. package/Types/Exception/NotAuthenticatedException.ts +8 -0
  201. package/Types/Exception/NotAuthorizedException.ts +8 -0
  202. package/Types/Exception/NotFoundException.ts +8 -0
  203. package/Types/Exception/NotImplementedException.ts +11 -0
  204. package/Types/Exception/PaymentRequiredException.ts +8 -0
  205. package/Types/Exception/ServerException.ts +8 -0
  206. package/Types/Exception/SsoAuthorizationException.ts +17 -0
  207. package/Types/Exception/TenantNotFoundException.ts +8 -0
  208. package/Types/Exception/TimeoutException.ts +8 -0
  209. package/Types/Exception/UnableToReachServer.ts +8 -0
  210. package/Types/Exception/WebsiteRequestException.ts +8 -0
  211. package/Types/File/MimeType.ts +12 -0
  212. package/Types/File.ts +4 -0
  213. package/Types/Filter/Filter.ts +1 -0
  214. package/Types/Filter/FilterCondition.ts +6 -0
  215. package/Types/Filter/FilterType.ts +10 -0
  216. package/Types/FunctionTypes.ts +4 -0
  217. package/Types/GenericFunction.ts +4 -0
  218. package/Types/GenericObject.ts +4 -0
  219. package/Types/HashCode.ts +11 -0
  220. package/Types/HashedString.ts +105 -0
  221. package/Types/Html.ts +17 -0
  222. package/Types/IP/IP.ts +114 -0
  223. package/Types/IP/IPType.ts +6 -0
  224. package/Types/IP/IPv4.ts +12 -0
  225. package/Types/IP/IPv6.ts +12 -0
  226. package/Types/Icon/IconProp.ts +125 -0
  227. package/Types/IncomingRequest/IncomingRequestCustomFields.ts +1 -0
  228. package/Types/Infrastructure/BasicMetrics.ts +26 -0
  229. package/Types/Infrastructure/OSType.ts +8 -0
  230. package/Types/JSON.ts +151 -0
  231. package/Types/JSONFunctions.ts +265 -0
  232. package/Types/JsonWebTokenData.ts +13 -0
  233. package/Types/Link.ts +8 -0
  234. package/Types/ListData.ts +32 -0
  235. package/Types/Mail/MailStatus.ts +6 -0
  236. package/Types/Mixins.ts +5 -0
  237. package/Types/Monitor/CriteriaFilter.ts +52 -0
  238. package/Types/Monitor/CriteriaIncident.ts +10 -0
  239. package/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.ts +11 -0
  240. package/Types/Monitor/MonitorCriteria.ts +188 -0
  241. package/Types/Monitor/MonitorCriteriaInstance.ts +520 -0
  242. package/Types/Monitor/MonitorStep.ts +306 -0
  243. package/Types/Monitor/MonitorSteps.ts +192 -0
  244. package/Types/Monitor/MonitorType.ts +114 -0
  245. package/Types/Monitor/ServerMonitor/ServerMonitorResponse.ts +9 -0
  246. package/Types/Monitor/schema.json +39 -0
  247. package/Types/Name.ts +86 -0
  248. package/Types/NotificationRule/NotificationRuleType.ts +7 -0
  249. package/Types/NotificationSetting/NotificationSettingEventType.ts +25 -0
  250. package/Types/ObjectID.ts +94 -0
  251. package/Types/ObjectUtil.ts +0 -0
  252. package/Types/OnCallDutyPolicy/Layer.ts +1018 -0
  253. package/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.ts +10 -0
  254. package/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.ts +7 -0
  255. package/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.ts +9 -0
  256. package/Types/OnCallDutyPolicy/RestrictionTimes.ts +193 -0
  257. package/Types/Operation/OperationResult.ts +6 -0
  258. package/Types/Operation/OperationStatus.ts +9 -0
  259. package/Types/Permission.ts +3293 -0
  260. package/Types/Phone.ts +75 -0
  261. package/Types/Port.ts +92 -0
  262. package/Types/PositiveNumber.ts +79 -0
  263. package/Types/PricingPlan.ts +7 -0
  264. package/Types/Probe/ProbeApiIngestResponse.ts +9 -0
  265. package/Types/Probe/ProbeMonitorResponse.ts +15 -0
  266. package/Types/Reflection.ts +7 -0
  267. package/Types/SMS/SMS.ts +9 -0
  268. package/Types/SMS/SmsTemplateType.ts +13 -0
  269. package/Types/SSO/DigestMethod.ts +8 -0
  270. package/Types/SSO/SignatureMethod.ts +8 -0
  271. package/Types/ScheduledEvent/ScheduledEventState.ts +8 -0
  272. package/Types/SecuritySeverity.ts +8 -0
  273. package/Types/SerializableObject.ts +18 -0
  274. package/Types/SerializableObjectDictionary.ts +63 -0
  275. package/Types/Sleep.ts +9 -0
  276. package/Types/SmsStatus.ts +7 -0
  277. package/Types/StatusPage/StatusPageChartType.ts +10 -0
  278. package/Types/Text.ts +152 -0
  279. package/Types/Time/StartAndEndTime.ts +4 -0
  280. package/Types/Timezone.ts +595 -0
  281. package/Types/Typeof.ts +8 -0
  282. package/Types/UserNotification/UserNotificationEventType.ts +5 -0
  283. package/Types/UserNotification/UserNotificationExecutionStatus.ts +9 -0
  284. package/Types/UserNotification/UserNotificationStatus.ts +9 -0
  285. package/Types/UserType.ts +8 -0
  286. package/Types/Version.ts +66 -0
  287. package/Types/WebsiteRequest.ts +66 -0
  288. package/Types/Workflow/Component.ts +99 -0
  289. package/Types/Workflow/ComponentID.ts +20 -0
  290. package/Types/Workflow/Components/API.ts +363 -0
  291. package/Types/Workflow/Components/BaseModel.ts +590 -0
  292. package/Types/Workflow/Components/Condition.ts +66 -0
  293. package/Types/Workflow/Components/Email.ts +109 -0
  294. package/Types/Workflow/Components/JSON.ts +162 -0
  295. package/Types/Workflow/Components/JavaScript.ts +67 -0
  296. package/Types/Workflow/Components/Log.ts +45 -0
  297. package/Types/Workflow/Components/Manual.ts +40 -0
  298. package/Types/Workflow/Components/MicrosoftTeams.ts +69 -0
  299. package/Types/Workflow/Components/Schedule.ts +38 -0
  300. package/Types/Workflow/Components/Slack.ts +70 -0
  301. package/Types/Workflow/Components/Webhook.ts +58 -0
  302. package/Types/Workflow/Components/Workflow.ts +44 -0
  303. package/Types/Workflow/Components.ts +78 -0
  304. package/Types/Workflow/WorkflowPlan.ts +8 -0
  305. package/Types/Workflow/WorkflowStatus.ts +10 -0
  306. package/Types/XML.ts +21 -0
  307. package/Typings/Index.d.ts +3 -0
  308. package/Utils/API.ts +348 -0
  309. package/Utils/Analytics.ts +42 -0
  310. package/Utils/CronTime.ts +6 -0
  311. package/Utils/Faker.ts +34 -0
  312. package/Utils/Realtime.ts +39 -0
  313. package/Utils/Slug.ts +21 -0
  314. package/Utils/UUID.ts +7 -0
  315. package/build/dist/AnalyticsModels/BaseModel.js +310 -0
  316. package/build/dist/AnalyticsModels/BaseModel.js.map +1 -0
  317. package/build/dist/AnalyticsModels/CommonModel.js +135 -0
  318. package/build/dist/AnalyticsModels/CommonModel.js.map +1 -0
  319. package/build/dist/AnalyticsModels/NestedModel.js +7 -0
  320. package/build/dist/AnalyticsModels/NestedModel.js.map +1 -0
  321. package/build/dist/Models/AccessControlModel.js +10 -0
  322. package/build/dist/Models/AccessControlModel.js.map +1 -0
  323. package/build/dist/Models/BaseModel.js +454 -0
  324. package/build/dist/Models/BaseModel.js.map +1 -0
  325. package/build/dist/Models/FileModel.js +133 -0
  326. package/build/dist/Models/FileModel.js.map +1 -0
  327. package/build/dist/Models/GlobalConfig.js +7 -0
  328. package/build/dist/Models/GlobalConfig.js.map +1 -0
  329. package/build/dist/Models/TenantModel.js +10 -0
  330. package/build/dist/Models/TenantModel.js.map +1 -0
  331. package/build/dist/Models/UserModel.js +10 -0
  332. package/build/dist/Models/UserModel.js.map +1 -0
  333. package/build/dist/ServiceRoute.js +17 -0
  334. package/build/dist/ServiceRoute.js.map +1 -0
  335. package/build/dist/Tests/Types/API/ErrorResponse.test.js +13 -0
  336. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +1 -0
  337. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +32 -0
  338. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +1 -0
  339. package/build/dist/Tests/Types/API/HTTPMethod.test.js +16 -0
  340. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +1 -0
  341. package/build/dist/Tests/Types/API/Headers.test.js +14 -0
  342. package/build/dist/Tests/Types/API/Headers.test.js.map +1 -0
  343. package/build/dist/Tests/Types/API/Hostname.test.js +22 -0
  344. package/build/dist/Tests/Types/API/Hostname.test.js.map +1 -0
  345. package/build/dist/Tests/Types/API/Protocal.test.js +19 -0
  346. package/build/dist/Tests/Types/API/Protocal.test.js.map +1 -0
  347. package/build/dist/Tests/Types/API/Response.test.js +14 -0
  348. package/build/dist/Tests/Types/API/Response.test.js.map +1 -0
  349. package/build/dist/Tests/Types/API/ResponseType.test.js +13 -0
  350. package/build/dist/Tests/Types/API/ResponseType.test.js.map +1 -0
  351. package/build/dist/Tests/Types/API/Route.test.js +30 -0
  352. package/build/dist/Tests/Types/API/Route.test.js.map +1 -0
  353. package/build/dist/Tests/Types/API/StatusCode.test.js +26 -0
  354. package/build/dist/Tests/Types/API/StatusCode.test.js.map +1 -0
  355. package/build/dist/Tests/Types/API/URL.test.js +33 -0
  356. package/build/dist/Tests/Types/API/URL.test.js.map +1 -0
  357. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +34 -0
  358. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +1 -0
  359. package/build/dist/Tests/Types/Alerts/AlertType.test.js +19 -0
  360. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +1 -0
  361. package/build/dist/Tests/Types/AppEnvironment.test.js +13 -0
  362. package/build/dist/Tests/Types/AppEnvironment.test.js.map +1 -0
  363. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +13 -0
  364. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +1 -0
  365. package/build/dist/Tests/Types/ArrayUtil.test.js +71 -0
  366. package/build/dist/Tests/Types/ArrayUtil.test.js.map +1 -0
  367. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +178 -0
  368. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +1 -0
  369. package/build/dist/Tests/Types/BrandColors.test.js +123 -0
  370. package/build/dist/Tests/Types/BrandColors.test.js.map +1 -0
  371. package/build/dist/Tests/Types/Char.test.js +82 -0
  372. package/build/dist/Tests/Types/Char.test.js.map +1 -0
  373. package/build/dist/Tests/Types/Code/CodeType.test.js +13 -0
  374. package/build/dist/Tests/Types/Code/CodeType.test.js.map +1 -0
  375. package/build/dist/Tests/Types/Color.test.js +44 -0
  376. package/build/dist/Tests/Types/Color.test.js.map +1 -0
  377. package/build/dist/Tests/Types/Company/CompanySize.test.js +20 -0
  378. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +1 -0
  379. package/build/dist/Tests/Types/Company/JobRole.test.js +22 -0
  380. package/build/dist/Tests/Types/Company/JobRole.test.js.map +1 -0
  381. package/build/dist/Tests/Types/Countries.test.js +249 -0
  382. package/build/dist/Tests/Types/Countries.test.js.map +1 -0
  383. package/build/dist/Tests/Types/Database/ColumnLength.test.js +43 -0
  384. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +1 -0
  385. package/build/dist/Tests/Types/Database/ColumnType.test.js +79 -0
  386. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +1 -0
  387. package/build/dist/Tests/Types/Database/Columns.test.js +20 -0
  388. package/build/dist/Tests/Types/Database/Columns.test.js.map +1 -0
  389. package/build/dist/Tests/Types/Database/CompareBase.test.js +36 -0
  390. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +1 -0
  391. package/build/dist/Tests/Types/Database/Date.test.js +61 -0
  392. package/build/dist/Tests/Types/Database/Date.test.js.map +1 -0
  393. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +61 -0
  394. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +1 -0
  395. package/build/dist/Tests/Types/Database/InBetween.test.js +71 -0
  396. package/build/dist/Tests/Types/Database/InBetween.test.js.map +1 -0
  397. package/build/dist/Tests/Types/Database/LimitMax.test.js +18 -0
  398. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +1 -0
  399. package/build/dist/Tests/Types/Database/NotEqual.test.js +18 -0
  400. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +1 -0
  401. package/build/dist/Tests/Types/Database/Search.test.js +10 -0
  402. package/build/dist/Tests/Types/Database/Search.test.js.map +1 -0
  403. package/build/dist/Tests/Types/DatabaseType.test.js +7 -0
  404. package/build/dist/Tests/Types/DatabaseType.test.js.map +1 -0
  405. package/build/dist/Tests/Types/Date.test.js +55 -0
  406. package/build/dist/Tests/Types/Date.test.js.map +1 -0
  407. package/build/dist/Tests/Types/Dictionary.test.js +25 -0
  408. package/build/dist/Tests/Types/Dictionary.test.js.map +1 -0
  409. package/build/dist/Tests/Types/Domain.test.js +38 -0
  410. package/build/dist/Tests/Types/Domain.test.js.map +1 -0
  411. package/build/dist/Tests/Types/Email/Email.test.js +51 -0
  412. package/build/dist/Tests/Types/Email/Email.test.js.map +1 -0
  413. package/build/dist/Tests/Types/EmailWithName.test.js +36 -0
  414. package/build/dist/Tests/Types/EmailWithName.test.js.map +1 -0
  415. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +7 -0
  416. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +1 -0
  417. package/build/dist/Tests/Types/Exception/ApiException.test.js +11 -0
  418. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +1 -0
  419. package/build/dist/Tests/Types/Exception/BadDataException.test.js +12 -0
  420. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +1 -0
  421. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +11 -0
  422. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +1 -0
  423. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +12 -0
  424. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +1 -0
  425. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +10 -0
  426. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +1 -0
  427. package/build/dist/Tests/Types/Exception/Exception.test.js +15 -0
  428. package/build/dist/Tests/Types/Exception/Exception.test.js.map +1 -0
  429. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +12 -0
  430. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +1 -0
  431. package/build/dist/Tests/Types/File.test.js +22 -0
  432. package/build/dist/Tests/Types/File.test.js.map +1 -0
  433. package/build/dist/Tests/Types/HashedString.test.js +18 -0
  434. package/build/dist/Tests/Types/HashedString.test.js.map +1 -0
  435. package/build/dist/Tests/Types/Html.test.js +8 -0
  436. package/build/dist/Tests/Types/Html.test.js.map +1 -0
  437. package/build/dist/Tests/Types/IP/IP.test.js +65 -0
  438. package/build/dist/Tests/Types/IP/IP.test.js.map +1 -0
  439. package/build/dist/Tests/Types/IP/IPType.test.js +10 -0
  440. package/build/dist/Tests/Types/IP/IPType.test.js.map +1 -0
  441. package/build/dist/Tests/Types/IP/IPv4.test.js +17 -0
  442. package/build/dist/Tests/Types/IP/IPv4.test.js.map +1 -0
  443. package/build/dist/Tests/Types/IP/IPv6.test.js +17 -0
  444. package/build/dist/Tests/Types/IP/IPv6.test.js.map +1 -0
  445. package/build/dist/Tests/Types/JSON.test.js +34 -0
  446. package/build/dist/Tests/Types/JSON.test.js.map +1 -0
  447. package/build/dist/Tests/Types/JSONFunctions.test.js +38 -0
  448. package/build/dist/Tests/Types/JSONFunctions.test.js.map +1 -0
  449. package/build/dist/Tests/Types/ListData.test.js +34 -0
  450. package/build/dist/Tests/Types/ListData.test.js.map +1 -0
  451. package/build/dist/Tests/Types/Name.test.js +26 -0
  452. package/build/dist/Tests/Types/Name.test.js.map +1 -0
  453. package/build/dist/Tests/Types/ObjectID.test.js +12 -0
  454. package/build/dist/Tests/Types/ObjectID.test.js.map +1 -0
  455. package/build/dist/Tests/Types/Permission.test.js +10 -0
  456. package/build/dist/Tests/Types/Permission.test.js.map +1 -0
  457. package/build/dist/Tests/Types/Phone.test.js +37 -0
  458. package/build/dist/Tests/Types/Phone.test.js.map +1 -0
  459. package/build/dist/Tests/Types/Port.test.js +35 -0
  460. package/build/dist/Tests/Types/Port.test.js.map +1 -0
  461. package/build/dist/Tests/Types/PositiveNumber.test.js +101 -0
  462. package/build/dist/Tests/Types/PositiveNumber.test.js.map +1 -0
  463. package/build/dist/Tests/Types/SecuritySeverity.test.js +16 -0
  464. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +1 -0
  465. package/build/dist/Tests/Types/SerializableObject.test.js +35 -0
  466. package/build/dist/Tests/Types/SerializableObject.test.js.map +1 -0
  467. package/build/dist/Tests/Types/Sleep.test.js +18 -0
  468. package/build/dist/Tests/Types/Sleep.test.js.map +1 -0
  469. package/build/dist/Tests/Types/Text.test.js +8 -0
  470. package/build/dist/Tests/Types/Text.test.js.map +1 -0
  471. package/build/dist/Tests/Types/Timezone.test.js +596 -0
  472. package/build/dist/Tests/Types/Timezone.test.js.map +1 -0
  473. package/build/dist/Tests/Types/Typeof.test.js +16 -0
  474. package/build/dist/Tests/Types/Typeof.test.js.map +1 -0
  475. package/build/dist/Tests/Types/UserType.test.js +16 -0
  476. package/build/dist/Tests/Types/UserType.test.js.map +1 -0
  477. package/build/dist/Tests/Types/Version.test.js +35 -0
  478. package/build/dist/Tests/Types/Version.test.js.map +1 -0
  479. package/build/dist/Tests/Types/XML.test.js +35 -0
  480. package/build/dist/Tests/Types/XML.test.js.map +1 -0
  481. package/build/dist/Tests/Utils/API.test.js +286 -0
  482. package/build/dist/Tests/Utils/API.test.js.map +1 -0
  483. package/build/dist/Tests/Utils/Analytics.test.js +66 -0
  484. package/build/dist/Tests/Utils/Analytics.test.js.map +1 -0
  485. package/build/dist/Tests/Utils/CronTime.test.js +22 -0
  486. package/build/dist/Tests/Utils/CronTime.test.js.map +1 -0
  487. package/build/dist/Tests/Utils/Faker.test.js +26 -0
  488. package/build/dist/Tests/Utils/Faker.test.js.map +1 -0
  489. package/build/dist/Tests/Utils/Slug.test.js +20 -0
  490. package/build/dist/Tests/Utils/Slug.test.js.map +1 -0
  491. package/build/dist/Tests/Utils/UUID.test.js +10 -0
  492. package/build/dist/Tests/Utils/UUID.test.js.map +1 -0
  493. package/build/dist/Types/API/EmptyResponse.js +2 -0
  494. package/build/dist/Types/API/EmptyResponse.js.map +1 -0
  495. package/build/dist/Types/API/HTTPErrorResponse.js +21 -0
  496. package/build/dist/Types/API/HTTPErrorResponse.js.map +1 -0
  497. package/build/dist/Types/API/HTTPMethod.js +10 -0
  498. package/build/dist/Types/API/HTTPMethod.js.map +1 -0
  499. package/build/dist/Types/API/HTTPResponse.js +96 -0
  500. package/build/dist/Types/API/HTTPResponse.js.map +1 -0
  501. package/build/dist/Types/API/Headers.js +2 -0
  502. package/build/dist/Types/API/Headers.js.map +1 -0
  503. package/build/dist/Types/API/Hostname.js +93 -0
  504. package/build/dist/Types/API/Hostname.js.map +1 -0
  505. package/build/dist/Types/API/Protocol.js +11 -0
  506. package/build/dist/Types/API/Protocol.js.map +1 -0
  507. package/build/dist/Types/API/ResponseType.js +8 -0
  508. package/build/dist/Types/API/ResponseType.js.map +1 -0
  509. package/build/dist/Types/API/Route.js +74 -0
  510. package/build/dist/Types/API/Route.js.map +1 -0
  511. package/build/dist/Types/API/StatusCode.js +38 -0
  512. package/build/dist/Types/API/StatusCode.js.map +1 -0
  513. package/build/dist/Types/API/URL.js +206 -0
  514. package/build/dist/Types/API/URL.js.map +1 -0
  515. package/build/dist/Types/Alerts/AlertEventType.js +15 -0
  516. package/build/dist/Types/Alerts/AlertEventType.js.map +1 -0
  517. package/build/dist/Types/Alerts/AlertType.js +10 -0
  518. package/build/dist/Types/Alerts/AlertType.js.map +1 -0
  519. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableEngine.js +6 -0
  520. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableEngine.js.map +1 -0
  521. package/build/dist/Types/AnalyticsDatabase/TableColumn.js +114 -0
  522. package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -0
  523. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js +16 -0
  524. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -0
  525. package/build/dist/Types/AppEnvironment.js +8 -0
  526. package/build/dist/Types/AppEnvironment.js.map +1 -0
  527. package/build/dist/Types/ApplicationLog/ApplicationLogType.js +8 -0
  528. package/build/dist/Types/ApplicationLog/ApplicationLogType.js.map +1 -0
  529. package/build/dist/Types/ArrayUtil.js +44 -0
  530. package/build/dist/Types/ArrayUtil.js.map +1 -0
  531. package/build/dist/Types/BaseDatabase/AccessControl.js +2 -0
  532. package/build/dist/Types/BaseDatabase/AccessControl.js.map +1 -0
  533. package/build/dist/Types/BaseDatabase/ColumnBillingAccessControl.js +2 -0
  534. package/build/dist/Types/BaseDatabase/ColumnBillingAccessControl.js.map +1 -0
  535. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionProps.js +2 -0
  536. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionProps.js.map +1 -0
  537. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +49 -0
  538. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -0
  539. package/build/dist/Types/BaseDatabase/DatabaseType.js +7 -0
  540. package/build/dist/Types/BaseDatabase/DatabaseType.js.map +1 -0
  541. package/build/dist/Types/BaseDatabase/EnableWorkflowOn.js +2 -0
  542. package/build/dist/Types/BaseDatabase/EnableWorkflowOn.js.map +1 -0
  543. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +31 -0
  544. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -0
  545. package/build/dist/Types/BaseDatabase/GreaterThan.js +21 -0
  546. package/build/dist/Types/BaseDatabase/GreaterThan.js.map +1 -0
  547. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js +21 -0
  548. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js.map +1 -0
  549. package/build/dist/Types/BaseDatabase/InBetween.js +57 -0
  550. package/build/dist/Types/BaseDatabase/InBetween.js.map +1 -0
  551. package/build/dist/Types/BaseDatabase/Includes.js +34 -0
  552. package/build/dist/Types/BaseDatabase/Includes.js.map +1 -0
  553. package/build/dist/Types/BaseDatabase/IsNull.js +24 -0
  554. package/build/dist/Types/BaseDatabase/IsNull.js.map +1 -0
  555. package/build/dist/Types/BaseDatabase/LessThan.js +21 -0
  556. package/build/dist/Types/BaseDatabase/LessThan.js.map +1 -0
  557. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js +21 -0
  558. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js.map +1 -0
  559. package/build/dist/Types/BaseDatabase/ModelPermission.js +19 -0
  560. package/build/dist/Types/BaseDatabase/ModelPermission.js.map +1 -0
  561. package/build/dist/Types/BaseDatabase/NotEqual.js +31 -0
  562. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -0
  563. package/build/dist/Types/BaseDatabase/NotNull.js +24 -0
  564. package/build/dist/Types/BaseDatabase/NotNull.js.map +1 -0
  565. package/build/dist/Types/BaseDatabase/Search.js +31 -0
  566. package/build/dist/Types/BaseDatabase/Search.js.map +1 -0
  567. package/build/dist/Types/BaseDatabase/SortOrder.js +7 -0
  568. package/build/dist/Types/BaseDatabase/SortOrder.js.map +1 -0
  569. package/build/dist/Types/BaseDatabase/TableBillingAccessControl.js +2 -0
  570. package/build/dist/Types/BaseDatabase/TableBillingAccessControl.js.map +1 -0
  571. package/build/dist/Types/BaseDatabase/TableColumnType.js +44 -0
  572. package/build/dist/Types/BaseDatabase/TableColumnType.js.map +1 -0
  573. package/build/dist/Types/Billing/MeteredPlan.js +17 -0
  574. package/build/dist/Types/Billing/MeteredPlan.js.map +1 -0
  575. package/build/dist/Types/Billing/SubscriptionPlan.js +139 -0
  576. package/build/dist/Types/Billing/SubscriptionPlan.js.map +1 -0
  577. package/build/dist/Types/Billing/SubscriptionStatus.js +24 -0
  578. package/build/dist/Types/Billing/SubscriptionStatus.js.map +1 -0
  579. package/build/dist/Types/BrandColors.js +31 -0
  580. package/build/dist/Types/BrandColors.js.map +1 -0
  581. package/build/dist/Types/Calendar/CalendarEvent.js +2 -0
  582. package/build/dist/Types/Calendar/CalendarEvent.js.map +1 -0
  583. package/build/dist/Types/Call/CallRequest.js +11 -0
  584. package/build/dist/Types/Call/CallRequest.js.map +1 -0
  585. package/build/dist/Types/Call/CallStatus.js +10 -0
  586. package/build/dist/Types/Call/CallStatus.js.map +1 -0
  587. package/build/dist/Types/CallAndSMS/TwilioConfig.js +2 -0
  588. package/build/dist/Types/CallAndSMS/TwilioConfig.js.map +1 -0
  589. package/build/dist/Types/Char.js +2 -0
  590. package/build/dist/Types/Char.js.map +1 -0
  591. package/build/dist/Types/Code/CodeType.js +12 -0
  592. package/build/dist/Types/Code/CodeType.js.map +1 -0
  593. package/build/dist/Types/Color.js +78 -0
  594. package/build/dist/Types/Color.js.map +1 -0
  595. package/build/dist/Types/Company/CompanySize.js +10 -0
  596. package/build/dist/Types/Company/CompanySize.js.map +1 -0
  597. package/build/dist/Types/Company/JobRole.js +11 -0
  598. package/build/dist/Types/Company/JobRole.js.map +1 -0
  599. package/build/dist/Types/Countries.js +248 -0
  600. package/build/dist/Types/Countries.js.map +1 -0
  601. package/build/dist/Types/Currency.js +21 -0
  602. package/build/dist/Types/Currency.js.map +1 -0
  603. package/build/dist/Types/CustomField/CustomFieldType.js +8 -0
  604. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -0
  605. package/build/dist/Types/Database/AccessControl/AccessControl.js +2 -0
  606. package/build/dist/Types/Database/AccessControl/AccessControl.js.map +1 -0
  607. package/build/dist/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.js +6 -0
  608. package/build/dist/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.js.map +1 -0
  609. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +19 -0
  610. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -0
  611. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +19 -0
  612. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -0
  613. package/build/dist/Types/Database/AccessControl/TableAccessControl.js +17 -0
  614. package/build/dist/Types/Database/AccessControl/TableAccessControl.js.map +1 -0
  615. package/build/dist/Types/Database/AccessControl/TableBillingAccessControl.js +17 -0
  616. package/build/dist/Types/Database/AccessControl/TableBillingAccessControl.js.map +1 -0
  617. package/build/dist/Types/Database/AccessControlColumn.js +6 -0
  618. package/build/dist/Types/Database/AccessControlColumn.js.map +1 -0
  619. package/build/dist/Types/Database/AllowUserQueryWithoutTenant.js +6 -0
  620. package/build/dist/Types/Database/AllowUserQueryWithoutTenant.js.map +1 -0
  621. package/build/dist/Types/Database/CanAccessIfCanReadOn.js +8 -0
  622. package/build/dist/Types/Database/CanAccessIfCanReadOn.js.map +1 -0
  623. package/build/dist/Types/Database/ColumnLength.js +65 -0
  624. package/build/dist/Types/Database/ColumnLength.js.map +1 -0
  625. package/build/dist/Types/Database/ColumnType.js +38 -0
  626. package/build/dist/Types/Database/ColumnType.js.map +1 -0
  627. package/build/dist/Types/Database/Columns.js +19 -0
  628. package/build/dist/Types/Database/Columns.js.map +1 -0
  629. package/build/dist/Types/Database/CompareBase.js +31 -0
  630. package/build/dist/Types/Database/CompareBase.js.map +1 -0
  631. package/build/dist/Types/Database/CrudApiEndpoint.js +6 -0
  632. package/build/dist/Types/Database/CrudApiEndpoint.js.map +1 -0
  633. package/build/dist/Types/Database/CurrentUserCanAccessRecordBy.js +6 -0
  634. package/build/dist/Types/Database/CurrentUserCanAccessRecordBy.js.map +1 -0
  635. package/build/dist/Types/Database/DatabaseCommonInteractionProps.js +2 -0
  636. package/build/dist/Types/Database/DatabaseCommonInteractionProps.js.map +1 -0
  637. package/build/dist/Types/Database/DatabaseProperty.js +34 -0
  638. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -0
  639. package/build/dist/Types/Database/Date.js +18 -0
  640. package/build/dist/Types/Database/Date.js.map +1 -0
  641. package/build/dist/Types/Database/EnableDocumentation.js +8 -0
  642. package/build/dist/Types/Database/EnableDocumentation.js.map +1 -0
  643. package/build/dist/Types/Database/EnableWorkflow.js +6 -0
  644. package/build/dist/Types/Database/EnableWorkflow.js.map +1 -0
  645. package/build/dist/Types/Database/EqualToOrNull.js +31 -0
  646. package/build/dist/Types/Database/EqualToOrNull.js.map +1 -0
  647. package/build/dist/Types/Database/GreaterThan.js +21 -0
  648. package/build/dist/Types/Database/GreaterThan.js.map +1 -0
  649. package/build/dist/Types/Database/GreaterThanOrEqual.js +21 -0
  650. package/build/dist/Types/Database/GreaterThanOrEqual.js.map +1 -0
  651. package/build/dist/Types/Database/InBetween.js +57 -0
  652. package/build/dist/Types/Database/InBetween.js.map +1 -0
  653. package/build/dist/Types/Database/IsNull.js +24 -0
  654. package/build/dist/Types/Database/IsNull.js.map +1 -0
  655. package/build/dist/Types/Database/IsPermissionsIf.js +11 -0
  656. package/build/dist/Types/Database/IsPermissionsIf.js.map +1 -0
  657. package/build/dist/Types/Database/LabelsColumn.js +6 -0
  658. package/build/dist/Types/Database/LabelsColumn.js.map +1 -0
  659. package/build/dist/Types/Database/LessThan.js +21 -0
  660. package/build/dist/Types/Database/LessThan.js.map +1 -0
  661. package/build/dist/Types/Database/LessThanOrEqual.js +21 -0
  662. package/build/dist/Types/Database/LessThanOrEqual.js.map +1 -0
  663. package/build/dist/Types/Database/LimitMax.js +5 -0
  664. package/build/dist/Types/Database/LimitMax.js.map +1 -0
  665. package/build/dist/Types/Database/MultiTenentQueryAllowed.js +6 -0
  666. package/build/dist/Types/Database/MultiTenentQueryAllowed.js.map +1 -0
  667. package/build/dist/Types/Database/NotEqual.js +31 -0
  668. package/build/dist/Types/Database/NotEqual.js.map +1 -0
  669. package/build/dist/Types/Database/NotNull.js +24 -0
  670. package/build/dist/Types/Database/NotNull.js.map +1 -0
  671. package/build/dist/Types/Database/PartialEntity.js +2 -0
  672. package/build/dist/Types/Database/PartialEntity.js.map +1 -0
  673. package/build/dist/Types/Database/Search.js +31 -0
  674. package/build/dist/Types/Database/Search.js.map +1 -0
  675. package/build/dist/Types/Database/SingularPluralName.js +7 -0
  676. package/build/dist/Types/Database/SingularPluralName.js.map +1 -0
  677. package/build/dist/Types/Database/SlugifyColumn.js +7 -0
  678. package/build/dist/Types/Database/SlugifyColumn.js.map +1 -0
  679. package/build/dist/Types/Database/SortOrder.js +7 -0
  680. package/build/dist/Types/Database/SortOrder.js.map +1 -0
  681. package/build/dist/Types/Database/TableColumn.js +19 -0
  682. package/build/dist/Types/Database/TableColumn.js.map +1 -0
  683. package/build/dist/Types/Database/TableColumnType.js +44 -0
  684. package/build/dist/Types/Database/TableColumnType.js.map +1 -0
  685. package/build/dist/Types/Database/TableMetadata.js +10 -0
  686. package/build/dist/Types/Database/TableMetadata.js.map +1 -0
  687. package/build/dist/Types/Database/TenantColumn.js +6 -0
  688. package/build/dist/Types/Database/TenantColumn.js.map +1 -0
  689. package/build/dist/Types/Database/TotalItemsBy.js +8 -0
  690. package/build/dist/Types/Database/TotalItemsBy.js.map +1 -0
  691. package/build/dist/Types/Database/UniqueColumnBy.js +19 -0
  692. package/build/dist/Types/Database/UniqueColumnBy.js.map +1 -0
  693. package/build/dist/Types/DatabaseType.js +7 -0
  694. package/build/dist/Types/DatabaseType.js.map +1 -0
  695. package/build/dist/Types/Date.js +698 -0
  696. package/build/dist/Types/Date.js.map +1 -0
  697. package/build/dist/Types/Day/DayOfWeek.js +32 -0
  698. package/build/dist/Types/Day/DayOfWeek.js.map +1 -0
  699. package/build/dist/Types/Decimal.js +59 -0
  700. package/build/dist/Types/Decimal.js.map +1 -0
  701. package/build/dist/Types/Dictionary.js +2 -0
  702. package/build/dist/Types/Dictionary.js.map +1 -0
  703. package/build/dist/Types/DiskSize.js +30 -0
  704. package/build/dist/Types/DiskSize.js.map +1 -0
  705. package/build/dist/Types/Domain.js +71 -0
  706. package/build/dist/Types/Domain.js.map +1 -0
  707. package/build/dist/Types/Email/EmailBody.js +2 -0
  708. package/build/dist/Types/Email/EmailBody.js.map +1 -0
  709. package/build/dist/Types/Email/EmailMessage.js +2 -0
  710. package/build/dist/Types/Email/EmailMessage.js.map +1 -0
  711. package/build/dist/Types/Email/EmailServer.js +2 -0
  712. package/build/dist/Types/Email/EmailServer.js.map +1 -0
  713. package/build/dist/Types/Email/EmailTemplate.js +2 -0
  714. package/build/dist/Types/Email/EmailTemplate.js.map +1 -0
  715. package/build/dist/Types/Email/EmailTemplateType.js +40 -0
  716. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -0
  717. package/build/dist/Types/Email.js +101 -0
  718. package/build/dist/Types/Email.js.map +1 -0
  719. package/build/dist/Types/EmailWithName.js +31 -0
  720. package/build/dist/Types/EmailWithName.js.map +1 -0
  721. package/build/dist/Types/EncryptionAlgorithm.js +6 -0
  722. package/build/dist/Types/EncryptionAlgorithm.js.map +1 -0
  723. package/build/dist/Types/Events/EventInterval.js +10 -0
  724. package/build/dist/Types/Events/EventInterval.js.map +1 -0
  725. package/build/dist/Types/Events/Recurring.js +86 -0
  726. package/build/dist/Types/Events/Recurring.js.map +1 -0
  727. package/build/dist/Types/Exception/ApiException.js +8 -0
  728. package/build/dist/Types/Exception/ApiException.js.map +1 -0
  729. package/build/dist/Types/Exception/BadDataException.js +8 -0
  730. package/build/dist/Types/Exception/BadDataException.js.map +1 -0
  731. package/build/dist/Types/Exception/BadOperationException.js +8 -0
  732. package/build/dist/Types/Exception/BadOperationException.js.map +1 -0
  733. package/build/dist/Types/Exception/BadRequestException.js +8 -0
  734. package/build/dist/Types/Exception/BadRequestException.js.map +1 -0
  735. package/build/dist/Types/Exception/DatabaseNotConnectedException.js +8 -0
  736. package/build/dist/Types/Exception/DatabaseNotConnectedException.js.map +1 -0
  737. package/build/dist/Types/Exception/Exception.js +18 -0
  738. package/build/dist/Types/Exception/Exception.js.map +1 -0
  739. package/build/dist/Types/Exception/ExceptionCode.js +22 -0
  740. package/build/dist/Types/Exception/ExceptionCode.js.map +1 -0
  741. package/build/dist/Types/Exception/NotAuthenticatedException.js +8 -0
  742. package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -0
  743. package/build/dist/Types/Exception/NotAuthorizedException.js +8 -0
  744. package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -0
  745. package/build/dist/Types/Exception/NotFoundException.js +8 -0
  746. package/build/dist/Types/Exception/NotFoundException.js.map +1 -0
  747. package/build/dist/Types/Exception/NotImplementedException.js +8 -0
  748. package/build/dist/Types/Exception/NotImplementedException.js.map +1 -0
  749. package/build/dist/Types/Exception/PaymentRequiredException.js +8 -0
  750. package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -0
  751. package/build/dist/Types/Exception/ServerException.js +8 -0
  752. package/build/dist/Types/Exception/ServerException.js.map +1 -0
  753. package/build/dist/Types/Exception/SsoAuthorizationException.js +12 -0
  754. package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -0
  755. package/build/dist/Types/Exception/TenantNotFoundException.js +8 -0
  756. package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -0
  757. package/build/dist/Types/Exception/TimeoutException.js +8 -0
  758. package/build/dist/Types/Exception/TimeoutException.js.map +1 -0
  759. package/build/dist/Types/Exception/UnableToReachServer.js +8 -0
  760. package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -0
  761. package/build/dist/Types/Exception/WebsiteRequestException.js +8 -0
  762. package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -0
  763. package/build/dist/Types/File/MimeType.js +11 -0
  764. package/build/dist/Types/File/MimeType.js.map +1 -0
  765. package/build/dist/Types/File.js +2 -0
  766. package/build/dist/Types/File.js.map +1 -0
  767. package/build/dist/Types/Filter/Filter.js +3 -0
  768. package/build/dist/Types/Filter/Filter.js.map +1 -0
  769. package/build/dist/Types/Filter/FilterCondition.js +7 -0
  770. package/build/dist/Types/Filter/FilterCondition.js.map +1 -0
  771. package/build/dist/Types/Filter/FilterType.js +11 -0
  772. package/build/dist/Types/Filter/FilterType.js.map +1 -0
  773. package/build/dist/Types/FunctionTypes.js +2 -0
  774. package/build/dist/Types/FunctionTypes.js.map +1 -0
  775. package/build/dist/Types/GenericFunction.js +2 -0
  776. package/build/dist/Types/GenericFunction.js.map +1 -0
  777. package/build/dist/Types/GenericObject.js +2 -0
  778. package/build/dist/Types/GenericObject.js.map +1 -0
  779. package/build/dist/Types/HashCode.js +12 -0
  780. package/build/dist/Types/HashCode.js.map +1 -0
  781. package/build/dist/Types/HashedString.js +77 -0
  782. package/build/dist/Types/HashedString.js.map +1 -0
  783. package/build/dist/Types/Html.js +16 -0
  784. package/build/dist/Types/Html.js.map +1 -0
  785. package/build/dist/Types/IP/IP.js +93 -0
  786. package/build/dist/Types/IP/IP.js.map +1 -0
  787. package/build/dist/Types/IP/IPType.js +7 -0
  788. package/build/dist/Types/IP/IPType.js.map +1 -0
  789. package/build/dist/Types/IP/IPv4.js +11 -0
  790. package/build/dist/Types/IP/IPv4.js.map +1 -0
  791. package/build/dist/Types/IP/IPv6.js +11 -0
  792. package/build/dist/Types/IP/IPv6.js.map +1 -0
  793. package/build/dist/Types/Icon/IconProp.js +126 -0
  794. package/build/dist/Types/Icon/IconProp.js.map +1 -0
  795. package/build/dist/Types/Incident/IncidentCustomFields.js +3 -0
  796. package/build/dist/Types/Incident/IncidentCustomFields.js.map +1 -0
  797. package/build/dist/Types/IncomingRequest/IncomingRequestCustomFields.js +3 -0
  798. package/build/dist/Types/IncomingRequest/IncomingRequestCustomFields.js.map +1 -0
  799. package/build/dist/Types/JSON.js +39 -0
  800. package/build/dist/Types/JSON.js.map +1 -0
  801. package/build/dist/Types/JSONFunctions.js +189 -0
  802. package/build/dist/Types/JSONFunctions.js.map +1 -0
  803. package/build/dist/Types/JsonWebTokenData.js +2 -0
  804. package/build/dist/Types/JsonWebTokenData.js.map +1 -0
  805. package/build/dist/Types/Link.js +2 -0
  806. package/build/dist/Types/Link.js.map +1 -0
  807. package/build/dist/Types/ListData.js +18 -0
  808. package/build/dist/Types/ListData.js.map +1 -0
  809. package/build/dist/Types/Mail/MailStatus.js +7 -0
  810. package/build/dist/Types/Mail/MailStatus.js.map +1 -0
  811. package/build/dist/Types/Mixins.js +3 -0
  812. package/build/dist/Types/Mixins.js.map +1 -0
  813. package/build/dist/Types/Monitor/CriteriaFilter.js +40 -0
  814. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -0
  815. package/build/dist/Types/Monitor/CriteriaIncident.js +2 -0
  816. package/build/dist/Types/Monitor/CriteriaIncident.js.map +1 -0
  817. package/build/dist/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.js +2 -0
  818. package/build/dist/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.js.map +1 -0
  819. package/build/dist/Types/Monitor/MonitorCriteria.js +120 -0
  820. package/build/dist/Types/Monitor/MonitorCriteria.js.map +1 -0
  821. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +375 -0
  822. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -0
  823. package/build/dist/Types/Monitor/MonitorCustomFields.js +3 -0
  824. package/build/dist/Types/Monitor/MonitorCustomFields.js.map +1 -0
  825. package/build/dist/Types/Monitor/MonitorStep.js +205 -0
  826. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -0
  827. package/build/dist/Types/Monitor/MonitorSteps.js +126 -0
  828. package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -0
  829. package/build/dist/Types/Monitor/MonitorType.js +80 -0
  830. package/build/dist/Types/Monitor/MonitorType.js.map +1 -0
  831. package/build/dist/Types/Name.js +69 -0
  832. package/build/dist/Types/Name.js.map +1 -0
  833. package/build/dist/Types/NotificationRule/NotificationRuleType.js +8 -0
  834. package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -0
  835. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +23 -0
  836. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -0
  837. package/build/dist/Types/ObjectID.js +75 -0
  838. package/build/dist/Types/ObjectID.js.map +1 -0
  839. package/build/dist/Types/ObjectUtil.js +2 -0
  840. package/build/dist/Types/ObjectUtil.js.map +1 -0
  841. package/build/dist/Types/OnCallDutyPolicy/Layer.js +566 -0
  842. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -0
  843. package/build/dist/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.js +11 -0
  844. package/build/dist/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.js.map +1 -0
  845. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.js +8 -0
  846. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.js.map +1 -0
  847. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js +10 -0
  848. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js.map +1 -0
  849. package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js +137 -0
  850. package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js.map +1 -0
  851. package/build/dist/Types/Operation/OperationResult.js +7 -0
  852. package/build/dist/Types/Operation/OperationResult.js.map +1 -0
  853. package/build/dist/Types/Operation/OperationStatus.js +10 -0
  854. package/build/dist/Types/Operation/OperationStatus.js.map +1 -0
  855. package/build/dist/Types/Permission.js +2701 -0
  856. package/build/dist/Types/Permission.js.map +1 -0
  857. package/build/dist/Types/Phone.js +61 -0
  858. package/build/dist/Types/Phone.js.map +1 -0
  859. package/build/dist/Types/Port.js +77 -0
  860. package/build/dist/Types/Port.js.map +1 -0
  861. package/build/dist/Types/PositiveNumber.js +59 -0
  862. package/build/dist/Types/PositiveNumber.js.map +1 -0
  863. package/build/dist/Types/PricingPlan.js +2 -0
  864. package/build/dist/Types/PricingPlan.js.map +1 -0
  865. package/build/dist/Types/Probe/ProbeApiIngestResponse.js +2 -0
  866. package/build/dist/Types/Probe/ProbeApiIngestResponse.js.map +1 -0
  867. package/build/dist/Types/Probe/ProbeMonitorResponse.js +2 -0
  868. package/build/dist/Types/Probe/ProbeMonitorResponse.js.map +1 -0
  869. package/build/dist/Types/Reflection.js +2 -0
  870. package/build/dist/Types/Reflection.js.map +1 -0
  871. package/build/dist/Types/Role.js +26 -0
  872. package/build/dist/Types/Role.js.map +1 -0
  873. package/build/dist/Types/SMS/SMS.js +2 -0
  874. package/build/dist/Types/SMS/SMS.js.map +1 -0
  875. package/build/dist/Types/SMS/SmsTemplateType.js +14 -0
  876. package/build/dist/Types/SMS/SmsTemplateType.js.map +1 -0
  877. package/build/dist/Types/SSO/DigestMethod.js +9 -0
  878. package/build/dist/Types/SSO/DigestMethod.js.map +1 -0
  879. package/build/dist/Types/SSO/SignatureMethod.js +9 -0
  880. package/build/dist/Types/SSO/SignatureMethod.js.map +1 -0
  881. package/build/dist/Types/ScheduledEvent/ScheduledEventState.js +9 -0
  882. package/build/dist/Types/ScheduledEvent/ScheduledEventState.js.map +1 -0
  883. package/build/dist/Types/SecuritySeverity.js +9 -0
  884. package/build/dist/Types/SecuritySeverity.js.map +1 -0
  885. package/build/dist/Types/SerializableObject.js +14 -0
  886. package/build/dist/Types/SerializableObject.js.map +1 -0
  887. package/build/dist/Types/SerializableObjectDictionary.js +61 -0
  888. package/build/dist/Types/SerializableObjectDictionary.js.map +1 -0
  889. package/build/dist/Types/Sleep.js +8 -0
  890. package/build/dist/Types/Sleep.js.map +1 -0
  891. package/build/dist/Types/SmsStatus.js +8 -0
  892. package/build/dist/Types/SmsStatus.js.map +1 -0
  893. package/build/dist/Types/StatusPage/StatusPageChartType.js +11 -0
  894. package/build/dist/Types/StatusPage/StatusPageChartType.js.map +1 -0
  895. package/build/dist/Types/Text.js +109 -0
  896. package/build/dist/Types/Text.js.map +1 -0
  897. package/build/dist/Types/Time/StartAndEndTime.js +2 -0
  898. package/build/dist/Types/Time/StartAndEndTime.js.map +1 -0
  899. package/build/dist/Types/Timezone.js +597 -0
  900. package/build/dist/Types/Timezone.js.map +1 -0
  901. package/build/dist/Types/Typeof.js +9 -0
  902. package/build/dist/Types/Typeof.js.map +1 -0
  903. package/build/dist/Types/UserNotification/UserNotificationEventType.js +6 -0
  904. package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -0
  905. package/build/dist/Types/UserNotification/UserNotificationExecutionStatus.js +10 -0
  906. package/build/dist/Types/UserNotification/UserNotificationExecutionStatus.js.map +1 -0
  907. package/build/dist/Types/UserNotification/UserNotificationStatus.js +10 -0
  908. package/build/dist/Types/UserNotification/UserNotificationStatus.js.map +1 -0
  909. package/build/dist/Types/UserType.js +9 -0
  910. package/build/dist/Types/UserType.js.map +1 -0
  911. package/build/dist/Types/Version.js +52 -0
  912. package/build/dist/Types/Version.js.map +1 -0
  913. package/build/dist/Types/WebsiteRequest.js +41 -0
  914. package/build/dist/Types/WebsiteRequest.js.map +1 -0
  915. package/build/dist/Types/Workflow/Component.js +37 -0
  916. package/build/dist/Types/Workflow/Component.js.map +1 -0
  917. package/build/dist/Types/Workflow/ComponentID.js +21 -0
  918. package/build/dist/Types/Workflow/ComponentID.js.map +1 -0
  919. package/build/dist/Types/Workflow/Components/API.js +343 -0
  920. package/build/dist/Types/Workflow/Components/API.js.map +1 -0
  921. package/build/dist/Types/Workflow/Components/BaseModel.js +546 -0
  922. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -0
  923. package/build/dist/Types/Workflow/Components/Condition.js +61 -0
  924. package/build/dist/Types/Workflow/Components/Condition.js.map +1 -0
  925. package/build/dist/Types/Workflow/Components/Email.js +102 -0
  926. package/build/dist/Types/Workflow/Components/Email.js.map +1 -0
  927. package/build/dist/Types/Workflow/Components/JSON.js +149 -0
  928. package/build/dist/Types/Workflow/Components/JSON.js.map +1 -0
  929. package/build/dist/Types/Workflow/Components/JavaScript.js +61 -0
  930. package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -0
  931. package/build/dist/Types/Workflow/Components/Log.js +39 -0
  932. package/build/dist/Types/Workflow/Components/Log.js.map +1 -0
  933. package/build/dist/Types/Workflow/Components/Manual.js +34 -0
  934. package/build/dist/Types/Workflow/Components/Manual.js.map +1 -0
  935. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js +61 -0
  936. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js.map +1 -0
  937. package/build/dist/Types/Workflow/Components/Schedule.js +33 -0
  938. package/build/dist/Types/Workflow/Components/Schedule.js.map +1 -0
  939. package/build/dist/Types/Workflow/Components/Slack.js +61 -0
  940. package/build/dist/Types/Workflow/Components/Slack.js.map +1 -0
  941. package/build/dist/Types/Workflow/Components/Webhook.js +52 -0
  942. package/build/dist/Types/Workflow/Components/Webhook.js.map +1 -0
  943. package/build/dist/Types/Workflow/Components/Workflow.js +38 -0
  944. package/build/dist/Types/Workflow/Components/Workflow.js.map +1 -0
  945. package/build/dist/Types/Workflow/Components.js +74 -0
  946. package/build/dist/Types/Workflow/Components.js.map +1 -0
  947. package/build/dist/Types/Workflow/WorkflowPlan.js +9 -0
  948. package/build/dist/Types/Workflow/WorkflowPlan.js.map +1 -0
  949. package/build/dist/Types/Workflow/WorkflowStatus.js +11 -0
  950. package/build/dist/Types/Workflow/WorkflowStatus.js.map +1 -0
  951. package/build/dist/Types/XML.js +20 -0
  952. package/build/dist/Types/XML.js.map +1 -0
  953. package/build/dist/Utils/API.js +135 -0
  954. package/build/dist/Utils/API.js.map +1 -0
  955. package/build/dist/Utils/Analytics.js +35 -0
  956. package/build/dist/Utils/Analytics.js.map +1 -0
  957. package/build/dist/Utils/CronTime.js +7 -0
  958. package/build/dist/Utils/CronTime.js.map +1 -0
  959. package/build/dist/Utils/Faker.js +29 -0
  960. package/build/dist/Utils/Faker.js.map +1 -0
  961. package/build/dist/Utils/ObjectUtil.js +2 -0
  962. package/build/dist/Utils/ObjectUtil.js.map +1 -0
  963. package/build/dist/Utils/Realtime.js +16 -0
  964. package/build/dist/Utils/Realtime.js.map +1 -0
  965. package/build/dist/Utils/Slug.js +18 -0
  966. package/build/dist/Utils/Slug.js.map +1 -0
  967. package/build/dist/Utils/UUID.js +7 -0
  968. package/build/dist/Utils/UUID.js.map +1 -0
  969. package/jest.config.json +39 -0
  970. package/package.json +36 -0
  971. package/tsconfig.json +113 -0
package/Types/Date.ts ADDED
@@ -0,0 +1,1032 @@
1
+ import InBetween from './BaseDatabase/InBetween';
2
+ import DayOfWeek, { DayOfWeekUtil } from './Day/DayOfWeek';
3
+ import BadDataException from './Exception/BadDataException';
4
+ import { JSONObject, ObjectType } from './JSON';
5
+ import PositiveNumber from './PositiveNumber';
6
+ import moment from 'moment-timezone';
7
+
8
+ export const Moment: typeof moment = moment;
9
+
10
+ export default class OneUptimeDate {
11
+ public getNanoSecondsFromSeconds(seconds: number): number {
12
+ return seconds * 1000 * 1000 * 1000;
13
+ }
14
+
15
+ public static getDateFromYYYYMMDD(
16
+ year: string,
17
+ month: string,
18
+ day: string
19
+ ): Date {
20
+ return moment(`${year}-${month}-${day}`).toDate();
21
+ }
22
+
23
+ public getMicroSecondsFromSeconds(seconds: number): number {
24
+ return seconds * 1000 * 1000;
25
+ }
26
+
27
+ public getMilliSecondsFromSeconds(seconds: number): number {
28
+ return seconds * 1000;
29
+ }
30
+
31
+ public static getCurrentDateAsUnixNano(): number {
32
+ return this.toUnixNano(this.getCurrentDate());
33
+ }
34
+
35
+ public static toUnixNano(date: Date): number {
36
+ return date.getTime() * 1000000;
37
+ }
38
+
39
+ public static getMillisecondsBetweenTwoUnixNanoDates(
40
+ startDate: number,
41
+ endDate: number
42
+ ): number {
43
+ return endDate - startDate;
44
+ }
45
+
46
+ public static moveDateToTheDayOfWeek(
47
+ date: Date,
48
+ moveToWeek: Date,
49
+ dayOfWeek: DayOfWeek
50
+ ): Date {
51
+ // date will be moved to the week of "moveToWeek" and then to the day of week "dayOfWeek"
52
+
53
+ date = this.fromString(date);
54
+ date = this.keepTimeButMoveDay(date, moveToWeek);
55
+
56
+ // now move the date to the day of week
57
+
58
+ const dateDayOfWeek: DayOfWeek = this.getDayOfWeek(date);
59
+
60
+ if (dateDayOfWeek === dayOfWeek) {
61
+ return date;
62
+ }
63
+
64
+ const numberOfDayOfWeek: number =
65
+ DayOfWeekUtil.getNumberOfDayOfWeek(dayOfWeek);
66
+
67
+ const dateDayOfWeekNumber: number =
68
+ DayOfWeekUtil.getNumberOfDayOfWeek(dateDayOfWeek);
69
+
70
+ const difference: number = numberOfDayOfWeek - dateDayOfWeekNumber;
71
+
72
+ if (difference === 0) {
73
+ return date;
74
+ }
75
+
76
+ return this.addRemoveDays(date, difference);
77
+ }
78
+
79
+ public static isOverlapping(
80
+ start: Date,
81
+ end: Date,
82
+ start1: Date,
83
+ end1: Date
84
+ ): unknown {
85
+ start = this.fromString(start);
86
+ end = this.fromString(end);
87
+ start1 = this.fromString(start1);
88
+ end1 = this.fromString(end1);
89
+
90
+ let isOverlapping: boolean =
91
+ moment(start).isBetween(start1, end1) ||
92
+ moment(end).isBetween(start1, end1) ||
93
+ moment(start).isSame(start1) ||
94
+ moment(end).isSame(end1);
95
+
96
+ if (!isOverlapping) {
97
+ // check if the start1 and end1 are in between start and end
98
+
99
+ isOverlapping =
100
+ moment(start1).isBetween(start, end) ||
101
+ moment(end1).isBetween(start, end) ||
102
+ moment(start1).isSame(start) ||
103
+ moment(end1).isSame(end);
104
+ }
105
+
106
+ return isOverlapping;
107
+ }
108
+
109
+ public static getCurrentDate(): Date {
110
+ return moment().toDate();
111
+ }
112
+
113
+ public static fromNow(date: Date): string {
114
+ return moment(date).fromNow();
115
+ }
116
+
117
+ public static differenceBetweenTwoDatesAsFromattedString(
118
+ date1: Date,
119
+ date2: Date
120
+ ): string {
121
+ const seconds: number = this.getSecondsBetweenTwoDates(date1, date2);
122
+ return this.secondsToFormattedFriendlyTimeString(seconds);
123
+ }
124
+
125
+ public static toTimeString(date: Date | string): string {
126
+ if (typeof date === 'string') {
127
+ date = this.fromString(date);
128
+ }
129
+
130
+ return moment(date).format('HH:mm');
131
+ }
132
+
133
+ public static isSame(date1: Date, date2: Date): boolean {
134
+ date1 = this.fromString(date1);
135
+ date2 = this.fromString(date2);
136
+ return moment(date1).isSame(date2);
137
+ }
138
+
139
+ public static getDaysBetweenTwoDates(
140
+ startDate: Date,
141
+ endDate: Date
142
+ ): number {
143
+ startDate = this.fromString(startDate);
144
+ endDate = this.fromString(endDate);
145
+ return moment(endDate).diff(moment(startDate), 'days');
146
+ }
147
+
148
+ public static getDaysBetweenTwoDatesInclusive(
149
+ startDate: Date,
150
+ endDate: Date
151
+ ): number {
152
+ return this.getDaysBetweenTwoDates(startDate, endDate) + 1;
153
+ }
154
+
155
+ public static getHoursBetweenTwoDates(
156
+ startDate: Date,
157
+ endDate: Date
158
+ ): number {
159
+ startDate = this.fromString(startDate);
160
+ endDate = this.fromString(endDate);
161
+ return moment(endDate).diff(moment(startDate), 'hours');
162
+ }
163
+
164
+ public static getHoursBetweenTwoDatesInclusive(
165
+ startDate: Date,
166
+ endDate: Date
167
+ ): number {
168
+ return this.getHoursBetweenTwoDates(startDate, endDate) + 1;
169
+ }
170
+
171
+ public static getMinutesBetweenTwoDates(
172
+ startDate: Date,
173
+ endDate: Date
174
+ ): number {
175
+ startDate = this.fromString(startDate);
176
+ endDate = this.fromString(endDate);
177
+ return moment(endDate).diff(moment(startDate), 'minutes');
178
+ }
179
+
180
+ public static getMinutesBetweenTwoDatesInclusive(
181
+ startDate: Date,
182
+ endDate: Date
183
+ ): number {
184
+ return this.getMinutesBetweenTwoDates(startDate, endDate) + 1;
185
+ }
186
+
187
+ public static getSecondsBetweenTwoDates(
188
+ startDate: Date,
189
+ endDate: Date
190
+ ): number {
191
+ startDate = this.fromString(startDate);
192
+ endDate = this.fromString(endDate);
193
+ return moment(endDate).diff(moment(startDate), 'seconds');
194
+ }
195
+
196
+ public static getSecondsBetweenTwoDatesInclusive(
197
+ startDate: Date,
198
+ endDate: Date
199
+ ): number {
200
+ return this.getSecondsBetweenTwoDates(startDate, endDate) + 1;
201
+ }
202
+
203
+ public static getWeeksBetweenTwoDates(
204
+ startDate: Date,
205
+ endDate: Date
206
+ ): number {
207
+ startDate = this.fromString(startDate);
208
+ endDate = this.fromString(endDate);
209
+ return moment(endDate).diff(moment(startDate), 'weeks');
210
+ }
211
+
212
+ public static getWeeksBetweenTwoDatesInclusive(
213
+ startDate: Date,
214
+ endDate: Date
215
+ ): number {
216
+ return this.getWeeksBetweenTwoDates(startDate, endDate) + 1;
217
+ }
218
+
219
+ public static getMonthsBetweenTwoDates(
220
+ startDate: Date,
221
+ endDate: Date
222
+ ): number {
223
+ startDate = this.fromString(startDate);
224
+ endDate = this.fromString(endDate);
225
+ return moment(endDate).diff(moment(startDate), 'months');
226
+ }
227
+
228
+ public static getMonthsBetweenTwoDatesInclusive(
229
+ startDate: Date,
230
+ endDate: Date
231
+ ): number {
232
+ return this.getMonthsBetweenTwoDates(startDate, endDate) + 1;
233
+ }
234
+
235
+ public static getYearsBetweenTwoDates(
236
+ startDate: Date,
237
+ endDate: Date
238
+ ): number {
239
+ startDate = this.fromString(startDate);
240
+ endDate = this.fromString(endDate);
241
+ return moment(endDate).diff(moment(startDate), 'years');
242
+ }
243
+
244
+ public static getYearsBetweenTwoDatesInclusive(
245
+ startDate: Date,
246
+ endDate: Date
247
+ ): number {
248
+ return this.getYearsBetweenTwoDates(startDate, endDate) + 1;
249
+ }
250
+
251
+ public static toString(date: Date | undefined): string {
252
+ if (!date) {
253
+ return '';
254
+ }
255
+
256
+ date = this.fromString(date);
257
+
258
+ return date.toISOString();
259
+ }
260
+
261
+ public static getCurrentMomentDate(): moment.Moment {
262
+ return moment();
263
+ }
264
+
265
+ public static keepTimeButMoveDay(keepTimeFor: Date, moveDayTo: Date): Date {
266
+ keepTimeFor = this.fromString(keepTimeFor);
267
+ moveDayTo = this.fromString(moveDayTo);
268
+ return moment(moveDayTo)
269
+ .set({
270
+ hour: keepTimeFor.getHours(),
271
+ minute: keepTimeFor.getMinutes(),
272
+ second: keepTimeFor.getSeconds(),
273
+ millisecond: keepTimeFor.getMilliseconds(),
274
+ })
275
+ .toDate();
276
+ }
277
+
278
+ public static getOneMinAgo(): Date {
279
+ return this.getSomeMinutesAgo(new PositiveNumber(1));
280
+ }
281
+
282
+ public static getOneDayAgo(): Date {
283
+ return this.getSomeDaysAgo(new PositiveNumber(1));
284
+ }
285
+
286
+ public static fromUnixNano(timestamp: number): Date {
287
+ return moment(timestamp / 1000000).toDate();
288
+ }
289
+
290
+ public static getSecondsTo(date: Date): number {
291
+ date = this.fromString(date);
292
+ const dif: number = date.getTime() - this.getCurrentDate().getTime();
293
+ const Seconds_from_T1_to_T2: number = dif / 1000;
294
+ return Math.abs(Seconds_from_T1_to_T2);
295
+ }
296
+
297
+ public static getSomeMinutesAgo(minutes: PositiveNumber | number): Date {
298
+ if (!(minutes instanceof PositiveNumber)) {
299
+ minutes = new PositiveNumber(minutes);
300
+ }
301
+
302
+ return this.getCurrentMomentDate()
303
+ .add(-1 * minutes.toNumber(), 'minutes')
304
+ .toDate();
305
+ }
306
+
307
+ public static timezoneOffsetDate(date: Date): Date {
308
+ date = this.fromString(date);
309
+ return this.addRemoveMinutes(date, date.getTimezoneOffset());
310
+ }
311
+
312
+ public static toDateTimeLocalString(date: Date): string {
313
+ date = this.fromString(date);
314
+
315
+ type TenFunction = (i: number) => string;
316
+
317
+ const ten: TenFunction = (i: number): string => {
318
+ return (i < 10 ? '0' : '') + i;
319
+ },
320
+ YYYY: number = date.getFullYear(),
321
+ MM: string = ten(date.getMonth() + 1),
322
+ DD: string = ten(date.getDate()),
323
+ HH: string = ten(date.getHours()),
324
+ II: string = ten(date.getMinutes()),
325
+ SS: string = ten(date.getSeconds());
326
+
327
+ return YYYY + '-' + MM + '-' + DD + 'T' + HH + ':' + II + ':' + SS;
328
+ }
329
+
330
+ public static fromJSON(json: JSONObject): Date {
331
+ if (json['_type'] === ObjectType.DateTime) {
332
+ return OneUptimeDate.fromString(json['value'] as string);
333
+ }
334
+
335
+ throw new BadDataException('Invalid JSON: ' + JSON.stringify(json));
336
+ }
337
+
338
+ public static toJSON(date: Date): JSONObject {
339
+ return {
340
+ _type: ObjectType.DateTime,
341
+ value: OneUptimeDate.toString(date),
342
+ };
343
+ }
344
+
345
+ public static areOnTheSameDay(date1: Date, date2: Date): boolean {
346
+ date1 = this.fromString(date1);
347
+ date2 = this.fromString(date2);
348
+ return moment(date1).isSame(date2, 'day');
349
+ }
350
+
351
+ public static areOnTheSameMonth(date1: Date, date2: Date): boolean {
352
+ date1 = this.fromString(date1);
353
+ date2 = this.fromString(date2);
354
+ return moment(date1).isSame(date2, 'month');
355
+ }
356
+
357
+ public static areOnTheSameYear(date1: Date, date2: Date): boolean {
358
+ date1 = this.fromString(date1);
359
+ date2 = this.fromString(date2);
360
+ return moment(date1).isSame(date2, 'year');
361
+ }
362
+
363
+ public static areOnTheSameHour(date1: Date, date2: Date): boolean {
364
+ date1 = this.fromString(date1);
365
+ date2 = this.fromString(date2);
366
+ return moment(date1).isSame(date2, 'hour');
367
+ }
368
+
369
+ public static areOnTheSameMinute(date1: Date, date2: Date): boolean {
370
+ date1 = this.fromString(date1);
371
+ date2 = this.fromString(date2);
372
+ return moment(date1).isSame(date2, 'minute');
373
+ }
374
+
375
+ public static areOnTheSameSecond(date1: Date, date2: Date): boolean {
376
+ date1 = this.fromString(date1);
377
+ date2 = this.fromString(date2);
378
+ return moment(date1).isSame(date2, 'second');
379
+ }
380
+
381
+ public static areOnTheSameWeek(date1: Date, date2: Date): boolean {
382
+ date1 = this.fromString(date1);
383
+ date2 = this.fromString(date2);
384
+ return moment(date1).isSame(date2, 'week');
385
+ }
386
+
387
+ public static addRemoveMinutes(date: Date, minutes: number): Date {
388
+ date = this.fromString(date);
389
+ return moment(date).add(minutes, 'minutes').toDate();
390
+ }
391
+
392
+ public static addRemoveDays(date: Date, days: number): Date {
393
+ date = this.fromString(date);
394
+ return moment(date).add(days, 'days').toDate();
395
+ }
396
+
397
+ public static addRemoveHours(date: Date, hours: number): Date {
398
+ date = this.fromString(date);
399
+ return moment(date).add(hours, 'hours').toDate();
400
+ }
401
+
402
+ public static addRemoveYears(date: Date, years: number): Date {
403
+ date = this.fromString(date);
404
+ return moment(date).add(years, 'years').toDate();
405
+ }
406
+
407
+ public static addRemoveMonths(date: Date, months: number): Date {
408
+ date = this.fromString(date);
409
+ return moment(date).add(months, 'months').toDate();
410
+ }
411
+
412
+ public static addRemoveWeeks(date: Date, weeks: number): Date {
413
+ date = this.fromString(date);
414
+ return moment(date).add(weeks, 'weeks').toDate();
415
+ }
416
+
417
+ public static addRemoveSeconds(date: Date, seconds: number): Date {
418
+ date = this.fromString(date);
419
+ return moment(date).add(seconds, 'seconds').toDate();
420
+ }
421
+
422
+ public static getSecondsInDays(days: PositiveNumber | number): number {
423
+ if (!(days instanceof PositiveNumber)) {
424
+ days = new PositiveNumber(days);
425
+ }
426
+ return days.positiveNumber * 24 * 60 * 60;
427
+ }
428
+
429
+ public static getMillisecondsInDays(days: PositiveNumber | number): number {
430
+ return this.getSecondsInDays(days) * 1000;
431
+ }
432
+
433
+ public static getSomeHoursAgo(hours: PositiveNumber | number): Date {
434
+ if (!(hours instanceof PositiveNumber)) {
435
+ hours = new PositiveNumber(hours);
436
+ }
437
+ return this.getCurrentMomentDate()
438
+ .add(-1 * hours.toNumber(), 'hours')
439
+ .toDate();
440
+ }
441
+
442
+ public static getSomeDaysAgo(days: PositiveNumber | number): Date {
443
+ if (!(days instanceof PositiveNumber)) {
444
+ days = new PositiveNumber(days);
445
+ }
446
+ return this.getCurrentMomentDate()
447
+ .add(-1 * days.toNumber(), 'days')
448
+ .toDate();
449
+ }
450
+
451
+ public static getSomeDaysAgoFromDate(
452
+ date: Date,
453
+ days: PositiveNumber | number
454
+ ): Date {
455
+ date = this.fromString(date);
456
+ if (!(days instanceof PositiveNumber)) {
457
+ days = new PositiveNumber(days);
458
+ }
459
+ return moment(date)
460
+ .add(-1 * days.toNumber(), 'days')
461
+ .toDate();
462
+ }
463
+
464
+ public static getSomeDaysAfterFromDate(
465
+ date: Date,
466
+ days: PositiveNumber | number
467
+ ): Date {
468
+ date = this.fromString(date);
469
+ if (!(days instanceof PositiveNumber)) {
470
+ days = new PositiveNumber(days);
471
+ }
472
+ return moment(date).add(Number(days.toNumber()), 'days').toDate();
473
+ }
474
+
475
+ public static getSomeDaysBeforeFromDate(
476
+ date: Date,
477
+ days: PositiveNumber | number
478
+ ): Date {
479
+ date = this.fromString(date);
480
+ if (!(days instanceof PositiveNumber)) {
481
+ days = new PositiveNumber(days);
482
+ }
483
+ return moment(date)
484
+ .add(-1 * Number(days.toNumber()), 'days')
485
+ .toDate();
486
+ }
487
+
488
+ public static getSomeSecondsAgo(seconds: PositiveNumber | number): Date {
489
+ if (!(seconds instanceof PositiveNumber)) {
490
+ seconds = new PositiveNumber(seconds);
491
+ }
492
+
493
+ return this.getCurrentMomentDate()
494
+ .add(-1 * seconds.toNumber(), 'seconds')
495
+ .toDate();
496
+ }
497
+
498
+ public static getOneMinAfter(): Date {
499
+ return this.getSomeMinutesAfter(new PositiveNumber(1));
500
+ }
501
+
502
+ public static getOneDayAfter(): Date {
503
+ return this.getSomeDaysAfter(new PositiveNumber(1));
504
+ }
505
+
506
+ public static getSomeMinutesAfter(minutes: PositiveNumber | number): Date {
507
+ if (!(minutes instanceof PositiveNumber)) {
508
+ minutes = new PositiveNumber(minutes);
509
+ }
510
+
511
+ return this.getCurrentMomentDate()
512
+ .add(minutes.toNumber(), 'minutes')
513
+ .toDate();
514
+ }
515
+
516
+ public static getSomeHoursAfter(hours: PositiveNumber | number): Date {
517
+ if (!(hours instanceof PositiveNumber)) {
518
+ hours = new PositiveNumber(hours);
519
+ }
520
+ return this.getCurrentMomentDate()
521
+ .add(hours.toNumber(), 'hours')
522
+ .toDate();
523
+ }
524
+
525
+ public static getSomeDaysAfter(days: PositiveNumber | number): Date {
526
+ if (!(days instanceof PositiveNumber)) {
527
+ days = new PositiveNumber(days);
528
+ }
529
+
530
+ return this.getCurrentMomentDate()
531
+ .add(days.toNumber(), 'days')
532
+ .toDate();
533
+ }
534
+
535
+ public static secondsToFormattedTimeString(seconds: number): string {
536
+ return moment.utc(seconds * 1000).format('HH:mm:ss');
537
+ }
538
+
539
+ public static toUnixTimestamp(date: Date): number {
540
+ return Math.floor(date.getTime() / 1000);
541
+ }
542
+
543
+ public static secondsToFormattedFriendlyTimeString(
544
+ seconds: number
545
+ ): string {
546
+ const startDate: moment.Moment = moment.utc(0);
547
+ const date: moment.Moment = moment.utc(seconds * 1000);
548
+
549
+ // get the difference between the two dates as friendly formatted string
550
+
551
+ let formattedString: string = '';
552
+
553
+ // years between two dates
554
+ const years: number = date.diff(startDate, 'years');
555
+
556
+ if (years > 0) {
557
+ let text: string = 'years ';
558
+ if (years === 1) {
559
+ text = 'year ';
560
+ }
561
+
562
+ // add years to start date
563
+ startDate.add(years, 'years');
564
+
565
+ formattedString += years + ' ' + text;
566
+ }
567
+
568
+ const months: number = date.diff(startDate, 'months');
569
+
570
+ if (months > 0) {
571
+ let text: string = 'months ';
572
+
573
+ if (months === 1) {
574
+ text = 'month ';
575
+ }
576
+
577
+ // add months to start date
578
+ startDate.add(months, 'months');
579
+
580
+ formattedString += months + ' ' + text;
581
+ }
582
+
583
+ const days: number = date.diff(startDate, 'days');
584
+
585
+ if (days > 0) {
586
+ let text: string = 'days ';
587
+
588
+ if (days === 1) {
589
+ text = 'day ';
590
+ }
591
+
592
+ // add days to start date
593
+ startDate.add(days, 'days');
594
+
595
+ formattedString += days + ' ' + text;
596
+ }
597
+
598
+ const hours: number = date.diff(startDate, 'hours');
599
+
600
+ if (hours > 0) {
601
+ let text: string = 'hours ';
602
+
603
+ if (hours === 1) {
604
+ text = 'hour ';
605
+ }
606
+
607
+ // add hours to start date
608
+ startDate.add(hours, 'hours');
609
+
610
+ formattedString += hours + ' ' + text;
611
+ }
612
+
613
+ const minutes: number = date.diff(startDate, 'minutes');
614
+
615
+ if (minutes > 0) {
616
+ let text: string = 'mins ';
617
+
618
+ if (minutes === 1) {
619
+ text = 'min ';
620
+ }
621
+
622
+ // add minutes to start date
623
+ startDate.add(minutes, 'minutes');
624
+
625
+ formattedString += minutes + ' ' + text;
626
+ }
627
+
628
+ const secondsLeft: number = date.diff(startDate, 'seconds');
629
+
630
+ if (secondsLeft > 0) {
631
+ let text: string = 'secs ';
632
+
633
+ if (secondsLeft === 1) {
634
+ text = 'sec ';
635
+ }
636
+
637
+ // add seconds to start date
638
+ startDate.add(secondsLeft, 'seconds');
639
+
640
+ formattedString += secondsLeft + ' ' + text;
641
+ }
642
+
643
+ return formattedString.trim();
644
+ }
645
+
646
+ public static getGreaterDate(a: Date, b: Date): Date {
647
+ a = this.fromString(a);
648
+ b = this.fromString(b);
649
+ if (this.isAfter(a, b)) {
650
+ return a;
651
+ }
652
+
653
+ return b;
654
+ }
655
+
656
+ public static getLesserDate(a: Date, b: Date): Date {
657
+ a = this.fromString(a);
658
+ b = this.fromString(b);
659
+ if (this.isBefore(a, b)) {
660
+ return a;
661
+ }
662
+
663
+ return b;
664
+ }
665
+
666
+ public static getSecondsBetweenDates(start: Date, end: Date): number {
667
+ start = this.fromString(start);
668
+ end = this.fromString(end);
669
+ const duration: moment.Duration = moment.duration(
670
+ moment(end).diff(moment(start))
671
+ );
672
+ return duration.asSeconds();
673
+ }
674
+
675
+ public static getSomeDaysAfterDate(
676
+ date: Date,
677
+ days: PositiveNumber | number
678
+ ): Date {
679
+ if (!(days instanceof PositiveNumber)) {
680
+ days = new PositiveNumber(days);
681
+ }
682
+
683
+ return moment(date).add(days.toNumber(), 'days').toDate();
684
+ }
685
+
686
+ public static getSomeSecondsAfter(seconds: PositiveNumber | number): Date {
687
+ if (!(seconds instanceof PositiveNumber)) {
688
+ seconds = new PositiveNumber(seconds);
689
+ }
690
+
691
+ return this.getCurrentMomentDate()
692
+ .add(seconds.toNumber(), 'seconds')
693
+ .toDate();
694
+ }
695
+
696
+ public static getNumberOfDaysBetweenDates(
697
+ startDate: Date,
698
+ endDate: Date
699
+ ): number {
700
+ const a: moment.Moment = moment(startDate);
701
+ const b: moment.Moment = moment(endDate);
702
+ return b.diff(a, 'days');
703
+ }
704
+
705
+ public static getNumberOfMinutesBetweenDates(
706
+ startDate: Date,
707
+ endDate: Date
708
+ ): number {
709
+ const a: moment.Moment = moment(startDate);
710
+ const b: moment.Moment = moment(endDate);
711
+ return b.diff(a, 'minutes');
712
+ }
713
+
714
+ public static getNumberOfDaysBetweenDatesInclusive(
715
+ startDate: Date,
716
+ endDate: Date
717
+ ): number {
718
+ return this.getNumberOfDaysBetweenDates(startDate, endDate) + 1;
719
+ }
720
+
721
+ public static momentToDate(moment: moment.Moment): Date {
722
+ return moment.toDate();
723
+ }
724
+
725
+ public static getCurrentYear(): number {
726
+ return moment().year();
727
+ }
728
+
729
+ public static getStartOfDay(date: Date): Date {
730
+ date = this.fromString(date);
731
+ return moment(date).startOf('day').toDate();
732
+ }
733
+
734
+ public static getEndOfDay(date: Date): Date {
735
+ date = this.fromString(date);
736
+ return moment(date).endOf('day').toDate();
737
+ }
738
+
739
+ public static isBetween(
740
+ date: Date,
741
+ startDate: Date,
742
+ endDate: Date
743
+ ): boolean {
744
+ date = this.fromString(date);
745
+ startDate = this.fromString(startDate);
746
+ endDate = this.fromString(endDate);
747
+ return moment(date).isBetween(startDate, endDate);
748
+ }
749
+
750
+ public static isAfter(date: Date, startDate: Date): boolean {
751
+ date = this.fromString(date);
752
+ startDate = this.fromString(startDate);
753
+ return moment(date).isAfter(startDate);
754
+ }
755
+
756
+ public static isOnOrAfter(date: Date, startDate: Date): boolean {
757
+ date = this.fromString(date);
758
+ startDate = this.fromString(startDate);
759
+ return moment(date).isSameOrAfter(startDate);
760
+ }
761
+
762
+ public static getDayOfWeek(date: Date): DayOfWeek {
763
+ const dayOfWeek: number = this.geyDayOfWeekAsNumber(date);
764
+
765
+ if (dayOfWeek === 1) {
766
+ return DayOfWeek.Monday;
767
+ } else if (dayOfWeek === 2) {
768
+ return DayOfWeek.Tuesday;
769
+ } else if (dayOfWeek === 3) {
770
+ return DayOfWeek.Wednesday;
771
+ } else if (dayOfWeek === 4) {
772
+ return DayOfWeek.Thursday;
773
+ } else if (dayOfWeek === 5) {
774
+ return DayOfWeek.Friday;
775
+ } else if (dayOfWeek === 6) {
776
+ return DayOfWeek.Saturday;
777
+ } else if (dayOfWeek === 7) {
778
+ return DayOfWeek.Sunday;
779
+ }
780
+
781
+ throw new BadDataException('Invalid day of week');
782
+ }
783
+
784
+ public static geyDayOfWeekAsNumber(date: Date): number {
785
+ date = this.fromString(date);
786
+ return moment(date).isoWeekday();
787
+ }
788
+
789
+ public static isOnOrBefore(date: Date, endDate: Date): boolean {
790
+ date = this.fromString(date);
791
+ endDate = this.fromString(endDate);
792
+ return moment(date).isSameOrBefore(endDate);
793
+ }
794
+
795
+ public static isEqualBySeconds(date: Date, startDate: Date): boolean {
796
+ date = this.fromString(date);
797
+ startDate = this.fromString(startDate);
798
+ return moment(date).isSame(startDate, 'seconds');
799
+ }
800
+
801
+ public static hasExpired(expirationDate: Date): boolean {
802
+ expirationDate = this.fromString(expirationDate);
803
+ return !moment(this.getCurrentDate()).isBefore(expirationDate);
804
+ }
805
+
806
+ public static isBefore(date: Date, endDate: Date): boolean {
807
+ date = this.fromString(date);
808
+ endDate = this.fromString(endDate);
809
+ return moment(date).isBefore(endDate);
810
+ }
811
+
812
+ public static getCurrentDateAsFormattedString(): string {
813
+ return this.getDateAsFormattedString(new Date());
814
+ }
815
+
816
+ public static getDateAsFormattedString(
817
+ date: string | Date,
818
+ onlyShowDate?: boolean
819
+ ): string {
820
+ date = this.fromString(date);
821
+
822
+ let formatstring: string = 'MMM DD YYYY, HH:mm';
823
+
824
+ if (onlyShowDate) {
825
+ formatstring = 'MMM DD, YYYY';
826
+ }
827
+
828
+ return (
829
+ moment(date).format(formatstring) +
830
+ ' ' +
831
+ (onlyShowDate ? '' : this.getCurrentTimezoneString())
832
+ );
833
+ }
834
+
835
+ public static getDifferenceInMinutes(date: Date, date2: Date): number {
836
+ date = this.fromString(date);
837
+ date2 = this.fromString(date2);
838
+ const minutes: number = moment(date).diff(moment(date2), 'minutes');
839
+
840
+ if (minutes < 0) {
841
+ return minutes * -1;
842
+ }
843
+
844
+ return minutes;
845
+ }
846
+
847
+ public static getDateAsFormattedArrayInMultipleTimezones(
848
+ date: string | Date,
849
+ onlyShowDate?: boolean
850
+ ): Array<string> {
851
+ date = this.fromString(date);
852
+
853
+ let formatstring: string = 'MMM DD YYYY, HH:mm';
854
+
855
+ if (onlyShowDate) {
856
+ formatstring = 'MMM DD, YYYY';
857
+ }
858
+
859
+ // convert this date into GMT, EST, PST, IST, ACT with moment
860
+ const timezoneDates: Array<string> = [];
861
+
862
+ timezoneDates.push(
863
+ moment(date).tz('UTC').format(formatstring) +
864
+ ' ' +
865
+ (onlyShowDate ? '' : 'GMT')
866
+ );
867
+ timezoneDates.push(
868
+ moment(date).tz('America/New_York').format(formatstring) +
869
+ ' ' +
870
+ (onlyShowDate ? '' : 'EST')
871
+ );
872
+ timezoneDates.push(
873
+ moment(date).tz('America/Los_Angeles').format(formatstring) +
874
+ ' ' +
875
+ (onlyShowDate ? '' : 'PST')
876
+ );
877
+ timezoneDates.push(
878
+ moment(date).tz('Asia/Kolkata').format(formatstring) +
879
+ ' ' +
880
+ (onlyShowDate ? '' : 'IST')
881
+ );
882
+ timezoneDates.push(
883
+ moment(date).tz('Australia/Sydney').format(formatstring) +
884
+ ' ' +
885
+ (onlyShowDate ? '' : 'AEST')
886
+ );
887
+
888
+ return timezoneDates;
889
+ }
890
+
891
+ public static getDateAsFormattedHTMLInMultipleTimezones(
892
+ date: string | Date,
893
+ onlyShowDate?: boolean
894
+ ): string {
895
+ return this.getDateAsFormattedArrayInMultipleTimezones(
896
+ date,
897
+ onlyShowDate
898
+ ).join('<br/>');
899
+ }
900
+
901
+ public static getDateAsFormattedStringInMultipleTimezones(
902
+ date: string | Date,
903
+ onlyShowDate?: boolean
904
+ ): string {
905
+ return this.getDateAsFormattedArrayInMultipleTimezones(
906
+ date,
907
+ onlyShowDate
908
+ ).join('\n');
909
+ }
910
+
911
+ public static getDateAsLocalFormattedString(
912
+ date: string | Date,
913
+ onlyShowDate?: boolean
914
+ ): string {
915
+ date = this.fromString(date);
916
+
917
+ let formatstring: string = 'MMM DD YYYY, HH:mm';
918
+
919
+ if (onlyShowDate) {
920
+ formatstring = 'MMM DD, YYYY';
921
+ }
922
+
923
+ const momentDate: moment.Moment = moment(date).local();
924
+
925
+ return (
926
+ momentDate.format(formatstring) +
927
+ ' ' +
928
+ (onlyShowDate ? '' : this.getCurrentTimezoneString())
929
+ ).trim();
930
+ }
931
+
932
+ public static getDayInSeconds(days?: number | undefined): number {
933
+ if (!days) {
934
+ days = 1;
935
+ }
936
+ return 24 * 60 * 60 * days;
937
+ }
938
+
939
+ public static getCurrentTimezoneString(): string {
940
+ return moment.tz(moment.tz.guess()).zoneAbbr();
941
+ }
942
+
943
+ public static getDateString(date: Date): string {
944
+ date = this.fromString(date);
945
+ return this.getDateAsLocalFormattedString(date, true);
946
+ }
947
+
948
+ public static isInThePast(date: string | Date): boolean {
949
+ date = this.fromString(date);
950
+ return moment(date).isBefore(new Date());
951
+ }
952
+
953
+ public static isInTheFuture(date: string | Date): boolean {
954
+ date = this.fromString(date);
955
+ return moment(date).isAfter(new Date());
956
+ }
957
+
958
+ public static fromString(date: string | JSONObject | Date): Date {
959
+ if (date instanceof Date) {
960
+ return date;
961
+ }
962
+
963
+ if (typeof date === 'string') {
964
+ return moment(date).toDate();
965
+ }
966
+
967
+ if (
968
+ date &&
969
+ date['value'] &&
970
+ typeof date['value'] === 'string' &&
971
+ date['_type'] &&
972
+ (date['_type'] === 'Date' || date['_type'] === 'DateTime')
973
+ ) {
974
+ return moment(date['value']).toDate();
975
+ }
976
+
977
+ throw new BadDataException('Invalid date');
978
+ }
979
+
980
+ public static asDateForDatabaseQuery(date: string | Date): string {
981
+ date = this.fromString(date);
982
+ const formatstring: string = 'YYYY-MM-DD';
983
+ return moment(date).local().format(formatstring);
984
+ }
985
+
986
+ public static asFilterDateForDatabaseQuery(date: string | Date): InBetween {
987
+ date = this.fromString(date);
988
+ const formattedDate: Date = moment(date).toDate();
989
+ return new InBetween(
990
+ OneUptimeDate.getStartOfDay(formattedDate),
991
+ OneUptimeDate.getEndOfDay(formattedDate)
992
+ );
993
+ }
994
+
995
+ public static getDateWithCustomTime(data: {
996
+ hours: number;
997
+ minutes: number;
998
+ seconds: number;
999
+ }): Date {
1000
+ const hour: number = data.hours;
1001
+ const minutes: number = data.minutes;
1002
+ const seconds: number = data.seconds;
1003
+
1004
+ //validate the hour
1005
+ if (hour < 0 || hour > 23) {
1006
+ throw new BadDataException('Invalid hour');
1007
+ }
1008
+
1009
+ //validate the minutes
1010
+ if (minutes < 0 || minutes > 59) {
1011
+ throw new BadDataException('Invalid minutes');
1012
+ }
1013
+
1014
+ //validate the seconds
1015
+ if (seconds < 0 || seconds > 59) {
1016
+ throw new BadDataException('Invalid seconds');
1017
+ }
1018
+
1019
+ const date: Date = OneUptimeDate.getCurrentDate();
1020
+
1021
+ date.setHours(hour);
1022
+ date.setMinutes(minutes);
1023
+ date.setSeconds(seconds);
1024
+
1025
+ return date;
1026
+ }
1027
+
1028
+ public static toDatabaseDate(date: Date): string {
1029
+ date = this.fromString(date);
1030
+ return moment(date).format('YYYY-MM-DD HH:mm:ss');
1031
+ }
1032
+ }