@oneuptime/common 7.0.2525 → 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 (819) 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 +2 -2
  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 -169
  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 -3461
  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.map +1 -1
  585. package/build/dist/Types/Countries.js.map +1 -1
  586. package/build/dist/Types/Currency.js +3 -3
  587. package/build/dist/Types/Currency.js.map +1 -1
  588. package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
  589. package/build/dist/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.js.map +1 -1
  590. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +2 -2
  591. package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
  592. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +2 -2
  593. package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
  594. package/build/dist/Types/Database/AccessControl/TableAccessControl.js.map +1 -1
  595. package/build/dist/Types/Database/AccessControl/TableBillingAccessControl.js.map +1 -1
  596. package/build/dist/Types/Database/AccessControlColumn.js.map +1 -1
  597. package/build/dist/Types/Database/AllowUserQueryWithoutTenant.js.map +1 -1
  598. package/build/dist/Types/Database/CanAccessIfCanReadOn.js.map +1 -1
  599. package/build/dist/Types/Database/ColumnLength.js +1 -1
  600. package/build/dist/Types/Database/ColumnLength.js.map +1 -1
  601. package/build/dist/Types/Database/ColumnType.js.map +1 -1
  602. package/build/dist/Types/Database/Columns.js.map +1 -1
  603. package/build/dist/Types/Database/CompareBase.js +5 -5
  604. package/build/dist/Types/Database/CompareBase.js.map +1 -1
  605. package/build/dist/Types/Database/CrudApiEndpoint.js.map +1 -1
  606. package/build/dist/Types/Database/CurrentUserCanAccessRecordBy.js.map +1 -1
  607. package/build/dist/Types/Database/DatabaseProperty.js +3 -3
  608. package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
  609. package/build/dist/Types/Database/Date.js +2 -2
  610. package/build/dist/Types/Database/Date.js.map +1 -1
  611. package/build/dist/Types/Database/EnableDocumentation.js +1 -2
  612. package/build/dist/Types/Database/EnableDocumentation.js.map +1 -1
  613. package/build/dist/Types/Database/EnableWorkflow.js.map +1 -1
  614. package/build/dist/Types/Database/IsPermissionsIf.js.map +1 -1
  615. package/build/dist/Types/Database/LabelsColumn.js.map +1 -1
  616. package/build/dist/Types/Database/MultiTenentQueryAllowed.js.map +1 -1
  617. package/build/dist/Types/Database/SlugifyColumn.js.map +1 -1
  618. package/build/dist/Types/Database/TableColumn.js +2 -2
  619. package/build/dist/Types/Database/TableColumn.js.map +1 -1
  620. package/build/dist/Types/Database/TableColumnType.js.map +1 -1
  621. package/build/dist/Types/Database/TableMetadata.js.map +1 -1
  622. package/build/dist/Types/Database/TenantColumn.js.map +1 -1
  623. package/build/dist/Types/Database/TotalItemsBy.js.map +1 -1
  624. package/build/dist/Types/Database/UniqueColumnBy.js +2 -2
  625. package/build/dist/Types/Database/UniqueColumnBy.js.map +1 -1
  626. package/build/dist/Types/DatabaseType.js.map +1 -1
  627. package/build/dist/Types/Date.js +132 -136
  628. package/build/dist/Types/Date.js.map +1 -1
  629. package/build/dist/Types/Day/DayOfWeek.js.map +1 -1
  630. package/build/dist/Types/Decimal.js +8 -8
  631. package/build/dist/Types/Decimal.js.map +1 -1
  632. package/build/dist/Types/DiskSize.js +3 -3
  633. package/build/dist/Types/DiskSize.js.map +1 -1
  634. package/build/dist/Types/Domain.js +13 -13
  635. package/build/dist/Types/Domain.js.map +1 -1
  636. package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
  637. package/build/dist/Types/Email.js +32 -32
  638. package/build/dist/Types/Email.js.map +1 -1
  639. package/build/dist/Types/EmailWithName.js +4 -4
  640. package/build/dist/Types/EmailWithName.js.map +1 -1
  641. package/build/dist/Types/EncryptionAlgorithm.js.map +1 -1
  642. package/build/dist/Types/Events/EventInterval.js.map +1 -1
  643. package/build/dist/Types/Events/Recurring.js +15 -15
  644. package/build/dist/Types/Events/Recurring.js.map +1 -1
  645. package/build/dist/Types/Exception/ApiException.js +2 -2
  646. package/build/dist/Types/Exception/ApiException.js.map +1 -1
  647. package/build/dist/Types/Exception/BadDataException.js +2 -2
  648. package/build/dist/Types/Exception/BadDataException.js.map +1 -1
  649. package/build/dist/Types/Exception/BadOperationException.js +2 -2
  650. package/build/dist/Types/Exception/BadOperationException.js.map +1 -1
  651. package/build/dist/Types/Exception/BadRequestException.js +2 -2
  652. package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
  653. package/build/dist/Types/Exception/DatabaseNotConnectedException.js +3 -3
  654. package/build/dist/Types/Exception/DatabaseNotConnectedException.js.map +1 -1
  655. package/build/dist/Types/Exception/Exception.js +1 -1
  656. package/build/dist/Types/Exception/Exception.js.map +1 -1
  657. package/build/dist/Types/Exception/ExceptionCode.js.map +1 -1
  658. package/build/dist/Types/Exception/NotAuthenticatedException.js +2 -2
  659. package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
  660. package/build/dist/Types/Exception/NotAuthorizedException.js +2 -2
  661. package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
  662. package/build/dist/Types/Exception/NotFoundException.js +2 -2
  663. package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
  664. package/build/dist/Types/Exception/NotImplementedException.js +3 -3
  665. package/build/dist/Types/Exception/NotImplementedException.js.map +1 -1
  666. package/build/dist/Types/Exception/PaymentRequiredException.js +2 -2
  667. package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
  668. package/build/dist/Types/Exception/ServerException.js +3 -3
  669. package/build/dist/Types/Exception/ServerException.js.map +1 -1
  670. package/build/dist/Types/Exception/SsoAuthorizationException.js +3 -3
  671. package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
  672. package/build/dist/Types/Exception/TenantNotFoundException.js +2 -2
  673. package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
  674. package/build/dist/Types/Exception/TimeoutException.js +2 -2
  675. package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
  676. package/build/dist/Types/Exception/UnableToReachServer.js +2 -2
  677. package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
  678. package/build/dist/Types/Exception/WebsiteRequestException.js +2 -2
  679. package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
  680. package/build/dist/Types/File/MimeType.js.map +1 -1
  681. package/build/dist/Types/Filter/FilterCondition.js.map +1 -1
  682. package/build/dist/Types/Filter/FilterType.js.map +1 -1
  683. package/build/dist/Types/HashCode.js.map +1 -1
  684. package/build/dist/Types/HashedString.js +14 -14
  685. package/build/dist/Types/HashedString.js.map +1 -1
  686. package/build/dist/Types/Html.js +1 -1
  687. package/build/dist/Types/Html.js.map +1 -1
  688. package/build/dist/Types/IP/IP.js +13 -13
  689. package/build/dist/Types/IP/IP.js.map +1 -1
  690. package/build/dist/Types/IP/IPType.js.map +1 -1
  691. package/build/dist/Types/IP/IPv4.js +3 -3
  692. package/build/dist/Types/IP/IPv4.js.map +1 -1
  693. package/build/dist/Types/IP/IPv6.js +3 -3
  694. package/build/dist/Types/IP/IPv6.js.map +1 -1
  695. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  696. package/build/dist/Types/Infrastructure/OSType.js.map +1 -1
  697. package/build/dist/Types/JSON.js.map +1 -1
  698. package/build/dist/Types/JSONFunctions.js +33 -35
  699. package/build/dist/Types/JSONFunctions.js.map +1 -1
  700. package/build/dist/Types/ListData.js.map +1 -1
  701. package/build/dist/Types/Mail/MailStatus.js.map +1 -1
  702. package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
  703. package/build/dist/Types/Monitor/CriteriaFilter.js +1 -1
  704. package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
  705. package/build/dist/Types/Monitor/MonitorCriteria.js +17 -19
  706. package/build/dist/Types/Monitor/MonitorCriteria.js.map +1 -1
  707. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +54 -55
  708. package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
  709. package/build/dist/Types/Monitor/MonitorStep.js +48 -52
  710. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  711. package/build/dist/Types/Monitor/MonitorSteps.js +19 -19
  712. package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
  713. package/build/dist/Types/Monitor/MonitorType.js +23 -23
  714. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  715. package/build/dist/Types/Monitor/SyntheticMonitors/BrowserType.js +1 -1
  716. package/build/dist/Types/Monitor/SyntheticMonitors/ScreenSizeType.js +1 -1
  717. package/build/dist/Types/Name.js +16 -16
  718. package/build/dist/Types/Name.js.map +1 -1
  719. package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -1
  720. package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
  721. package/build/dist/Types/ObjectID.js +15 -15
  722. package/build/dist/Types/ObjectID.js.map +1 -1
  723. package/build/dist/Types/OnCallDutyPolicy/Layer.js +14 -18
  724. package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
  725. package/build/dist/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.js.map +1 -1
  726. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.js.map +1 -1
  727. package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js.map +1 -1
  728. package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js +14 -14
  729. package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js.map +1 -1
  730. package/build/dist/Types/Operation/OperationResult.js.map +1 -1
  731. package/build/dist/Types/Operation/OperationStatus.js.map +1 -1
  732. package/build/dist/Types/Permission.js +696 -696
  733. package/build/dist/Types/Permission.js.map +1 -1
  734. package/build/dist/Types/Phone.js +8 -8
  735. package/build/dist/Types/Phone.js.map +1 -1
  736. package/build/dist/Types/Port.js +11 -11
  737. package/build/dist/Types/Port.js.map +1 -1
  738. package/build/dist/Types/PositiveNumber.js +7 -8
  739. package/build/dist/Types/PositiveNumber.js.map +1 -1
  740. package/build/dist/Types/SMS/SmsTemplateType.js.map +1 -1
  741. package/build/dist/Types/SSO/DigestMethod.js.map +1 -1
  742. package/build/dist/Types/SSO/SignatureMethod.js.map +1 -1
  743. package/build/dist/Types/ScheduledEvent/ScheduledEventState.js.map +1 -1
  744. package/build/dist/Types/ScreenSizeType.js.map +1 -1
  745. package/build/dist/Types/SecuritySeverity.js.map +1 -1
  746. package/build/dist/Types/SerializableObject.js +1 -1
  747. package/build/dist/Types/SerializableObject.js.map +1 -1
  748. package/build/dist/Types/SerializableObjectDictionary.js +29 -29
  749. package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
  750. package/build/dist/Types/ServiceCatalog/ServiceLanguage.js +21 -0
  751. package/build/dist/Types/ServiceCatalog/ServiceLanguage.js.map +1 -0
  752. package/build/dist/Types/Sleep.js.map +1 -1
  753. package/build/dist/Types/SmsStatus.js.map +1 -1
  754. package/build/dist/Types/StatusPage/StatusPageChartType.js.map +1 -1
  755. package/build/dist/Types/Text.js +35 -35
  756. package/build/dist/Types/Text.js.map +1 -1
  757. package/build/dist/Types/Timezone.js.map +1 -1
  758. package/build/dist/Types/TimezoneCode.js +64 -0
  759. package/build/dist/Types/TimezoneCode.js.map +1 -0
  760. package/build/dist/Types/Typeof.js.map +1 -1
  761. package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
  762. package/build/dist/Types/UserNotification/UserNotificationExecutionStatus.js.map +1 -1
  763. package/build/dist/Types/UserNotification/UserNotificationStatus.js.map +1 -1
  764. package/build/dist/Types/UserType.js.map +1 -1
  765. package/build/dist/Types/Version.js +9 -9
  766. package/build/dist/Types/Version.js.map +1 -1
  767. package/build/dist/Types/WebsiteRequest.js +3 -3
  768. package/build/dist/Types/WebsiteRequest.js.map +1 -1
  769. package/build/dist/Types/Workflow/Component.js.map +1 -1
  770. package/build/dist/Types/Workflow/ComponentID.js.map +1 -1
  771. package/build/dist/Types/Workflow/Components/API.js +139 -139
  772. package/build/dist/Types/Workflow/Components/API.js.map +1 -1
  773. package/build/dist/Types/Workflow/Components/BaseModel.js +139 -139
  774. package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
  775. package/build/dist/Types/Workflow/Components/Condition.js +27 -27
  776. package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
  777. package/build/dist/Types/Workflow/Components/Email.js +44 -44
  778. package/build/dist/Types/Workflow/Components/Email.js.map +1 -1
  779. package/build/dist/Types/Workflow/Components/JSON.js +60 -60
  780. package/build/dist/Types/Workflow/Components/JSON.js.map +1 -1
  781. package/build/dist/Types/Workflow/Components/JavaScript.js +26 -26
  782. package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -1
  783. package/build/dist/Types/Workflow/Components/Log.js +15 -15
  784. package/build/dist/Types/Workflow/Components/Log.js.map +1 -1
  785. package/build/dist/Types/Workflow/Components/Manual.js +12 -12
  786. package/build/dist/Types/Workflow/Components/Manual.js.map +1 -1
  787. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js +26 -26
  788. package/build/dist/Types/Workflow/Components/MicrosoftTeams.js.map +1 -1
  789. package/build/dist/Types/Workflow/Components/Schedule.js +12 -12
  790. package/build/dist/Types/Workflow/Components/Schedule.js.map +1 -1
  791. package/build/dist/Types/Workflow/Components/Slack.js +26 -26
  792. package/build/dist/Types/Workflow/Components/Slack.js.map +1 -1
  793. package/build/dist/Types/Workflow/Components/Webhook.js +20 -20
  794. package/build/dist/Types/Workflow/Components/Webhook.js.map +1 -1
  795. package/build/dist/Types/Workflow/Components/Workflow.js +15 -15
  796. package/build/dist/Types/Workflow/Components/Workflow.js.map +1 -1
  797. package/build/dist/Types/Workflow/Components.js +33 -33
  798. package/build/dist/Types/Workflow/Components.js.map +1 -1
  799. package/build/dist/Types/Workflow/WorkflowPlan.js.map +1 -1
  800. package/build/dist/Types/Workflow/WorkflowStatus.js.map +1 -1
  801. package/build/dist/Types/XML.js +3 -3
  802. package/build/dist/Types/XML.js.map +1 -1
  803. package/build/dist/Utils/API.js +66 -16
  804. package/build/dist/Utils/API.js.map +1 -1
  805. package/build/dist/Utils/Analytics.js +1 -1
  806. package/build/dist/Utils/Analytics.js.map +1 -1
  807. package/build/dist/Utils/CronTime.js +7 -7
  808. package/build/dist/Utils/Enum.js +9 -0
  809. package/build/dist/Utils/Enum.js.map +1 -0
  810. package/build/dist/Utils/Faker.js +5 -5
  811. package/build/dist/Utils/Faker.js.map +1 -1
  812. package/build/dist/Utils/ObjectUtil.js.map +1 -1
  813. package/build/dist/Utils/Realtime.js +1 -1
  814. package/build/dist/Utils/Realtime.js.map +1 -1
  815. package/build/dist/Utils/Slug.js +3 -3
  816. package/build/dist/Utils/Slug.js.map +1 -1
  817. package/build/dist/Utils/UUID.js +1 -1
  818. package/build/dist/Utils/UUID.js.map +1 -1
  819. package/package.json +3 -3
@@ -1,468 +1,462 @@
1
- import Route from '../Types/API/Route';
2
- import AnalyticsTableEngine from '../Types/AnalyticsDatabase/AnalyticsTableEngine';
3
- import AnalyticsTableColumn from '../Types/AnalyticsDatabase/TableColumn';
4
- import TableColumnType from '../Types/AnalyticsDatabase/TableColumnType';
1
+ import Route from "../Types/API/Route";
2
+ import AnalyticsTableEngine from "../Types/AnalyticsDatabase/AnalyticsTableEngine";
3
+ import AnalyticsTableColumn from "../Types/AnalyticsDatabase/TableColumn";
4
+ import TableColumnType from "../Types/AnalyticsDatabase/TableColumnType";
5
5
  import {
6
- ColumnAccessControl,
7
- TableAccessControl,
8
- } from '../Types/BaseDatabase/AccessControl';
9
- import ColumnBillingAccessControl from '../Types/BaseDatabase/ColumnBillingAccessControl';
10
- import EnableWorkflowOn from '../Types/BaseDatabase/EnableWorkflowOn';
11
- import ModelPermission from '../Types/BaseDatabase/ModelPermission';
12
- import TableBillingAccessControl from '../Types/BaseDatabase/TableBillingAccessControl';
13
- import { PlanSelect } from '../Types/Billing/SubscriptionPlan';
14
- import Dictionary from '../Types/Dictionary';
15
- import BadDataException from '../Types/Exception/BadDataException';
16
- import { JSONValue } from '../Types/JSON';
17
- import ObjectID from '../Types/ObjectID';
18
- import Permission, { UserTenantAccessPermission } from '../Types/Permission';
19
- import Text from '../Types/Text';
20
- import { EnableRealtimeEventsOn } from '../Utils/Realtime';
21
- import CommonModel from './CommonModel';
6
+ ColumnAccessControl,
7
+ TableAccessControl,
8
+ } from "../Types/BaseDatabase/AccessControl";
9
+ import ColumnBillingAccessControl from "../Types/BaseDatabase/ColumnBillingAccessControl";
10
+ import EnableWorkflowOn from "../Types/BaseDatabase/EnableWorkflowOn";
11
+ import ModelPermission from "../Types/BaseDatabase/ModelPermission";
12
+ import TableBillingAccessControl from "../Types/BaseDatabase/TableBillingAccessControl";
13
+ import { PlanSelect } from "../Types/Billing/SubscriptionPlan";
14
+ import Dictionary from "../Types/Dictionary";
15
+ import BadDataException from "../Types/Exception/BadDataException";
16
+ import { JSONValue } from "../Types/JSON";
17
+ import ObjectID from "../Types/ObjectID";
18
+ import Permission, { UserTenantAccessPermission } from "../Types/Permission";
19
+ import Text from "../Types/Text";
20
+ import { EnableRealtimeEventsOn } from "../Utils/Realtime";
21
+ import CommonModel from "./CommonModel";
22
22
 
23
23
  export type AnalyticsBaseModelType = { new (): AnalyticsBaseModel };
24
24
 
25
25
  export default class AnalyticsBaseModel extends CommonModel {
26
- public constructor(data: {
27
- tableName: string;
28
- singularName: string;
29
- pluralName: string;
30
- tableEngine?: AnalyticsTableEngine | undefined;
31
- tableColumns: Array<AnalyticsTableColumn>;
32
- crudApiPath: Route;
33
- allowAccessIfSubscriptionIsUnpaid?: boolean | undefined;
34
- tableBillingAccessControl?: TableBillingAccessControl | undefined;
35
- accessControl?: TableAccessControl | undefined;
36
- primaryKeys: Array<string>; // this should be the subset of tableColumns
37
- enableWorkflowOn?: EnableWorkflowOn | undefined;
38
- enableRealtimeEventsOn?: EnableRealtimeEventsOn | undefined;
39
- }) {
40
- super({
41
- tableColumns: data.tableColumns,
42
- });
43
-
44
- this.tableName = data.tableName;
45
-
46
- const columns: Array<AnalyticsTableColumn> = [...data.tableColumns];
47
-
48
- if (data.tableEngine) {
49
- this.tableEngine = data.tableEngine;
50
- }
51
-
52
- columns.push(
53
- new AnalyticsTableColumn({
54
- key: '_id',
55
- title: 'ID',
56
- description: 'ID of this object',
57
- required: true,
58
- type: TableColumnType.ObjectID,
59
- })
26
+ public constructor(data: {
27
+ tableName: string;
28
+ singularName: string;
29
+ pluralName: string;
30
+ tableEngine?: AnalyticsTableEngine | undefined;
31
+ tableColumns: Array<AnalyticsTableColumn>;
32
+ crudApiPath: Route;
33
+ allowAccessIfSubscriptionIsUnpaid?: boolean | undefined;
34
+ tableBillingAccessControl?: TableBillingAccessControl | undefined;
35
+ accessControl?: TableAccessControl | undefined;
36
+ primaryKeys: Array<string>; // this should be the subset of tableColumns
37
+ enableWorkflowOn?: EnableWorkflowOn | undefined;
38
+ enableRealtimeEventsOn?: EnableRealtimeEventsOn | undefined;
39
+ }) {
40
+ super({
41
+ tableColumns: data.tableColumns,
42
+ });
43
+
44
+ this.tableName = data.tableName;
45
+
46
+ const columns: Array<AnalyticsTableColumn> = [...data.tableColumns];
47
+
48
+ if (data.tableEngine) {
49
+ this.tableEngine = data.tableEngine;
50
+ }
51
+
52
+ columns.push(
53
+ new AnalyticsTableColumn({
54
+ key: "_id",
55
+ title: "ID",
56
+ description: "ID of this object",
57
+ required: true,
58
+ type: TableColumnType.ObjectID,
59
+ }),
60
+ );
61
+
62
+ columns.push(
63
+ new AnalyticsTableColumn({
64
+ key: "createdAt",
65
+ title: "Created",
66
+ description: "Date and Time when the object was created.",
67
+ required: true,
68
+ type: TableColumnType.Date,
69
+ }),
70
+ );
71
+
72
+ columns.push(
73
+ new AnalyticsTableColumn({
74
+ key: "updatedAt",
75
+ title: "Updated",
76
+ description: "Date and Time when the object was updated.",
77
+ required: true,
78
+ type: TableColumnType.Date,
79
+ }),
80
+ );
81
+
82
+ if (!data.primaryKeys || data.primaryKeys.length === 0) {
83
+ throw new BadDataException("Primary keys are required");
84
+ }
85
+
86
+ // check if primary keys are subset of tableColumns
87
+
88
+ data.primaryKeys.forEach((primaryKey: string) => {
89
+ const column: AnalyticsTableColumn | undefined = columns.find(
90
+ (column: AnalyticsTableColumn) => {
91
+ return column.key === primaryKey;
92
+ },
93
+ );
94
+
95
+ if (!column) {
96
+ throw new BadDataException(
97
+ "Primary key " + primaryKey + " is not part of tableColumns",
60
98
  );
99
+ }
61
100
 
62
- columns.push(
63
- new AnalyticsTableColumn({
64
- key: 'createdAt',
65
- title: 'Created',
66
- description: 'Date and Time when the object was created.',
67
- required: true,
68
- type: TableColumnType.Date,
69
- })
101
+ if (!column.required) {
102
+ throw new BadDataException(
103
+ "Primary key " +
104
+ primaryKey +
105
+ " is not required. Primary keys must be required.",
70
106
  );
107
+ }
108
+ });
109
+
110
+ this.primaryKeys = data.primaryKeys;
111
+ this.tableColumns = columns;
112
+ this.singularName = data.singularName;
113
+ this.pluralName = data.pluralName;
114
+ this.tableBillingAccessControl = data.tableBillingAccessControl;
115
+ this.allowAccessIfSubscriptionIsUnpaid =
116
+ data.allowAccessIfSubscriptionIsUnpaid || false;
117
+ this.accessControl = data.accessControl;
118
+ this.enableWorkflowOn = data.enableWorkflowOn;
119
+ this.crudApiPath = data.crudApiPath;
120
+ this.enableRealtimeEventsOn = data.enableRealtimeEventsOn;
121
+
122
+ // initialize Arrays.
123
+ for (const column of this.tableColumns) {
124
+ if (column.type === TableColumnType.NestedModel) {
125
+ this.setColumnValue(column.key, []);
126
+ }
127
+ }
128
+ }
129
+
130
+ private _enableWorkflowOn: EnableWorkflowOn | undefined;
131
+ public get enableWorkflowOn(): EnableWorkflowOn | undefined {
132
+ return this._enableWorkflowOn;
133
+ }
134
+ public set enableWorkflowOn(v: EnableWorkflowOn | undefined) {
135
+ this._enableWorkflowOn = v;
136
+ }
137
+
138
+ private _accessControl: TableAccessControl | undefined;
139
+ public get accessControl(): TableAccessControl | undefined {
140
+ return this._accessControl;
141
+ }
142
+ public set accessControl(v: TableAccessControl | undefined) {
143
+ this._accessControl = v;
144
+ }
145
+
146
+ private _tableEngine: AnalyticsTableEngine = AnalyticsTableEngine.MergeTree;
147
+ public get tableEngine(): AnalyticsTableEngine {
148
+ return this._tableEngine;
149
+ }
150
+ public set tableEngine(v: AnalyticsTableEngine) {
151
+ this._tableEngine = v;
152
+ }
153
+
154
+ private _enableRealtimeEventsOn: EnableRealtimeEventsOn | undefined;
155
+ public get enableRealtimeEventsOn(): EnableRealtimeEventsOn | undefined {
156
+ return this._enableRealtimeEventsOn;
157
+ }
158
+ public set enableRealtimeEventsOn(v: EnableRealtimeEventsOn | undefined) {
159
+ this._enableRealtimeEventsOn = v;
160
+ }
161
+
162
+ private _primaryKeys: Array<string> = [];
163
+ public get primaryKeys(): Array<string> {
164
+ return this._primaryKeys;
165
+ }
166
+ public set primaryKeys(v: Array<string>) {
167
+ this._primaryKeys = v;
168
+ }
169
+
170
+ private _singularName: string = "";
171
+ public get singularName(): string {
172
+ return this._singularName;
173
+ }
174
+ public set singularName(v: string) {
175
+ this._singularName = v;
176
+ }
177
+
178
+ private _pluralName: string = "";
179
+ public get pluralName(): string {
180
+ return this._pluralName;
181
+ }
182
+ public set pluralName(v: string) {
183
+ this._pluralName = v;
184
+ }
185
+
186
+ private _tableBillingAccessControl: TableBillingAccessControl | undefined;
187
+ public get tableBillingAccessControl():
188
+ | TableBillingAccessControl
189
+ | undefined {
190
+ return this._tableBillingAccessControl;
191
+ }
192
+ public set tableBillingAccessControl(
193
+ v: TableBillingAccessControl | undefined,
194
+ ) {
195
+ this._tableBillingAccessControl = v;
196
+ }
197
+
198
+ private _allowAccessIfSubscriptionIsUnpaid: boolean = false;
199
+ public get allowAccessIfSubscriptionIsUnpaid(): boolean {
200
+ return this._allowAccessIfSubscriptionIsUnpaid;
201
+ }
202
+ public set allowAccessIfSubscriptionIsUnpaid(v: boolean) {
203
+ this._allowAccessIfSubscriptionIsUnpaid = v;
204
+ }
205
+
206
+ private _tableName: string = "";
207
+ public get tableName(): string {
208
+ return this._tableName;
209
+ }
210
+ public set tableName(v: string) {
211
+ this._tableName = v;
212
+ }
213
+
214
+ private _crudApiPath!: Route;
215
+ public get crudApiPath(): Route {
216
+ return this._crudApiPath;
217
+ }
218
+ public set crudApiPath(v: Route) {
219
+ this._crudApiPath = v;
220
+ }
221
+
222
+ public getTenantColumn(): AnalyticsTableColumn | null {
223
+ const column: AnalyticsTableColumn | undefined = this.tableColumns.find(
224
+ (column: AnalyticsTableColumn) => {
225
+ return column.isTenantId;
226
+ },
227
+ );
228
+
229
+ if (!column) {
230
+ return null;
231
+ }
232
+
233
+ return column;
234
+ }
235
+
236
+ public getTenantColumnValue(): ObjectID | null {
237
+ const column: AnalyticsTableColumn | null = this.getTenantColumn();
238
+
239
+ if (!column) {
240
+ return null;
241
+ }
242
+
243
+ return this.getColumnValue(column.key) as ObjectID | null;
244
+ }
245
+
246
+ public getRequiredColumns(): Array<AnalyticsTableColumn> {
247
+ return this.tableColumns.filter((column: AnalyticsTableColumn) => {
248
+ return column.required;
249
+ });
250
+ }
251
+
252
+ public isDefaultValueColumn(columnName: string): boolean {
253
+ const column: AnalyticsTableColumn | null = this.getTableColumn(columnName);
254
+
255
+ if (!column) {
256
+ return false;
257
+ }
258
+
259
+ return column.isDefaultValueColumn;
260
+ }
261
+
262
+ public getDefaultValueForColumn(columnName: string): JSONValue {
263
+ const column: AnalyticsTableColumn | null = this.getTableColumn(columnName);
264
+
265
+ if (!column) {
266
+ throw new BadDataException("Column " + columnName + " not found");
267
+ }
268
+
269
+ return column.defaultValue;
270
+ }
271
+
272
+ public getColumnBillingAccessControl(
273
+ columnName: string,
274
+ ): ColumnBillingAccessControl | null {
275
+ const column: AnalyticsTableColumn | null = this.getTableColumn(columnName);
71
276
 
72
- columns.push(
73
- new AnalyticsTableColumn({
74
- key: 'updatedAt',
75
- title: 'Updated',
76
- description: 'Date and Time when the object was updated.',
77
- required: true,
78
- type: TableColumnType.Date,
79
- })
80
- );
81
-
82
- if (!data.primaryKeys || data.primaryKeys.length === 0) {
83
- throw new BadDataException('Primary keys are required');
84
- }
85
-
86
- // check if primary keys are subset of tableColumns
87
-
88
- data.primaryKeys.forEach((primaryKey: string) => {
89
- const column: AnalyticsTableColumn | undefined = columns.find(
90
- (column: AnalyticsTableColumn) => {
91
- return column.key === primaryKey;
92
- }
93
- );
94
-
95
- if (!column) {
96
- throw new BadDataException(
97
- 'Primary key ' + primaryKey + ' is not part of tableColumns'
98
- );
99
- }
100
-
101
- if (!column.required) {
102
- throw new BadDataException(
103
- 'Primary key ' +
104
- primaryKey +
105
- ' is not required. Primary keys must be required.'
106
- );
107
- }
108
- });
109
-
110
- this.primaryKeys = data.primaryKeys;
111
- this.tableColumns = columns;
112
- this.singularName = data.singularName;
113
- this.pluralName = data.pluralName;
114
- this.tableBillingAccessControl = data.tableBillingAccessControl;
115
- this.allowAccessIfSubscriptionIsUnpaid =
116
- data.allowAccessIfSubscriptionIsUnpaid || false;
117
- this.accessControl = data.accessControl;
118
- this.enableWorkflowOn = data.enableWorkflowOn;
119
- this.crudApiPath = data.crudApiPath;
120
- this.enableRealtimeEventsOn = data.enableRealtimeEventsOn;
121
-
122
- // initialize Arrays.
123
- for (const column of this.tableColumns) {
124
- if (column.type === TableColumnType.NestedModel) {
125
- this.setColumnValue(column.key, []);
126
- }
127
- }
128
- }
129
-
130
- private _enableWorkflowOn: EnableWorkflowOn | undefined;
131
- public get enableWorkflowOn(): EnableWorkflowOn | undefined {
132
- return this._enableWorkflowOn;
133
- }
134
- public set enableWorkflowOn(v: EnableWorkflowOn | undefined) {
135
- this._enableWorkflowOn = v;
136
- }
137
-
138
- private _accessControl: TableAccessControl | undefined;
139
- public get accessControl(): TableAccessControl | undefined {
140
- return this._accessControl;
141
- }
142
- public set accessControl(v: TableAccessControl | undefined) {
143
- this._accessControl = v;
144
- }
145
-
146
- private _tableEngine: AnalyticsTableEngine = AnalyticsTableEngine.MergeTree;
147
- public get tableEngine(): AnalyticsTableEngine {
148
- return this._tableEngine;
149
- }
150
- public set tableEngine(v: AnalyticsTableEngine) {
151
- this._tableEngine = v;
152
- }
153
-
154
- private _enableRealtimeEventsOn: EnableRealtimeEventsOn | undefined;
155
- public get enableRealtimeEventsOn(): EnableRealtimeEventsOn | undefined {
156
- return this._enableRealtimeEventsOn;
157
- }
158
- public set enableRealtimeEventsOn(v: EnableRealtimeEventsOn | undefined) {
159
- this._enableRealtimeEventsOn = v;
160
- }
161
-
162
- private _primaryKeys: Array<string> = [];
163
- public get primaryKeys(): Array<string> {
164
- return this._primaryKeys;
165
- }
166
- public set primaryKeys(v: Array<string>) {
167
- this._primaryKeys = v;
168
- }
169
-
170
- private _singularName: string = '';
171
- public get singularName(): string {
172
- return this._singularName;
173
- }
174
- public set singularName(v: string) {
175
- this._singularName = v;
176
- }
177
-
178
- private _pluralName: string = '';
179
- public get pluralName(): string {
180
- return this._pluralName;
181
- }
182
- public set pluralName(v: string) {
183
- this._pluralName = v;
184
- }
185
-
186
- private _tableBillingAccessControl: TableBillingAccessControl | undefined;
187
- public get tableBillingAccessControl():
188
- | TableBillingAccessControl
189
- | undefined {
190
- return this._tableBillingAccessControl;
191
- }
192
- public set tableBillingAccessControl(
193
- v: TableBillingAccessControl | undefined
194
- ) {
195
- this._tableBillingAccessControl = v;
196
- }
197
-
198
- private _allowAccessIfSubscriptionIsUnpaid: boolean = false;
199
- public get allowAccessIfSubscriptionIsUnpaid(): boolean {
200
- return this._allowAccessIfSubscriptionIsUnpaid;
201
- }
202
- public set allowAccessIfSubscriptionIsUnpaid(v: boolean) {
203
- this._allowAccessIfSubscriptionIsUnpaid = v;
204
- }
205
-
206
- private _tableName: string = '';
207
- public get tableName(): string {
208
- return this._tableName;
209
- }
210
- public set tableName(v: string) {
211
- this._tableName = v;
212
- }
213
-
214
- private _crudApiPath!: Route;
215
- public get crudApiPath(): Route {
216
- return this._crudApiPath;
217
- }
218
- public set crudApiPath(v: Route) {
219
- this._crudApiPath = v;
220
- }
221
-
222
- public getTenantColumn(): AnalyticsTableColumn | null {
223
- const column: AnalyticsTableColumn | undefined = this.tableColumns.find(
224
- (column: AnalyticsTableColumn) => {
225
- return column.isTenantId;
226
- }
227
- );
228
-
229
- if (!column) {
230
- return null;
231
- }
232
-
233
- return column;
234
- }
235
-
236
- public getTenantColumnValue(): ObjectID | null {
237
- const column: AnalyticsTableColumn | null = this.getTenantColumn();
238
-
239
- if (!column) {
240
- return null;
241
- }
242
-
243
- return this.getColumnValue(column.key) as ObjectID | null;
244
- }
245
-
246
- public getRequiredColumns(): Array<AnalyticsTableColumn> {
247
- return this.tableColumns.filter((column: AnalyticsTableColumn) => {
248
- return column.required;
249
- });
250
- }
251
-
252
- public isDefaultValueColumn(columnName: string): boolean {
253
- const column: AnalyticsTableColumn | null =
254
- this.getTableColumn(columnName);
255
-
256
- if (!column) {
257
- return false;
258
- }
259
-
260
- return column.isDefaultValueColumn;
261
- }
277
+ if (!column) {
278
+ return null;
279
+ }
280
+
281
+ return column.billingAccessControl || null;
282
+ }
262
283
 
263
- public getDefaultValueForColumn(columnName: string): JSONValue {
264
- const column: AnalyticsTableColumn | null =
265
- this.getTableColumn(columnName);
284
+ public get id(): ObjectID | undefined {
285
+ return this.getColumnValue("_id") as ObjectID | undefined;
286
+ }
287
+ public set id(v: ObjectID | undefined) {
288
+ this.setColumnValue("_id", v);
289
+ }
266
290
 
267
- if (!column) {
268
- throw new BadDataException('Column ' + columnName + ' not found');
269
- }
291
+ public get _id(): ObjectID | undefined {
292
+ return this.getColumnValue("_id") as ObjectID | undefined;
293
+ }
294
+ public set _id(v: ObjectID | undefined) {
295
+ this.setColumnValue("_id", v);
296
+ }
270
297
 
271
- return column.defaultValue;
272
- }
273
-
274
- public getColumnBillingAccessControl(
275
- columnName: string
276
- ): ColumnBillingAccessControl | null {
277
- const column: AnalyticsTableColumn | null =
278
- this.getTableColumn(columnName);
279
-
280
- if (!column) {
281
- return null;
282
- }
283
-
284
- return column.billingAccessControl || null;
285
- }
286
-
287
- public get id(): ObjectID | undefined {
288
- return this.getColumnValue('_id') as ObjectID | undefined;
289
- }
290
- public set id(v: ObjectID | undefined) {
291
- this.setColumnValue('_id', v);
292
- }
293
-
294
- public get _id(): ObjectID | undefined {
295
- return this.getColumnValue('_id') as ObjectID | undefined;
296
- }
297
- public set _id(v: ObjectID | undefined) {
298
- this.setColumnValue('_id', v);
299
- }
300
-
301
- public get createdAt(): Date | undefined {
302
- return this.getColumnValue('createdAt') as Date | undefined;
303
- }
298
+ public get createdAt(): Date | undefined {
299
+ return this.getColumnValue("createdAt") as Date | undefined;
300
+ }
304
301
 
305
- public set createdAt(v: Date | undefined) {
306
- this.setColumnValue('createdAt', v);
307
- }
302
+ public set createdAt(v: Date | undefined) {
303
+ this.setColumnValue("createdAt", v);
304
+ }
308
305
 
309
- public get updatedAt(): Date | undefined {
310
- return this.getColumnValue('updatedAt') as Date | undefined;
311
- }
306
+ public get updatedAt(): Date | undefined {
307
+ return this.getColumnValue("updatedAt") as Date | undefined;
308
+ }
312
309
 
313
- public set updatedAt(v: Date | undefined) {
314
- this.setColumnValue('updatedAt', v);
315
- }
310
+ public set updatedAt(v: Date | undefined) {
311
+ this.setColumnValue("updatedAt", v);
312
+ }
316
313
 
317
- public getAPIDocumentationPath(): string {
318
- return Text.pascalCaseToDashes(this.tableName);
319
- }
314
+ public getAPIDocumentationPath(): string {
315
+ return Text.pascalCaseToDashes(this.tableName);
316
+ }
320
317
 
321
- public getColumnAccessControlFor(
322
- columnName: string
323
- ): ColumnAccessControl | null {
324
- const tableColumn: AnalyticsTableColumn | undefined =
325
- this.tableColumns.find((column: AnalyticsTableColumn) => {
326
- return column.key === columnName;
327
- });
318
+ public getColumnAccessControlFor(
319
+ columnName: string,
320
+ ): ColumnAccessControl | null {
321
+ const tableColumn: AnalyticsTableColumn | undefined =
322
+ this.tableColumns.find((column: AnalyticsTableColumn) => {
323
+ return column.key === columnName;
324
+ });
328
325
 
329
- if (!tableColumn || !tableColumn.accessControl) {
330
- return null;
331
- }
332
-
333
- return tableColumn.accessControl;
326
+ if (!tableColumn || !tableColumn.accessControl) {
327
+ return null;
334
328
  }
335
329
 
336
- public getColumnAccessControlForAllColumns(): Dictionary<ColumnAccessControl> {
337
- const dictionary: Dictionary<ColumnAccessControl> = {};
338
-
339
- for (const column of this.tableColumns) {
340
- if (column.accessControl) {
341
- dictionary[column.key] = column.accessControl;
342
- }
343
- }
330
+ return tableColumn.accessControl;
331
+ }
344
332
 
345
- return dictionary;
346
- }
347
-
348
- public getReadPermissions(): Array<Permission> {
349
- return this.accessControl?.read || [];
350
- }
351
-
352
- public getCreatePermissions(): Array<Permission> {
353
- return this.accessControl?.create || [];
354
- }
355
-
356
- public getUpdatePermissions(): Array<Permission> {
357
- return this.accessControl?.update || [];
358
- }
333
+ public getColumnAccessControlForAllColumns(): Dictionary<ColumnAccessControl> {
334
+ const dictionary: Dictionary<ColumnAccessControl> = {};
359
335
 
360
- public getDeletePermissions(): Array<Permission> {
361
- return this.accessControl?.delete || [];
336
+ for (const column of this.tableColumns) {
337
+ if (column.accessControl) {
338
+ dictionary[column.key] = column.accessControl;
339
+ }
362
340
  }
363
341
 
364
- public getReadBillingPlan(): PlanSelect | null {
365
- return this.tableBillingAccessControl?.read || null;
366
- }
367
-
368
- public getCreateBillingPlan(): PlanSelect | null {
369
- return this.tableBillingAccessControl?.create || null;
370
- }
371
-
372
- public getUpdateBillingPlan(): PlanSelect | null {
373
- return this.tableBillingAccessControl?.update || null;
374
- }
375
-
376
- public getDeleteBillingPlan(): PlanSelect | null {
377
- return this.tableBillingAccessControl?.delete || null;
378
- }
379
-
380
- public isEntityColumn(_columnName: string): boolean {
381
- // Analytics model does not suppprt entity columns.
382
- return false;
383
- }
384
-
385
- public hasColumn(columnName: string): boolean {
386
- return this.tableColumns.some((column: AnalyticsTableColumn) => {
387
- return column.key === columnName;
388
- });
389
- }
390
-
391
- public isFileColumn(_columnName: string): boolean {
392
- // Analytics model does not suppprt file columns.
393
- return false;
394
- }
395
-
396
- public hasCreatePermissions(
397
- userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
398
- columnName?: string
399
- ): boolean {
400
- let modelPermission: Array<Permission> =
401
- this.accessControl?.create || [];
402
-
403
- if (columnName) {
404
- const columnAccessControl: ColumnAccessControl | null =
405
- this.getColumnAccessControlFor(columnName);
406
- if (columnAccessControl) {
407
- modelPermission = columnAccessControl.create;
408
- }
409
- }
410
-
411
- return ModelPermission.hasPermissions(
412
- userProjectPermissions,
413
- modelPermission
414
- );
415
- }
416
-
417
- public hasReadPermissions(
418
- userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
419
- columnName?: string
420
- ): boolean {
421
- let modelPermission: Array<Permission> = this.accessControl?.read || [];
422
-
423
- if (columnName) {
424
- const columnAccessControl: ColumnAccessControl | null =
425
- this.getColumnAccessControlFor(columnName);
426
- if (columnAccessControl) {
427
- modelPermission = columnAccessControl.read;
428
- }
429
- }
430
-
431
- return ModelPermission.hasPermissions(
432
- userProjectPermissions,
433
- modelPermission
434
- );
435
- }
436
-
437
- public hasDeletePermissions(
438
- userProjectPermissions: UserTenantAccessPermission | Array<Permission>
439
- ): boolean {
440
- const modelPermission: Array<Permission> =
441
- this.accessControl?.delete || [];
442
- return ModelPermission.hasPermissions(
443
- userProjectPermissions,
444
- modelPermission
445
- );
446
- }
447
-
448
- public hasUpdatePermissions(
449
- userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
450
- columnName?: string
451
- ): boolean {
452
- let modelPermission: Array<Permission> =
453
- this.accessControl?.update || [];
454
-
455
- if (columnName) {
456
- const columnAccessControl: ColumnAccessControl | null =
457
- this.getColumnAccessControlFor(columnName);
458
- if (columnAccessControl) {
459
- modelPermission = columnAccessControl.update;
460
- }
461
- }
462
-
463
- return ModelPermission.hasPermissions(
464
- userProjectPermissions,
465
- modelPermission
466
- );
467
- }
342
+ return dictionary;
343
+ }
344
+
345
+ public getReadPermissions(): Array<Permission> {
346
+ return this.accessControl?.read || [];
347
+ }
348
+
349
+ public getCreatePermissions(): Array<Permission> {
350
+ return this.accessControl?.create || [];
351
+ }
352
+
353
+ public getUpdatePermissions(): Array<Permission> {
354
+ return this.accessControl?.update || [];
355
+ }
356
+
357
+ public getDeletePermissions(): Array<Permission> {
358
+ return this.accessControl?.delete || [];
359
+ }
360
+
361
+ public getReadBillingPlan(): PlanSelect | null {
362
+ return this.tableBillingAccessControl?.read || null;
363
+ }
364
+
365
+ public getCreateBillingPlan(): PlanSelect | null {
366
+ return this.tableBillingAccessControl?.create || null;
367
+ }
368
+
369
+ public getUpdateBillingPlan(): PlanSelect | null {
370
+ return this.tableBillingAccessControl?.update || null;
371
+ }
372
+
373
+ public getDeleteBillingPlan(): PlanSelect | null {
374
+ return this.tableBillingAccessControl?.delete || null;
375
+ }
376
+
377
+ public isEntityColumn(_columnName: string): boolean {
378
+ // Analytics model does not suppprt entity columns.
379
+ return false;
380
+ }
381
+
382
+ public hasColumn(columnName: string): boolean {
383
+ return this.tableColumns.some((column: AnalyticsTableColumn) => {
384
+ return column.key === columnName;
385
+ });
386
+ }
387
+
388
+ public isFileColumn(_columnName: string): boolean {
389
+ // Analytics model does not suppprt file columns.
390
+ return false;
391
+ }
392
+
393
+ public hasCreatePermissions(
394
+ userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
395
+ columnName?: string,
396
+ ): boolean {
397
+ let modelPermission: Array<Permission> = this.accessControl?.create || [];
398
+
399
+ if (columnName) {
400
+ const columnAccessControl: ColumnAccessControl | null =
401
+ this.getColumnAccessControlFor(columnName);
402
+ if (columnAccessControl) {
403
+ modelPermission = columnAccessControl.create;
404
+ }
405
+ }
406
+
407
+ return ModelPermission.hasPermissions(
408
+ userProjectPermissions,
409
+ modelPermission,
410
+ );
411
+ }
412
+
413
+ public hasReadPermissions(
414
+ userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
415
+ columnName?: string,
416
+ ): boolean {
417
+ let modelPermission: Array<Permission> = this.accessControl?.read || [];
418
+
419
+ if (columnName) {
420
+ const columnAccessControl: ColumnAccessControl | null =
421
+ this.getColumnAccessControlFor(columnName);
422
+ if (columnAccessControl) {
423
+ modelPermission = columnAccessControl.read;
424
+ }
425
+ }
426
+
427
+ return ModelPermission.hasPermissions(
428
+ userProjectPermissions,
429
+ modelPermission,
430
+ );
431
+ }
432
+
433
+ public hasDeletePermissions(
434
+ userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
435
+ ): boolean {
436
+ const modelPermission: Array<Permission> = this.accessControl?.delete || [];
437
+ return ModelPermission.hasPermissions(
438
+ userProjectPermissions,
439
+ modelPermission,
440
+ );
441
+ }
442
+
443
+ public hasUpdatePermissions(
444
+ userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
445
+ columnName?: string,
446
+ ): boolean {
447
+ let modelPermission: Array<Permission> = this.accessControl?.update || [];
448
+
449
+ if (columnName) {
450
+ const columnAccessControl: ColumnAccessControl | null =
451
+ this.getColumnAccessControlFor(columnName);
452
+ if (columnAccessControl) {
453
+ modelPermission = columnAccessControl.update;
454
+ }
455
+ }
456
+
457
+ return ModelPermission.hasPermissions(
458
+ userProjectPermissions,
459
+ modelPermission,
460
+ );
461
+ }
468
462
  }