@oneuptime/common 7.0.2513 → 7.0.2550

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 (821) hide show
  1. package/AnalyticsModels/BaseModel.ts +437 -443
  2. package/AnalyticsModels/CommonModel.ts +216 -226
  3. package/AnalyticsModels/NestedModel.ts +5 -5
  4. package/Models/AccessControlModel.ts +10 -10
  5. package/Models/BaseModel.ts +662 -670
  6. package/Models/FileModel.ts +102 -102
  7. package/Models/GlobalConfig.ts +5 -5
  8. package/Models/TenantModel.ts +8 -8
  9. package/Models/UserModel.ts +8 -8
  10. package/ServiceRoute.ts +17 -17
  11. package/Tests/MockType.ts +9 -0
  12. package/Tests/Spy.ts +11 -0
  13. package/Tests/Types/API/ErrorResponse.test.ts +14 -14
  14. package/Tests/Types/API/HTTPErrorResponse.test.ts +55 -55
  15. package/Tests/Types/API/HTTPMethod.test.ts +14 -14
  16. package/Tests/Types/API/Headers.test.ts +13 -13
  17. package/Tests/Types/API/Hostname.test.ts +20 -20
  18. package/Tests/Types/API/Protocal.test.ts +17 -17
  19. package/Tests/Types/API/Response.test.ts +19 -19
  20. package/Tests/Types/API/ResponseType.test.ts +11 -11
  21. package/Tests/Types/API/Route.test.ts +28 -28
  22. package/Tests/Types/API/StatusCode.test.ts +24 -24
  23. package/Tests/Types/API/URL.test.ts +39 -39
  24. package/Tests/Types/Alerts/AlertEventType.test.ts +46 -46
  25. package/Tests/Types/Alerts/AlertType.test.ts +17 -17
  26. package/Tests/Types/AppEnvironment.test.ts +11 -11
  27. package/Tests/Types/ApplicationLog/ApplicationLogType.test.ts +11 -11
  28. package/Tests/Types/ArrayUtil.test.ts +77 -77
  29. package/Tests/Types/Billing/SubscriptionPlan.test.ts +255 -270
  30. package/Tests/Types/BrandColors.test.ts +138 -138
  31. package/Tests/Types/Char.test.ts +81 -81
  32. package/Tests/Types/Code/CodeType.test.ts +11 -11
  33. package/Tests/Types/Color.test.ts +42 -42
  34. package/Tests/Types/Company/CompanySize.test.ts +17 -17
  35. package/Tests/Types/Company/JobRole.test.ts +20 -20
  36. package/Tests/Types/Countries.test.ts +287 -301
  37. package/Tests/Types/Database/ColumnLength.test.ts +41 -41
  38. package/Tests/Types/Database/ColumnType.test.ts +77 -77
  39. package/Tests/Types/Database/Columns.test.ts +18 -18
  40. package/Tests/Types/Database/CompareBase.test.ts +32 -32
  41. package/Tests/Types/Database/Date.test.ts +73 -75
  42. package/Tests/Types/Database/EqualToOrNull.test.ts +61 -61
  43. package/Tests/Types/Database/InBetween.test.ts +71 -71
  44. package/Tests/Types/Database/LimitMax.test.ts +14 -14
  45. package/Tests/Types/Database/NotEqual.test.ts +15 -15
  46. package/Tests/Types/Database/Search.test.ts +8 -8
  47. package/Tests/Types/DatabaseType.test.ts +5 -5
  48. package/Tests/Types/Date.test.ts +87 -93
  49. package/Tests/Types/Dictionary.test.ts +22 -22
  50. package/Tests/Types/Domain.test.ts +36 -36
  51. package/Tests/Types/Email/Email.test.ts +55 -55
  52. package/Tests/Types/EmailWithName.test.ts +46 -46
  53. package/Tests/Types/EncryptionAlgorithm.test.ts +5 -5
  54. package/Tests/Types/Exception/ApiException.test.ts +12 -13
  55. package/Tests/Types/Exception/BadDataException.test.ts +12 -12
  56. package/Tests/Types/Exception/BadOperationException.test.ts +12 -13
  57. package/Tests/Types/Exception/BadRequestException.test.ts +12 -12
  58. package/Tests/Types/Exception/DatabaseNotConnectedException.test.ts +10 -10
  59. package/Tests/Types/Exception/Exception.test.ts +15 -17
  60. package/Tests/Types/Exception/NotImplementedException.test.ts +10 -10
  61. package/Tests/Types/File.test.ts +20 -20
  62. package/Tests/Types/HashedString.test.ts +18 -18
  63. package/Tests/Types/Html.test.ts +6 -6
  64. package/Tests/Types/IP/IP.test.ts +65 -67
  65. package/Tests/Types/IP/IPType.test.ts +8 -8
  66. package/Tests/Types/IP/IPv4.test.ts +15 -15
  67. package/Tests/Types/IP/IPv6.test.ts +15 -15
  68. package/Tests/Types/JSON.test.ts +35 -35
  69. package/Tests/Types/JSONFunctions.test.ts +41 -44
  70. package/Tests/Types/ListData.test.ts +33 -33
  71. package/Tests/Types/Name.test.ts +24 -24
  72. package/Tests/Types/ObjectID.test.ts +10 -10
  73. package/Tests/Types/Permission.test.ts +8 -8
  74. package/Tests/Types/Phone.test.ts +35 -35
  75. package/Tests/Types/Port.test.ts +33 -33
  76. package/Tests/Types/PositiveNumber.test.ts +123 -123
  77. package/Tests/Types/SecuritySeverity.test.ts +14 -14
  78. package/Tests/Types/SerializableObject.test.ts +33 -34
  79. package/Tests/Types/Sleep.test.ts +16 -19
  80. package/Tests/Types/Text.test.ts +6 -8
  81. package/Tests/Types/Timezone.test.ts +644 -674
  82. package/Tests/Types/Typeof.test.ts +14 -14
  83. package/Tests/Types/UserType.test.ts +14 -14
  84. package/Tests/Types/Version.test.ts +33 -33
  85. package/Tests/Types/XML.test.ts +33 -33
  86. package/Tests/Utils/API.test.ts +339 -342
  87. package/Tests/Utils/Analytics.test.ts +65 -65
  88. package/Tests/Utils/CronTime.test.ts +26 -26
  89. package/Tests/Utils/Faker.test.ts +30 -32
  90. package/Tests/Utils/Slug.test.ts +20 -20
  91. package/Tests/Utils/UUID.test.ts +10 -10
  92. package/Types/API/EmptyResponse.ts +1 -1
  93. package/Types/API/HTTPErrorResponse.ts +18 -21
  94. package/Types/API/HTTPMethod.ts +5 -5
  95. package/Types/API/HTTPResponse.ts +108 -110
  96. package/Types/API/Headers.ts +1 -1
  97. package/Types/API/Hostname.ts +94 -94
  98. package/Types/API/Protocol.ts +6 -6
  99. package/Types/API/ResponseType.ts +3 -3
  100. package/Types/API/Route.ts +76 -76
  101. package/Types/API/StatusCode.ts +31 -34
  102. package/Types/API/URL.ts +217 -221
  103. package/Types/Alerts/AlertEventType.ts +10 -10
  104. package/Types/Alerts/AlertType.ts +5 -5
  105. package/Types/AnalyticsDatabase/AnalyticsTableEngine.ts +1 -1
  106. package/Types/AnalyticsDatabase/TableColumn.ts +157 -160
  107. package/Types/AnalyticsDatabase/TableColumnType.ts +12 -12
  108. package/Types/AppEnvironment.ts +3 -3
  109. package/Types/ApplicationLog/ApplicationLogType.ts +3 -3
  110. package/Types/ArrayUtil.ts +68 -70
  111. package/Types/BaseDatabase/AccessControl.ts +5 -5
  112. package/Types/BaseDatabase/ColumnBillingAccessControl.ts +4 -4
  113. package/Types/BaseDatabase/DatabaseCommonInteractionProps.ts +20 -20
  114. package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +75 -76
  115. package/Types/BaseDatabase/DatabaseType.ts +2 -2
  116. package/Types/BaseDatabase/EnableWorkflowOn.ts +4 -4
  117. package/Types/BaseDatabase/EqualToOrNull.ts +29 -29
  118. package/Types/BaseDatabase/GreaterThan.ts +18 -18
  119. package/Types/BaseDatabase/GreaterThanOrEqual.ts +18 -18
  120. package/Types/BaseDatabase/InBetween.ts +61 -61
  121. package/Types/BaseDatabase/Includes.ts +32 -34
  122. package/Types/BaseDatabase/IsNull.ts +21 -21
  123. package/Types/BaseDatabase/LessThan.ts +18 -18
  124. package/Types/BaseDatabase/LessThanOrEqual.ts +18 -18
  125. package/Types/BaseDatabase/ModelPermission.ts +31 -31
  126. package/Types/BaseDatabase/NotEqual.ts +29 -29
  127. package/Types/BaseDatabase/NotNull.ts +21 -21
  128. package/Types/BaseDatabase/Search.ts +34 -34
  129. package/Types/BaseDatabase/SortOrder.ts +2 -2
  130. package/Types/BaseDatabase/TableBillingAccessControl.ts +5 -5
  131. package/Types/Billing/MeteredPlan.ts +21 -21
  132. package/Types/Billing/SubscriptionPlan.ts +223 -228
  133. package/Types/Billing/SubscriptionStatus.ts +23 -23
  134. package/Types/BrandColors.ts +60 -60
  135. package/Types/BrowserType.ts +3 -3
  136. package/Types/Calendar/CalendarEvent.ts +9 -9
  137. package/Types/Call/CallRequest.ts +19 -19
  138. package/Types/Call/CallStatus.ts +5 -5
  139. package/Types/CallAndSMS/TwilioConfig.ts +4 -4
  140. package/Types/Char.ts +62 -62
  141. package/Types/Code/CodeType.ts +7 -7
  142. package/Types/CodeRepository/CodeRepositoryType.ts +6 -0
  143. package/Types/CodeRepository/PullRequest.ts +16 -0
  144. package/Types/CodeRepository/PullRequestState.ts +7 -0
  145. package/Types/Color.ts +88 -88
  146. package/Types/Company/CompanySize.ts +5 -5
  147. package/Types/Company/JobRole.ts +6 -6
  148. package/Types/Copilot/CopilotEventStatus.ts +6 -0
  149. package/Types/Copilot/CopilotEventType.ts +6 -0
  150. package/Types/Countries.ts +243 -243
  151. package/Types/Currency.ts +23 -23
  152. package/Types/CustomField/CustomFieldType.ts +3 -3
  153. package/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.ts +4 -4
  154. package/Types/Database/AccessControl/ColumnAccessControl.ts +33 -33
  155. package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +34 -36
  156. package/Types/Database/AccessControl/TableAccessControl.ts +16 -16
  157. package/Types/Database/AccessControl/TableBillingAccessControl.ts +16 -16
  158. package/Types/Database/AccessControlColumn.ts +4 -4
  159. package/Types/Database/AllowUserQueryWithoutTenant.ts +4 -4
  160. package/Types/Database/CanAccessIfCanReadOn.ts +6 -6
  161. package/Types/Database/ColumnLength.ts +61 -61
  162. package/Types/Database/ColumnType.ts +33 -33
  163. package/Types/Database/Columns.ts +16 -16
  164. package/Types/Database/CompareBase.ts +28 -28
  165. package/Types/Database/CrudApiEndpoint.ts +5 -5
  166. package/Types/Database/CurrentUserCanAccessRecordBy.ts +4 -4
  167. package/Types/Database/DatabaseProperty.ts +42 -42
  168. package/Types/Database/Date.ts +20 -20
  169. package/Types/Database/EnableDocumentation.ts +6 -7
  170. package/Types/Database/EnableWorkflow.ts +5 -5
  171. package/Types/Database/IsPermissionsIf.ts +12 -12
  172. package/Types/Database/LabelsColumn.ts +4 -4
  173. package/Types/Database/MultiTenentQueryAllowed.ts +4 -4
  174. package/Types/Database/PartialEntity.ts +1 -1
  175. package/Types/Database/SlugifyColumn.ts +5 -5
  176. package/Types/Database/TableColumn.ts +42 -42
  177. package/Types/Database/TableColumnType.ts +39 -39
  178. package/Types/Database/TableMetadata.ts +14 -14
  179. package/Types/Database/TenantColumn.ts +4 -4
  180. package/Types/Database/TotalItemsBy.ts +9 -9
  181. package/Types/Database/UniqueColumnBy.ts +27 -27
  182. package/Types/DatabaseType.ts +2 -2
  183. package/Types/Date.ts +965 -978
  184. package/Types/Day/DayOfWeek.ts +24 -24
  185. package/Types/Decimal.ts +57 -57
  186. package/Types/Dictionary.ts +1 -1
  187. package/Types/DiskSize.ts +32 -32
  188. package/Types/Domain.ts +74 -74
  189. package/Types/Email/EmailBody.ts +2 -2
  190. package/Types/Email/EmailMessage.ts +8 -8
  191. package/Types/Email/EmailServer.ts +12 -12
  192. package/Types/Email/EmailTemplate.ts +5 -5
  193. package/Types/Email/EmailTemplateType.ts +36 -36
  194. package/Types/Email.ts +99 -101
  195. package/Types/EmailWithName.ts +26 -26
  196. package/Types/EncryptionAlgorithm.ts +1 -1
  197. package/Types/Events/EventInterval.ts +5 -5
  198. package/Types/Events/Recurring.ts +90 -92
  199. package/Types/Exception/ApiException.ts +5 -5
  200. package/Types/Exception/BadDataException.ts +5 -5
  201. package/Types/Exception/BadOperationException.ts +5 -5
  202. package/Types/Exception/BadRequestException.ts +5 -5
  203. package/Types/Exception/DatabaseNotConnectedException.ts +8 -8
  204. package/Types/Exception/Exception.ts +15 -15
  205. package/Types/Exception/ExceptionCode.ts +17 -17
  206. package/Types/Exception/NotAuthenticatedException.ts +5 -5
  207. package/Types/Exception/NotAuthorizedException.ts +5 -5
  208. package/Types/Exception/NotFoundException.ts +5 -5
  209. package/Types/Exception/NotImplementedException.ts +8 -8
  210. package/Types/Exception/PaymentRequiredException.ts +5 -5
  211. package/Types/Exception/ServerException.ts +5 -5
  212. package/Types/Exception/SsoAuthorizationException.ts +12 -12
  213. package/Types/Exception/TenantNotFoundException.ts +5 -5
  214. package/Types/Exception/TimeoutException.ts +5 -5
  215. package/Types/Exception/UnableToReachServer.ts +5 -5
  216. package/Types/Exception/WebsiteRequestException.ts +5 -5
  217. package/Types/File/MimeType.ts +5 -5
  218. package/Types/File.ts +2 -2
  219. package/Types/Filter/FilterCondition.ts +2 -2
  220. package/Types/Filter/FilterType.ts +6 -6
  221. package/Types/HashCode.ts +8 -8
  222. package/Types/HashedString.ts +80 -82
  223. package/Types/Html.ts +13 -13
  224. package/Types/IP/IP.ts +93 -93
  225. package/Types/IP/IPType.ts +2 -2
  226. package/Types/IP/IPv4.ts +7 -7
  227. package/Types/IP/IPv6.ts +7 -7
  228. package/Types/Icon/IconProp.ts +122 -122
  229. package/Types/Infrastructure/BasicMetrics.ts +15 -15
  230. package/Types/Infrastructure/OSType.ts +4 -4
  231. package/Types/IsolatedVM/ReturnResult.ts +2 -2
  232. package/Types/JSON.ts +139 -139
  233. package/Types/JSONFunctions.ts +310 -320
  234. package/Types/JsonWebTokenData.ts +11 -11
  235. package/Types/Link.ts +5 -5
  236. package/Types/ListData.ts +26 -26
  237. package/Types/Mail/MailStatus.ts +2 -2
  238. package/Types/MeteredPlan/ProductType.ts +4 -4
  239. package/Types/Mixins.ts +1 -1
  240. package/Types/Monitor/CriteriaFilter.ts +107 -107
  241. package/Types/Monitor/CriteriaIncident.ts +7 -7
  242. package/Types/Monitor/CustomCodeMonitor/CustomCodeMonitorResponse.ts +5 -5
  243. package/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.ts +10 -10
  244. package/Types/Monitor/MonitorCriteria.ts +151 -162
  245. package/Types/Monitor/MonitorCriteriaInstance.ts +622 -628
  246. package/Types/Monitor/MonitorStep.ts +314 -319
  247. package/Types/Monitor/MonitorSteps.ts +156 -161
  248. package/Types/Monitor/MonitorType.ts +164 -154
  249. package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +12 -12
  250. package/Types/Monitor/ServerMonitor/ServerMonitorResponse.ts +10 -10
  251. package/Types/Monitor/SyntheticMonitors/BrowserType.ts +1 -1
  252. package/Types/Monitor/SyntheticMonitors/ScreenSizeType.ts +1 -1
  253. package/Types/Monitor/SyntheticMonitors/Screenshot.ts +1 -1
  254. package/Types/Monitor/SyntheticMonitors/SyntheticMonitorResponse.ts +8 -8
  255. package/Types/Name.ts +65 -65
  256. package/Types/NotificationRule/NotificationRuleType.ts +3 -3
  257. package/Types/NotificationSetting/NotificationSettingEventType.ts +18 -18
  258. package/Types/ObjectID.ts +73 -73
  259. package/Types/OnCallDutyPolicy/Layer.ts +782 -824
  260. package/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.ts +6 -6
  261. package/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.ts +3 -3
  262. package/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.ts +5 -5
  263. package/Types/OnCallDutyPolicy/RestrictionTimes.ts +177 -179
  264. package/Types/Operation/OperationResult.ts +2 -2
  265. package/Types/Operation/OperationStatus.ts +5 -5
  266. package/Types/Permission.ts +3373 -3412
  267. package/Types/Phone.ts +58 -59
  268. package/Types/Port.ts +73 -73
  269. package/Types/PositiveNumber.ts +53 -61
  270. package/Types/PricingPlan.ts +5 -5
  271. package/Types/Probe/ProbeApiIngestResponse.ts +6 -6
  272. package/Types/Probe/ProbeMonitorResponse.ts +25 -25
  273. package/Types/Probe/ProbeStatusReport.ts +4 -4
  274. package/Types/Reflection.ts +4 -4
  275. package/Types/SMS/SMS.ts +3 -3
  276. package/Types/SMS/SmsTemplateType.ts +9 -9
  277. package/Types/SSO/DigestMethod.ts +4 -4
  278. package/Types/SSO/SignatureMethod.ts +4 -4
  279. package/Types/ScheduledEvent/ScheduledEventState.ts +4 -4
  280. package/Types/ScreenSizeType.ts +3 -3
  281. package/Types/SecuritySeverity.ts +4 -4
  282. package/Types/SerializableObject.ts +12 -12
  283. package/Types/SerializableObjectDictionary.ts +58 -58
  284. package/Types/ServiceCatalog/ServiceLanguage.ts +20 -0
  285. package/Types/Sleep.ts +6 -6
  286. package/Types/SmsStatus.ts +3 -3
  287. package/Types/StatusPage/StatusPageChartType.ts +6 -6
  288. package/Types/Text.ts +126 -130
  289. package/Types/Time/StartAndEndTime.ts +2 -2
  290. package/Types/Timezone.ts +592 -592
  291. package/Types/TimezoneCode.ts +63 -0
  292. package/Types/Typeof.ts +4 -4
  293. package/Types/UserNotification/UserNotificationEventType.ts +1 -1
  294. package/Types/UserNotification/UserNotificationExecutionStatus.ts +5 -5
  295. package/Types/UserNotification/UserNotificationStatus.ts +5 -5
  296. package/Types/UserType.ts +4 -4
  297. package/Types/Version.ts +50 -50
  298. package/Types/WebsiteRequest.ts +55 -55
  299. package/Types/Workflow/Component.ts +72 -72
  300. package/Types/Workflow/ComponentID.ts +16 -16
  301. package/Types/Workflow/Components/API.ts +349 -357
  302. package/Types/Workflow/Components/BaseModel.ts +572 -573
  303. package/Types/Workflow/Components/Condition.ts +60 -60
  304. package/Types/Workflow/Components/Email.ts +102 -103
  305. package/Types/Workflow/Components/JSON.ts +151 -156
  306. package/Types/Workflow/Components/JavaScript.ts +61 -61
  307. package/Types/Workflow/Components/Log.ts +39 -39
  308. package/Types/Workflow/Components/Manual.ts +33 -34
  309. package/Types/Workflow/Components/MicrosoftTeams.ts +61 -62
  310. package/Types/Workflow/Components/Schedule.ts +32 -32
  311. package/Types/Workflow/Components/Slack.ts +63 -64
  312. package/Types/Workflow/Components/Webhook.ts +51 -51
  313. package/Types/Workflow/Components/Workflow.ts +38 -38
  314. package/Types/Workflow/Components.ts +76 -76
  315. package/Types/Workflow/WorkflowPlan.ts +4 -4
  316. package/Types/Workflow/WorkflowStatus.ts +6 -6
  317. package/Types/XML.ts +16 -16
  318. package/Typings/Index.d.ts +3 -3
  319. package/Utils/API.ts +355 -309
  320. package/Utils/Analytics.ts +31 -31
  321. package/Utils/CronTime.ts +7 -7
  322. package/Utils/Enum.ts +14 -0
  323. package/Utils/Faker.ts +25 -25
  324. package/Utils/ObjectUtil.ts +5 -5
  325. package/Utils/Realtime.ts +24 -24
  326. package/Utils/Slug.ts +15 -15
  327. package/Utils/UUID.ts +4 -4
  328. package/build/dist/AnalyticsModels/BaseModel.js +32 -32
  329. package/build/dist/AnalyticsModels/BaseModel.js.map +1 -1
  330. package/build/dist/AnalyticsModels/CommonModel.js +14 -17
  331. package/build/dist/AnalyticsModels/CommonModel.js.map +1 -1
  332. package/build/dist/AnalyticsModels/NestedModel.js +1 -1
  333. package/build/dist/AnalyticsModels/NestedModel.js.map +1 -1
  334. package/build/dist/Models/AccessControlModel.js +1 -1
  335. package/build/dist/Models/AccessControlModel.js.map +1 -1
  336. package/build/dist/Models/BaseModel.js +28 -28
  337. package/build/dist/Models/BaseModel.js.map +1 -1
  338. package/build/dist/Models/FileModel.js +14 -14
  339. package/build/dist/Models/FileModel.js.map +1 -1
  340. package/build/dist/Models/GlobalConfig.js +1 -1
  341. package/build/dist/Models/GlobalConfig.js.map +1 -1
  342. package/build/dist/Models/TenantModel.js +1 -1
  343. package/build/dist/Models/TenantModel.js.map +1 -1
  344. package/build/dist/Models/UserModel.js +1 -1
  345. package/build/dist/Models/UserModel.js.map +1 -1
  346. package/build/dist/ServiceRoute.js +17 -17
  347. package/build/dist/Tests/MockType.js +5 -0
  348. package/build/dist/Tests/MockType.js.map +1 -0
  349. package/build/dist/Tests/Spy.js +4 -0
  350. package/build/dist/Tests/Spy.js.map +1 -0
  351. package/build/dist/Tests/Types/API/ErrorResponse.test.js +5 -5
  352. package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +1 -1
  353. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +18 -18
  354. package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +1 -1
  355. package/build/dist/Tests/Types/API/HTTPMethod.test.js +10 -10
  356. package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +1 -1
  357. package/build/dist/Tests/Types/API/Headers.test.js +8 -8
  358. package/build/dist/Tests/Types/API/Headers.test.js.map +1 -1
  359. package/build/dist/Tests/Types/API/Hostname.test.js +11 -11
  360. package/build/dist/Tests/Types/API/Hostname.test.js.map +1 -1
  361. package/build/dist/Tests/Types/API/Protocal.test.js +12 -12
  362. package/build/dist/Tests/Types/API/Protocal.test.js.map +1 -1
  363. package/build/dist/Tests/Types/API/Response.test.js +7 -7
  364. package/build/dist/Tests/Types/API/Response.test.js.map +1 -1
  365. package/build/dist/Tests/Types/API/ResponseType.test.js +8 -8
  366. package/build/dist/Tests/Types/API/ResponseType.test.js.map +1 -1
  367. package/build/dist/Tests/Types/API/Route.test.js +15 -15
  368. package/build/dist/Tests/Types/API/Route.test.js.map +1 -1
  369. package/build/dist/Tests/Types/API/StatusCode.test.js +14 -14
  370. package/build/dist/Tests/Types/API/StatusCode.test.js.map +1 -1
  371. package/build/dist/Tests/Types/API/URL.test.js +20 -20
  372. package/build/dist/Tests/Types/API/URL.test.js.map +1 -1
  373. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +22 -22
  374. package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +1 -1
  375. package/build/dist/Tests/Types/Alerts/AlertType.test.js +12 -12
  376. package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +1 -1
  377. package/build/dist/Tests/Types/AppEnvironment.test.js +8 -8
  378. package/build/dist/Tests/Types/AppEnvironment.test.js.map +1 -1
  379. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +8 -8
  380. package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +1 -1
  381. package/build/dist/Tests/Types/ArrayUtil.test.js +9 -9
  382. package/build/dist/Tests/Types/ArrayUtil.test.js.map +1 -1
  383. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +75 -77
  384. package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +1 -1
  385. package/build/dist/Tests/Types/BrandColors.test.js +55 -55
  386. package/build/dist/Tests/Types/BrandColors.test.js.map +1 -1
  387. package/build/dist/Tests/Types/Char.test.js +72 -72
  388. package/build/dist/Tests/Types/Char.test.js.map +1 -1
  389. package/build/dist/Tests/Types/Code/CodeType.test.js +8 -8
  390. package/build/dist/Tests/Types/Code/CodeType.test.js.map +1 -1
  391. package/build/dist/Tests/Types/Color.test.js +24 -24
  392. package/build/dist/Tests/Types/Color.test.js.map +1 -1
  393. package/build/dist/Tests/Types/Company/CompanySize.test.js +12 -12
  394. package/build/dist/Tests/Types/Company/CompanySize.test.js.map +1 -1
  395. package/build/dist/Tests/Types/Company/JobRole.test.js +14 -14
  396. package/build/dist/Tests/Types/Company/JobRole.test.js.map +1 -1
  397. package/build/dist/Tests/Types/Countries.test.js +244 -244
  398. package/build/dist/Tests/Types/Countries.test.js.map +1 -1
  399. package/build/dist/Tests/Types/Database/ColumnLength.test.js +15 -15
  400. package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +1 -1
  401. package/build/dist/Tests/Types/Database/ColumnType.test.js +52 -52
  402. package/build/dist/Tests/Types/Database/ColumnType.test.js.map +1 -1
  403. package/build/dist/Tests/Types/Database/Columns.test.js +14 -14
  404. package/build/dist/Tests/Types/Database/Columns.test.js.map +1 -1
  405. package/build/dist/Tests/Types/Database/CompareBase.test.js +13 -13
  406. package/build/dist/Tests/Types/Database/CompareBase.test.js.map +1 -1
  407. package/build/dist/Tests/Types/Database/Date.test.js +32 -32
  408. package/build/dist/Tests/Types/Database/Date.test.js.map +1 -1
  409. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +30 -30
  410. package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +1 -1
  411. package/build/dist/Tests/Types/Database/InBetween.test.js +20 -20
  412. package/build/dist/Tests/Types/Database/InBetween.test.js.map +1 -1
  413. package/build/dist/Tests/Types/Database/LimitMax.test.js +9 -9
  414. package/build/dist/Tests/Types/Database/LimitMax.test.js.map +1 -1
  415. package/build/dist/Tests/Types/Database/NotEqual.test.js +9 -9
  416. package/build/dist/Tests/Types/Database/NotEqual.test.js.map +1 -1
  417. package/build/dist/Tests/Types/Database/Search.test.js +6 -6
  418. package/build/dist/Tests/Types/Database/Search.test.js.map +1 -1
  419. package/build/dist/Tests/Types/DatabaseType.test.js +4 -4
  420. package/build/dist/Tests/Types/DatabaseType.test.js.map +1 -1
  421. package/build/dist/Tests/Types/Date.test.js +32 -32
  422. package/build/dist/Tests/Types/Date.test.js.map +1 -1
  423. package/build/dist/Tests/Types/Dictionary.test.js +10 -10
  424. package/build/dist/Tests/Types/Dictionary.test.js.map +1 -1
  425. package/build/dist/Tests/Types/Domain.test.js +23 -23
  426. package/build/dist/Tests/Types/Domain.test.js.map +1 -1
  427. package/build/dist/Tests/Types/Email/Email.test.js +31 -31
  428. package/build/dist/Tests/Types/Email/Email.test.js.map +1 -1
  429. package/build/dist/Tests/Types/EmailWithName.test.js +11 -11
  430. package/build/dist/Tests/Types/EmailWithName.test.js.map +1 -1
  431. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +4 -4
  432. package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +1 -1
  433. package/build/dist/Tests/Types/Exception/ApiException.test.js +6 -7
  434. package/build/dist/Tests/Types/Exception/ApiException.test.js.map +1 -1
  435. package/build/dist/Tests/Types/Exception/BadDataException.test.js +7 -7
  436. package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +1 -1
  437. package/build/dist/Tests/Types/Exception/BadOperationException.test.js +6 -7
  438. package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +1 -1
  439. package/build/dist/Tests/Types/Exception/BadRequestException.test.js +7 -7
  440. package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +1 -1
  441. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +5 -5
  442. package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +1 -1
  443. package/build/dist/Tests/Types/Exception/Exception.test.js +9 -9
  444. package/build/dist/Tests/Types/Exception/Exception.test.js.map +1 -1
  445. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +5 -5
  446. package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +1 -1
  447. package/build/dist/Tests/Types/File.test.js +13 -13
  448. package/build/dist/Tests/Types/File.test.js.map +1 -1
  449. package/build/dist/Tests/Types/HashedString.test.js +8 -8
  450. package/build/dist/Tests/Types/HashedString.test.js.map +1 -1
  451. package/build/dist/Tests/Types/Html.test.js +5 -5
  452. package/build/dist/Tests/Types/Html.test.js.map +1 -1
  453. package/build/dist/Tests/Types/IP/IP.test.js +40 -40
  454. package/build/dist/Tests/Types/IP/IP.test.js.map +1 -1
  455. package/build/dist/Tests/Types/IP/IPType.test.js +6 -6
  456. package/build/dist/Tests/Types/IP/IPType.test.js.map +1 -1
  457. package/build/dist/Tests/Types/IP/IPv4.test.js +9 -9
  458. package/build/dist/Tests/Types/IP/IPv4.test.js.map +1 -1
  459. package/build/dist/Tests/Types/IP/IPv6.test.js +9 -9
  460. package/build/dist/Tests/Types/IP/IPv6.test.js.map +1 -1
  461. package/build/dist/Tests/Types/JSON.test.js +28 -28
  462. package/build/dist/Tests/Types/JSON.test.js.map +1 -1
  463. package/build/dist/Tests/Types/JSONFunctions.test.js +13 -13
  464. package/build/dist/Tests/Types/JSONFunctions.test.js.map +1 -1
  465. package/build/dist/Tests/Types/ListData.test.js +10 -10
  466. package/build/dist/Tests/Types/ListData.test.js.map +1 -1
  467. package/build/dist/Tests/Types/Name.test.js +17 -17
  468. package/build/dist/Tests/Types/Name.test.js.map +1 -1
  469. package/build/dist/Tests/Types/ObjectID.test.js +8 -8
  470. package/build/dist/Tests/Types/ObjectID.test.js.map +1 -1
  471. package/build/dist/Tests/Types/Permission.test.js +6 -6
  472. package/build/dist/Tests/Types/Permission.test.js.map +1 -1
  473. package/build/dist/Tests/Types/Phone.test.js +21 -21
  474. package/build/dist/Tests/Types/Phone.test.js.map +1 -1
  475. package/build/dist/Tests/Types/Port.test.js +13 -13
  476. package/build/dist/Tests/Types/Port.test.js.map +1 -1
  477. package/build/dist/Tests/Types/PositiveNumber.test.js +19 -19
  478. package/build/dist/Tests/Types/PositiveNumber.test.js.map +1 -1
  479. package/build/dist/Tests/Types/SecuritySeverity.test.js +10 -10
  480. package/build/dist/Tests/Types/SecuritySeverity.test.js.map +1 -1
  481. package/build/dist/Tests/Types/SerializableObject.test.js +14 -12
  482. package/build/dist/Tests/Types/SerializableObject.test.js.map +1 -1
  483. package/build/dist/Tests/Types/Sleep.test.js +4 -4
  484. package/build/dist/Tests/Types/Sleep.test.js.map +1 -1
  485. package/build/dist/Tests/Types/Text.test.js +5 -5
  486. package/build/dist/Tests/Types/Text.test.js.map +1 -1
  487. package/build/dist/Tests/Types/Timezone.test.js +593 -593
  488. package/build/dist/Tests/Types/Timezone.test.js.map +1 -1
  489. package/build/dist/Tests/Types/Typeof.test.js +10 -10
  490. package/build/dist/Tests/Types/Typeof.test.js.map +1 -1
  491. package/build/dist/Tests/Types/UserType.test.js +10 -10
  492. package/build/dist/Tests/Types/UserType.test.js.map +1 -1
  493. package/build/dist/Tests/Types/Version.test.js +21 -21
  494. package/build/dist/Tests/Types/Version.test.js.map +1 -1
  495. package/build/dist/Tests/Types/XML.test.js +17 -17
  496. package/build/dist/Tests/Types/XML.test.js.map +1 -1
  497. package/build/dist/Tests/Utils/API.test.js +83 -83
  498. package/build/dist/Tests/Utils/API.test.js.map +1 -1
  499. package/build/dist/Tests/Utils/Analytics.test.js +25 -25
  500. package/build/dist/Tests/Utils/Analytics.test.js.map +1 -1
  501. package/build/dist/Tests/Utils/CronTime.test.js +14 -14
  502. package/build/dist/Tests/Utils/CronTime.test.js.map +1 -1
  503. package/build/dist/Tests/Utils/Faker.test.js +10 -10
  504. package/build/dist/Tests/Utils/Faker.test.js.map +1 -1
  505. package/build/dist/Tests/Utils/Slug.test.js +12 -12
  506. package/build/dist/Tests/Utils/Slug.test.js.map +1 -1
  507. package/build/dist/Tests/Utils/UUID.test.js +3 -3
  508. package/build/dist/Tests/Utils/UUID.test.js.map +1 -1
  509. package/build/dist/Types/API/HTTPErrorResponse.js +10 -11
  510. package/build/dist/Types/API/HTTPErrorResponse.js.map +1 -1
  511. package/build/dist/Types/API/HTTPMethod.js.map +1 -1
  512. package/build/dist/Types/API/HTTPResponse.js +9 -9
  513. package/build/dist/Types/API/HTTPResponse.js.map +1 -1
  514. package/build/dist/Types/API/Hostname.js +14 -14
  515. package/build/dist/Types/API/Hostname.js.map +1 -1
  516. package/build/dist/Types/API/Protocol.js.map +1 -1
  517. package/build/dist/Types/API/ResponseType.js.map +1 -1
  518. package/build/dist/Types/API/Route.js +11 -11
  519. package/build/dist/Types/API/Route.js.map +1 -1
  520. package/build/dist/Types/API/StatusCode.js +3 -4
  521. package/build/dist/Types/API/StatusCode.js.map +1 -1
  522. package/build/dist/Types/API/URL.js +44 -44
  523. package/build/dist/Types/API/URL.js.map +1 -1
  524. package/build/dist/Types/Alerts/AlertEventType.js.map +1 -1
  525. package/build/dist/Types/Alerts/AlertType.js.map +1 -1
  526. package/build/dist/Types/AnalyticsDatabase/AnalyticsTableEngine.js.map +1 -1
  527. package/build/dist/Types/AnalyticsDatabase/TableColumn.js +6 -7
  528. package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -1
  529. package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
  530. package/build/dist/Types/AppEnvironment.js.map +1 -1
  531. package/build/dist/Types/ApplicationLog/ApplicationLogType.js.map +1 -1
  532. package/build/dist/Types/ArrayUtil.js.map +1 -1
  533. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +10 -11
  534. package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -1
  535. package/build/dist/Types/BaseDatabase/DatabaseType.js.map +1 -1
  536. package/build/dist/Types/BaseDatabase/EqualToOrNull.js +6 -6
  537. package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
  538. package/build/dist/Types/BaseDatabase/GreaterThan.js +6 -6
  539. package/build/dist/Types/BaseDatabase/GreaterThan.js.map +1 -1
  540. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js +6 -6
  541. package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js.map +1 -1
  542. package/build/dist/Types/BaseDatabase/InBetween.js +8 -8
  543. package/build/dist/Types/BaseDatabase/InBetween.js.map +1 -1
  544. package/build/dist/Types/BaseDatabase/Includes.js +7 -7
  545. package/build/dist/Types/BaseDatabase/Includes.js.map +1 -1
  546. package/build/dist/Types/BaseDatabase/IsNull.js +6 -6
  547. package/build/dist/Types/BaseDatabase/IsNull.js.map +1 -1
  548. package/build/dist/Types/BaseDatabase/LessThan.js +6 -6
  549. package/build/dist/Types/BaseDatabase/LessThan.js.map +1 -1
  550. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js +6 -6
  551. package/build/dist/Types/BaseDatabase/LessThanOrEqual.js.map +1 -1
  552. package/build/dist/Types/BaseDatabase/ModelPermission.js +1 -1
  553. package/build/dist/Types/BaseDatabase/ModelPermission.js.map +1 -1
  554. package/build/dist/Types/BaseDatabase/NotEqual.js +6 -6
  555. package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
  556. package/build/dist/Types/BaseDatabase/NotNull.js +6 -6
  557. package/build/dist/Types/BaseDatabase/NotNull.js.map +1 -1
  558. package/build/dist/Types/BaseDatabase/Search.js +6 -6
  559. package/build/dist/Types/BaseDatabase/Search.js.map +1 -1
  560. package/build/dist/Types/BaseDatabase/SortOrder.js.map +1 -1
  561. package/build/dist/Types/Billing/MeteredPlan.js.map +1 -1
  562. package/build/dist/Types/Billing/SubscriptionPlan.js +15 -16
  563. package/build/dist/Types/Billing/SubscriptionPlan.js.map +1 -1
  564. package/build/dist/Types/Billing/SubscriptionStatus.js.map +1 -1
  565. package/build/dist/Types/BrandColors.js +40 -40
  566. package/build/dist/Types/BrandColors.js.map +1 -1
  567. package/build/dist/Types/BrowserType.js.map +1 -1
  568. package/build/dist/Types/Call/CallRequest.js +1 -1
  569. package/build/dist/Types/Call/CallRequest.js.map +1 -1
  570. package/build/dist/Types/Call/CallStatus.js.map +1 -1
  571. package/build/dist/Types/Code/CodeType.js.map +1 -1
  572. package/build/dist/Types/CodeRepository/CodeRepositoryType.js +7 -0
  573. package/build/dist/Types/CodeRepository/CodeRepositoryType.js.map +1 -0
  574. package/build/dist/Types/CodeRepository/PullRequest.js +2 -0
  575. package/build/dist/Types/CodeRepository/PullRequest.js.map +1 -0
  576. package/build/dist/Types/CodeRepository/PullRequestState.js +8 -0
  577. package/build/dist/Types/CodeRepository/PullRequestState.js.map +1 -0
  578. package/build/dist/Types/Color.js +13 -13
  579. package/build/dist/Types/Color.js.map +1 -1
  580. package/build/dist/Types/Company/CompanySize.js.map +1 -1
  581. package/build/dist/Types/Company/JobRole.js.map +1 -1
  582. package/build/dist/Types/Copilot/CopilotEventStatus.js +7 -0
  583. package/build/dist/Types/Copilot/CopilotEventStatus.js.map +1 -0
  584. package/build/dist/Types/Copilot/CopilotEventType.js +7 -0
  585. package/build/dist/Types/Copilot/CopilotEventType.js.map +1 -0
  586. package/build/dist/Types/Countries.js.map +1 -1
  587. package/build/dist/Types/Currency.js +3 -3
  588. package/build/dist/Types/Currency.js.map +1 -1
  589. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
  590. package/build/dist/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.js.map +1 -1
  591. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +2 -2
  592. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  593. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +2 -2
  594. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  595. package/build/dist/Types/Database/AccessControl/TableAccessControl.js.map +1 -1
  596. package/build/dist/Types/Database/AccessControl/TableBillingAccessControl.js.map +1 -1
  597. package/build/dist/Types/Database/AccessControlColumn.js.map +1 -1
  598. package/build/dist/Types/Database/AllowUserQueryWithoutTenant.js.map +1 -1
  599. package/build/dist/Types/Database/CanAccessIfCanReadOn.js.map +1 -1
  600. package/build/dist/Types/Database/ColumnLength.js +1 -1
  601. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  602. package/build/dist/Types/Database/ColumnType.js.map +1 -1
  603. package/build/dist/Types/Database/Columns.js.map +1 -1
  604. package/build/dist/Types/Database/CompareBase.js +5 -5
  605. package/build/dist/Types/Database/CompareBase.js.map +1 -1
  606. package/build/dist/Types/Database/CrudApiEndpoint.js.map +1 -1
  607. package/build/dist/Types/Database/CurrentUserCanAccessRecordBy.js.map +1 -1
  608. package/build/dist/Types/Database/DatabaseProperty.js +3 -3
  609. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  610. package/build/dist/Types/Database/Date.js +2 -2
  611. package/build/dist/Types/Database/Date.js.map +1 -1
  612. package/build/dist/Types/Database/EnableDocumentation.js +1 -2
  613. package/build/dist/Types/Database/EnableDocumentation.js.map +1 -1
  614. package/build/dist/Types/Database/EnableWorkflow.js.map +1 -1
  615. package/build/dist/Types/Database/IsPermissionsIf.js.map +1 -1
  616. package/build/dist/Types/Database/LabelsColumn.js.map +1 -1
  617. package/build/dist/Types/Database/MultiTenentQueryAllowed.js.map +1 -1
  618. package/build/dist/Types/Database/SlugifyColumn.js.map +1 -1
  619. package/build/dist/Types/Database/TableColumn.js +2 -2
  620. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  621. package/build/dist/Types/Database/TableColumnType.js.map +1 -1
  622. package/build/dist/Types/Database/TableMetadata.js.map +1 -1
  623. package/build/dist/Types/Database/TenantColumn.js.map +1 -1
  624. package/build/dist/Types/Database/TotalItemsBy.js.map +1 -1
  625. package/build/dist/Types/Database/UniqueColumnBy.js +2 -2
  626. package/build/dist/Types/Database/UniqueColumnBy.js.map +1 -1
  627. package/build/dist/Types/DatabaseType.js.map +1 -1
  628. package/build/dist/Types/Date.js +132 -136
  629. package/build/dist/Types/Date.js.map +1 -1
  630. package/build/dist/Types/Day/DayOfWeek.js.map +1 -1
  631. package/build/dist/Types/Decimal.js +8 -8
  632. package/build/dist/Types/Decimal.js.map +1 -1
  633. package/build/dist/Types/DiskSize.js +3 -3
  634. package/build/dist/Types/DiskSize.js.map +1 -1
  635. package/build/dist/Types/Domain.js +13 -13
  636. package/build/dist/Types/Domain.js.map +1 -1
  637. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  638. package/build/dist/Types/Email.js +32 -32
  639. package/build/dist/Types/Email.js.map +1 -1
  640. package/build/dist/Types/EmailWithName.js +4 -4
  641. package/build/dist/Types/EmailWithName.js.map +1 -1
  642. package/build/dist/Types/EncryptionAlgorithm.js.map +1 -1
  643. package/build/dist/Types/Events/EventInterval.js.map +1 -1
  644. package/build/dist/Types/Events/Recurring.js +15 -15
  645. package/build/dist/Types/Events/Recurring.js.map +1 -1
  646. package/build/dist/Types/Exception/ApiException.js +2 -2
  647. package/build/dist/Types/Exception/ApiException.js.map +1 -1
  648. package/build/dist/Types/Exception/BadDataException.js +2 -2
  649. package/build/dist/Types/Exception/BadDataException.js.map +1 -1
  650. package/build/dist/Types/Exception/BadOperationException.js +2 -2
  651. package/build/dist/Types/Exception/BadOperationException.js.map +1 -1
  652. package/build/dist/Types/Exception/BadRequestException.js +2 -2
  653. package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
  654. package/build/dist/Types/Exception/DatabaseNotConnectedException.js +3 -3
  655. package/build/dist/Types/Exception/DatabaseNotConnectedException.js.map +1 -1
  656. package/build/dist/Types/Exception/Exception.js +1 -1
  657. package/build/dist/Types/Exception/Exception.js.map +1 -1
  658. package/build/dist/Types/Exception/ExceptionCode.js.map +1 -1
  659. package/build/dist/Types/Exception/NotAuthenticatedException.js +2 -2
  660. package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
  661. package/build/dist/Types/Exception/NotAuthorizedException.js +2 -2
  662. package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
  663. package/build/dist/Types/Exception/NotFoundException.js +2 -2
  664. package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
  665. package/build/dist/Types/Exception/NotImplementedException.js +3 -3
  666. package/build/dist/Types/Exception/NotImplementedException.js.map +1 -1
  667. package/build/dist/Types/Exception/PaymentRequiredException.js +2 -2
  668. package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
  669. package/build/dist/Types/Exception/ServerException.js +3 -3
  670. package/build/dist/Types/Exception/ServerException.js.map +1 -1
  671. package/build/dist/Types/Exception/SsoAuthorizationException.js +3 -3
  672. package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
  673. package/build/dist/Types/Exception/TenantNotFoundException.js +2 -2
  674. package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
  675. package/build/dist/Types/Exception/TimeoutException.js +2 -2
  676. package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
  677. package/build/dist/Types/Exception/UnableToReachServer.js +2 -2
  678. package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
  679. package/build/dist/Types/Exception/WebsiteRequestException.js +2 -2
  680. package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
  681. package/build/dist/Types/File/MimeType.js.map +1 -1
  682. package/build/dist/Types/Filter/FilterCondition.js.map +1 -1
  683. package/build/dist/Types/Filter/FilterType.js.map +1 -1
  684. package/build/dist/Types/HashCode.js.map +1 -1
  685. package/build/dist/Types/HashedString.js +14 -14
  686. package/build/dist/Types/HashedString.js.map +1 -1
  687. package/build/dist/Types/Html.js +1 -1
  688. package/build/dist/Types/Html.js.map +1 -1
  689. package/build/dist/Types/IP/IP.js +13 -13
  690. package/build/dist/Types/IP/IP.js.map +1 -1
  691. package/build/dist/Types/IP/IPType.js.map +1 -1
  692. package/build/dist/Types/IP/IPv4.js +3 -3
  693. package/build/dist/Types/IP/IPv4.js.map +1 -1
  694. package/build/dist/Types/IP/IPv6.js +3 -3
  695. package/build/dist/Types/IP/IPv6.js.map +1 -1
  696. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  697. package/build/dist/Types/Infrastructure/OSType.js.map +1 -1
  698. package/build/dist/Types/JSON.js.map +1 -1
  699. package/build/dist/Types/JSONFunctions.js +33 -35
  700. package/build/dist/Types/JSONFunctions.js.map +1 -1
  701. package/build/dist/Types/ListData.js.map +1 -1
  702. package/build/dist/Types/Mail/MailStatus.js.map +1 -1
  703. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  704. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -1
  705. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  706. package/build/dist/Types/Monitor/MonitorCriteria.js +17 -19
  707. package/build/dist/Types/Monitor/MonitorCriteria.js.map +1 -1
  708. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +54 -55
  709. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  710. package/build/dist/Types/Monitor/MonitorStep.js +48 -52
  711. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  712. package/build/dist/Types/Monitor/MonitorSteps.js +19 -19
  713. package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
  714. package/build/dist/Types/Monitor/MonitorType.js +37 -23
  715. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  716. package/build/dist/Types/Monitor/SyntheticMonitors/BrowserType.js +1 -1
  717. package/build/dist/Types/Monitor/SyntheticMonitors/ScreenSizeType.js +1 -1
  718. package/build/dist/Types/Name.js +16 -16
  719. package/build/dist/Types/Name.js.map +1 -1
  720. package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -1
  721. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  722. package/build/dist/Types/ObjectID.js +15 -15
  723. package/build/dist/Types/ObjectID.js.map +1 -1
  724. package/build/dist/Types/OnCallDutyPolicy/Layer.js +14 -18
  725. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  726. package/build/dist/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.js.map +1 -1
  727. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.js.map +1 -1
  728. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js.map +1 -1
  729. package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js +14 -14
  730. package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js.map +1 -1
  731. package/build/dist/Types/Operation/OperationResult.js.map +1 -1
  732. package/build/dist/Types/Operation/OperationStatus.js.map +1 -1
  733. package/build/dist/Types/Permission.js +726 -686
  734. package/build/dist/Types/Permission.js.map +1 -1
  735. package/build/dist/Types/Phone.js +8 -8
  736. package/build/dist/Types/Phone.js.map +1 -1
  737. package/build/dist/Types/Port.js +11 -11
  738. package/build/dist/Types/Port.js.map +1 -1
  739. package/build/dist/Types/PositiveNumber.js +7 -8
  740. package/build/dist/Types/PositiveNumber.js.map +1 -1
  741. package/build/dist/Types/SMS/SmsTemplateType.js.map +1 -1
  742. package/build/dist/Types/SSO/DigestMethod.js.map +1 -1
  743. package/build/dist/Types/SSO/SignatureMethod.js.map +1 -1
  744. package/build/dist/Types/ScheduledEvent/ScheduledEventState.js.map +1 -1
  745. package/build/dist/Types/ScreenSizeType.js.map +1 -1
  746. package/build/dist/Types/SecuritySeverity.js.map +1 -1
  747. package/build/dist/Types/SerializableObject.js +1 -1
  748. package/build/dist/Types/SerializableObject.js.map +1 -1
  749. package/build/dist/Types/SerializableObjectDictionary.js +29 -29
  750. package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
  751. package/build/dist/Types/ServiceCatalog/ServiceLanguage.js +21 -0
  752. package/build/dist/Types/ServiceCatalog/ServiceLanguage.js.map +1 -0
  753. package/build/dist/Types/Sleep.js.map +1 -1
  754. package/build/dist/Types/SmsStatus.js.map +1 -1
  755. package/build/dist/Types/StatusPage/StatusPageChartType.js.map +1 -1
  756. package/build/dist/Types/Text.js +35 -35
  757. package/build/dist/Types/Text.js.map +1 -1
  758. package/build/dist/Types/Timezone.js.map +1 -1
  759. package/build/dist/Types/TimezoneCode.js +64 -0
  760. package/build/dist/Types/TimezoneCode.js.map +1 -0
  761. package/build/dist/Types/Typeof.js.map +1 -1
  762. package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
  763. package/build/dist/Types/UserNotification/UserNotificationExecutionStatus.js.map +1 -1
  764. package/build/dist/Types/UserNotification/UserNotificationStatus.js.map +1 -1
  765. package/build/dist/Types/UserType.js.map +1 -1
  766. package/build/dist/Types/Version.js +9 -9
  767. package/build/dist/Types/Version.js.map +1 -1
  768. package/build/dist/Types/WebsiteRequest.js +3 -3
  769. package/build/dist/Types/WebsiteRequest.js.map +1 -1
  770. package/build/dist/Types/Workflow/Component.js.map +1 -1
  771. package/build/dist/Types/Workflow/ComponentID.js.map +1 -1
  772. package/build/dist/Types/Workflow/Components/API.js +139 -139
  773. package/build/dist/Types/Workflow/Components/API.js.map +1 -1
  774. package/build/dist/Types/Workflow/Components/BaseModel.js +139 -139
  775. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
  776. package/build/dist/Types/Workflow/Components/Condition.js +27 -27
  777. package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
  778. package/build/dist/Types/Workflow/Components/Email.js +44 -44
  779. package/build/dist/Types/Workflow/Components/Email.js.map +1 -1
  780. package/build/dist/Types/Workflow/Components/JSON.js +60 -60
  781. package/build/dist/Types/Workflow/Components/JSON.js.map +1 -1
  782. package/build/dist/Types/Workflow/Components/JavaScript.js +26 -26
  783. package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -1
  784. package/build/dist/Types/Workflow/Components/Log.js +15 -15
  785. package/build/dist/Types/Workflow/Components/Log.js.map +1 -1
  786. package/build/dist/Types/Workflow/Components/Manual.js +12 -12
  787. package/build/dist/Types/Workflow/Components/Manual.js.map +1 -1
  788. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js +26 -26
  789. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js.map +1 -1
  790. package/build/dist/Types/Workflow/Components/Schedule.js +12 -12
  791. package/build/dist/Types/Workflow/Components/Schedule.js.map +1 -1
  792. package/build/dist/Types/Workflow/Components/Slack.js +26 -26
  793. package/build/dist/Types/Workflow/Components/Slack.js.map +1 -1
  794. package/build/dist/Types/Workflow/Components/Webhook.js +20 -20
  795. package/build/dist/Types/Workflow/Components/Webhook.js.map +1 -1
  796. package/build/dist/Types/Workflow/Components/Workflow.js +15 -15
  797. package/build/dist/Types/Workflow/Components/Workflow.js.map +1 -1
  798. package/build/dist/Types/Workflow/Components.js +33 -33
  799. package/build/dist/Types/Workflow/Components.js.map +1 -1
  800. package/build/dist/Types/Workflow/WorkflowPlan.js.map +1 -1
  801. package/build/dist/Types/Workflow/WorkflowStatus.js.map +1 -1
  802. package/build/dist/Types/XML.js +3 -3
  803. package/build/dist/Types/XML.js.map +1 -1
  804. package/build/dist/Utils/API.js +66 -16
  805. package/build/dist/Utils/API.js.map +1 -1
  806. package/build/dist/Utils/Analytics.js +1 -1
  807. package/build/dist/Utils/Analytics.js.map +1 -1
  808. package/build/dist/Utils/CronTime.js +7 -7
  809. package/build/dist/Utils/Enum.js +9 -0
  810. package/build/dist/Utils/Enum.js.map +1 -0
  811. package/build/dist/Utils/Faker.js +5 -5
  812. package/build/dist/Utils/Faker.js.map +1 -1
  813. package/build/dist/Utils/ObjectUtil.js.map +1 -1
  814. package/build/dist/Utils/Realtime.js +1 -1
  815. package/build/dist/Utils/Realtime.js.map +1 -1
  816. package/build/dist/Utils/Slug.js +3 -3
  817. package/build/dist/Utils/Slug.js.map +1 -1
  818. package/build/dist/Utils/UUID.js +1 -1
  819. package/build/dist/Utils/UUID.js.map +1 -1
  820. package/jest.config.json +6 -1
  821. package/package.json +3 -3
@@ -1,692 +1,686 @@
1
- import DatabaseProperty from '../Database/DatabaseProperty';
2
- import BadDataException from '../Exception/BadDataException';
3
- import { JSONObject, ObjectType } from '../JSON';
4
- import JSONFunctions from '../JSONFunctions';
5
- import ObjectID from '../ObjectID';
6
- import Typeof from '../Typeof';
1
+ import DatabaseProperty from "../Database/DatabaseProperty";
2
+ import BadDataException from "../Exception/BadDataException";
3
+ import { JSONObject, ObjectType } from "../JSON";
4
+ import JSONFunctions from "../JSONFunctions";
5
+ import ObjectID from "../ObjectID";
6
+ import Typeof from "../Typeof";
7
7
  import {
8
- CheckOn,
9
- CriteriaFilter,
10
- FilterCondition,
11
- FilterType,
12
- } from './CriteriaFilter';
13
- import { CriteriaIncident } from './CriteriaIncident';
14
- import MonitorType from './MonitorType';
15
- import { FindOperator } from 'typeorm';
8
+ CheckOn,
9
+ CriteriaFilter,
10
+ FilterCondition,
11
+ FilterType,
12
+ } from "./CriteriaFilter";
13
+ import { CriteriaIncident } from "./CriteriaIncident";
14
+ import MonitorType from "./MonitorType";
15
+ import { FindOperator } from "typeorm";
16
16
 
17
17
  export interface MonitorCriteriaInstanceType {
18
- monitorStatusId: ObjectID | undefined;
19
- filterCondition: FilterCondition;
20
- filters: Array<CriteriaFilter>;
21
- incidents: Array<CriteriaIncident>;
22
- name: string;
23
- description: string;
24
- changeMonitorStatus?: boolean | undefined;
25
- createIncidents?: boolean | undefined;
26
- id: string;
18
+ monitorStatusId: ObjectID | undefined;
19
+ filterCondition: FilterCondition;
20
+ filters: Array<CriteriaFilter>;
21
+ incidents: Array<CriteriaIncident>;
22
+ name: string;
23
+ description: string;
24
+ changeMonitorStatus?: boolean | undefined;
25
+ createIncidents?: boolean | undefined;
26
+ id: string;
27
27
  }
28
28
 
29
29
  export default class MonitorCriteriaInstance extends DatabaseProperty {
30
- public data: MonitorCriteriaInstanceType | undefined = undefined;
30
+ public data: MonitorCriteriaInstanceType | undefined = undefined;
31
+
32
+ public constructor() {
33
+ super();
34
+ this.data = {
35
+ id: ObjectID.generate().toString(),
36
+ monitorStatusId: undefined,
37
+ filterCondition: FilterCondition.All,
38
+ filters: [
39
+ {
40
+ checkOn: CheckOn.IsOnline,
41
+ filterType: undefined,
42
+ value: undefined,
43
+ },
44
+ ],
45
+ createIncidents: false,
46
+ changeMonitorStatus: false,
47
+ incidents: [],
48
+ name: "",
49
+ description: "",
50
+ };
51
+ }
52
+
53
+ public static getDefaultOnlineMonitorCriteriaInstance(arg: {
54
+ monitorType: MonitorType;
55
+ monitorStatusId: ObjectID;
56
+ monitorName: string;
57
+ }): MonitorCriteriaInstance | null {
58
+ if (arg.monitorType === MonitorType.IncomingRequest) {
59
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
60
+ new MonitorCriteriaInstance();
61
+
62
+ monitorCriteriaInstance.data = {
63
+ id: ObjectID.generate().toString(),
64
+ monitorStatusId: arg.monitorStatusId,
65
+ filterCondition: FilterCondition.All,
66
+ filters: [
67
+ {
68
+ checkOn: CheckOn.IncomingRequest,
69
+ filterType: FilterType.RecievedInMinutes,
70
+ value: 30,
71
+ },
72
+ ],
73
+ incidents: [],
74
+ changeMonitorStatus: true,
75
+ createIncidents: false,
76
+ name: `Check if ${arg.monitorName} is online`,
77
+ description: `This criteria checks if the ${arg.monitorName} is online`,
78
+ };
79
+
80
+ return monitorCriteriaInstance;
81
+ }
82
+
83
+ if (arg.monitorType === MonitorType.SSLCertificate) {
84
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
85
+ new MonitorCriteriaInstance();
86
+
87
+ monitorCriteriaInstance.data = {
88
+ id: ObjectID.generate().toString(),
89
+ monitorStatusId: arg.monitorStatusId,
90
+ filterCondition: FilterCondition.All,
91
+ filters: [
92
+ {
93
+ checkOn: CheckOn.IsValidCertificate,
94
+ filterType: FilterType.True,
95
+ value: undefined,
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
+
108
+ if (
109
+ arg.monitorType === MonitorType.CustomJavaScriptCode ||
110
+ arg.monitorType === MonitorType.SyntheticMonitor
111
+ ) {
112
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
113
+ new MonitorCriteriaInstance();
114
+
115
+ monitorCriteriaInstance.data = {
116
+ id: ObjectID.generate().toString(),
117
+ monitorStatusId: arg.monitorStatusId,
118
+ filterCondition: FilterCondition.All,
119
+ filters: [
120
+ {
121
+ checkOn: CheckOn.Error,
122
+ filterType: FilterType.IsEmpty,
123
+ value: undefined,
124
+ },
125
+ ],
126
+ incidents: [],
127
+ changeMonitorStatus: true,
128
+ createIncidents: false,
129
+ name: `Check if ${arg.monitorName} is online`,
130
+ description: `This criteria checks if the ${arg.monitorName} is online`,
131
+ };
132
+
133
+ return monitorCriteriaInstance;
134
+ }
135
+
136
+ if (arg.monitorType === MonitorType.Server) {
137
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
138
+ new MonitorCriteriaInstance();
139
+
140
+ monitorCriteriaInstance.data = {
141
+ id: ObjectID.generate().toString(),
142
+ monitorStatusId: arg.monitorStatusId,
143
+ filterCondition: FilterCondition.All,
144
+ filters: [
145
+ {
146
+ checkOn: CheckOn.IsOnline,
147
+ filterType: FilterType.True,
148
+ value: undefined,
149
+ },
150
+ ],
151
+ incidents: [],
152
+ changeMonitorStatus: true,
153
+ createIncidents: false,
154
+ name: `Check if ${arg.monitorName} is online`,
155
+ description: `This criteria checks if the ${arg.monitorName} is online`,
156
+ };
157
+
158
+ return monitorCriteriaInstance;
159
+ }
31
160
 
32
- public constructor() {
33
- super();
34
- this.data = {
161
+ if (
162
+ arg.monitorType === MonitorType.Website ||
163
+ arg.monitorType === MonitorType.API ||
164
+ arg.monitorType === MonitorType.Ping ||
165
+ arg.monitorType === MonitorType.IP ||
166
+ arg.monitorType === MonitorType.Port
167
+ ) {
168
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
169
+ new MonitorCriteriaInstance();
170
+
171
+ monitorCriteriaInstance.data = {
172
+ id: ObjectID.generate().toString(),
173
+ monitorStatusId: arg.monitorStatusId,
174
+ filterCondition: FilterCondition.All,
175
+ filters: [
176
+ {
177
+ checkOn: CheckOn.IsOnline,
178
+ filterType: FilterType.True,
179
+ value: undefined,
180
+ },
181
+ ],
182
+ incidents: [],
183
+ changeMonitorStatus: true,
184
+ createIncidents: false,
185
+ name: `Check if ${arg.monitorName} is online`,
186
+ description: `This criteria checks if the ${arg.monitorName} is online`,
187
+ };
188
+
189
+ if (
190
+ arg.monitorType === MonitorType.Website ||
191
+ arg.monitorType === MonitorType.API
192
+ ) {
193
+ monitorCriteriaInstance.data.filters.push({
194
+ checkOn: CheckOn.ResponseStatusCode,
195
+ filterType: FilterType.EqualTo,
196
+ value: 200,
197
+ });
198
+ }
199
+
200
+ return monitorCriteriaInstance;
201
+ }
202
+
203
+ return null;
204
+ }
205
+
206
+ public static getDefaultOfflineMonitorCriteriaInstance(arg: {
207
+ monitorType: MonitorType;
208
+ monitorStatusId: ObjectID;
209
+ incidentSeverityId: ObjectID;
210
+ monitorName: string;
211
+ }): MonitorCriteriaInstance {
212
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
213
+ new MonitorCriteriaInstance();
214
+
215
+ if (
216
+ arg.monitorType === MonitorType.Ping ||
217
+ arg.monitorType === MonitorType.IP ||
218
+ arg.monitorType === MonitorType.Port ||
219
+ arg.monitorType === MonitorType.Server
220
+ ) {
221
+ monitorCriteriaInstance.data = {
222
+ id: ObjectID.generate().toString(),
223
+ monitorStatusId: arg.monitorStatusId,
224
+ filterCondition: FilterCondition.Any,
225
+ filters: [
226
+ {
227
+ checkOn: CheckOn.IsOnline,
228
+ filterType: FilterType.False,
229
+ value: undefined,
230
+ },
231
+ ],
232
+ incidents: [
233
+ {
234
+ title: `${arg.monitorName} is offline`,
235
+ description: `${arg.monitorName} is currently offline.`,
236
+ incidentSeverityId: arg.incidentSeverityId,
237
+ autoResolveIncident: true,
35
238
  id: ObjectID.generate().toString(),
36
- monitorStatusId: undefined,
37
- filterCondition: FilterCondition.All,
38
- filters: [
39
- {
40
- checkOn: CheckOn.IsOnline,
41
- filterType: undefined,
42
- value: undefined,
43
- },
44
- ],
45
- createIncidents: false,
46
- changeMonitorStatus: false,
47
- incidents: [],
48
- name: '',
49
- description: '',
50
- };
51
- }
52
-
53
- public static getDefaultOnlineMonitorCriteriaInstance(arg: {
54
- monitorType: MonitorType;
55
- monitorStatusId: ObjectID;
56
- monitorName: string;
57
- }): MonitorCriteriaInstance | null {
58
- if (arg.monitorType === MonitorType.IncomingRequest) {
59
- const monitorCriteriaInstance: MonitorCriteriaInstance =
60
- new MonitorCriteriaInstance();
61
-
62
- monitorCriteriaInstance.data = {
63
- id: ObjectID.generate().toString(),
64
- monitorStatusId: arg.monitorStatusId,
65
- filterCondition: FilterCondition.All,
66
- filters: [
67
- {
68
- checkOn: CheckOn.IncomingRequest,
69
- filterType: FilterType.RecievedInMinutes,
70
- value: 30,
71
- },
72
- ],
73
- incidents: [],
74
- changeMonitorStatus: true,
75
- createIncidents: false,
76
- name: `Check if ${arg.monitorName} is online`,
77
- description: `This criteria checks if the ${arg.monitorName} is online`,
78
- };
79
-
80
- return monitorCriteriaInstance;
81
- }
82
-
83
- if (arg.monitorType === MonitorType.SSLCertificate) {
84
- const monitorCriteriaInstance: MonitorCriteriaInstance =
85
- new MonitorCriteriaInstance();
86
-
87
- monitorCriteriaInstance.data = {
88
- id: ObjectID.generate().toString(),
89
- monitorStatusId: arg.monitorStatusId,
90
- filterCondition: FilterCondition.All,
91
- filters: [
92
- {
93
- checkOn: CheckOn.IsValidCertificate,
94
- filterType: FilterType.True,
95
- value: undefined,
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
-
108
- if (
109
- arg.monitorType === MonitorType.CustomJavaScriptCode ||
110
- arg.monitorType === MonitorType.SyntheticMonitor
111
- ) {
112
- const monitorCriteriaInstance: MonitorCriteriaInstance =
113
- new MonitorCriteriaInstance();
114
-
115
- monitorCriteriaInstance.data = {
116
- id: ObjectID.generate().toString(),
117
- monitorStatusId: arg.monitorStatusId,
118
- filterCondition: FilterCondition.All,
119
- filters: [
120
- {
121
- checkOn: CheckOn.Error,
122
- filterType: FilterType.IsEmpty,
123
- value: undefined,
124
- },
125
- ],
126
- incidents: [],
127
- changeMonitorStatus: true,
128
- createIncidents: false,
129
- name: `Check if ${arg.monitorName} is online`,
130
- description: `This criteria checks if the ${arg.monitorName} is online`,
131
- };
132
-
133
- return monitorCriteriaInstance;
134
- }
135
-
136
- if (arg.monitorType === MonitorType.Server) {
137
- const monitorCriteriaInstance: MonitorCriteriaInstance =
138
- new MonitorCriteriaInstance();
139
-
140
- monitorCriteriaInstance.data = {
141
- id: ObjectID.generate().toString(),
142
- monitorStatusId: arg.monitorStatusId,
143
- filterCondition: FilterCondition.All,
144
- filters: [
145
- {
146
- checkOn: CheckOn.IsOnline,
147
- filterType: FilterType.True,
148
- value: undefined,
149
- },
150
- ],
151
- incidents: [],
152
- changeMonitorStatus: true,
153
- createIncidents: false,
154
- name: `Check if ${arg.monitorName} is online`,
155
- description: `This criteria checks if the ${arg.monitorName} is online`,
156
- };
157
-
158
- return monitorCriteriaInstance;
159
- }
160
-
161
- if (
162
- arg.monitorType === MonitorType.Website ||
163
- arg.monitorType === MonitorType.API ||
164
- arg.monitorType === MonitorType.Ping ||
165
- arg.monitorType === MonitorType.IP ||
166
- arg.monitorType === MonitorType.Port
167
- ) {
168
- const monitorCriteriaInstance: MonitorCriteriaInstance =
169
- new MonitorCriteriaInstance();
170
-
171
- monitorCriteriaInstance.data = {
172
- id: ObjectID.generate().toString(),
173
- monitorStatusId: arg.monitorStatusId,
174
- filterCondition: FilterCondition.All,
175
- filters: [
176
- {
177
- checkOn: CheckOn.IsOnline,
178
- filterType: FilterType.True,
179
- value: undefined,
180
- },
181
- ],
182
- incidents: [],
183
- changeMonitorStatus: true,
184
- createIncidents: false,
185
- name: `Check if ${arg.monitorName} is online`,
186
- description: `This criteria checks if the ${arg.monitorName} is online`,
187
- };
188
-
189
- if (
190
- arg.monitorType === MonitorType.Website ||
191
- arg.monitorType === MonitorType.API
192
- ) {
193
- monitorCriteriaInstance.data.filters.push({
194
- checkOn: CheckOn.ResponseStatusCode,
195
- filterType: FilterType.EqualTo,
196
- value: 200,
197
- });
198
- }
199
-
200
- return monitorCriteriaInstance;
201
- }
202
-
203
- return null;
204
- }
205
-
206
- public static getDefaultOfflineMonitorCriteriaInstance(arg: {
207
- monitorType: MonitorType;
208
- monitorStatusId: ObjectID;
209
- incidentSeverityId: ObjectID;
210
- monitorName: string;
211
- }): MonitorCriteriaInstance {
212
- const monitorCriteriaInstance: MonitorCriteriaInstance =
213
- new MonitorCriteriaInstance();
214
-
215
- if (
216
- arg.monitorType === MonitorType.Ping ||
217
- arg.monitorType === MonitorType.IP ||
218
- arg.monitorType === MonitorType.Port ||
219
- arg.monitorType === MonitorType.Server
220
- ) {
221
- monitorCriteriaInstance.data = {
222
- id: ObjectID.generate().toString(),
223
- monitorStatusId: arg.monitorStatusId,
224
- filterCondition: FilterCondition.Any,
225
- filters: [
226
- {
227
- checkOn: CheckOn.IsOnline,
228
- filterType: FilterType.False,
229
- value: undefined,
230
- },
231
- ],
232
- incidents: [
233
- {
234
- title: `${arg.monitorName} is offline`,
235
- description: `${arg.monitorName} is currently offline.`,
236
- incidentSeverityId: arg.incidentSeverityId,
237
- autoResolveIncident: true,
238
- id: ObjectID.generate().toString(),
239
- onCallPolicyIds: [],
240
- },
241
- ],
242
- changeMonitorStatus: true,
243
- createIncidents: true,
244
- name: `Check if ${arg.monitorName} is offline`,
245
- description: `This criteria checks if the ${arg.monitorName} is offline`,
246
- };
247
- }
248
-
249
- if (
250
- arg.monitorType === MonitorType.API ||
251
- arg.monitorType === MonitorType.Website
252
- ) {
253
- monitorCriteriaInstance.data = {
254
- id: ObjectID.generate().toString(),
255
- monitorStatusId: arg.monitorStatusId,
256
- filterCondition: FilterCondition.Any,
257
- filters: [
258
- {
259
- checkOn: CheckOn.IsOnline,
260
- filterType: FilterType.False,
261
- value: undefined,
262
- },
263
- {
264
- checkOn: CheckOn.ResponseStatusCode,
265
- filterType: FilterType.NotEqualTo,
266
- value: 200,
267
- },
268
- ],
269
- incidents: [
270
- {
271
- title: `${arg.monitorName} is offline`,
272
- description: `${arg.monitorName} is currently offline.`,
273
- incidentSeverityId: arg.incidentSeverityId,
274
- autoResolveIncident: true,
275
- id: ObjectID.generate().toString(),
276
- onCallPolicyIds: [],
277
- },
278
- ],
279
- changeMonitorStatus: true,
280
- createIncidents: true,
281
- name: `Check if ${arg.monitorName} is offline`,
282
- description: `This criteria checks if the ${arg.monitorName} is offline`,
283
- };
284
- }
285
-
286
- if (arg.monitorType === MonitorType.IncomingRequest) {
287
- monitorCriteriaInstance.data = {
288
- id: ObjectID.generate().toString(),
289
- monitorStatusId: arg.monitorStatusId,
290
- filterCondition: FilterCondition.Any,
291
- filters: [
292
- {
293
- checkOn: CheckOn.IncomingRequest,
294
- filterType: FilterType.NotRecievedInMinutes,
295
- value: 30, // if the request is not recieved in 30 minutes, then the monitor is offline
296
- },
297
- ],
298
- incidents: [
299
- {
300
- title: `${arg.monitorName} is offline`,
301
- description: `${arg.monitorName} is currently offline.`,
302
- incidentSeverityId: arg.incidentSeverityId,
303
- autoResolveIncident: true,
304
- id: ObjectID.generate().toString(),
305
- onCallPolicyIds: [],
306
- },
307
- ],
308
- changeMonitorStatus: true,
309
- createIncidents: true,
310
- name: `Check if ${arg.monitorName} is offline`,
311
- description: `This criteria checks if the ${arg.monitorName} is offline`,
312
- };
313
- }
314
-
315
- if (
316
- arg.monitorType === MonitorType.CustomJavaScriptCode ||
317
- arg.monitorType === MonitorType.SyntheticMonitor
318
- ) {
319
- monitorCriteriaInstance.data = {
320
- id: ObjectID.generate().toString(),
321
- monitorStatusId: arg.monitorStatusId,
322
- filterCondition: FilterCondition.Any,
323
- filters: [
324
- {
325
- checkOn: CheckOn.Error,
326
- filterType: FilterType.IsNotEmpty,
327
- value: undefined,
328
- },
329
- ],
330
- incidents: [
331
- {
332
- title: `${arg.monitorName} is offline`,
333
- description: `${arg.monitorName} is currently offline.`,
334
- incidentSeverityId: arg.incidentSeverityId,
335
- autoResolveIncident: true,
336
- id: ObjectID.generate().toString(),
337
- onCallPolicyIds: [],
338
- },
339
- ],
340
- changeMonitorStatus: true,
341
- createIncidents: true,
342
- name: `Check if ${arg.monitorName} is offline`,
343
- description: `This criteria checks if the ${arg.monitorName} is offline`,
344
- };
345
- }
346
-
347
- if (arg.monitorType === MonitorType.SSLCertificate) {
348
- monitorCriteriaInstance.data = {
349
- id: ObjectID.generate().toString(),
350
- monitorStatusId: arg.monitorStatusId,
351
- filterCondition: FilterCondition.Any,
352
- filters: [
353
- {
354
- checkOn: CheckOn.IsNotAValidCertificate,
355
- filterType: FilterType.True,
356
- value: undefined,
357
- },
358
- ],
359
- incidents: [
360
- {
361
- title: `${arg.monitorName} is offline`,
362
- description: `${arg.monitorName} is currently offline.`,
363
- incidentSeverityId: arg.incidentSeverityId,
364
- autoResolveIncident: true,
365
- id: ObjectID.generate().toString(),
366
- onCallPolicyIds: [],
367
- },
368
- ],
369
- changeMonitorStatus: true,
370
- createIncidents: true,
371
- name: `Check if ${arg.monitorName} is offline`,
372
- description: `This criteria checks if the ${arg.monitorName} is offline`,
373
- };
374
- }
375
-
376
- return monitorCriteriaInstance;
377
- }
378
-
379
- public static getNewMonitorCriteriaInstanceAsJSON(): JSONObject {
380
- return {
239
+ onCallPolicyIds: [],
240
+ },
241
+ ],
242
+ changeMonitorStatus: true,
243
+ createIncidents: true,
244
+ name: `Check if ${arg.monitorName} is offline`,
245
+ description: `This criteria checks if the ${arg.monitorName} is offline`,
246
+ };
247
+ }
248
+
249
+ if (
250
+ arg.monitorType === MonitorType.API ||
251
+ arg.monitorType === MonitorType.Website
252
+ ) {
253
+ monitorCriteriaInstance.data = {
254
+ id: ObjectID.generate().toString(),
255
+ monitorStatusId: arg.monitorStatusId,
256
+ filterCondition: FilterCondition.Any,
257
+ filters: [
258
+ {
259
+ checkOn: CheckOn.IsOnline,
260
+ filterType: FilterType.False,
261
+ value: undefined,
262
+ },
263
+ {
264
+ checkOn: CheckOn.ResponseStatusCode,
265
+ filterType: FilterType.NotEqualTo,
266
+ value: 200,
267
+ },
268
+ ],
269
+ incidents: [
270
+ {
271
+ title: `${arg.monitorName} is offline`,
272
+ description: `${arg.monitorName} is currently offline.`,
273
+ incidentSeverityId: arg.incidentSeverityId,
274
+ autoResolveIncident: true,
381
275
  id: ObjectID.generate().toString(),
382
- monitorStatusId: undefined,
383
- filterCondition: FilterCondition.All,
384
- filters: [
385
- {
386
- checkOn: CheckOn.IsOnline,
387
- filterType: FilterType.True,
388
- value: undefined,
389
- },
390
- ],
391
- incidents: [],
392
- name: '',
393
- description: '',
394
- createIncidents: false,
395
- changeMonitorStatus: false,
396
- };
397
- }
398
-
399
- public static getValidationError(
400
- value: MonitorCriteriaInstance,
401
- monitorType: MonitorType
402
- ): string | null {
403
- if (!value.data) {
404
- return 'Monitor Step is required';
405
- }
406
-
407
- if (value.data.filters.length === 0) {
408
- return 'Monitor Criteria filter is required';
409
- }
410
-
411
- if (!value.data.name) {
412
- return 'Monitor Criteria name is required';
413
- }
414
-
415
- if (!value.data.description) {
416
- return 'Monitor Criteria description is required';
417
- }
418
-
419
- for (const incident of value.data.incidents) {
420
- if (!incident) {
421
- continue;
422
- }
423
-
424
- if (!incident.title) {
425
- return 'Monitor Criteria incident title is required';
426
- }
427
-
428
- if (!incident.description) {
429
- return 'Monitor Criteria incident description is required';
430
- }
431
-
432
- if (!incident.incidentSeverityId) {
433
- return 'Monitor Criteria incident severity is required';
434
- }
435
- }
276
+ onCallPolicyIds: [],
277
+ },
278
+ ],
279
+ changeMonitorStatus: true,
280
+ createIncidents: true,
281
+ name: `Check if ${arg.monitorName} is offline`,
282
+ description: `This criteria checks if the ${arg.monitorName} is offline`,
283
+ };
284
+ }
285
+
286
+ if (arg.monitorType === MonitorType.IncomingRequest) {
287
+ monitorCriteriaInstance.data = {
288
+ id: ObjectID.generate().toString(),
289
+ monitorStatusId: arg.monitorStatusId,
290
+ filterCondition: FilterCondition.Any,
291
+ filters: [
292
+ {
293
+ checkOn: CheckOn.IncomingRequest,
294
+ filterType: FilterType.NotRecievedInMinutes,
295
+ value: 30, // if the request is not recieved in 30 minutes, then the monitor is offline
296
+ },
297
+ ],
298
+ incidents: [
299
+ {
300
+ title: `${arg.monitorName} is offline`,
301
+ description: `${arg.monitorName} is currently offline.`,
302
+ incidentSeverityId: arg.incidentSeverityId,
303
+ autoResolveIncident: true,
304
+ id: ObjectID.generate().toString(),
305
+ onCallPolicyIds: [],
306
+ },
307
+ ],
308
+ changeMonitorStatus: true,
309
+ createIncidents: true,
310
+ name: `Check if ${arg.monitorName} is offline`,
311
+ description: `This criteria checks if the ${arg.monitorName} is offline`,
312
+ };
313
+ }
314
+
315
+ if (
316
+ arg.monitorType === MonitorType.CustomJavaScriptCode ||
317
+ arg.monitorType === MonitorType.SyntheticMonitor
318
+ ) {
319
+ monitorCriteriaInstance.data = {
320
+ id: ObjectID.generate().toString(),
321
+ monitorStatusId: arg.monitorStatusId,
322
+ filterCondition: FilterCondition.Any,
323
+ filters: [
324
+ {
325
+ checkOn: CheckOn.Error,
326
+ filterType: FilterType.IsNotEmpty,
327
+ value: undefined,
328
+ },
329
+ ],
330
+ incidents: [
331
+ {
332
+ title: `${arg.monitorName} is offline`,
333
+ description: `${arg.monitorName} is currently offline.`,
334
+ incidentSeverityId: arg.incidentSeverityId,
335
+ autoResolveIncident: true,
336
+ id: ObjectID.generate().toString(),
337
+ onCallPolicyIds: [],
338
+ },
339
+ ],
340
+ changeMonitorStatus: true,
341
+ createIncidents: true,
342
+ name: `Check if ${arg.monitorName} is offline`,
343
+ description: `This criteria checks if the ${arg.monitorName} is offline`,
344
+ };
345
+ }
436
346
 
437
- for (const filter of value.data.filters) {
438
- if (!filter.checkOn) {
439
- return 'Monitor Criteria filter check on is required';
440
- }
441
-
442
- if (
443
- monitorType === MonitorType.Ping &&
444
- filter.checkOn !== CheckOn.IsOnline &&
445
- filter.checkOn !== CheckOn.ResponseTime
446
- ) {
447
- return (
448
- 'Ping Monitor cannot have filter criteria: ' +
449
- filter.checkOn
450
- );
451
- }
347
+ if (arg.monitorType === MonitorType.SSLCertificate) {
348
+ monitorCriteriaInstance.data = {
349
+ id: ObjectID.generate().toString(),
350
+ monitorStatusId: arg.monitorStatusId,
351
+ filterCondition: FilterCondition.Any,
352
+ filters: [
353
+ {
354
+ checkOn: CheckOn.IsNotAValidCertificate,
355
+ filterType: FilterType.True,
356
+ value: undefined,
357
+ },
358
+ ],
359
+ incidents: [
360
+ {
361
+ title: `${arg.monitorName} is offline`,
362
+ description: `${arg.monitorName} is currently offline.`,
363
+ incidentSeverityId: arg.incidentSeverityId,
364
+ autoResolveIncident: true,
365
+ id: ObjectID.generate().toString(),
366
+ onCallPolicyIds: [],
367
+ },
368
+ ],
369
+ changeMonitorStatus: true,
370
+ createIncidents: true,
371
+ name: `Check if ${arg.monitorName} is offline`,
372
+ description: `This criteria checks if the ${arg.monitorName} is offline`,
373
+ };
374
+ }
452
375
 
453
- if (
454
- filter.checkOn === CheckOn.DiskUsagePercent &&
455
- !filter.serverMonitorOptions?.diskPath
456
- ) {
457
- return 'Disk Path is required for Disk Usage Percent';
458
- }
459
- }
460
-
461
- return null;
462
- }
463
-
464
- public setName(name: string): MonitorCriteriaInstance {
465
- if (this.data) {
466
- this.data.name = name;
467
- }
468
-
469
- return this;
470
- }
471
-
472
- public setDescription(description: string): MonitorCriteriaInstance {
473
- if (this.data) {
474
- this.data.description = description;
475
- }
476
-
477
- return this;
478
- }
479
-
480
- public static clone(
481
- monitorCriteriaInstance: MonitorCriteriaInstance
482
- ): MonitorCriteriaInstance {
483
- return MonitorCriteriaInstance.fromJSON(
484
- monitorCriteriaInstance.toJSON()
485
- );
486
- }
487
-
488
- public setMonitorStatusId(
489
- monitorStatusId: ObjectID | undefined
490
- ): MonitorCriteriaInstance {
491
- if (this.data) {
492
- this.data.monitorStatusId = monitorStatusId;
493
- }
376
+ return monitorCriteriaInstance;
377
+ }
378
+
379
+ public static getNewMonitorCriteriaInstanceAsJSON(): JSONObject {
380
+ return {
381
+ id: ObjectID.generate().toString(),
382
+ monitorStatusId: undefined,
383
+ filterCondition: FilterCondition.All,
384
+ filters: [
385
+ {
386
+ checkOn: CheckOn.IsOnline,
387
+ filterType: FilterType.True,
388
+ value: undefined,
389
+ },
390
+ ],
391
+ incidents: [],
392
+ name: "",
393
+ description: "",
394
+ createIncidents: false,
395
+ changeMonitorStatus: false,
396
+ };
397
+ }
398
+
399
+ public static getValidationError(
400
+ value: MonitorCriteriaInstance,
401
+ monitorType: MonitorType,
402
+ ): string | null {
403
+ if (!value.data) {
404
+ return "Monitor Step is required";
405
+ }
494
406
 
495
- return this;
407
+ if (value.data.filters.length === 0) {
408
+ return "Monitor Criteria filter is required";
496
409
  }
497
410
 
498
- public setFilterCondition(
499
- filterCondition: FilterCondition
500
- ): MonitorCriteriaInstance {
501
- if (this.data) {
502
- this.data.filterCondition = filterCondition;
503
- }
411
+ if (!value.data.name) {
412
+ return "Monitor Criteria name is required";
413
+ }
504
414
 
505
- return this;
415
+ if (!value.data.description) {
416
+ return "Monitor Criteria description is required";
506
417
  }
507
418
 
508
- public setFilters(filters: Array<CriteriaFilter>): MonitorCriteriaInstance {
509
- if (this.data) {
510
- this.data.filters = filters;
511
- }
419
+ for (const incident of value.data.incidents) {
420
+ if (!incident) {
421
+ continue;
422
+ }
423
+
424
+ if (!incident.title) {
425
+ return "Monitor Criteria incident title is required";
426
+ }
512
427
 
513
- return this;
428
+ if (!incident.description) {
429
+ return "Monitor Criteria incident description is required";
430
+ }
431
+
432
+ if (!incident.incidentSeverityId) {
433
+ return "Monitor Criteria incident severity is required";
434
+ }
435
+ }
436
+
437
+ for (const filter of value.data.filters) {
438
+ if (!filter.checkOn) {
439
+ return "Monitor Criteria filter check on is required";
440
+ }
441
+
442
+ if (
443
+ monitorType === MonitorType.Ping &&
444
+ filter.checkOn !== CheckOn.IsOnline &&
445
+ filter.checkOn !== CheckOn.ResponseTime
446
+ ) {
447
+ return "Ping Monitor cannot have filter criteria: " + filter.checkOn;
448
+ }
449
+
450
+ if (
451
+ filter.checkOn === CheckOn.DiskUsagePercent &&
452
+ !filter.serverMonitorOptions?.diskPath
453
+ ) {
454
+ return "Disk Path is required for Disk Usage Percent";
455
+ }
514
456
  }
515
457
 
516
- public setIncidents(
517
- incidents: Array<CriteriaIncident>
518
- ): MonitorCriteriaInstance {
519
- if (this.data) {
520
- this.data.incidents = [...incidents];
521
- }
458
+ return null;
459
+ }
522
460
 
523
- return this;
461
+ public setName(name: string): MonitorCriteriaInstance {
462
+ if (this.data) {
463
+ this.data.name = name;
524
464
  }
525
465
 
526
- public setChangeMonitorStatus(
527
- changeMonitorStatus: boolean | undefined
528
- ): MonitorCriteriaInstance {
529
- if (this.data) {
530
- this.data.changeMonitorStatus = changeMonitorStatus;
531
- }
466
+ return this;
467
+ }
532
468
 
533
- return this;
469
+ public setDescription(description: string): MonitorCriteriaInstance {
470
+ if (this.data) {
471
+ this.data.description = description;
534
472
  }
535
473
 
536
- public setCreateIncidents(
537
- createIncidents: boolean | undefined
538
- ): MonitorCriteriaInstance {
539
- if (this.data) {
540
- this.data.createIncidents = createIncidents;
541
- }
474
+ return this;
475
+ }
476
+
477
+ public static clone(
478
+ monitorCriteriaInstance: MonitorCriteriaInstance,
479
+ ): MonitorCriteriaInstance {
480
+ return MonitorCriteriaInstance.fromJSON(monitorCriteriaInstance.toJSON());
481
+ }
542
482
 
543
- return this;
483
+ public setMonitorStatusId(
484
+ monitorStatusId: ObjectID | undefined,
485
+ ): MonitorCriteriaInstance {
486
+ if (this.data) {
487
+ this.data.monitorStatusId = monitorStatusId;
544
488
  }
545
489
 
546
- public override toJSON(): JSONObject {
547
- if (!this.data) {
548
- return MonitorCriteriaInstance.getNewMonitorCriteriaInstanceAsJSON();
549
- }
490
+ return this;
491
+ }
550
492
 
551
- return JSONFunctions.serialize({
552
- _type: ObjectType.MonitorCriteriaInstance,
553
- value: {
554
- id: this.data.id,
555
- monitorStatusId: this.data.monitorStatusId?.toString(),
556
- filterCondition: this.data.filterCondition,
557
- filters: this.data.filters,
558
- incidents: this.data.incidents,
559
- changeMonitorStatus: this.data.changeMonitorStatus,
560
- createIncidents: this.data.createIncidents,
561
- name: this.data.name,
562
- description: this.data.description,
563
- } as any,
564
- });
493
+ public setFilterCondition(
494
+ filterCondition: FilterCondition,
495
+ ): MonitorCriteriaInstance {
496
+ if (this.data) {
497
+ this.data.filterCondition = filterCondition;
565
498
  }
566
499
 
567
- public static override fromJSON(json: JSONObject): MonitorCriteriaInstance {
568
- if (json instanceof MonitorCriteriaInstance) {
569
- return json;
570
- }
500
+ return this;
501
+ }
571
502
 
572
- if (!json) {
573
- throw new BadDataException('json is null');
574
- }
503
+ public setFilters(filters: Array<CriteriaFilter>): MonitorCriteriaInstance {
504
+ if (this.data) {
505
+ this.data.filters = filters;
506
+ }
575
507
 
576
- if (!json['_type']) {
577
- throw new BadDataException('json._type is null');
578
- }
508
+ return this;
509
+ }
579
510
 
580
- if (json['_type'] !== ObjectType.MonitorCriteriaInstance) {
581
- throw new BadDataException(
582
- 'json._type should be MonitorCriteriaInstance'
583
- );
584
- }
511
+ public setIncidents(
512
+ incidents: Array<CriteriaIncident>,
513
+ ): MonitorCriteriaInstance {
514
+ if (this.data) {
515
+ this.data.incidents = [...incidents];
516
+ }
585
517
 
586
- if (!json['value']) {
587
- throw new BadDataException('json.value is null');
588
- }
518
+ return this;
519
+ }
589
520
 
590
- json = json['value'] as JSONObject;
521
+ public setChangeMonitorStatus(
522
+ changeMonitorStatus: boolean | undefined,
523
+ ): MonitorCriteriaInstance {
524
+ if (this.data) {
525
+ this.data.changeMonitorStatus = changeMonitorStatus;
526
+ }
591
527
 
592
- if (!json['filterCondition']) {
593
- throw new BadDataException('json.filterCondition is null');
594
- }
528
+ return this;
529
+ }
595
530
 
596
- if (!json['filters']) {
597
- throw new BadDataException('json.filters is null');
598
- }
531
+ public setCreateIncidents(
532
+ createIncidents: boolean | undefined,
533
+ ): MonitorCriteriaInstance {
534
+ if (this.data) {
535
+ this.data.createIncidents = createIncidents;
536
+ }
599
537
 
600
- if (!Array.isArray(json['filters'])) {
601
- throw new BadDataException('json.filters should be an array');
602
- }
538
+ return this;
539
+ }
603
540
 
604
- if (!json['incidents']) {
605
- throw new BadDataException('json.incidents is null');
606
- }
541
+ public override toJSON(): JSONObject {
542
+ if (!this.data) {
543
+ return MonitorCriteriaInstance.getNewMonitorCriteriaInstanceAsJSON();
544
+ }
607
545
 
608
- if (!Array.isArray(json['incidents'])) {
609
- throw new BadDataException('json.incidents should be an array');
610
- }
546
+ return JSONFunctions.serialize({
547
+ _type: ObjectType.MonitorCriteriaInstance,
548
+ value: {
549
+ id: this.data.id,
550
+ monitorStatusId: this.data.monitorStatusId?.toString(),
551
+ filterCondition: this.data.filterCondition,
552
+ filters: this.data.filters,
553
+ incidents: this.data.incidents,
554
+ changeMonitorStatus: this.data.changeMonitorStatus,
555
+ createIncidents: this.data.createIncidents,
556
+ name: this.data.name,
557
+ description: this.data.description,
558
+ } as any,
559
+ });
560
+ }
561
+
562
+ public static override fromJSON(json: JSONObject): MonitorCriteriaInstance {
563
+ if (json instanceof MonitorCriteriaInstance) {
564
+ return json;
565
+ }
611
566
 
612
- let monitorStatusId: ObjectID | undefined = undefined;
567
+ if (!json) {
568
+ throw new BadDataException("json is null");
569
+ }
613
570
 
614
- if (
615
- json['monitorStatusId'] &&
616
- typeof json['monitorStatusId'] === Typeof.String
617
- ) {
618
- monitorStatusId = new ObjectID(json['monitorStatusId'] as string);
619
- } else if (
620
- json['monitorStatusId'] &&
621
- (json['monitorStatusId'] as JSONObject)['value'] !== null
622
- ) {
623
- monitorStatusId = new ObjectID(
624
- (json['monitorStatusId'] as JSONObject)['value'] as string
625
- );
626
- }
571
+ if (!json["_type"]) {
572
+ throw new BadDataException("json._type is null");
573
+ }
627
574
 
628
- const filterCondition: FilterCondition = json[
629
- 'filterCondition'
630
- ] as FilterCondition;
575
+ if (json["_type"] !== ObjectType.MonitorCriteriaInstance) {
576
+ throw new BadDataException(
577
+ "json._type should be MonitorCriteriaInstance",
578
+ );
579
+ }
631
580
 
632
- const filters: Array<CriteriaFilter> = [];
581
+ if (!json["value"]) {
582
+ throw new BadDataException("json.value is null");
583
+ }
633
584
 
634
- const incidents: Array<CriteriaIncident> = [];
585
+ json = json["value"] as JSONObject;
635
586
 
636
- for (const filter of json['filters']) {
637
- filters.push({ ...(filter as any) });
638
- }
587
+ if (!json["filterCondition"]) {
588
+ throw new BadDataException("json.filterCondition is null");
589
+ }
639
590
 
640
- for (const incident of json['incidents']) {
641
- incidents.push({ ...(incident as any) });
642
- }
591
+ if (!json["filters"]) {
592
+ throw new BadDataException("json.filters is null");
593
+ }
643
594
 
644
- const monitorCriteriaInstance: MonitorCriteriaInstance =
645
- new MonitorCriteriaInstance();
595
+ if (!Array.isArray(json["filters"])) {
596
+ throw new BadDataException("json.filters should be an array");
597
+ }
646
598
 
647
- monitorCriteriaInstance.data = JSONFunctions.deserialize({
648
- id: (json['id'] as string) || ObjectID.generate().toString(),
649
- monitorStatusId,
650
- filterCondition,
651
- changeMonitorStatus:
652
- (json['changeMonitorStatus'] as boolean) || false,
653
- createIncidents: (json['createIncidents'] as boolean) || false,
654
- filters: filters as any,
655
- incidents: incidents as any,
656
- name: (json['name'] as string) || '',
657
- description: (json['description'] as string) || '',
658
- }) as any;
599
+ if (!json["incidents"]) {
600
+ throw new BadDataException("json.incidents is null");
601
+ }
659
602
 
660
- return monitorCriteriaInstance;
603
+ if (!Array.isArray(json["incidents"])) {
604
+ throw new BadDataException("json.incidents should be an array");
661
605
  }
662
606
 
663
- public static isValid(_json: JSONObject): boolean {
664
- return true;
607
+ let monitorStatusId: ObjectID | undefined = undefined;
608
+
609
+ if (
610
+ json["monitorStatusId"] &&
611
+ typeof json["monitorStatusId"] === Typeof.String
612
+ ) {
613
+ monitorStatusId = new ObjectID(json["monitorStatusId"] as string);
614
+ } else if (
615
+ json["monitorStatusId"] &&
616
+ (json["monitorStatusId"] as JSONObject)["value"] !== null
617
+ ) {
618
+ monitorStatusId = new ObjectID(
619
+ (json["monitorStatusId"] as JSONObject)["value"] as string,
620
+ );
665
621
  }
666
622
 
667
- protected static override toDatabase(
668
- value: MonitorCriteriaInstance | FindOperator<MonitorCriteriaInstance>
669
- ): JSONObject | null {
670
- if (value && value instanceof MonitorCriteriaInstance) {
671
- return (value as MonitorCriteriaInstance).toJSON();
672
- } else if (value) {
673
- return JSONFunctions.serialize(value as any);
674
- }
623
+ const filterCondition: FilterCondition = json[
624
+ "filterCondition"
625
+ ] as FilterCondition;
675
626
 
676
- return null;
627
+ const filters: Array<CriteriaFilter> = [];
628
+
629
+ const incidents: Array<CriteriaIncident> = [];
630
+
631
+ for (const filter of json["filters"]) {
632
+ filters.push({ ...(filter as any) });
677
633
  }
678
634
 
679
- protected static override fromDatabase(
680
- value: JSONObject
681
- ): MonitorCriteriaInstance | null {
682
- if (value) {
683
- return MonitorCriteriaInstance.fromJSON(value);
684
- }
635
+ for (const incident of json["incidents"]) {
636
+ incidents.push({ ...(incident as any) });
637
+ }
685
638
 
686
- return null;
639
+ const monitorCriteriaInstance: MonitorCriteriaInstance =
640
+ new MonitorCriteriaInstance();
641
+
642
+ monitorCriteriaInstance.data = JSONFunctions.deserialize({
643
+ id: (json["id"] as string) || ObjectID.generate().toString(),
644
+ monitorStatusId,
645
+ filterCondition,
646
+ changeMonitorStatus: (json["changeMonitorStatus"] as boolean) || false,
647
+ createIncidents: (json["createIncidents"] as boolean) || false,
648
+ filters: filters as any,
649
+ incidents: incidents as any,
650
+ name: (json["name"] as string) || "",
651
+ description: (json["description"] as string) || "",
652
+ }) as any;
653
+
654
+ return monitorCriteriaInstance;
655
+ }
656
+
657
+ public static isValid(_json: JSONObject): boolean {
658
+ return true;
659
+ }
660
+
661
+ protected static override toDatabase(
662
+ value: MonitorCriteriaInstance | FindOperator<MonitorCriteriaInstance>,
663
+ ): JSONObject | null {
664
+ if (value && value instanceof MonitorCriteriaInstance) {
665
+ return (value as MonitorCriteriaInstance).toJSON();
666
+ } else if (value) {
667
+ return JSONFunctions.serialize(value as any);
687
668
  }
688
669
 
689
- public override toString(): string {
690
- return JSON.stringify(this.toJSON());
670
+ return null;
671
+ }
672
+
673
+ protected static override fromDatabase(
674
+ value: JSONObject,
675
+ ): MonitorCriteriaInstance | null {
676
+ if (value) {
677
+ return MonitorCriteriaInstance.fromJSON(value);
691
678
  }
679
+
680
+ return null;
681
+ }
682
+
683
+ public override toString(): string {
684
+ return JSON.stringify(this.toJSON());
685
+ }
692
686
  }