@oneuptime/common 7.0.2928 → 7.0.2936

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 (469) hide show
  1. package/{AnalyticsModels/BaseModel.ts → Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.ts} +19 -17
  2. package/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/CommonModel.ts +15 -15
  3. package/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/NestedModel.ts +1 -1
  4. package/Models/AnalyticsModels/Index.ts +16 -0
  5. package/Models/AnalyticsModels/Log.ts +365 -0
  6. package/Models/AnalyticsModels/Metric.ts +693 -0
  7. package/Models/AnalyticsModels/MonitorMetricsByMinute.ts +177 -0
  8. package/Models/AnalyticsModels/NestedModels/KeyValueNestedModel.ts +59 -0
  9. package/Models/AnalyticsModels/Span.ts +643 -0
  10. package/Models/AnalyticsModels/TelemetryAttribute.ts +163 -0
  11. package/Models/DatabaseModels/AcmeCertificate.ts +142 -0
  12. package/Models/DatabaseModels/AcmeChallenge.ts +118 -0
  13. package/Models/DatabaseModels/ApiKey.ts +379 -0
  14. package/Models/DatabaseModels/ApiKeyPermission.ts +434 -0
  15. package/Models/DatabaseModels/BillingInvoice.ts +339 -0
  16. package/Models/DatabaseModels/BillingPaymentMethod.ts +317 -0
  17. package/Models/DatabaseModels/CallLog.ts +303 -0
  18. package/Models/DatabaseModels/CopilotAction.ts +545 -0
  19. package/Models/DatabaseModels/CopilotCodeRepository.ts +639 -0
  20. package/Models/DatabaseModels/CopilotPullRequest.ts +468 -0
  21. package/Models/DatabaseModels/DataMigration.ts +183 -0
  22. package/Models/{AccessControlModel.ts → DatabaseModels/DatabaseBaseModel/AccessControlModel.ts} +2 -2
  23. package/Models/{BaseModel.ts → DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.ts} +53 -48
  24. package/Models/{FileModel.ts → DatabaseModels/DatabaseBaseModel/FileModel.ts} +10 -10
  25. package/Models/{GlobalConfig.ts → DatabaseModels/DatabaseBaseModel/GlobalConfig.ts} +2 -2
  26. package/Models/{TenantModel.ts → DatabaseModels/DatabaseBaseModel/TenantModel.ts} +2 -2
  27. package/Models/{UserModel.ts → DatabaseModels/DatabaseBaseModel/UserModel.ts} +2 -2
  28. package/Models/DatabaseModels/Domain.ts +354 -0
  29. package/Models/DatabaseModels/EmailLog.ts +337 -0
  30. package/Models/DatabaseModels/EmailVerificationToken.ts +163 -0
  31. package/Models/DatabaseModels/File.ts +27 -0
  32. package/Models/DatabaseModels/GlobalConfig.ts +371 -0
  33. package/Models/DatabaseModels/GreenlockCertificate.ts +117 -0
  34. package/Models/DatabaseModels/GreenlockChallenge.ts +118 -0
  35. package/Models/DatabaseModels/Incident.ts +1094 -0
  36. package/Models/DatabaseModels/IncidentCustomField.ts +340 -0
  37. package/Models/DatabaseModels/IncidentInternalNote.ts +371 -0
  38. package/Models/DatabaseModels/IncidentNoteTemplate.ts +344 -0
  39. package/Models/DatabaseModels/IncidentOwnerTeam.ts +416 -0
  40. package/Models/DatabaseModels/IncidentOwnerUser.ts +415 -0
  41. package/Models/DatabaseModels/IncidentPublicNote.ts +453 -0
  42. package/Models/DatabaseModels/IncidentSeverity.ts +426 -0
  43. package/Models/DatabaseModels/IncidentState.ts +526 -0
  44. package/Models/DatabaseModels/IncidentStateTimeline.ts +579 -0
  45. package/Models/DatabaseModels/IncidentTemplate.ts +746 -0
  46. package/Models/DatabaseModels/IncidentTemplateOwnerTeam.ts +418 -0
  47. package/Models/DatabaseModels/IncidentTemplateOwnerUser.ts +429 -0
  48. package/Models/DatabaseModels/Index.ts +292 -0
  49. package/Models/DatabaseModels/Label.ts +381 -0
  50. package/Models/DatabaseModels/Monitor.ts +1045 -0
  51. package/Models/DatabaseModels/MonitorCustomField.ts +340 -0
  52. package/Models/DatabaseModels/MonitorGroup.ts +410 -0
  53. package/Models/DatabaseModels/MonitorGroupOwnerTeam.ts +426 -0
  54. package/Models/DatabaseModels/MonitorGroupOwnerUser.ts +425 -0
  55. package/Models/DatabaseModels/MonitorGroupResource.ts +386 -0
  56. package/Models/DatabaseModels/MonitorOwnerTeam.ts +424 -0
  57. package/Models/DatabaseModels/MonitorOwnerUser.ts +423 -0
  58. package/Models/DatabaseModels/MonitorProbe.ts +480 -0
  59. package/Models/DatabaseModels/MonitorSecret.ts +402 -0
  60. package/Models/DatabaseModels/MonitorStatus.ts +493 -0
  61. package/Models/DatabaseModels/MonitorStatusTimeline.ts +527 -0
  62. package/Models/DatabaseModels/OnCallDutyPolicy.ts +499 -0
  63. package/Models/DatabaseModels/OnCallDutyPolicyCustomField.ts +340 -0
  64. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.ts +439 -0
  65. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.ts +439 -0
  66. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.ts +438 -0
  67. package/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.ts +437 -0
  68. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.ts +665 -0
  69. package/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.ts +726 -0
  70. package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +403 -0
  71. package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.ts +555 -0
  72. package/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.ts +496 -0
  73. package/Models/DatabaseModels/Probe.ts +567 -0
  74. package/Models/DatabaseModels/ProbeOwnerTeam.ts +424 -0
  75. package/Models/DatabaseModels/ProbeOwnerUser.ts +423 -0
  76. package/Models/DatabaseModels/Project.ts +1168 -0
  77. package/Models/DatabaseModels/ProjectCallSMSConfig.ts +430 -0
  78. package/Models/DatabaseModels/ProjectSmtpConfig.ts +521 -0
  79. package/Models/DatabaseModels/ProjectSso.ts +582 -0
  80. package/Models/DatabaseModels/PromoCode.ts +413 -0
  81. package/Models/DatabaseModels/Reseller.ts +278 -0
  82. package/Models/DatabaseModels/ResellerPlan.ts +306 -0
  83. package/Models/DatabaseModels/ScheduledMaintenance.ts +883 -0
  84. package/Models/DatabaseModels/ScheduledMaintenanceCustomField.ts +340 -0
  85. package/Models/DatabaseModels/ScheduledMaintenanceInternalNote.ts +371 -0
  86. package/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.ts +345 -0
  87. package/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.ts +418 -0
  88. package/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.ts +417 -0
  89. package/Models/DatabaseModels/ScheduledMaintenancePublicNote.ts +454 -0
  90. package/Models/DatabaseModels/ScheduledMaintenanceState.ts +559 -0
  91. package/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.ts +527 -0
  92. package/Models/DatabaseModels/ServiceCatalog.ts +512 -0
  93. package/Models/DatabaseModels/ServiceCatalogDependency.ts +412 -0
  94. package/Models/DatabaseModels/ServiceCatalogMonitor.ts +410 -0
  95. package/Models/DatabaseModels/ServiceCatalogOwnerTeam.ts +396 -0
  96. package/Models/DatabaseModels/ServiceCatalogOwnerUser.ts +395 -0
  97. package/Models/DatabaseModels/ServiceCatalogTelemetryService.ts +410 -0
  98. package/Models/DatabaseModels/ServiceCopilotCodeRepository.ts +542 -0
  99. package/Models/DatabaseModels/ShortLink.ts +119 -0
  100. package/Models/DatabaseModels/SmsLog.ts +303 -0
  101. package/Models/DatabaseModels/StatusPage.ts +1867 -0
  102. package/Models/DatabaseModels/StatusPageAnnouncement.ts +512 -0
  103. package/Models/DatabaseModels/StatusPageCustomField.ts +340 -0
  104. package/Models/DatabaseModels/StatusPageDomain.ts +541 -0
  105. package/Models/DatabaseModels/StatusPageFooterLink.ts +421 -0
  106. package/Models/DatabaseModels/StatusPageGroup.ts +479 -0
  107. package/Models/DatabaseModels/StatusPageHeaderLink.ts +421 -0
  108. package/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.ts +416 -0
  109. package/Models/DatabaseModels/StatusPageOwnerTeam.ts +424 -0
  110. package/Models/DatabaseModels/StatusPageOwnerUser.ts +423 -0
  111. package/Models/DatabaseModels/StatusPagePrivateUser.ts +464 -0
  112. package/Models/DatabaseModels/StatusPageResource.ts +810 -0
  113. package/Models/DatabaseModels/StatusPageSso.ts +583 -0
  114. package/Models/DatabaseModels/StatusPageSubscriber.ts +578 -0
  115. package/Models/DatabaseModels/Team.ts +439 -0
  116. package/Models/DatabaseModels/TeamMember.ts +422 -0
  117. package/Models/DatabaseModels/TeamPermission.ts +440 -0
  118. package/Models/DatabaseModels/TelemetryIngestionKey.ts +316 -0
  119. package/Models/DatabaseModels/TelemetryService.ts +523 -0
  120. package/Models/DatabaseModels/TelemetryUsageBilling.ts +415 -0
  121. package/Models/DatabaseModels/User.ts +722 -0
  122. package/Models/DatabaseModels/UserCall.ts +285 -0
  123. package/Models/DatabaseModels/UserEmail.ts +285 -0
  124. package/Models/DatabaseModels/UserNotificationRule.ts +455 -0
  125. package/Models/DatabaseModels/UserNotificationSetting.ts +280 -0
  126. package/Models/DatabaseModels/UserOnCallLog.ts +700 -0
  127. package/Models/DatabaseModels/UserOnCallLogTimeline.ts +848 -0
  128. package/Models/DatabaseModels/UserSMS.ts +285 -0
  129. package/Models/DatabaseModels/UserTwoFactorAuth.ts +208 -0
  130. package/Models/DatabaseModels/Workflow.ts +524 -0
  131. package/Models/DatabaseModels/WorkflowLog.ts +302 -0
  132. package/Models/DatabaseModels/WorkflowVariable.ts +428 -0
  133. package/Models/Permissions/Permission.ts +0 -0
  134. package/Tests/AppModels/File.test.ts +10 -0
  135. package/Tests/Types/Database/Date.test.ts +17 -12
  136. package/Tests/Types/JSONFunctions.test.ts +1 -1
  137. package/Types/API/HTTPResponse.ts +2 -2
  138. package/Types/AnalyticsDatabase/TableColumn.ts +1 -1
  139. package/Types/BaseDatabase/InBetween.ts +18 -2
  140. package/Types/Database/AccessControl/ColumnAccessControl.ts +1 -1
  141. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +1 -1
  142. package/Types/Database/TableColumn.ts +2 -2
  143. package/Types/Database/UniqueColumnBy.ts +1 -1
  144. package/Types/Date.ts +47 -0
  145. package/Types/JSONFunctions.ts +3 -1
  146. package/Types/Log/LogSeverity.ts +11 -0
  147. package/Types/Monitor/CriteriaFilter.ts +3 -0
  148. package/Types/Monitor/LogMonitor/LogMonitorResponse.ts +8 -0
  149. package/Types/Monitor/MonitorCriteriaInstance.ts +54 -0
  150. package/Types/Monitor/MonitorStep.ts +26 -0
  151. package/Types/Monitor/MonitorStepLogMonitor.ts +95 -0
  152. package/Types/Monitor/MonitorType.ts +26 -0
  153. package/Types/ObjectID.ts +19 -0
  154. package/Types/OnCallDutyPolicy/Layer.ts +1 -1
  155. package/Types/Workflow/Components/BaseModel.ts +1 -1
  156. package/Utils/API.ts +2 -2
  157. package/Utils/Uptime/Event.ts +11 -0
  158. package/Utils/Uptime/MonitorEvent.ts +6 -0
  159. package/Utils/Uptime/UptimeUtil.ts +362 -0
  160. package/build/dist/{AnalyticsModels/BaseModel.js → Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js} +7 -7
  161. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel.js.map +1 -0
  162. package/build/dist/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/CommonModel.js +5 -5
  163. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/CommonModel.js.map +1 -0
  164. package/build/dist/Models/AnalyticsModels/AnalyticsBaseModel/NestedModel.js.map +1 -0
  165. package/build/dist/Models/AnalyticsModels/Index.js +14 -0
  166. package/build/dist/Models/AnalyticsModels/Index.js.map +1 -0
  167. package/build/dist/Models/AnalyticsModels/Log.js +333 -0
  168. package/build/dist/Models/AnalyticsModels/Log.js.map +1 -0
  169. package/build/dist/Models/AnalyticsModels/Metric.js +627 -0
  170. package/build/dist/Models/AnalyticsModels/Metric.js.map +1 -0
  171. package/build/dist/Models/AnalyticsModels/MonitorMetricsByMinute.js +149 -0
  172. package/build/dist/Models/AnalyticsModels/MonitorMetricsByMinute.js.map +1 -0
  173. package/build/dist/Models/AnalyticsModels/NestedModels/KeyValueNestedModel.js +51 -0
  174. package/build/dist/Models/AnalyticsModels/NestedModels/KeyValueNestedModel.js.map +1 -0
  175. package/build/dist/Models/AnalyticsModels/Span.js +575 -0
  176. package/build/dist/Models/AnalyticsModels/Span.js.map +1 -0
  177. package/build/dist/Models/AnalyticsModels/TelemetryAttribute.js +153 -0
  178. package/build/dist/Models/AnalyticsModels/TelemetryAttribute.js.map +1 -0
  179. package/build/dist/Models/DatabaseModels/AcmeCertificate.js +167 -0
  180. package/build/dist/Models/DatabaseModels/AcmeCertificate.js.map +1 -0
  181. package/build/dist/Models/DatabaseModels/AcmeChallenge.js +139 -0
  182. package/build/dist/Models/DatabaseModels/AcmeChallenge.js.map +1 -0
  183. package/build/dist/Models/DatabaseModels/ApiKey.js +404 -0
  184. package/build/dist/Models/DatabaseModels/ApiKey.js.map +1 -0
  185. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js +444 -0
  186. package/build/dist/Models/DatabaseModels/ApiKeyPermission.js.map +1 -0
  187. package/build/dist/Models/DatabaseModels/BillingInvoice.js +368 -0
  188. package/build/dist/Models/DatabaseModels/BillingInvoice.js.map +1 -0
  189. package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js +341 -0
  190. package/build/dist/Models/DatabaseModels/BillingPaymentMethod.js.map +1 -0
  191. package/build/dist/Models/DatabaseModels/CallLog.js +330 -0
  192. package/build/dist/Models/DatabaseModels/CallLog.js.map +1 -0
  193. package/build/dist/Models/DatabaseModels/CopilotAction.js +561 -0
  194. package/build/dist/Models/DatabaseModels/CopilotAction.js.map +1 -0
  195. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js +658 -0
  196. package/build/dist/Models/DatabaseModels/CopilotCodeRepository.js.map +1 -0
  197. package/build/dist/Models/DatabaseModels/CopilotPullRequest.js +482 -0
  198. package/build/dist/Models/DatabaseModels/CopilotPullRequest.js.map +1 -0
  199. package/build/dist/Models/DatabaseModels/DataMigration.js +203 -0
  200. package/build/dist/Models/DatabaseModels/DataMigration.js.map +1 -0
  201. package/build/dist/Models/{AccessControlModel.js → DatabaseModels/DatabaseBaseModel/AccessControlModel.js} +1 -1
  202. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/AccessControlModel.js.map +1 -0
  203. package/build/dist/Models/{BaseModel.js → DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js} +22 -22
  204. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel.js.map +1 -0
  205. package/build/dist/Models/{FileModel.js → DatabaseModels/DatabaseBaseModel/FileModel.js} +10 -10
  206. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/FileModel.js.map +1 -0
  207. package/build/dist/Models/{GlobalConfig.js → DatabaseModels/DatabaseBaseModel/GlobalConfig.js} +1 -1
  208. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/GlobalConfig.js.map +1 -0
  209. package/build/dist/Models/{TenantModel.js → DatabaseModels/DatabaseBaseModel/TenantModel.js} +1 -1
  210. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/TenantModel.js.map +1 -0
  211. package/build/dist/Models/{UserModel.js → DatabaseModels/DatabaseBaseModel/UserModel.js} +1 -1
  212. package/build/dist/Models/DatabaseModels/DatabaseBaseModel/UserModel.js.map +1 -0
  213. package/build/dist/Models/DatabaseModels/Domain.js +376 -0
  214. package/build/dist/Models/DatabaseModels/Domain.js.map +1 -0
  215. package/build/dist/Models/DatabaseModels/EmailLog.js +362 -0
  216. package/build/dist/Models/DatabaseModels/EmailLog.js.map +1 -0
  217. package/build/dist/Models/DatabaseModels/EmailVerificationToken.js +184 -0
  218. package/build/dist/Models/DatabaseModels/EmailVerificationToken.js.map +1 -0
  219. package/build/dist/Models/DatabaseModels/File.js +37 -0
  220. package/build/dist/Models/DatabaseModels/File.js.map +1 -0
  221. package/build/dist/Models/DatabaseModels/GlobalConfig.js +419 -0
  222. package/build/dist/Models/DatabaseModels/GlobalConfig.js.map +1 -0
  223. package/build/dist/Models/DatabaseModels/GreenlockCertificate.js +138 -0
  224. package/build/dist/Models/DatabaseModels/GreenlockCertificate.js.map +1 -0
  225. package/build/dist/Models/DatabaseModels/GreenlockChallenge.js +139 -0
  226. package/build/dist/Models/DatabaseModels/GreenlockChallenge.js.map +1 -0
  227. package/build/dist/Models/DatabaseModels/Incident.js +1106 -0
  228. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -0
  229. package/build/dist/Models/DatabaseModels/IncidentCustomField.js +360 -0
  230. package/build/dist/Models/DatabaseModels/IncidentCustomField.js.map +1 -0
  231. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js +391 -0
  232. package/build/dist/Models/DatabaseModels/IncidentInternalNote.js.map +1 -0
  233. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js +364 -0
  234. package/build/dist/Models/DatabaseModels/IncidentNoteTemplate.js.map +1 -0
  235. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js +434 -0
  236. package/build/dist/Models/DatabaseModels/IncidentOwnerTeam.js.map +1 -0
  237. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js +433 -0
  238. package/build/dist/Models/DatabaseModels/IncidentOwnerUser.js.map +1 -0
  239. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js +478 -0
  240. package/build/dist/Models/DatabaseModels/IncidentPublicNote.js.map +1 -0
  241. package/build/dist/Models/DatabaseModels/IncidentSeverity.js +450 -0
  242. package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -0
  243. package/build/dist/Models/DatabaseModels/IncidentState.js +556 -0
  244. package/build/dist/Models/DatabaseModels/IncidentState.js.map +1 -0
  245. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js +606 -0
  246. package/build/dist/Models/DatabaseModels/IncidentStateTimeline.js.map +1 -0
  247. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +758 -0
  248. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -0
  249. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js +434 -0
  250. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerTeam.js.map +1 -0
  251. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js +445 -0
  252. package/build/dist/Models/DatabaseModels/IncidentTemplateOwnerUser.js.map +1 -0
  253. package/build/dist/Models/DatabaseModels/Index.js +252 -0
  254. package/build/dist/Models/DatabaseModels/Index.js.map +1 -0
  255. package/build/dist/Models/DatabaseModels/Label.js +403 -0
  256. package/build/dist/Models/DatabaseModels/Label.js.map +1 -0
  257. package/build/dist/Models/DatabaseModels/Monitor.js +1077 -0
  258. package/build/dist/Models/DatabaseModels/Monitor.js.map +1 -0
  259. package/build/dist/Models/DatabaseModels/MonitorCustomField.js +360 -0
  260. package/build/dist/Models/DatabaseModels/MonitorCustomField.js.map +1 -0
  261. package/build/dist/Models/DatabaseModels/MonitorGroup.js +420 -0
  262. package/build/dist/Models/DatabaseModels/MonitorGroup.js.map +1 -0
  263. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js +442 -0
  264. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerTeam.js.map +1 -0
  265. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js +441 -0
  266. package/build/dist/Models/DatabaseModels/MonitorGroupOwnerUser.js.map +1 -0
  267. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js +402 -0
  268. package/build/dist/Models/DatabaseModels/MonitorGroupResource.js.map +1 -0
  269. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js +442 -0
  270. package/build/dist/Models/DatabaseModels/MonitorOwnerTeam.js.map +1 -0
  271. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js +441 -0
  272. package/build/dist/Models/DatabaseModels/MonitorOwnerUser.js.map +1 -0
  273. package/build/dist/Models/DatabaseModels/MonitorProbe.js +499 -0
  274. package/build/dist/Models/DatabaseModels/MonitorProbe.js.map +1 -0
  275. package/build/dist/Models/DatabaseModels/MonitorSecret.js +399 -0
  276. package/build/dist/Models/DatabaseModels/MonitorSecret.js.map +1 -0
  277. package/build/dist/Models/DatabaseModels/MonitorStatus.js +520 -0
  278. package/build/dist/Models/DatabaseModels/MonitorStatus.js.map +1 -0
  279. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js +550 -0
  280. package/build/dist/Models/DatabaseModels/MonitorStatusTimeline.js.map +1 -0
  281. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js +513 -0
  282. package/build/dist/Models/DatabaseModels/OnCallDutyPolicy.js.map +1 -0
  283. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js +360 -0
  284. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyCustomField.js.map +1 -0
  285. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js +459 -0
  286. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRule.js.map +1 -0
  287. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js +450 -0
  288. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleSchedule.js.map +1 -0
  289. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js +450 -0
  290. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleTeam.js.map +1 -0
  291. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js +449 -0
  292. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyEscalationRuleUser.js.map +1 -0
  293. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js +690 -0
  294. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLog.js.map +1 -0
  295. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js +747 -0
  296. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyExecutionLogTimeline.js.map +1 -0
  297. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +413 -0
  298. package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -0
  299. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js +579 -0
  300. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayer.js.map +1 -0
  301. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js +510 -0
  302. package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleLayerUser.js.map +1 -0
  303. package/build/dist/Models/DatabaseModels/Probe.js +593 -0
  304. package/build/dist/Models/DatabaseModels/Probe.js.map +1 -0
  305. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js +442 -0
  306. package/build/dist/Models/DatabaseModels/ProbeOwnerTeam.js.map +1 -0
  307. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js +441 -0
  308. package/build/dist/Models/DatabaseModels/ProbeOwnerUser.js.map +1 -0
  309. package/build/dist/Models/DatabaseModels/Project.js +1264 -0
  310. package/build/dist/Models/DatabaseModels/Project.js.map +1 -0
  311. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js +456 -0
  312. package/build/dist/Models/DatabaseModels/ProjectCallSMSConfig.js.map +1 -0
  313. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js +556 -0
  314. package/build/dist/Models/DatabaseModels/ProjectSmtpConfig.js.map +1 -0
  315. package/build/dist/Models/DatabaseModels/ProjectSso.js +600 -0
  316. package/build/dist/Models/DatabaseModels/ProjectSso.js.map +1 -0
  317. package/build/dist/Models/DatabaseModels/PromoCode.js +436 -0
  318. package/build/dist/Models/DatabaseModels/PromoCode.js.map +1 -0
  319. package/build/dist/Models/DatabaseModels/Reseller.js +307 -0
  320. package/build/dist/Models/DatabaseModels/Reseller.js.map +1 -0
  321. package/build/dist/Models/DatabaseModels/ResellerPlan.js +332 -0
  322. package/build/dist/Models/DatabaseModels/ResellerPlan.js.map +1 -0
  323. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +898 -0
  324. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -0
  325. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js +360 -0
  326. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceCustomField.js.map +1 -0
  327. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js +389 -0
  328. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceInternalNote.js.map +1 -0
  329. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js +364 -0
  330. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceNoteTemplate.js.map +1 -0
  331. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js +434 -0
  332. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerTeam.js.map +1 -0
  333. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js +433 -0
  334. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerUser.js.map +1 -0
  335. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js +478 -0
  336. package/build/dist/Models/DatabaseModels/ScheduledMaintenancePublicNote.js.map +1 -0
  337. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js +591 -0
  338. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceState.js.map +1 -0
  339. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js +551 -0
  340. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceStateTimeline.js.map +1 -0
  341. package/build/dist/Models/DatabaseModels/ServiceCatalog.js +527 -0
  342. package/build/dist/Models/DatabaseModels/ServiceCatalog.js.map +1 -0
  343. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js +424 -0
  344. package/build/dist/Models/DatabaseModels/ServiceCatalogDependency.js.map +1 -0
  345. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js +425 -0
  346. package/build/dist/Models/DatabaseModels/ServiceCatalogMonitor.js.map +1 -0
  347. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js +410 -0
  348. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerTeam.js.map +1 -0
  349. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js +409 -0
  350. package/build/dist/Models/DatabaseModels/ServiceCatalogOwnerUser.js.map +1 -0
  351. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js +425 -0
  352. package/build/dist/Models/DatabaseModels/ServiceCatalogTelemetryService.js.map +1 -0
  353. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js +559 -0
  354. package/build/dist/Models/DatabaseModels/ServiceCopilotCodeRepository.js.map +1 -0
  355. package/build/dist/Models/DatabaseModels/ShortLink.js +137 -0
  356. package/build/dist/Models/DatabaseModels/ShortLink.js.map +1 -0
  357. package/build/dist/Models/DatabaseModels/SmsLog.js +330 -0
  358. package/build/dist/Models/DatabaseModels/SmsLog.js.map +1 -0
  359. package/build/dist/Models/DatabaseModels/StatusPage.js +1927 -0
  360. package/build/dist/Models/DatabaseModels/StatusPage.js.map +1 -0
  361. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js +532 -0
  362. package/build/dist/Models/DatabaseModels/StatusPageAnnouncement.js.map +1 -0
  363. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js +360 -0
  364. package/build/dist/Models/DatabaseModels/StatusPageCustomField.js.map +1 -0
  365. package/build/dist/Models/DatabaseModels/StatusPageDomain.js +568 -0
  366. package/build/dist/Models/DatabaseModels/StatusPageDomain.js.map +1 -0
  367. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js +438 -0
  368. package/build/dist/Models/DatabaseModels/StatusPageFooterLink.js.map +1 -0
  369. package/build/dist/Models/DatabaseModels/StatusPageGroup.js +502 -0
  370. package/build/dist/Models/DatabaseModels/StatusPageGroup.js.map +1 -0
  371. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js +438 -0
  372. package/build/dist/Models/DatabaseModels/StatusPageHeaderLink.js.map +1 -0
  373. package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js +435 -0
  374. package/build/dist/Models/DatabaseModels/StatusPageHistoryChartBarColorRule.js.map +1 -0
  375. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js +442 -0
  376. package/build/dist/Models/DatabaseModels/StatusPageOwnerTeam.js.map +1 -0
  377. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js +441 -0
  378. package/build/dist/Models/DatabaseModels/StatusPageOwnerUser.js.map +1 -0
  379. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js +489 -0
  380. package/build/dist/Models/DatabaseModels/StatusPagePrivateUser.js.map +1 -0
  381. package/build/dist/Models/DatabaseModels/StatusPageResource.js +839 -0
  382. package/build/dist/Models/DatabaseModels/StatusPageResource.js.map +1 -0
  383. package/build/dist/Models/DatabaseModels/StatusPageSso.js +607 -0
  384. package/build/dist/Models/DatabaseModels/StatusPageSso.js.map +1 -0
  385. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js +594 -0
  386. package/build/dist/Models/DatabaseModels/StatusPageSubscriber.js.map +1 -0
  387. package/build/dist/Models/DatabaseModels/Team.js +463 -0
  388. package/build/dist/Models/DatabaseModels/Team.js.map +1 -0
  389. package/build/dist/Models/DatabaseModels/TeamMember.js +442 -0
  390. package/build/dist/Models/DatabaseModels/TeamMember.js.map +1 -0
  391. package/build/dist/Models/DatabaseModels/TeamPermission.js +450 -0
  392. package/build/dist/Models/DatabaseModels/TeamPermission.js.map +1 -0
  393. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js +337 -0
  394. package/build/dist/Models/DatabaseModels/TelemetryIngestionKey.js.map +1 -0
  395. package/build/dist/Models/DatabaseModels/TelemetryService.js +539 -0
  396. package/build/dist/Models/DatabaseModels/TelemetryService.js.map +1 -0
  397. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js +439 -0
  398. package/build/dist/Models/DatabaseModels/TelemetryUsageBilling.js.map +1 -0
  399. package/build/dist/Models/DatabaseModels/User.js +782 -0
  400. package/build/dist/Models/DatabaseModels/User.js.map +1 -0
  401. package/build/dist/Models/DatabaseModels/UserCall.js +305 -0
  402. package/build/dist/Models/DatabaseModels/UserCall.js.map +1 -0
  403. package/build/dist/Models/DatabaseModels/UserEmail.js +305 -0
  404. package/build/dist/Models/DatabaseModels/UserEmail.js.map +1 -0
  405. package/build/dist/Models/DatabaseModels/UserNotificationRule.js +475 -0
  406. package/build/dist/Models/DatabaseModels/UserNotificationRule.js.map +1 -0
  407. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js +302 -0
  408. package/build/dist/Models/DatabaseModels/UserNotificationSetting.js.map +1 -0
  409. package/build/dist/Models/DatabaseModels/UserOnCallLog.js +714 -0
  410. package/build/dist/Models/DatabaseModels/UserOnCallLog.js.map +1 -0
  411. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js +870 -0
  412. package/build/dist/Models/DatabaseModels/UserOnCallLogTimeline.js.map +1 -0
  413. package/build/dist/Models/DatabaseModels/UserSMS.js +305 -0
  414. package/build/dist/Models/DatabaseModels/UserSMS.js.map +1 -0
  415. package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js +228 -0
  416. package/build/dist/Models/DatabaseModels/UserTwoFactorAuth.js.map +1 -0
  417. package/build/dist/Models/DatabaseModels/Workflow.js +542 -0
  418. package/build/dist/Models/DatabaseModels/Workflow.js.map +1 -0
  419. package/build/dist/Models/DatabaseModels/WorkflowLog.js +327 -0
  420. package/build/dist/Models/DatabaseModels/WorkflowLog.js.map +1 -0
  421. package/build/dist/Models/DatabaseModels/WorkflowVariable.js +448 -0
  422. package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -0
  423. package/build/dist/Models/Permissions/Permission.js +2 -0
  424. package/build/dist/Models/Permissions/Permission.js.map +1 -0
  425. package/build/dist/Tests/AppModels/File.test.js +10 -0
  426. package/build/dist/Tests/AppModels/File.test.js.map +1 -0
  427. package/build/dist/Tests/Types/Database/Date.test.js +10 -12
  428. package/build/dist/Tests/Types/Database/Date.test.js.map +1 -1
  429. package/build/dist/Tests/Types/JSONFunctions.test.js +1 -1
  430. package/build/dist/Tests/Types/JSONFunctions.test.js.map +1 -1
  431. package/build/dist/Types/BaseDatabase/InBetween.js +14 -2
  432. package/build/dist/Types/BaseDatabase/InBetween.js.map +1 -1
  433. package/build/dist/Types/Date.js +33 -0
  434. package/build/dist/Types/Date.js.map +1 -1
  435. package/build/dist/Types/JSONFunctions.js +4 -1
  436. package/build/dist/Types/JSONFunctions.js.map +1 -1
  437. package/build/dist/Types/Log/LogSeverity.js +12 -0
  438. package/build/dist/Types/Log/LogSeverity.js.map +1 -0
  439. package/build/dist/Types/Monitor/CriteriaFilter.js +2 -0
  440. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  441. package/build/dist/Types/Monitor/LogMonitor/LogMonitorResponse.js +2 -0
  442. package/build/dist/Types/Monitor/LogMonitor/LogMonitorResponse.js.map +1 -0
  443. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +49 -0
  444. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  445. package/build/dist/Types/Monitor/MonitorStep.js +18 -0
  446. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  447. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js +59 -0
  448. package/build/dist/Types/Monitor/MonitorStepLogMonitor.js.map +1 -0
  449. package/build/dist/Types/Monitor/MonitorType.js +25 -0
  450. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  451. package/build/dist/Types/ObjectID.js +16 -0
  452. package/build/dist/Types/ObjectID.js.map +1 -1
  453. package/build/dist/Utils/Uptime/Event.js +2 -0
  454. package/build/dist/Utils/Uptime/Event.js.map +1 -0
  455. package/build/dist/Utils/Uptime/MonitorEvent.js +2 -0
  456. package/build/dist/Utils/Uptime/MonitorEvent.js.map +1 -0
  457. package/build/dist/Utils/Uptime/UptimeUtil.js +238 -0
  458. package/build/dist/Utils/Uptime/UptimeUtil.js.map +1 -0
  459. package/package.json +1 -1
  460. package/build/dist/AnalyticsModels/BaseModel.js.map +0 -1
  461. package/build/dist/AnalyticsModels/CommonModel.js.map +0 -1
  462. package/build/dist/AnalyticsModels/NestedModel.js.map +0 -1
  463. package/build/dist/Models/AccessControlModel.js.map +0 -1
  464. package/build/dist/Models/BaseModel.js.map +0 -1
  465. package/build/dist/Models/FileModel.js.map +0 -1
  466. package/build/dist/Models/GlobalConfig.js.map +0 -1
  467. package/build/dist/Models/TenantModel.js.map +0 -1
  468. package/build/dist/Models/UserModel.js.map +0 -1
  469. /package/build/dist/{AnalyticsModels → Models/AnalyticsModels/AnalyticsBaseModel}/NestedModel.js +0 -0
File without changes
@@ -0,0 +1,10 @@
1
+ import File from "../../Models/DatabaseModels/File";
2
+ import { describe, expect, it } from "@jest/globals";
3
+ import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
4
+
5
+ describe("File", () => {
6
+ it("should be an instance of BaseModel", () => {
7
+ const file: File = new File();
8
+ expect(file).toBeInstanceOf(BaseModel);
9
+ });
10
+ });
@@ -19,9 +19,13 @@ describe("DatabaseDate", () => {
19
19
  const expectedEnd: string = moment(inputDate)
20
20
  .endOf("day")
21
21
  .format("YYYY-MM-DD HH:mm:ss");
22
- expect(result).toEqual({
23
- startValue: expectedStart,
24
- endValue: expectedEnd,
22
+ expect({
23
+ startValue: result["startValue"]?.toString(),
24
+ endValue: result["endValue"]?.toString(),
25
+ ...result,
26
+ }).toEqual({
27
+ startValue: expectedStart.toString(),
28
+ endValue: expectedEnd.toString(),
25
29
  _type: "InBetween",
26
30
  });
27
31
  });
@@ -32,15 +36,16 @@ describe("DatabaseDate", () => {
32
36
  DatabaseDate.asDateStartOfTheDayEndOfTheDayForDatabaseQuery(
33
37
  inputDate,
34
38
  ).toJSON();
35
- const expectedStart: string = moment(inputDate)
36
- .startOf("day")
37
- .format("YYYY-MM-DD HH:mm:ss");
38
- const expectedEnd: string = moment(inputDate)
39
- .endOf("day")
40
- .format("YYYY-MM-DD HH:mm:ss");
41
- expect(result).toEqual({
42
- startValue: expectedStart,
43
- endValue: expectedEnd,
39
+ const expectedStart: Date = moment(inputDate).startOf("day").toDate();
40
+ const expectedEnd: Date = moment(inputDate).endOf("day").toDate();
41
+
42
+ expect({
43
+ startValue: result["startValue"]?.toString(),
44
+ endValue: result["endValue"]?.toString(),
45
+ ...result,
46
+ }).toEqual({
47
+ startValue: expectedStart.toString(),
48
+ endValue: expectedEnd.toString(),
44
49
  _type: "InBetween",
45
50
  });
46
51
  });
@@ -1,5 +1,5 @@
1
- import BaseModel from "../../Models/BaseModel";
2
1
  import { JSONObject } from "../../Types/JSON";
2
+ import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
3
3
  import JSONFunctions from "../../Types/JSONFunctions";
4
4
 
5
5
  describe("JSONFunctions Class", () => {
@@ -1,5 +1,5 @@
1
- import AnalyticsBaseModel from "../../AnalyticsModels/BaseModel";
2
- import BaseModel from "../../Models/BaseModel";
1
+ import AnalyticsBaseModel from "../../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
2
+ import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
3
3
  import { JSONArray, JSONObject, JSONObjectOrArray } from "../JSON";
4
4
  import JSONFunctions from "../JSONFunctions";
5
5
  import Typeof from "../Typeof";
@@ -1,4 +1,4 @@
1
- import NestedModel from "../../AnalyticsModels/NestedModel";
1
+ import NestedModel from "../../Models/AnalyticsModels/AnalyticsBaseModel/NestedModel";
2
2
  import TableColumnType from "../AnalyticsDatabase/TableColumnType";
3
3
  import { ColumnAccessControl } from "../BaseDatabase/AccessControl";
4
4
  import ColumnBillingAccessControl from "../BaseDatabase/ColumnBillingAccessControl";
@@ -25,8 +25,24 @@ export default class InBetween extends SerializableObject {
25
25
  endValue: number | Date | string,
26
26
  ) {
27
27
  super();
28
- this.endValue = endValue;
29
- this.startValue = startValue;
28
+
29
+ if (
30
+ typeof startValue === "string" &&
31
+ OneUptimeDate.isValidDateString(startValue)
32
+ ) {
33
+ this.startValue = OneUptimeDate.fromString(startValue);
34
+ } else {
35
+ this.startValue = startValue;
36
+ }
37
+
38
+ if (
39
+ typeof endValue === "string" &&
40
+ OneUptimeDate.isValidDateString(endValue)
41
+ ) {
42
+ this.endValue = OneUptimeDate.fromString(endValue);
43
+ } else {
44
+ this.endValue = endValue;
45
+ }
30
46
  }
31
47
 
32
48
  public override toJSON(): JSONObject {
@@ -1,4 +1,4 @@
1
- import BaseModel from "../../../Models/BaseModel";
1
+ import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
2
2
  import { ColumnAccessControl } from "../../BaseDatabase/AccessControl";
3
3
  import Dictionary from "../../Dictionary";
4
4
  import { ReflectionMetadataType } from "../../Reflection";
@@ -1,4 +1,4 @@
1
- import BaseModel from "../../../Models/BaseModel";
1
+ import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
2
2
  import ColumnBillingAccessControl from "../../BaseDatabase/ColumnBillingAccessControl";
3
3
  import Dictionary from "../../Dictionary";
4
4
  import { ReflectionMetadataType } from "../../Reflection";
@@ -1,4 +1,4 @@
1
- import BaseModel, { BaseModelType } from "../../Models/BaseModel";
1
+ import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
2
2
  import Dictionary from "../Dictionary";
3
3
  import { ReflectionMetadataType } from "../Reflection";
4
4
  import TableColumnType from "./TableColumnType";
@@ -18,7 +18,7 @@ export interface TableColumnMetadata {
18
18
  manyToOneRelationColumn?: string;
19
19
  type: TableColumnType;
20
20
  canReadOnRelationQuery?: boolean;
21
- modelType?: BaseModelType;
21
+ modelType?: { new (): BaseModel };
22
22
  forceGetDefaultValueOnCreate?: () => string | number | boolean; // overwrites any value that is being passed and generates a new one. Useful for generating OTPs, etc.
23
23
  }
24
24
 
@@ -1,4 +1,4 @@
1
- import BaseModel from "../../Models/BaseModel";
1
+ import BaseModel from "../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
2
2
  import Dictionary from "../Dictionary";
3
3
  import { ReflectionMetadataType } from "../Reflection";
4
4
  import "reflect-metadata";
package/Types/Date.ts CHANGED
@@ -849,6 +849,49 @@ export default class OneUptimeDate {
849
849
  return months;
850
850
  }
851
851
 
852
+ public static convertSecondsToDaysHoursMinutesAndSeconds(
853
+ seconds: number,
854
+ ): string {
855
+ // should output 2 days, 3 hours, 4 minutes and 5 seconds. If the days are 0, it should not show the days. If the hours are 0, it should not show the hours. If the minutes are 0, it should not show the minutes. If the seconds are 0, it should not show the seconds.
856
+
857
+ const days: number = Math.floor(seconds / (24 * 60 * 60));
858
+ const hours: number = Math.floor((seconds % (24 * 60 * 60)) / (60 * 60));
859
+ const minutes: number = Math.floor((seconds % (60 * 60)) / 60);
860
+ const secs: number = seconds % 60;
861
+
862
+ let formattedString: string = "";
863
+
864
+ if (days > 0) {
865
+ formattedString += days + " days";
866
+ }
867
+
868
+ if (hours > 0) {
869
+ if (formattedString.length > 0) {
870
+ formattedString += ", ";
871
+ }
872
+
873
+ formattedString += hours + " hours";
874
+ }
875
+
876
+ if (minutes > 0) {
877
+ if (formattedString.length > 0) {
878
+ formattedString += ", ";
879
+ }
880
+
881
+ formattedString += minutes + " minutes";
882
+ }
883
+
884
+ if (secs > 0) {
885
+ if (formattedString.length > 0) {
886
+ formattedString += ", ";
887
+ }
888
+
889
+ formattedString += secs + " seconds";
890
+ }
891
+
892
+ return formattedString;
893
+ }
894
+
852
895
  public static convertMinutesToDaysHoursAndMinutes(minutes: number): string {
853
896
  // should output 2 days, 3 hours and 4 minutes. If the days are 0, it should not show the days. If the hours are 0, it should not show the hours. If the minutes are 0, it should not show the minutes.
854
897
 
@@ -892,6 +935,10 @@ export default class OneUptimeDate {
892
935
  return this.getGmtOffsetFriendlyString(offset) + " " + timezone;
893
936
  }
894
937
 
938
+ public static isValidDateString(date: string): boolean {
939
+ return moment(date).isValid();
940
+ }
941
+
895
942
  public static getGmtOffsetFriendlyString(offset: number): string {
896
943
  const hours: number = Math.abs(offset) / 60;
897
944
  const minutes: number = Math.abs(offset) % 60;
@@ -1,4 +1,4 @@
1
- import BaseModel from "../Models/BaseModel";
1
+ import BaseModel from "../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
2
2
  import DatabaseProperty from "./Database/DatabaseProperty";
3
3
  import OneUptimeDate from "./Date";
4
4
  import DiskSize from "./DiskSize";
@@ -261,6 +261,8 @@ export default class JSONFunctions {
261
261
  return val;
262
262
  } else if (val instanceof DatabaseProperty) {
263
263
  return val;
264
+ } else if (val instanceof SerializableObject) {
265
+ return val;
264
266
  } else if (
265
267
  val &&
266
268
  typeof val === Typeof.Object &&
@@ -0,0 +1,11 @@
1
+ enum LogSeverity {
2
+ Unspecified = "Unspecified",
3
+ Information = "Information",
4
+ Warning = "Warning",
5
+ Error = "Error",
6
+ Trace = "Trace",
7
+ Debug = "Debug",
8
+ Fatal = "Fatal",
9
+ }
10
+
11
+ export default LogSeverity;
@@ -34,6 +34,9 @@ export enum CheckOn {
34
34
 
35
35
  ScreenSizeType = "Screen Size",
36
36
  BrowserType = "Browser Type",
37
+
38
+ // Log monitors.
39
+ LogCount = "Log Count",
37
40
  }
38
41
 
39
42
  export interface ServerMonitorOptions {
@@ -0,0 +1,8 @@
1
+ import { JSONObject } from "../../JSON";
2
+ import ObjectID from "../../ObjectID";
3
+
4
+ export default interface LogMonitorResponse {
5
+ logCount: number;
6
+ logQuery: JSONObject;
7
+ monitorId: ObjectID;
8
+ }
@@ -80,6 +80,31 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
80
80
  return monitorCriteriaInstance;
81
81
  }
82
82
 
83
+ if (arg.monitorType === MonitorType.Logs) {
84
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
85
+ new MonitorCriteriaInstance();
86
+
87
+ monitorCriteriaInstance.data = {
88
+ id: ObjectID.generate().toString(),
89
+ monitorStatusId: arg.monitorStatusId,
90
+ filterCondition: FilterCondition.Any,
91
+ filters: [
92
+ {
93
+ checkOn: CheckOn.LogCount,
94
+ filterType: FilterType.GreaterThan,
95
+ value: 0, // if there are some logs then monitor is online.
96
+ },
97
+ ],
98
+ incidents: [],
99
+ changeMonitorStatus: true,
100
+ createIncidents: false,
101
+ name: `Check if ${arg.monitorName} is online`,
102
+ description: `This criteria checks if the ${arg.monitorName} is online`,
103
+ };
104
+
105
+ return monitorCriteriaInstance;
106
+ }
107
+
83
108
  if (arg.monitorType === MonitorType.SSLCertificate) {
84
109
  const monitorCriteriaInstance: MonitorCriteriaInstance =
85
110
  new MonitorCriteriaInstance();
@@ -283,6 +308,35 @@ export default class MonitorCriteriaInstance extends DatabaseProperty {
283
308
  };
284
309
  }
285
310
 
311
+ if (arg.monitorType === MonitorType.Logs) {
312
+ monitorCriteriaInstance.data = {
313
+ id: ObjectID.generate().toString(),
314
+ monitorStatusId: arg.monitorStatusId,
315
+ filterCondition: FilterCondition.Any,
316
+ filters: [
317
+ {
318
+ checkOn: CheckOn.LogCount,
319
+ filterType: FilterType.EqualTo,
320
+ value: 0, // if there are no logs then the monitor is offline
321
+ },
322
+ ],
323
+ incidents: [
324
+ {
325
+ title: `${arg.monitorName} is offline`,
326
+ description: `${arg.monitorName} is currently offline.`,
327
+ incidentSeverityId: arg.incidentSeverityId,
328
+ autoResolveIncident: true,
329
+ id: ObjectID.generate().toString(),
330
+ onCallPolicyIds: [],
331
+ },
332
+ ],
333
+ changeMonitorStatus: true,
334
+ createIncidents: true,
335
+ name: `Check if ${arg.monitorName} is offline`,
336
+ description: `This criteria checks if the ${arg.monitorName} is offline`,
337
+ };
338
+ }
339
+
286
340
  if (arg.monitorType === MonitorType.IncomingRequest) {
287
341
  monitorCriteriaInstance.data = {
288
342
  id: ObjectID.generate().toString(),
@@ -10,6 +10,9 @@ import JSONFunctions from "../JSONFunctions";
10
10
  import ObjectID from "../ObjectID";
11
11
  import Port from "../Port";
12
12
  import MonitorCriteria from "./MonitorCriteria";
13
+ import MonitorStepLogMonitor, {
14
+ MonitorStepLogMonitorUtil,
15
+ } from "./MonitorStepLogMonitor";
13
16
  import MonitorType from "./MonitorType";
14
17
  import BrowserType from "./SyntheticMonitors//BrowserType";
15
18
  import ScreenSizeType from "./SyntheticMonitors/ScreenSizeType";
@@ -35,6 +38,9 @@ export interface MonitorStepType {
35
38
  // this is for synthetic monitors.
36
39
  screenSizeTypes?: Array<ScreenSizeType> | undefined;
37
40
  browserTypes?: Array<BrowserType> | undefined;
41
+
42
+ // Log monitor type.
43
+ logMonitor?: MonitorStepLogMonitor | undefined;
38
44
  }
39
45
 
40
46
  export default class MonitorStep extends DatabaseProperty {
@@ -54,6 +60,7 @@ export default class MonitorStep extends DatabaseProperty {
54
60
  customCode: undefined,
55
61
  screenSizeTypes: undefined,
56
62
  browserTypes: undefined,
63
+ logMonitor: undefined,
57
64
  };
58
65
  }
59
66
 
@@ -77,6 +84,7 @@ export default class MonitorStep extends DatabaseProperty {
77
84
  customCode: undefined,
78
85
  screenSizeTypes: undefined,
79
86
  browserTypes: undefined,
87
+ logMonitor: undefined,
80
88
  };
81
89
 
82
90
  return monitorStep;
@@ -133,6 +141,11 @@ export default class MonitorStep extends DatabaseProperty {
133
141
  return this;
134
142
  }
135
143
 
144
+ public setLogMonitor(logMonitor: MonitorStepLogMonitor): MonitorStep {
145
+ this.data!.logMonitor = logMonitor;
146
+ return this;
147
+ }
148
+
136
149
  public setCustomCode(customCode: string): MonitorStep {
137
150
  this.data!.customCode = customCode;
138
151
  return this;
@@ -157,6 +170,7 @@ export default class MonitorStep extends DatabaseProperty {
157
170
  customCode: undefined,
158
171
  screenSizeTypes: undefined,
159
172
  browserTypes: undefined,
173
+ lgoMonitor: undefined,
160
174
  },
161
175
  };
162
176
  }
@@ -240,6 +254,11 @@ export default class MonitorStep extends DatabaseProperty {
240
254
  customCode: this.data.customCode || undefined,
241
255
  screenSizeTypes: this.data.screenSizeTypes || undefined,
242
256
  browserTypes: this.data.browserTypes || undefined,
257
+ logMonitor: this.data.logMonitor
258
+ ? MonitorStepLogMonitorUtil.toJSON(
259
+ this.data.logMonitor || MonitorStepLogMonitorUtil.getDefault(),
260
+ )
261
+ : undefined,
243
262
  },
244
263
  });
245
264
  }
@@ -328,8 +347,15 @@ export default class MonitorStep extends DatabaseProperty {
328
347
  screenSizeTypes:
329
348
  (json["screenSizeTypes"] as Array<ScreenSizeType>) || undefined,
330
349
  browserTypes: (json["browserTypes"] as Array<BrowserType>) || undefined,
350
+ logMonitor: json["logMonitor"]
351
+ ? (json["logMonitor"] as JSONObject)
352
+ : undefined,
331
353
  }) as any;
332
354
 
355
+ if (monitorStep.data && !monitorStep.data?.logMonitor) {
356
+ monitorStep.data.logMonitor = MonitorStepLogMonitorUtil.getDefault();
357
+ }
358
+
333
359
  return monitorStep;
334
360
  }
335
361
 
@@ -0,0 +1,95 @@
1
+ import Log from "../../Models/AnalyticsModels/Log";
2
+ import InBetween from "../BaseDatabase/InBetween";
3
+ import Includes from "../BaseDatabase/Includes";
4
+ import Query from "../BaseDatabase/Query";
5
+ import Search from "../BaseDatabase/Search";
6
+ import OneUptimeDate from "../Date";
7
+ import Dictionary from "../Dictionary";
8
+ import { JSONObject } from "../JSON";
9
+ import LogSeverity from "../Log/LogSeverity";
10
+ import ObjectID from "../ObjectID";
11
+
12
+ export default interface MonitorStepLogMonitor {
13
+ attributes: Dictionary<string | number | boolean>;
14
+ body: string;
15
+ severityTexts: Array<LogSeverity>;
16
+ telemetryServiceIds: Array<ObjectID>;
17
+ lastXSecondsOfLogs: number;
18
+ }
19
+
20
+ export class MonitorStepLogMonitorUtil {
21
+ public static toQuery(
22
+ monitorStepLogMonitor: MonitorStepLogMonitor,
23
+ ): Query<Log> {
24
+ const query: Query<Log> = {};
25
+
26
+ if (
27
+ monitorStepLogMonitor.telemetryServiceIds &&
28
+ monitorStepLogMonitor.telemetryServiceIds.length > 0
29
+ ) {
30
+ query.serviceId = new Includes(monitorStepLogMonitor.telemetryServiceIds);
31
+ }
32
+
33
+ if (
34
+ monitorStepLogMonitor.attributes &&
35
+ Object.keys(monitorStepLogMonitor.attributes).length > 0
36
+ ) {
37
+ query.attributes = monitorStepLogMonitor.attributes;
38
+ }
39
+
40
+ if (
41
+ monitorStepLogMonitor.severityTexts &&
42
+ monitorStepLogMonitor.severityTexts.length > 0
43
+ ) {
44
+ query.severityText = new Includes(monitorStepLogMonitor.severityTexts);
45
+ }
46
+
47
+ if (monitorStepLogMonitor.body) {
48
+ query.body = new Search(monitorStepLogMonitor.body);
49
+ }
50
+
51
+ if (monitorStepLogMonitor.lastXSecondsOfLogs) {
52
+ const endDate: Date = OneUptimeDate.getCurrentDate();
53
+ const startDate: Date = OneUptimeDate.addRemoveSeconds(
54
+ endDate,
55
+ monitorStepLogMonitor.lastXSecondsOfLogs * -1,
56
+ );
57
+ query.time = new InBetween(startDate, endDate);
58
+ }
59
+
60
+ return query;
61
+ }
62
+
63
+ public static getDefault(): MonitorStepLogMonitor {
64
+ return {
65
+ attributes: {},
66
+ body: "",
67
+ severityTexts: [],
68
+ telemetryServiceIds: [],
69
+ lastXSecondsOfLogs: 60,
70
+ };
71
+ }
72
+
73
+ public static fromJSON(json: JSONObject): MonitorStepLogMonitor {
74
+ return {
75
+ attributes:
76
+ (json["attributes"] as Dictionary<string | number | boolean>) || {},
77
+ body: json["body"] as string,
78
+ severityTexts: json["severityTexts"] as Array<LogSeverity>,
79
+ telemetryServiceIds: ObjectID.fromJSONArray(
80
+ json["telemetryServiceIds"] as Array<JSONObject>,
81
+ ),
82
+ lastXSecondsOfLogs: json["lastXSecondsOfLogs"] as number,
83
+ };
84
+ }
85
+
86
+ public static toJSON(monitor: MonitorStepLogMonitor): JSONObject {
87
+ return {
88
+ attributes: monitor.attributes,
89
+ body: monitor.body,
90
+ severityTexts: monitor.severityTexts,
91
+ telemetryServiceIds: ObjectID.toJSONArray(monitor.telemetryServiceIds),
92
+ lastXSecondsOfLogs: monitor.lastXSecondsOfLogs,
93
+ };
94
+ }
95
+ }
@@ -15,6 +15,11 @@ enum MonitorType {
15
15
  // These two monitor types are same but we are keeping them separate for now - this is for marketing purposes
16
16
  SyntheticMonitor = "Synthetic Monitor",
17
17
  CustomJavaScriptCode = "Custom JavaScript Code",
18
+
19
+ // Telemetry monitor types
20
+ Logs = "Logs",
21
+ Metrics = "Metrics",
22
+ Traces = "Traces",
18
23
  }
19
24
 
20
25
  export default MonitorType;
@@ -99,6 +104,24 @@ export class MonitorTypeHelper {
99
104
  description:
100
105
  "This monitor type lets you run custom JavaScript code on a schedule.",
101
106
  },
107
+ {
108
+ monitorType: MonitorType.Logs,
109
+ title: "Logs",
110
+ description: "This monitor type lets you monitor logs from any source.",
111
+ },
112
+ // ,
113
+ // {
114
+ // monitorType: MonitorType.Metrics,
115
+ // title: "Metrics",
116
+ // description:
117
+ // "This monitor type lets you monitor metrics from any source.",
118
+ // },
119
+ // {
120
+ // monitorType: MonitorType.Traces,
121
+ // title: "Traces",
122
+ // description:
123
+ // "This monitor type lets you monitor traces from any source.",
124
+ // },
102
125
  ];
103
126
 
104
127
  return monitorTypeProps;
@@ -159,6 +182,9 @@ export class MonitorTypeHelper {
159
182
  MonitorType.CustomJavaScriptCode,
160
183
  MonitorType.IncomingRequest,
161
184
  MonitorType.Server,
185
+ MonitorType.Logs,
186
+ MonitorType.Metrics,
187
+ MonitorType.Traces,
162
188
  ];
163
189
  }
164
190
 
package/Types/ObjectID.ts CHANGED
@@ -47,6 +47,19 @@ export default class ObjectID extends DatabaseProperty {
47
47
  return new this(UUID.generate());
48
48
  }
49
49
 
50
+ public static toJSONArray(ids: Array<ObjectID>): Array<JSONObject> {
51
+ if (!ids || ids.length === 0) {
52
+ return [];
53
+ }
54
+
55
+ return ids.map((id: ObjectID) => {
56
+ if (typeof id === "string") {
57
+ id = new ObjectID(id);
58
+ }
59
+ return id.toJSON();
60
+ });
61
+ }
62
+
50
63
  protected static override toDatabase(
51
64
  value: ObjectID | FindOperator<ObjectID>,
52
65
  ): string | null {
@@ -76,6 +89,12 @@ export default class ObjectID extends DatabaseProperty {
76
89
  throw new BadDataException("Invalid JSON: " + JSON.stringify(json));
77
90
  }
78
91
 
92
+ public static fromJSONArray(json: Array<JSONObject>): Array<ObjectID> {
93
+ return json.map((value: JSONObject) => {
94
+ return ObjectID.fromJSON(value);
95
+ });
96
+ }
97
+
79
98
  protected static override fromDatabase(_value: string): ObjectID | null {
80
99
  if (_value) {
81
100
  return new ObjectID(_value);
@@ -1,4 +1,4 @@
1
- import UserModel from "../../Models/UserModel";
1
+ import UserModel from "../../Models/DatabaseModels/User";
2
2
  import CalendarEvent from "../Calendar/CalendarEvent";
3
3
  import OneUptimeDate from "../Date";
4
4
  import DayOfWeek from "../Day/DayOfWeek";
@@ -1,4 +1,4 @@
1
- import BaseModel from "../../../Models/BaseModel";
1
+ import BaseModel from "../../../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
2
2
  import IconProp from "../../Icon/IconProp";
3
3
  import Text from "../../Text";
4
4
  import ComponentMetadata, {
package/Utils/API.ts CHANGED
@@ -1,5 +1,5 @@
1
- import AnalyticsBaseModel from "../AnalyticsModels/BaseModel";
2
- import BaseModel from "../Models/BaseModel";
1
+ import AnalyticsBaseModel from "../Models/AnalyticsModels/AnalyticsBaseModel/AnalyticsBaseModel";
2
+ import BaseModel from "../Models/DatabaseModels/DatabaseBaseModel/DatabaseBaseModel";
3
3
  import HTTPErrorResponse from "../Types/API/HTTPErrorResponse";
4
4
  import HTTPMethod from "../Types/API/HTTPMethod";
5
5
  import HTTPResponse from "../Types/API/HTTPResponse";
@@ -0,0 +1,11 @@
1
+ import Color from "../../Types/Color";
2
+ import ObjectID from "../../Types/ObjectID";
3
+
4
+ export default interface Event {
5
+ startDate: Date;
6
+ endDate: Date;
7
+ label: string;
8
+ priority: number;
9
+ color: Color;
10
+ eventStatusId: ObjectID; // this is the id of the event status. for example, monitor status id.
11
+ }
@@ -0,0 +1,6 @@
1
+ import ObjectID from "../../Types/ObjectID";
2
+ import Event from "./Event";
3
+
4
+ export default interface MonitorEvent extends Event {
5
+ monitorId: ObjectID;
6
+ }