@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.
- package/AnalyticsModels/BaseModel.ts +437 -443
- package/AnalyticsModels/CommonModel.ts +216 -226
- package/AnalyticsModels/NestedModel.ts +5 -5
- package/Models/AccessControlModel.ts +10 -10
- package/Models/BaseModel.ts +662 -670
- package/Models/FileModel.ts +102 -102
- package/Models/GlobalConfig.ts +5 -5
- package/Models/TenantModel.ts +8 -8
- package/Models/UserModel.ts +8 -8
- package/ServiceRoute.ts +17 -17
- package/Tests/MockType.ts +9 -0
- package/Tests/Spy.ts +11 -0
- package/Tests/Types/API/ErrorResponse.test.ts +14 -14
- package/Tests/Types/API/HTTPErrorResponse.test.ts +55 -55
- package/Tests/Types/API/HTTPMethod.test.ts +14 -14
- package/Tests/Types/API/Headers.test.ts +13 -13
- package/Tests/Types/API/Hostname.test.ts +20 -20
- package/Tests/Types/API/Protocal.test.ts +17 -17
- package/Tests/Types/API/Response.test.ts +19 -19
- package/Tests/Types/API/ResponseType.test.ts +11 -11
- package/Tests/Types/API/Route.test.ts +28 -28
- package/Tests/Types/API/StatusCode.test.ts +24 -24
- package/Tests/Types/API/URL.test.ts +39 -39
- package/Tests/Types/Alerts/AlertEventType.test.ts +46 -46
- package/Tests/Types/Alerts/AlertType.test.ts +17 -17
- package/Tests/Types/AppEnvironment.test.ts +11 -11
- package/Tests/Types/ApplicationLog/ApplicationLogType.test.ts +11 -11
- package/Tests/Types/ArrayUtil.test.ts +77 -77
- package/Tests/Types/Billing/SubscriptionPlan.test.ts +255 -270
- package/Tests/Types/BrandColors.test.ts +138 -138
- package/Tests/Types/Char.test.ts +81 -81
- package/Tests/Types/Code/CodeType.test.ts +11 -11
- package/Tests/Types/Color.test.ts +42 -42
- package/Tests/Types/Company/CompanySize.test.ts +17 -17
- package/Tests/Types/Company/JobRole.test.ts +20 -20
- package/Tests/Types/Countries.test.ts +287 -301
- package/Tests/Types/Database/ColumnLength.test.ts +41 -41
- package/Tests/Types/Database/ColumnType.test.ts +77 -77
- package/Tests/Types/Database/Columns.test.ts +18 -18
- package/Tests/Types/Database/CompareBase.test.ts +32 -32
- package/Tests/Types/Database/Date.test.ts +73 -75
- package/Tests/Types/Database/EqualToOrNull.test.ts +61 -61
- package/Tests/Types/Database/InBetween.test.ts +71 -71
- package/Tests/Types/Database/LimitMax.test.ts +14 -14
- package/Tests/Types/Database/NotEqual.test.ts +15 -15
- package/Tests/Types/Database/Search.test.ts +8 -8
- package/Tests/Types/DatabaseType.test.ts +5 -5
- package/Tests/Types/Date.test.ts +87 -93
- package/Tests/Types/Dictionary.test.ts +22 -22
- package/Tests/Types/Domain.test.ts +36 -36
- package/Tests/Types/Email/Email.test.ts +55 -55
- package/Tests/Types/EmailWithName.test.ts +46 -46
- package/Tests/Types/EncryptionAlgorithm.test.ts +5 -5
- package/Tests/Types/Exception/ApiException.test.ts +12 -13
- package/Tests/Types/Exception/BadDataException.test.ts +12 -12
- package/Tests/Types/Exception/BadOperationException.test.ts +12 -13
- package/Tests/Types/Exception/BadRequestException.test.ts +12 -12
- package/Tests/Types/Exception/DatabaseNotConnectedException.test.ts +10 -10
- package/Tests/Types/Exception/Exception.test.ts +15 -17
- package/Tests/Types/Exception/NotImplementedException.test.ts +10 -10
- package/Tests/Types/File.test.ts +20 -20
- package/Tests/Types/HashedString.test.ts +18 -18
- package/Tests/Types/Html.test.ts +6 -6
- package/Tests/Types/IP/IP.test.ts +65 -67
- package/Tests/Types/IP/IPType.test.ts +8 -8
- package/Tests/Types/IP/IPv4.test.ts +15 -15
- package/Tests/Types/IP/IPv6.test.ts +15 -15
- package/Tests/Types/JSON.test.ts +35 -35
- package/Tests/Types/JSONFunctions.test.ts +41 -44
- package/Tests/Types/ListData.test.ts +33 -33
- package/Tests/Types/Name.test.ts +24 -24
- package/Tests/Types/ObjectID.test.ts +10 -10
- package/Tests/Types/Permission.test.ts +8 -8
- package/Tests/Types/Phone.test.ts +35 -35
- package/Tests/Types/Port.test.ts +33 -33
- package/Tests/Types/PositiveNumber.test.ts +123 -123
- package/Tests/Types/SecuritySeverity.test.ts +14 -14
- package/Tests/Types/SerializableObject.test.ts +33 -34
- package/Tests/Types/Sleep.test.ts +16 -19
- package/Tests/Types/Text.test.ts +6 -8
- package/Tests/Types/Timezone.test.ts +644 -674
- package/Tests/Types/Typeof.test.ts +14 -14
- package/Tests/Types/UserType.test.ts +14 -14
- package/Tests/Types/Version.test.ts +33 -33
- package/Tests/Types/XML.test.ts +33 -33
- package/Tests/Utils/API.test.ts +339 -342
- package/Tests/Utils/Analytics.test.ts +65 -65
- package/Tests/Utils/CronTime.test.ts +26 -26
- package/Tests/Utils/Faker.test.ts +30 -32
- package/Tests/Utils/Slug.test.ts +20 -20
- package/Tests/Utils/UUID.test.ts +10 -10
- package/Types/API/EmptyResponse.ts +1 -1
- package/Types/API/HTTPErrorResponse.ts +18 -21
- package/Types/API/HTTPMethod.ts +5 -5
- package/Types/API/HTTPResponse.ts +108 -110
- package/Types/API/Headers.ts +1 -1
- package/Types/API/Hostname.ts +94 -94
- package/Types/API/Protocol.ts +6 -6
- package/Types/API/ResponseType.ts +3 -3
- package/Types/API/Route.ts +76 -76
- package/Types/API/StatusCode.ts +31 -34
- package/Types/API/URL.ts +217 -221
- package/Types/Alerts/AlertEventType.ts +10 -10
- package/Types/Alerts/AlertType.ts +5 -5
- package/Types/AnalyticsDatabase/AnalyticsTableEngine.ts +1 -1
- package/Types/AnalyticsDatabase/TableColumn.ts +157 -160
- package/Types/AnalyticsDatabase/TableColumnType.ts +12 -12
- package/Types/AppEnvironment.ts +3 -3
- package/Types/ApplicationLog/ApplicationLogType.ts +3 -3
- package/Types/ArrayUtil.ts +68 -70
- package/Types/BaseDatabase/AccessControl.ts +5 -5
- package/Types/BaseDatabase/ColumnBillingAccessControl.ts +4 -4
- package/Types/BaseDatabase/DatabaseCommonInteractionProps.ts +20 -20
- package/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.ts +75 -76
- package/Types/BaseDatabase/DatabaseType.ts +2 -2
- package/Types/BaseDatabase/EnableWorkflowOn.ts +4 -4
- package/Types/BaseDatabase/EqualToOrNull.ts +29 -29
- package/Types/BaseDatabase/GreaterThan.ts +18 -18
- package/Types/BaseDatabase/GreaterThanOrEqual.ts +18 -18
- package/Types/BaseDatabase/InBetween.ts +61 -61
- package/Types/BaseDatabase/Includes.ts +32 -34
- package/Types/BaseDatabase/IsNull.ts +21 -21
- package/Types/BaseDatabase/LessThan.ts +18 -18
- package/Types/BaseDatabase/LessThanOrEqual.ts +18 -18
- package/Types/BaseDatabase/ModelPermission.ts +31 -31
- package/Types/BaseDatabase/NotEqual.ts +29 -29
- package/Types/BaseDatabase/NotNull.ts +21 -21
- package/Types/BaseDatabase/Search.ts +34 -34
- package/Types/BaseDatabase/SortOrder.ts +2 -2
- package/Types/BaseDatabase/TableBillingAccessControl.ts +5 -5
- package/Types/Billing/MeteredPlan.ts +21 -21
- package/Types/Billing/SubscriptionPlan.ts +223 -228
- package/Types/Billing/SubscriptionStatus.ts +23 -23
- package/Types/BrandColors.ts +60 -60
- package/Types/BrowserType.ts +3 -3
- package/Types/Calendar/CalendarEvent.ts +9 -9
- package/Types/Call/CallRequest.ts +19 -19
- package/Types/Call/CallStatus.ts +5 -5
- package/Types/CallAndSMS/TwilioConfig.ts +4 -4
- package/Types/Char.ts +62 -62
- package/Types/Code/CodeType.ts +7 -7
- package/Types/CodeRepository/CodeRepositoryType.ts +6 -0
- package/Types/CodeRepository/PullRequest.ts +16 -0
- package/Types/CodeRepository/PullRequestState.ts +7 -0
- package/Types/Color.ts +88 -88
- package/Types/Company/CompanySize.ts +5 -5
- package/Types/Company/JobRole.ts +6 -6
- package/Types/Copilot/CopilotEventStatus.ts +6 -0
- package/Types/Copilot/CopilotEventType.ts +2 -2
- package/Types/Countries.ts +243 -243
- package/Types/Currency.ts +23 -23
- package/Types/CustomField/CustomFieldType.ts +3 -3
- package/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.ts +4 -4
- package/Types/Database/AccessControl/ColumnAccessControl.ts +33 -33
- package/Types/Database/AccessControl/ColumnBillingAccessControl.ts +34 -36
- package/Types/Database/AccessControl/TableAccessControl.ts +16 -16
- package/Types/Database/AccessControl/TableBillingAccessControl.ts +16 -16
- package/Types/Database/AccessControlColumn.ts +4 -4
- package/Types/Database/AllowUserQueryWithoutTenant.ts +4 -4
- package/Types/Database/CanAccessIfCanReadOn.ts +6 -6
- package/Types/Database/ColumnLength.ts +61 -61
- package/Types/Database/ColumnType.ts +33 -33
- package/Types/Database/Columns.ts +16 -16
- package/Types/Database/CompareBase.ts +28 -28
- package/Types/Database/CrudApiEndpoint.ts +5 -5
- package/Types/Database/CurrentUserCanAccessRecordBy.ts +4 -4
- package/Types/Database/DatabaseProperty.ts +42 -42
- package/Types/Database/Date.ts +20 -20
- package/Types/Database/EnableDocumentation.ts +6 -7
- package/Types/Database/EnableWorkflow.ts +5 -5
- package/Types/Database/IsPermissionsIf.ts +12 -12
- package/Types/Database/LabelsColumn.ts +4 -4
- package/Types/Database/MultiTenentQueryAllowed.ts +4 -4
- package/Types/Database/PartialEntity.ts +1 -1
- package/Types/Database/SlugifyColumn.ts +5 -5
- package/Types/Database/TableColumn.ts +42 -42
- package/Types/Database/TableColumnType.ts +39 -39
- package/Types/Database/TableMetadata.ts +14 -14
- package/Types/Database/TenantColumn.ts +4 -4
- package/Types/Database/TotalItemsBy.ts +9 -9
- package/Types/Database/UniqueColumnBy.ts +27 -27
- package/Types/DatabaseType.ts +2 -2
- package/Types/Date.ts +965 -978
- package/Types/Day/DayOfWeek.ts +24 -24
- package/Types/Decimal.ts +57 -57
- package/Types/Dictionary.ts +1 -1
- package/Types/DiskSize.ts +32 -32
- package/Types/Domain.ts +74 -74
- package/Types/Email/EmailBody.ts +2 -2
- package/Types/Email/EmailMessage.ts +8 -8
- package/Types/Email/EmailServer.ts +12 -12
- package/Types/Email/EmailTemplate.ts +5 -5
- package/Types/Email/EmailTemplateType.ts +36 -36
- package/Types/Email.ts +99 -101
- package/Types/EmailWithName.ts +26 -26
- package/Types/EncryptionAlgorithm.ts +1 -1
- package/Types/Events/EventInterval.ts +5 -5
- package/Types/Events/Recurring.ts +90 -92
- package/Types/Exception/ApiException.ts +5 -5
- package/Types/Exception/BadDataException.ts +5 -5
- package/Types/Exception/BadOperationException.ts +5 -5
- package/Types/Exception/BadRequestException.ts +5 -5
- package/Types/Exception/DatabaseNotConnectedException.ts +8 -8
- package/Types/Exception/Exception.ts +15 -15
- package/Types/Exception/ExceptionCode.ts +17 -17
- package/Types/Exception/NotAuthenticatedException.ts +5 -5
- package/Types/Exception/NotAuthorizedException.ts +5 -5
- package/Types/Exception/NotFoundException.ts +5 -5
- package/Types/Exception/NotImplementedException.ts +8 -8
- package/Types/Exception/PaymentRequiredException.ts +5 -5
- package/Types/Exception/ServerException.ts +5 -5
- package/Types/Exception/SsoAuthorizationException.ts +12 -12
- package/Types/Exception/TenantNotFoundException.ts +5 -5
- package/Types/Exception/TimeoutException.ts +5 -5
- package/Types/Exception/UnableToReachServer.ts +5 -5
- package/Types/Exception/WebsiteRequestException.ts +5 -5
- package/Types/File/MimeType.ts +5 -5
- package/Types/File.ts +2 -2
- package/Types/Filter/FilterCondition.ts +2 -2
- package/Types/Filter/FilterType.ts +6 -6
- package/Types/HashCode.ts +8 -8
- package/Types/HashedString.ts +80 -82
- package/Types/Html.ts +13 -13
- package/Types/IP/IP.ts +93 -93
- package/Types/IP/IPType.ts +2 -2
- package/Types/IP/IPv4.ts +7 -7
- package/Types/IP/IPv6.ts +7 -7
- package/Types/Icon/IconProp.ts +122 -122
- package/Types/Infrastructure/BasicMetrics.ts +15 -15
- package/Types/Infrastructure/OSType.ts +4 -4
- package/Types/IsolatedVM/ReturnResult.ts +2 -2
- package/Types/JSON.ts +139 -139
- package/Types/JSONFunctions.ts +310 -320
- package/Types/JsonWebTokenData.ts +11 -11
- package/Types/Link.ts +5 -5
- package/Types/ListData.ts +26 -26
- package/Types/Mail/MailStatus.ts +2 -2
- package/Types/MeteredPlan/ProductType.ts +4 -4
- package/Types/Mixins.ts +1 -1
- package/Types/Monitor/CriteriaFilter.ts +107 -107
- package/Types/Monitor/CriteriaIncident.ts +7 -7
- package/Types/Monitor/CustomCodeMonitor/CustomCodeMonitorResponse.ts +5 -5
- package/Types/Monitor/IncomingMonitor/IncomingMonitorRequest.ts +10 -10
- package/Types/Monitor/MonitorCriteria.ts +151 -162
- package/Types/Monitor/MonitorCriteriaInstance.ts +622 -628
- package/Types/Monitor/MonitorStep.ts +314 -319
- package/Types/Monitor/MonitorSteps.ts +156 -161
- package/Types/Monitor/MonitorType.ts +164 -169
- package/Types/Monitor/SSLMonitor/SslMonitorResponse.ts +12 -12
- package/Types/Monitor/ServerMonitor/ServerMonitorResponse.ts +10 -10
- package/Types/Monitor/SyntheticMonitors/BrowserType.ts +1 -1
- package/Types/Monitor/SyntheticMonitors/ScreenSizeType.ts +1 -1
- package/Types/Monitor/SyntheticMonitors/Screenshot.ts +1 -1
- package/Types/Monitor/SyntheticMonitors/SyntheticMonitorResponse.ts +8 -8
- package/Types/Name.ts +65 -65
- package/Types/NotificationRule/NotificationRuleType.ts +3 -3
- package/Types/NotificationSetting/NotificationSettingEventType.ts +18 -18
- package/Types/ObjectID.ts +73 -73
- package/Types/OnCallDutyPolicy/Layer.ts +782 -824
- package/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.ts +6 -6
- package/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.ts +3 -3
- package/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.ts +5 -5
- package/Types/OnCallDutyPolicy/RestrictionTimes.ts +177 -179
- package/Types/Operation/OperationResult.ts +2 -2
- package/Types/Operation/OperationStatus.ts +5 -5
- package/Types/Permission.ts +3373 -3461
- package/Types/Phone.ts +58 -59
- package/Types/Port.ts +73 -73
- package/Types/PositiveNumber.ts +53 -61
- package/Types/PricingPlan.ts +5 -5
- package/Types/Probe/ProbeApiIngestResponse.ts +6 -6
- package/Types/Probe/ProbeMonitorResponse.ts +25 -25
- package/Types/Probe/ProbeStatusReport.ts +4 -4
- package/Types/Reflection.ts +4 -4
- package/Types/SMS/SMS.ts +3 -3
- package/Types/SMS/SmsTemplateType.ts +9 -9
- package/Types/SSO/DigestMethod.ts +4 -4
- package/Types/SSO/SignatureMethod.ts +4 -4
- package/Types/ScheduledEvent/ScheduledEventState.ts +4 -4
- package/Types/ScreenSizeType.ts +3 -3
- package/Types/SecuritySeverity.ts +4 -4
- package/Types/SerializableObject.ts +12 -12
- package/Types/SerializableObjectDictionary.ts +58 -58
- package/Types/ServiceCatalog/ServiceLanguage.ts +20 -0
- package/Types/Sleep.ts +6 -6
- package/Types/SmsStatus.ts +3 -3
- package/Types/StatusPage/StatusPageChartType.ts +6 -6
- package/Types/Text.ts +126 -130
- package/Types/Time/StartAndEndTime.ts +2 -2
- package/Types/Timezone.ts +592 -592
- package/Types/TimezoneCode.ts +63 -0
- package/Types/Typeof.ts +4 -4
- package/Types/UserNotification/UserNotificationEventType.ts +1 -1
- package/Types/UserNotification/UserNotificationExecutionStatus.ts +5 -5
- package/Types/UserNotification/UserNotificationStatus.ts +5 -5
- package/Types/UserType.ts +4 -4
- package/Types/Version.ts +50 -50
- package/Types/WebsiteRequest.ts +55 -55
- package/Types/Workflow/Component.ts +72 -72
- package/Types/Workflow/ComponentID.ts +16 -16
- package/Types/Workflow/Components/API.ts +349 -357
- package/Types/Workflow/Components/BaseModel.ts +572 -573
- package/Types/Workflow/Components/Condition.ts +60 -60
- package/Types/Workflow/Components/Email.ts +102 -103
- package/Types/Workflow/Components/JSON.ts +151 -156
- package/Types/Workflow/Components/JavaScript.ts +61 -61
- package/Types/Workflow/Components/Log.ts +39 -39
- package/Types/Workflow/Components/Manual.ts +33 -34
- package/Types/Workflow/Components/MicrosoftTeams.ts +61 -62
- package/Types/Workflow/Components/Schedule.ts +32 -32
- package/Types/Workflow/Components/Slack.ts +63 -64
- package/Types/Workflow/Components/Webhook.ts +51 -51
- package/Types/Workflow/Components/Workflow.ts +38 -38
- package/Types/Workflow/Components.ts +76 -76
- package/Types/Workflow/WorkflowPlan.ts +4 -4
- package/Types/Workflow/WorkflowStatus.ts +6 -6
- package/Types/XML.ts +16 -16
- package/Typings/Index.d.ts +3 -3
- package/Utils/API.ts +355 -309
- package/Utils/Analytics.ts +31 -31
- package/Utils/CronTime.ts +7 -7
- package/Utils/Enum.ts +14 -0
- package/Utils/Faker.ts +25 -25
- package/Utils/ObjectUtil.ts +5 -5
- package/Utils/Realtime.ts +24 -24
- package/Utils/Slug.ts +15 -15
- package/Utils/UUID.ts +4 -4
- package/build/dist/AnalyticsModels/BaseModel.js +32 -32
- package/build/dist/AnalyticsModels/BaseModel.js.map +1 -1
- package/build/dist/AnalyticsModels/CommonModel.js +14 -17
- package/build/dist/AnalyticsModels/CommonModel.js.map +1 -1
- package/build/dist/AnalyticsModels/NestedModel.js +1 -1
- package/build/dist/AnalyticsModels/NestedModel.js.map +1 -1
- package/build/dist/Models/AccessControlModel.js +1 -1
- package/build/dist/Models/AccessControlModel.js.map +1 -1
- package/build/dist/Models/BaseModel.js +28 -28
- package/build/dist/Models/BaseModel.js.map +1 -1
- package/build/dist/Models/FileModel.js +14 -14
- package/build/dist/Models/FileModel.js.map +1 -1
- package/build/dist/Models/GlobalConfig.js +1 -1
- package/build/dist/Models/GlobalConfig.js.map +1 -1
- package/build/dist/Models/TenantModel.js +1 -1
- package/build/dist/Models/TenantModel.js.map +1 -1
- package/build/dist/Models/UserModel.js +1 -1
- package/build/dist/Models/UserModel.js.map +1 -1
- package/build/dist/ServiceRoute.js +17 -17
- package/build/dist/Tests/MockType.js +5 -0
- package/build/dist/Tests/MockType.js.map +1 -0
- package/build/dist/Tests/Spy.js +4 -0
- package/build/dist/Tests/Spy.js.map +1 -0
- package/build/dist/Tests/Types/API/ErrorResponse.test.js +5 -5
- package/build/dist/Tests/Types/API/ErrorResponse.test.js.map +1 -1
- package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js +18 -18
- package/build/dist/Tests/Types/API/HTTPErrorResponse.test.js.map +1 -1
- package/build/dist/Tests/Types/API/HTTPMethod.test.js +10 -10
- package/build/dist/Tests/Types/API/HTTPMethod.test.js.map +1 -1
- package/build/dist/Tests/Types/API/Headers.test.js +8 -8
- package/build/dist/Tests/Types/API/Headers.test.js.map +1 -1
- package/build/dist/Tests/Types/API/Hostname.test.js +11 -11
- package/build/dist/Tests/Types/API/Hostname.test.js.map +1 -1
- package/build/dist/Tests/Types/API/Protocal.test.js +12 -12
- package/build/dist/Tests/Types/API/Protocal.test.js.map +1 -1
- package/build/dist/Tests/Types/API/Response.test.js +7 -7
- package/build/dist/Tests/Types/API/Response.test.js.map +1 -1
- package/build/dist/Tests/Types/API/ResponseType.test.js +8 -8
- package/build/dist/Tests/Types/API/ResponseType.test.js.map +1 -1
- package/build/dist/Tests/Types/API/Route.test.js +15 -15
- package/build/dist/Tests/Types/API/Route.test.js.map +1 -1
- package/build/dist/Tests/Types/API/StatusCode.test.js +14 -14
- package/build/dist/Tests/Types/API/StatusCode.test.js.map +1 -1
- package/build/dist/Tests/Types/API/URL.test.js +20 -20
- package/build/dist/Tests/Types/API/URL.test.js.map +1 -1
- package/build/dist/Tests/Types/Alerts/AlertEventType.test.js +22 -22
- package/build/dist/Tests/Types/Alerts/AlertEventType.test.js.map +1 -1
- package/build/dist/Tests/Types/Alerts/AlertType.test.js +12 -12
- package/build/dist/Tests/Types/Alerts/AlertType.test.js.map +1 -1
- package/build/dist/Tests/Types/AppEnvironment.test.js +8 -8
- package/build/dist/Tests/Types/AppEnvironment.test.js.map +1 -1
- package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js +8 -8
- package/build/dist/Tests/Types/ApplicationLog/ApplicationLogType.test.js.map +1 -1
- package/build/dist/Tests/Types/ArrayUtil.test.js +9 -9
- package/build/dist/Tests/Types/ArrayUtil.test.js.map +1 -1
- package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js +75 -77
- package/build/dist/Tests/Types/Billing/SubscriptionPlan.test.js.map +1 -1
- package/build/dist/Tests/Types/BrandColors.test.js +55 -55
- package/build/dist/Tests/Types/BrandColors.test.js.map +1 -1
- package/build/dist/Tests/Types/Char.test.js +72 -72
- package/build/dist/Tests/Types/Char.test.js.map +1 -1
- package/build/dist/Tests/Types/Code/CodeType.test.js +8 -8
- package/build/dist/Tests/Types/Code/CodeType.test.js.map +1 -1
- package/build/dist/Tests/Types/Color.test.js +24 -24
- package/build/dist/Tests/Types/Color.test.js.map +1 -1
- package/build/dist/Tests/Types/Company/CompanySize.test.js +12 -12
- package/build/dist/Tests/Types/Company/CompanySize.test.js.map +1 -1
- package/build/dist/Tests/Types/Company/JobRole.test.js +14 -14
- package/build/dist/Tests/Types/Company/JobRole.test.js.map +1 -1
- package/build/dist/Tests/Types/Countries.test.js +244 -244
- package/build/dist/Tests/Types/Countries.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/ColumnLength.test.js +15 -15
- package/build/dist/Tests/Types/Database/ColumnLength.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/ColumnType.test.js +52 -52
- package/build/dist/Tests/Types/Database/ColumnType.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/Columns.test.js +14 -14
- package/build/dist/Tests/Types/Database/Columns.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/CompareBase.test.js +13 -13
- package/build/dist/Tests/Types/Database/CompareBase.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/Date.test.js +32 -32
- package/build/dist/Tests/Types/Database/Date.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/EqualToOrNull.test.js +30 -30
- package/build/dist/Tests/Types/Database/EqualToOrNull.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/InBetween.test.js +20 -20
- package/build/dist/Tests/Types/Database/InBetween.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/LimitMax.test.js +9 -9
- package/build/dist/Tests/Types/Database/LimitMax.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/NotEqual.test.js +9 -9
- package/build/dist/Tests/Types/Database/NotEqual.test.js.map +1 -1
- package/build/dist/Tests/Types/Database/Search.test.js +6 -6
- package/build/dist/Tests/Types/Database/Search.test.js.map +1 -1
- package/build/dist/Tests/Types/DatabaseType.test.js +4 -4
- package/build/dist/Tests/Types/DatabaseType.test.js.map +1 -1
- package/build/dist/Tests/Types/Date.test.js +32 -32
- package/build/dist/Tests/Types/Date.test.js.map +1 -1
- package/build/dist/Tests/Types/Dictionary.test.js +10 -10
- package/build/dist/Tests/Types/Dictionary.test.js.map +1 -1
- package/build/dist/Tests/Types/Domain.test.js +23 -23
- package/build/dist/Tests/Types/Domain.test.js.map +1 -1
- package/build/dist/Tests/Types/Email/Email.test.js +31 -31
- package/build/dist/Tests/Types/Email/Email.test.js.map +1 -1
- package/build/dist/Tests/Types/EmailWithName.test.js +11 -11
- package/build/dist/Tests/Types/EmailWithName.test.js.map +1 -1
- package/build/dist/Tests/Types/EncryptionAlgorithm.test.js +4 -4
- package/build/dist/Tests/Types/EncryptionAlgorithm.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/ApiException.test.js +6 -7
- package/build/dist/Tests/Types/Exception/ApiException.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/BadDataException.test.js +7 -7
- package/build/dist/Tests/Types/Exception/BadDataException.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/BadOperationException.test.js +6 -7
- package/build/dist/Tests/Types/Exception/BadOperationException.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/BadRequestException.test.js +7 -7
- package/build/dist/Tests/Types/Exception/BadRequestException.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js +5 -5
- package/build/dist/Tests/Types/Exception/DatabaseNotConnectedException.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/Exception.test.js +9 -9
- package/build/dist/Tests/Types/Exception/Exception.test.js.map +1 -1
- package/build/dist/Tests/Types/Exception/NotImplementedException.test.js +5 -5
- package/build/dist/Tests/Types/Exception/NotImplementedException.test.js.map +1 -1
- package/build/dist/Tests/Types/File.test.js +13 -13
- package/build/dist/Tests/Types/File.test.js.map +1 -1
- package/build/dist/Tests/Types/HashedString.test.js +8 -8
- package/build/dist/Tests/Types/HashedString.test.js.map +1 -1
- package/build/dist/Tests/Types/Html.test.js +5 -5
- package/build/dist/Tests/Types/Html.test.js.map +1 -1
- package/build/dist/Tests/Types/IP/IP.test.js +40 -40
- package/build/dist/Tests/Types/IP/IP.test.js.map +1 -1
- package/build/dist/Tests/Types/IP/IPType.test.js +6 -6
- package/build/dist/Tests/Types/IP/IPType.test.js.map +1 -1
- package/build/dist/Tests/Types/IP/IPv4.test.js +9 -9
- package/build/dist/Tests/Types/IP/IPv4.test.js.map +1 -1
- package/build/dist/Tests/Types/IP/IPv6.test.js +9 -9
- package/build/dist/Tests/Types/IP/IPv6.test.js.map +1 -1
- package/build/dist/Tests/Types/JSON.test.js +28 -28
- package/build/dist/Tests/Types/JSON.test.js.map +1 -1
- package/build/dist/Tests/Types/JSONFunctions.test.js +13 -13
- package/build/dist/Tests/Types/JSONFunctions.test.js.map +1 -1
- package/build/dist/Tests/Types/ListData.test.js +10 -10
- package/build/dist/Tests/Types/ListData.test.js.map +1 -1
- package/build/dist/Tests/Types/Name.test.js +17 -17
- package/build/dist/Tests/Types/Name.test.js.map +1 -1
- package/build/dist/Tests/Types/ObjectID.test.js +8 -8
- package/build/dist/Tests/Types/ObjectID.test.js.map +1 -1
- package/build/dist/Tests/Types/Permission.test.js +6 -6
- package/build/dist/Tests/Types/Permission.test.js.map +1 -1
- package/build/dist/Tests/Types/Phone.test.js +21 -21
- package/build/dist/Tests/Types/Phone.test.js.map +1 -1
- package/build/dist/Tests/Types/Port.test.js +13 -13
- package/build/dist/Tests/Types/Port.test.js.map +1 -1
- package/build/dist/Tests/Types/PositiveNumber.test.js +19 -19
- package/build/dist/Tests/Types/PositiveNumber.test.js.map +1 -1
- package/build/dist/Tests/Types/SecuritySeverity.test.js +10 -10
- package/build/dist/Tests/Types/SecuritySeverity.test.js.map +1 -1
- package/build/dist/Tests/Types/SerializableObject.test.js +14 -12
- package/build/dist/Tests/Types/SerializableObject.test.js.map +1 -1
- package/build/dist/Tests/Types/Sleep.test.js +4 -4
- package/build/dist/Tests/Types/Sleep.test.js.map +1 -1
- package/build/dist/Tests/Types/Text.test.js +5 -5
- package/build/dist/Tests/Types/Text.test.js.map +1 -1
- package/build/dist/Tests/Types/Timezone.test.js +593 -593
- package/build/dist/Tests/Types/Timezone.test.js.map +1 -1
- package/build/dist/Tests/Types/Typeof.test.js +10 -10
- package/build/dist/Tests/Types/Typeof.test.js.map +1 -1
- package/build/dist/Tests/Types/UserType.test.js +10 -10
- package/build/dist/Tests/Types/UserType.test.js.map +1 -1
- package/build/dist/Tests/Types/Version.test.js +21 -21
- package/build/dist/Tests/Types/Version.test.js.map +1 -1
- package/build/dist/Tests/Types/XML.test.js +17 -17
- package/build/dist/Tests/Types/XML.test.js.map +1 -1
- package/build/dist/Tests/Utils/API.test.js +83 -83
- package/build/dist/Tests/Utils/API.test.js.map +1 -1
- package/build/dist/Tests/Utils/Analytics.test.js +25 -25
- package/build/dist/Tests/Utils/Analytics.test.js.map +1 -1
- package/build/dist/Tests/Utils/CronTime.test.js +14 -14
- package/build/dist/Tests/Utils/CronTime.test.js.map +1 -1
- package/build/dist/Tests/Utils/Faker.test.js +10 -10
- package/build/dist/Tests/Utils/Faker.test.js.map +1 -1
- package/build/dist/Tests/Utils/Slug.test.js +12 -12
- package/build/dist/Tests/Utils/Slug.test.js.map +1 -1
- package/build/dist/Tests/Utils/UUID.test.js +3 -3
- package/build/dist/Tests/Utils/UUID.test.js.map +1 -1
- package/build/dist/Types/API/HTTPErrorResponse.js +10 -11
- package/build/dist/Types/API/HTTPErrorResponse.js.map +1 -1
- package/build/dist/Types/API/HTTPMethod.js.map +1 -1
- package/build/dist/Types/API/HTTPResponse.js +9 -9
- package/build/dist/Types/API/HTTPResponse.js.map +1 -1
- package/build/dist/Types/API/Hostname.js +14 -14
- package/build/dist/Types/API/Hostname.js.map +1 -1
- package/build/dist/Types/API/Protocol.js.map +1 -1
- package/build/dist/Types/API/ResponseType.js.map +1 -1
- package/build/dist/Types/API/Route.js +11 -11
- package/build/dist/Types/API/Route.js.map +1 -1
- package/build/dist/Types/API/StatusCode.js +3 -4
- package/build/dist/Types/API/StatusCode.js.map +1 -1
- package/build/dist/Types/API/URL.js +44 -44
- package/build/dist/Types/API/URL.js.map +1 -1
- package/build/dist/Types/Alerts/AlertEventType.js.map +1 -1
- package/build/dist/Types/Alerts/AlertType.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/AnalyticsTableEngine.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/TableColumn.js +6 -7
- package/build/dist/Types/AnalyticsDatabase/TableColumn.js.map +1 -1
- package/build/dist/Types/AnalyticsDatabase/TableColumnType.js.map +1 -1
- package/build/dist/Types/AppEnvironment.js.map +1 -1
- package/build/dist/Types/ApplicationLog/ApplicationLogType.js.map +1 -1
- package/build/dist/Types/ArrayUtil.js.map +1 -1
- package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js +10 -11
- package/build/dist/Types/BaseDatabase/DatabaseCommonInteractionPropsUtil.js.map +1 -1
- package/build/dist/Types/BaseDatabase/DatabaseType.js.map +1 -1
- package/build/dist/Types/BaseDatabase/EqualToOrNull.js +6 -6
- package/build/dist/Types/BaseDatabase/EqualToOrNull.js.map +1 -1
- package/build/dist/Types/BaseDatabase/GreaterThan.js +6 -6
- package/build/dist/Types/BaseDatabase/GreaterThan.js.map +1 -1
- package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js +6 -6
- package/build/dist/Types/BaseDatabase/GreaterThanOrEqual.js.map +1 -1
- package/build/dist/Types/BaseDatabase/InBetween.js +8 -8
- package/build/dist/Types/BaseDatabase/InBetween.js.map +1 -1
- package/build/dist/Types/BaseDatabase/Includes.js +7 -7
- package/build/dist/Types/BaseDatabase/Includes.js.map +1 -1
- package/build/dist/Types/BaseDatabase/IsNull.js +6 -6
- package/build/dist/Types/BaseDatabase/IsNull.js.map +1 -1
- package/build/dist/Types/BaseDatabase/LessThan.js +6 -6
- package/build/dist/Types/BaseDatabase/LessThan.js.map +1 -1
- package/build/dist/Types/BaseDatabase/LessThanOrEqual.js +6 -6
- package/build/dist/Types/BaseDatabase/LessThanOrEqual.js.map +1 -1
- package/build/dist/Types/BaseDatabase/ModelPermission.js +1 -1
- package/build/dist/Types/BaseDatabase/ModelPermission.js.map +1 -1
- package/build/dist/Types/BaseDatabase/NotEqual.js +6 -6
- package/build/dist/Types/BaseDatabase/NotEqual.js.map +1 -1
- package/build/dist/Types/BaseDatabase/NotNull.js +6 -6
- package/build/dist/Types/BaseDatabase/NotNull.js.map +1 -1
- package/build/dist/Types/BaseDatabase/Search.js +6 -6
- package/build/dist/Types/BaseDatabase/Search.js.map +1 -1
- package/build/dist/Types/BaseDatabase/SortOrder.js.map +1 -1
- package/build/dist/Types/Billing/MeteredPlan.js.map +1 -1
- package/build/dist/Types/Billing/SubscriptionPlan.js +15 -16
- package/build/dist/Types/Billing/SubscriptionPlan.js.map +1 -1
- package/build/dist/Types/Billing/SubscriptionStatus.js.map +1 -1
- package/build/dist/Types/BrandColors.js +40 -40
- package/build/dist/Types/BrandColors.js.map +1 -1
- package/build/dist/Types/BrowserType.js.map +1 -1
- package/build/dist/Types/Call/CallRequest.js +1 -1
- package/build/dist/Types/Call/CallRequest.js.map +1 -1
- package/build/dist/Types/Call/CallStatus.js.map +1 -1
- package/build/dist/Types/Code/CodeType.js.map +1 -1
- package/build/dist/Types/CodeRepository/CodeRepositoryType.js +7 -0
- package/build/dist/Types/CodeRepository/CodeRepositoryType.js.map +1 -0
- package/build/dist/Types/CodeRepository/PullRequest.js +2 -0
- package/build/dist/Types/CodeRepository/PullRequest.js.map +1 -0
- package/build/dist/Types/CodeRepository/PullRequestState.js +8 -0
- package/build/dist/Types/CodeRepository/PullRequestState.js.map +1 -0
- package/build/dist/Types/Color.js +13 -13
- package/build/dist/Types/Color.js.map +1 -1
- package/build/dist/Types/Company/CompanySize.js.map +1 -1
- package/build/dist/Types/Company/JobRole.js.map +1 -1
- package/build/dist/Types/Copilot/CopilotEventStatus.js +7 -0
- package/build/dist/Types/Copilot/CopilotEventStatus.js.map +1 -0
- package/build/dist/Types/Copilot/CopilotEventType.js.map +1 -1
- package/build/dist/Types/Countries.js.map +1 -1
- package/build/dist/Types/Currency.js +3 -3
- package/build/dist/Types/Currency.js.map +1 -1
- package/build/dist/Types/CustomField/CustomFieldType.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/AllowAccessIfSubscriptionIsUnpaid.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js +2 -2
- package/build/dist/Types/Database/AccessControl/ColumnAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js +2 -2
- package/build/dist/Types/Database/AccessControl/ColumnBillingAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/TableAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControl/TableBillingAccessControl.js.map +1 -1
- package/build/dist/Types/Database/AccessControlColumn.js.map +1 -1
- package/build/dist/Types/Database/AllowUserQueryWithoutTenant.js.map +1 -1
- package/build/dist/Types/Database/CanAccessIfCanReadOn.js.map +1 -1
- package/build/dist/Types/Database/ColumnLength.js +1 -1
- package/build/dist/Types/Database/ColumnLength.js.map +1 -1
- package/build/dist/Types/Database/ColumnType.js.map +1 -1
- package/build/dist/Types/Database/Columns.js.map +1 -1
- package/build/dist/Types/Database/CompareBase.js +5 -5
- package/build/dist/Types/Database/CompareBase.js.map +1 -1
- package/build/dist/Types/Database/CrudApiEndpoint.js.map +1 -1
- package/build/dist/Types/Database/CurrentUserCanAccessRecordBy.js.map +1 -1
- package/build/dist/Types/Database/DatabaseProperty.js +3 -3
- package/build/dist/Types/Database/DatabaseProperty.js.map +1 -1
- package/build/dist/Types/Database/Date.js +2 -2
- package/build/dist/Types/Database/Date.js.map +1 -1
- package/build/dist/Types/Database/EnableDocumentation.js +1 -2
- package/build/dist/Types/Database/EnableDocumentation.js.map +1 -1
- package/build/dist/Types/Database/EnableWorkflow.js.map +1 -1
- package/build/dist/Types/Database/IsPermissionsIf.js.map +1 -1
- package/build/dist/Types/Database/LabelsColumn.js.map +1 -1
- package/build/dist/Types/Database/MultiTenentQueryAllowed.js.map +1 -1
- package/build/dist/Types/Database/SlugifyColumn.js.map +1 -1
- package/build/dist/Types/Database/TableColumn.js +2 -2
- package/build/dist/Types/Database/TableColumn.js.map +1 -1
- package/build/dist/Types/Database/TableColumnType.js.map +1 -1
- package/build/dist/Types/Database/TableMetadata.js.map +1 -1
- package/build/dist/Types/Database/TenantColumn.js.map +1 -1
- package/build/dist/Types/Database/TotalItemsBy.js.map +1 -1
- package/build/dist/Types/Database/UniqueColumnBy.js +2 -2
- package/build/dist/Types/Database/UniqueColumnBy.js.map +1 -1
- package/build/dist/Types/DatabaseType.js.map +1 -1
- package/build/dist/Types/Date.js +132 -136
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Day/DayOfWeek.js.map +1 -1
- package/build/dist/Types/Decimal.js +8 -8
- package/build/dist/Types/Decimal.js.map +1 -1
- package/build/dist/Types/DiskSize.js +3 -3
- package/build/dist/Types/DiskSize.js.map +1 -1
- package/build/dist/Types/Domain.js +13 -13
- package/build/dist/Types/Domain.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Email.js +32 -32
- package/build/dist/Types/Email.js.map +1 -1
- package/build/dist/Types/EmailWithName.js +4 -4
- package/build/dist/Types/EmailWithName.js.map +1 -1
- package/build/dist/Types/EncryptionAlgorithm.js.map +1 -1
- package/build/dist/Types/Events/EventInterval.js.map +1 -1
- package/build/dist/Types/Events/Recurring.js +15 -15
- package/build/dist/Types/Events/Recurring.js.map +1 -1
- package/build/dist/Types/Exception/ApiException.js +2 -2
- package/build/dist/Types/Exception/ApiException.js.map +1 -1
- package/build/dist/Types/Exception/BadDataException.js +2 -2
- package/build/dist/Types/Exception/BadDataException.js.map +1 -1
- package/build/dist/Types/Exception/BadOperationException.js +2 -2
- package/build/dist/Types/Exception/BadOperationException.js.map +1 -1
- package/build/dist/Types/Exception/BadRequestException.js +2 -2
- package/build/dist/Types/Exception/BadRequestException.js.map +1 -1
- package/build/dist/Types/Exception/DatabaseNotConnectedException.js +3 -3
- package/build/dist/Types/Exception/DatabaseNotConnectedException.js.map +1 -1
- package/build/dist/Types/Exception/Exception.js +1 -1
- package/build/dist/Types/Exception/Exception.js.map +1 -1
- package/build/dist/Types/Exception/ExceptionCode.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthenticatedException.js +2 -2
- package/build/dist/Types/Exception/NotAuthenticatedException.js.map +1 -1
- package/build/dist/Types/Exception/NotAuthorizedException.js +2 -2
- package/build/dist/Types/Exception/NotAuthorizedException.js.map +1 -1
- package/build/dist/Types/Exception/NotFoundException.js +2 -2
- package/build/dist/Types/Exception/NotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/NotImplementedException.js +3 -3
- package/build/dist/Types/Exception/NotImplementedException.js.map +1 -1
- package/build/dist/Types/Exception/PaymentRequiredException.js +2 -2
- package/build/dist/Types/Exception/PaymentRequiredException.js.map +1 -1
- package/build/dist/Types/Exception/ServerException.js +3 -3
- package/build/dist/Types/Exception/ServerException.js.map +1 -1
- package/build/dist/Types/Exception/SsoAuthorizationException.js +3 -3
- package/build/dist/Types/Exception/SsoAuthorizationException.js.map +1 -1
- package/build/dist/Types/Exception/TenantNotFoundException.js +2 -2
- package/build/dist/Types/Exception/TenantNotFoundException.js.map +1 -1
- package/build/dist/Types/Exception/TimeoutException.js +2 -2
- package/build/dist/Types/Exception/TimeoutException.js.map +1 -1
- package/build/dist/Types/Exception/UnableToReachServer.js +2 -2
- package/build/dist/Types/Exception/UnableToReachServer.js.map +1 -1
- package/build/dist/Types/Exception/WebsiteRequestException.js +2 -2
- package/build/dist/Types/Exception/WebsiteRequestException.js.map +1 -1
- package/build/dist/Types/File/MimeType.js.map +1 -1
- package/build/dist/Types/Filter/FilterCondition.js.map +1 -1
- package/build/dist/Types/Filter/FilterType.js.map +1 -1
- package/build/dist/Types/HashCode.js.map +1 -1
- package/build/dist/Types/HashedString.js +14 -14
- package/build/dist/Types/HashedString.js.map +1 -1
- package/build/dist/Types/Html.js +1 -1
- package/build/dist/Types/Html.js.map +1 -1
- package/build/dist/Types/IP/IP.js +13 -13
- package/build/dist/Types/IP/IP.js.map +1 -1
- package/build/dist/Types/IP/IPType.js.map +1 -1
- package/build/dist/Types/IP/IPv4.js +3 -3
- package/build/dist/Types/IP/IPv4.js.map +1 -1
- package/build/dist/Types/IP/IPv6.js +3 -3
- package/build/dist/Types/IP/IPv6.js.map +1 -1
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Infrastructure/OSType.js.map +1 -1
- package/build/dist/Types/JSON.js.map +1 -1
- package/build/dist/Types/JSONFunctions.js +33 -35
- package/build/dist/Types/JSONFunctions.js.map +1 -1
- package/build/dist/Types/ListData.js.map +1 -1
- package/build/dist/Types/Mail/MailStatus.js.map +1 -1
- package/build/dist/Types/MeteredPlan/ProductType.js.map +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js +1 -1
- package/build/dist/Types/Monitor/CriteriaFilter.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteria.js +17 -19
- package/build/dist/Types/Monitor/MonitorCriteria.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +54 -55
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +48 -52
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorSteps.js +19 -19
- package/build/dist/Types/Monitor/MonitorSteps.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorType.js +23 -23
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/SyntheticMonitors/BrowserType.js +1 -1
- package/build/dist/Types/Monitor/SyntheticMonitors/ScreenSizeType.js +1 -1
- package/build/dist/Types/Name.js +16 -16
- package/build/dist/Types/Name.js.map +1 -1
- package/build/dist/Types/NotificationRule/NotificationRuleType.js.map +1 -1
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/ObjectID.js +15 -15
- package/build/dist/Types/ObjectID.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/Layer.js +14 -18
- package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/OnCalDutyExecutionLogTimelineStatus.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyAlertStatus.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/OnCallDutyPolicyStatus.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js +14 -14
- package/build/dist/Types/OnCallDutyPolicy/RestrictionTimes.js.map +1 -1
- package/build/dist/Types/Operation/OperationResult.js.map +1 -1
- package/build/dist/Types/Operation/OperationStatus.js.map +1 -1
- package/build/dist/Types/Permission.js +696 -696
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Phone.js +8 -8
- package/build/dist/Types/Phone.js.map +1 -1
- package/build/dist/Types/Port.js +11 -11
- package/build/dist/Types/Port.js.map +1 -1
- package/build/dist/Types/PositiveNumber.js +7 -8
- package/build/dist/Types/PositiveNumber.js.map +1 -1
- package/build/dist/Types/SMS/SmsTemplateType.js.map +1 -1
- package/build/dist/Types/SSO/DigestMethod.js.map +1 -1
- package/build/dist/Types/SSO/SignatureMethod.js.map +1 -1
- package/build/dist/Types/ScheduledEvent/ScheduledEventState.js.map +1 -1
- package/build/dist/Types/ScreenSizeType.js.map +1 -1
- package/build/dist/Types/SecuritySeverity.js.map +1 -1
- package/build/dist/Types/SerializableObject.js +1 -1
- package/build/dist/Types/SerializableObject.js.map +1 -1
- package/build/dist/Types/SerializableObjectDictionary.js +29 -29
- package/build/dist/Types/SerializableObjectDictionary.js.map +1 -1
- package/build/dist/Types/ServiceCatalog/ServiceLanguage.js +21 -0
- package/build/dist/Types/ServiceCatalog/ServiceLanguage.js.map +1 -0
- package/build/dist/Types/Sleep.js.map +1 -1
- package/build/dist/Types/SmsStatus.js.map +1 -1
- package/build/dist/Types/StatusPage/StatusPageChartType.js.map +1 -1
- package/build/dist/Types/Text.js +35 -35
- package/build/dist/Types/Text.js.map +1 -1
- package/build/dist/Types/Timezone.js.map +1 -1
- package/build/dist/Types/TimezoneCode.js +64 -0
- package/build/dist/Types/TimezoneCode.js.map +1 -0
- package/build/dist/Types/Typeof.js.map +1 -1
- package/build/dist/Types/UserNotification/UserNotificationEventType.js.map +1 -1
- package/build/dist/Types/UserNotification/UserNotificationExecutionStatus.js.map +1 -1
- package/build/dist/Types/UserNotification/UserNotificationStatus.js.map +1 -1
- package/build/dist/Types/UserType.js.map +1 -1
- package/build/dist/Types/Version.js +9 -9
- package/build/dist/Types/Version.js.map +1 -1
- package/build/dist/Types/WebsiteRequest.js +3 -3
- package/build/dist/Types/WebsiteRequest.js.map +1 -1
- package/build/dist/Types/Workflow/Component.js.map +1 -1
- package/build/dist/Types/Workflow/ComponentID.js.map +1 -1
- package/build/dist/Types/Workflow/Components/API.js +139 -139
- package/build/dist/Types/Workflow/Components/API.js.map +1 -1
- package/build/dist/Types/Workflow/Components/BaseModel.js +139 -139
- package/build/dist/Types/Workflow/Components/BaseModel.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Condition.js +27 -27
- package/build/dist/Types/Workflow/Components/Condition.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Email.js +44 -44
- package/build/dist/Types/Workflow/Components/Email.js.map +1 -1
- package/build/dist/Types/Workflow/Components/JSON.js +60 -60
- package/build/dist/Types/Workflow/Components/JSON.js.map +1 -1
- package/build/dist/Types/Workflow/Components/JavaScript.js +26 -26
- package/build/dist/Types/Workflow/Components/JavaScript.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Log.js +15 -15
- package/build/dist/Types/Workflow/Components/Log.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Manual.js +12 -12
- package/build/dist/Types/Workflow/Components/Manual.js.map +1 -1
- package/build/dist/Types/Workflow/Components/MicrosoftTeams.js +26 -26
- package/build/dist/Types/Workflow/Components/MicrosoftTeams.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Schedule.js +12 -12
- package/build/dist/Types/Workflow/Components/Schedule.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Slack.js +26 -26
- package/build/dist/Types/Workflow/Components/Slack.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Webhook.js +20 -20
- package/build/dist/Types/Workflow/Components/Webhook.js.map +1 -1
- package/build/dist/Types/Workflow/Components/Workflow.js +15 -15
- package/build/dist/Types/Workflow/Components/Workflow.js.map +1 -1
- package/build/dist/Types/Workflow/Components.js +33 -33
- package/build/dist/Types/Workflow/Components.js.map +1 -1
- package/build/dist/Types/Workflow/WorkflowPlan.js.map +1 -1
- package/build/dist/Types/Workflow/WorkflowStatus.js.map +1 -1
- package/build/dist/Types/XML.js +3 -3
- package/build/dist/Types/XML.js.map +1 -1
- package/build/dist/Utils/API.js +66 -16
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/Analytics.js +1 -1
- package/build/dist/Utils/Analytics.js.map +1 -1
- package/build/dist/Utils/CronTime.js +7 -7
- package/build/dist/Utils/Enum.js +9 -0
- package/build/dist/Utils/Enum.js.map +1 -0
- package/build/dist/Utils/Faker.js +5 -5
- package/build/dist/Utils/Faker.js.map +1 -1
- package/build/dist/Utils/ObjectUtil.js.map +1 -1
- package/build/dist/Utils/Realtime.js +1 -1
- package/build/dist/Utils/Realtime.js.map +1 -1
- package/build/dist/Utils/Slug.js +3 -3
- package/build/dist/Utils/Slug.js.map +1 -1
- package/build/dist/Utils/UUID.js +1 -1
- package/build/dist/Utils/UUID.js.map +1 -1
- package/package.json +3 -3
package/Models/BaseModel.ts
CHANGED
|
@@ -1,739 +1,731 @@
|
|
|
1
|
-
import Route from
|
|
2
|
-
import { ColumnAccessControl } from
|
|
3
|
-
import ColumnBillingAccessControl from
|
|
4
|
-
import EnableWorkflowOn from
|
|
5
|
-
import ModelPermission from
|
|
6
|
-
import { PlanSelect } from
|
|
7
|
-
import { getColumnAccessControlForAllColumns } from
|
|
8
|
-
import { getColumnBillingAccessControlForAllColumns } from
|
|
9
|
-
import Columns from
|
|
1
|
+
import Route from "../Types/API/Route";
|
|
2
|
+
import { ColumnAccessControl } from "../Types/BaseDatabase/AccessControl";
|
|
3
|
+
import ColumnBillingAccessControl from "../Types/BaseDatabase/ColumnBillingAccessControl";
|
|
4
|
+
import EnableWorkflowOn from "../Types/BaseDatabase/EnableWorkflowOn";
|
|
5
|
+
import ModelPermission from "../Types/BaseDatabase/ModelPermission";
|
|
6
|
+
import { PlanSelect } from "../Types/Billing/SubscriptionPlan";
|
|
7
|
+
import { getColumnAccessControlForAllColumns } from "../Types/Database/AccessControl/ColumnAccessControl";
|
|
8
|
+
import { getColumnBillingAccessControlForAllColumns } from "../Types/Database/AccessControl/ColumnBillingAccessControl";
|
|
9
|
+
import Columns from "../Types/Database/Columns";
|
|
10
10
|
import TableColumn, {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} from
|
|
15
|
-
import TableColumnType from
|
|
16
|
-
import Dictionary from
|
|
17
|
-
import Email from
|
|
18
|
-
import BadDataException from
|
|
19
|
-
import HashedString from
|
|
20
|
-
import IconProp from
|
|
21
|
-
import { JSONArray, JSONObject, JSONValue } from
|
|
22
|
-
import JSONFunctions from
|
|
23
|
-
import ObjectID from
|
|
24
|
-
import Permission, { UserTenantAccessPermission } from
|
|
25
|
-
import Phone from
|
|
26
|
-
import PositiveNumber from
|
|
27
|
-
import Text from
|
|
11
|
+
TableColumnMetadata,
|
|
12
|
+
getTableColumn,
|
|
13
|
+
getTableColumns,
|
|
14
|
+
} from "../Types/Database/TableColumn";
|
|
15
|
+
import TableColumnType from "../Types/Database/TableColumnType";
|
|
16
|
+
import Dictionary from "../Types/Dictionary";
|
|
17
|
+
import Email from "../Types/Email";
|
|
18
|
+
import BadDataException from "../Types/Exception/BadDataException";
|
|
19
|
+
import HashedString from "../Types/HashedString";
|
|
20
|
+
import IconProp from "../Types/Icon/IconProp";
|
|
21
|
+
import { JSONArray, JSONObject, JSONValue } from "../Types/JSON";
|
|
22
|
+
import JSONFunctions from "../Types/JSONFunctions";
|
|
23
|
+
import ObjectID from "../Types/ObjectID";
|
|
24
|
+
import Permission, { UserTenantAccessPermission } from "../Types/Permission";
|
|
25
|
+
import Phone from "../Types/Phone";
|
|
26
|
+
import PositiveNumber from "../Types/PositiveNumber";
|
|
27
|
+
import Text from "../Types/Text";
|
|
28
28
|
import {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} from
|
|
29
|
+
BaseEntity,
|
|
30
|
+
CreateDateColumn,
|
|
31
|
+
DeleteDateColumn,
|
|
32
|
+
PrimaryGeneratedColumn,
|
|
33
|
+
UpdateDateColumn,
|
|
34
|
+
VersionColumn,
|
|
35
|
+
} from "typeorm";
|
|
36
36
|
|
|
37
37
|
export type BaseModelType = { new (): BaseModel };
|
|
38
38
|
|
|
39
39
|
export type DbTypes =
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
| string
|
|
41
|
+
| number
|
|
42
|
+
| PositiveNumber
|
|
43
|
+
| Email
|
|
44
|
+
| HashedString
|
|
45
|
+
| URL
|
|
46
|
+
| Phone
|
|
47
|
+
| JSONObject
|
|
48
|
+
| ObjectID
|
|
49
|
+
| JSONArray
|
|
50
|
+
| Buffer;
|
|
51
51
|
|
|
52
52
|
export default class BaseModel extends BaseEntity {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
return new Columns(columns);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
public getTableColumns(): Columns {
|
|
189
|
-
return new Columns(Object.keys(getTableColumns(this)));
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
public canQueryMultiTenant(): boolean {
|
|
193
|
-
return Boolean(this.isMultiTenantRequestAllowed);
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
public isUserQueryWithoutTenantAllowed(): boolean {
|
|
197
|
-
return Boolean(this.allowUserQueryWithoutTenant);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
public getTableColumnMetadata(columnName: string): TableColumnMetadata {
|
|
201
|
-
const dictionary: Dictionary<TableColumnMetadata> =
|
|
202
|
-
getTableColumns(this);
|
|
203
|
-
return dictionary[columnName] as TableColumnMetadata;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
public hasColumn(columnName: string): boolean {
|
|
207
|
-
return Boolean(getTableColumn(this, columnName));
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
public getColumnBillingAccessControl(
|
|
211
|
-
columnName: string
|
|
212
|
-
): ColumnBillingAccessControl {
|
|
213
|
-
const dictionary: Dictionary<ColumnBillingAccessControl> =
|
|
214
|
-
getColumnBillingAccessControlForAllColumns(this);
|
|
215
|
-
return dictionary[columnName] as ColumnBillingAccessControl;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
public getColumnAccessControlFor(
|
|
219
|
-
columnName: string
|
|
220
|
-
): ColumnAccessControl | null {
|
|
221
|
-
return this.getColumnAccessControlForAllColumns()[columnName] || null;
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
public getColumnAccessControlForAllColumns(): Dictionary<ColumnAccessControl> {
|
|
225
|
-
const dictionary: Dictionary<ColumnAccessControl> =
|
|
226
|
-
getColumnAccessControlForAllColumns(this);
|
|
227
|
-
|
|
228
|
-
const defaultColumns: Array<string> = [
|
|
229
|
-
'_id',
|
|
230
|
-
'createdAt',
|
|
231
|
-
'deletedAt',
|
|
232
|
-
'updatedAt',
|
|
233
|
-
];
|
|
234
|
-
|
|
235
|
-
for (const key of defaultColumns) {
|
|
236
|
-
dictionary[key] = {
|
|
237
|
-
read: this.readRecordPermissions,
|
|
238
|
-
create: this.createRecordPermissions,
|
|
239
|
-
update: this.updateRecordPermissions,
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
return dictionary;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
public hasValue(columnName: string): boolean {
|
|
247
|
-
return Boolean((this as any)[columnName]);
|
|
248
|
-
}
|
|
249
|
-
|
|
250
|
-
public getValue<T extends DbTypes>(columnName: string): T {
|
|
251
|
-
return (this as any)[columnName] as T;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
public setValue<T extends DbTypes>(columnName: string, value: T): void {
|
|
255
|
-
(this as any)[columnName] = value;
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
public removeValue(columnName: string): void {
|
|
259
|
-
(this as any)[columnName] = undefined;
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
public doesPermissionHaveConditions(
|
|
263
|
-
permission: Permission
|
|
264
|
-
): JSONObject | null {
|
|
265
|
-
return this.isPermissionIf[permission]
|
|
266
|
-
? (this.isPermissionIf[permission] as JSONObject)
|
|
267
|
-
: null;
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
public getUniqueColumns(): Columns {
|
|
271
|
-
const dictionary: Dictionary<TableColumnMetadata> =
|
|
272
|
-
getTableColumns(this);
|
|
273
|
-
const columns: Array<string> = [];
|
|
274
|
-
for (const key in dictionary) {
|
|
275
|
-
if (dictionary[key]?.unique) {
|
|
276
|
-
columns.push(key);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
return new Columns(columns);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
public setSlugifyColumn(columnName: string): void {
|
|
284
|
-
this.slugifyColumn = columnName;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
public getTotalItemsByColumnName(): string | null {
|
|
288
|
-
return this.totalItemsByColumnName;
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
public getTotalItemsByErrorMessage(): string | null {
|
|
292
|
-
return this.totalItemsErrorMessage;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
public getTotalItemsNumber(): number | null {
|
|
296
|
-
return this.totalItemsNumber;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
public getRequiredColumns(): Columns {
|
|
300
|
-
const dictionary: Dictionary<TableColumnMetadata> =
|
|
301
|
-
getTableColumns(this);
|
|
302
|
-
const columns: Array<string> = [];
|
|
303
|
-
for (const key in dictionary) {
|
|
304
|
-
if (dictionary[key]?.required) {
|
|
305
|
-
columns.push(key);
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
return new Columns(columns);
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
public getSlugifyColumn(): string | null {
|
|
313
|
-
return this.slugifyColumn;
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
public getCrudApiPath(): Route | null {
|
|
317
|
-
return this.crudApiPath;
|
|
318
|
-
}
|
|
319
|
-
|
|
320
|
-
public getSaveSlugToColumn(): string | null {
|
|
321
|
-
return this.saveSlugToColumn;
|
|
322
|
-
}
|
|
53
|
+
@TableColumn({
|
|
54
|
+
title: "ID",
|
|
55
|
+
type: TableColumnType.ObjectID,
|
|
56
|
+
description: "ID of this object",
|
|
57
|
+
})
|
|
58
|
+
@PrimaryGeneratedColumn("uuid")
|
|
59
|
+
public _id?: string = undefined;
|
|
60
|
+
|
|
61
|
+
@TableColumn({
|
|
62
|
+
title: "Created",
|
|
63
|
+
type: TableColumnType.Date,
|
|
64
|
+
description: "Date and Time when the object was created.",
|
|
65
|
+
})
|
|
66
|
+
@CreateDateColumn()
|
|
67
|
+
public createdAt?: Date = undefined;
|
|
68
|
+
|
|
69
|
+
@TableColumn({
|
|
70
|
+
title: "Updated",
|
|
71
|
+
type: TableColumnType.Date,
|
|
72
|
+
description: "Date and Time when the object was updated.",
|
|
73
|
+
})
|
|
74
|
+
@UpdateDateColumn()
|
|
75
|
+
public updatedAt?: Date = undefined;
|
|
76
|
+
|
|
77
|
+
@TableColumn({
|
|
78
|
+
title: "Deleted",
|
|
79
|
+
type: TableColumnType.Date,
|
|
80
|
+
description: "Date and Time when the object was deleted.",
|
|
81
|
+
})
|
|
82
|
+
@DeleteDateColumn()
|
|
83
|
+
public deletedAt?: Date = undefined;
|
|
84
|
+
|
|
85
|
+
@TableColumn({
|
|
86
|
+
title: "Version",
|
|
87
|
+
type: TableColumnType.Version,
|
|
88
|
+
description: "Object version",
|
|
89
|
+
})
|
|
90
|
+
@VersionColumn()
|
|
91
|
+
public version?: number = undefined;
|
|
92
|
+
|
|
93
|
+
public createRecordPermissions!: Array<Permission>;
|
|
94
|
+
public readRecordPermissions!: Array<Permission>;
|
|
95
|
+
public deleteRecordPermissions!: Array<Permission>;
|
|
96
|
+
public updateRecordPermissions!: Array<Permission>;
|
|
97
|
+
|
|
98
|
+
// Billing Plans.
|
|
99
|
+
public createBillingPlan!: PlanSelect | null;
|
|
100
|
+
public readBillingPlan!: PlanSelect | null;
|
|
101
|
+
public updateBillingPlan!: PlanSelect | null;
|
|
102
|
+
public deleteBillingPlan!: PlanSelect | null;
|
|
103
|
+
|
|
104
|
+
public allowAccessIfSubscriptionIsUnpaid!: boolean;
|
|
105
|
+
|
|
106
|
+
public enableWorkflowOn!: EnableWorkflowOn;
|
|
107
|
+
|
|
108
|
+
public enableDocumentation!: boolean;
|
|
109
|
+
public isMasterAdminApiDocs!: boolean;
|
|
110
|
+
|
|
111
|
+
public currentUserCanAccessColumnBy!: string | null;
|
|
112
|
+
public labelsColumn!: string | null;
|
|
113
|
+
public slugifyColumn!: string | null;
|
|
114
|
+
public saveSlugToColumn!: string | null;
|
|
115
|
+
public singularName!: string | null;
|
|
116
|
+
public pluralName!: string | null;
|
|
117
|
+
|
|
118
|
+
// total items by
|
|
119
|
+
public totalItemsByColumnName!: string | null;
|
|
120
|
+
public totalItemsNumber!: number | null;
|
|
121
|
+
public totalItemsErrorMessage!: string | null;
|
|
122
|
+
|
|
123
|
+
public isPermissionIf: Dictionary<JSONObject> = {};
|
|
124
|
+
|
|
125
|
+
public isMultiTenantRequestAllowed!: boolean | null;
|
|
126
|
+
public allowUserQueryWithoutTenant!: boolean | null;
|
|
127
|
+
|
|
128
|
+
public crudApiPath!: Route | null;
|
|
129
|
+
|
|
130
|
+
// If this resource is by projectId, which column does projectId belong to?
|
|
131
|
+
public tenantColumn!: string | null;
|
|
132
|
+
|
|
133
|
+
public accessControlColumn!: string | null;
|
|
134
|
+
|
|
135
|
+
public icon!: IconProp | null;
|
|
136
|
+
|
|
137
|
+
public tableDescription!: string | null;
|
|
138
|
+
|
|
139
|
+
public tableName!: string | null;
|
|
140
|
+
|
|
141
|
+
public canAccessIfCanReadOn!: string | null;
|
|
142
|
+
|
|
143
|
+
public constructor(id?: ObjectID) {
|
|
144
|
+
super();
|
|
145
|
+
if (id) {
|
|
146
|
+
this.id = id;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
public getHashedColumns(): Columns {
|
|
151
|
+
const dictionary: Dictionary<TableColumnMetadata> = getTableColumns(this);
|
|
152
|
+
const columns: Array<string> = [];
|
|
153
|
+
for (const key in dictionary) {
|
|
154
|
+
if (dictionary[key]?.hashed) {
|
|
155
|
+
columns.push(key);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return new Columns(columns);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
public getDisplayColumnPlaceholderAs(columnName: string): string | null {
|
|
163
|
+
return getTableColumn(this, columnName)?.placeholder || null;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
public getDisplayColumnTitleAs(columnName: string): string | null {
|
|
167
|
+
return getTableColumn(this, columnName)?.title || null;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public getDisplayColumnDescriptionAs(columnName: string): string | null {
|
|
171
|
+
return getTableColumn(this, columnName)?.description || null;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
public getEncryptedColumns(): Columns {
|
|
175
|
+
const dictionary: Dictionary<TableColumnMetadata> = getTableColumns(this);
|
|
176
|
+
const columns: Array<string> = [];
|
|
177
|
+
for (const key in dictionary) {
|
|
178
|
+
if (dictionary[key]?.encrypted) {
|
|
179
|
+
columns.push(key);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
323
182
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
183
|
+
return new Columns(columns);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
public getTableColumns(): Columns {
|
|
187
|
+
return new Columns(Object.keys(getTableColumns(this)));
|
|
188
|
+
}
|
|
327
189
|
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
190
|
+
public canQueryMultiTenant(): boolean {
|
|
191
|
+
return Boolean(this.isMultiTenantRequestAllowed);
|
|
192
|
+
}
|
|
331
193
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
194
|
+
public isUserQueryWithoutTenantAllowed(): boolean {
|
|
195
|
+
return Boolean(this.allowUserQueryWithoutTenant);
|
|
196
|
+
}
|
|
335
197
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
198
|
+
public getTableColumnMetadata(columnName: string): TableColumnMetadata {
|
|
199
|
+
const dictionary: Dictionary<TableColumnMetadata> = getTableColumns(this);
|
|
200
|
+
return dictionary[columnName] as TableColumnMetadata;
|
|
201
|
+
}
|
|
339
202
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
203
|
+
public hasColumn(columnName: string): boolean {
|
|
204
|
+
return Boolean(getTableColumn(this, columnName));
|
|
205
|
+
}
|
|
343
206
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
207
|
+
public getColumnBillingAccessControl(
|
|
208
|
+
columnName: string,
|
|
209
|
+
): ColumnBillingAccessControl {
|
|
210
|
+
const dictionary: Dictionary<ColumnBillingAccessControl> =
|
|
211
|
+
getColumnBillingAccessControlForAllColumns(this);
|
|
212
|
+
return dictionary[columnName] as ColumnBillingAccessControl;
|
|
213
|
+
}
|
|
349
214
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
215
|
+
public getColumnAccessControlFor(
|
|
216
|
+
columnName: string,
|
|
217
|
+
): ColumnAccessControl | null {
|
|
218
|
+
return this.getColumnAccessControlForAllColumns()[columnName] || null;
|
|
219
|
+
}
|
|
353
220
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
if (getTableColumn(this, columnName) && (this as any)[columnName]) {
|
|
358
|
-
return (this as any)[columnName] as JSONValue;
|
|
359
|
-
}
|
|
221
|
+
public getColumnAccessControlForAllColumns(): Dictionary<ColumnAccessControl> {
|
|
222
|
+
const dictionary: Dictionary<ColumnAccessControl> =
|
|
223
|
+
getColumnAccessControlForAllColumns(this);
|
|
360
224
|
|
|
361
|
-
|
|
362
|
-
|
|
225
|
+
const defaultColumns: Array<string> = [
|
|
226
|
+
"_id",
|
|
227
|
+
"createdAt",
|
|
228
|
+
"deletedAt",
|
|
229
|
+
"updatedAt",
|
|
230
|
+
];
|
|
363
231
|
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
232
|
+
for (const key of defaultColumns) {
|
|
233
|
+
dictionary[key] = {
|
|
234
|
+
read: this.readRecordPermissions,
|
|
235
|
+
create: this.createRecordPermissions,
|
|
236
|
+
update: this.updateRecordPermissions,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return dictionary;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
public hasValue(columnName: string): boolean {
|
|
244
|
+
return Boolean((this as any)[columnName]);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
public getValue<T extends DbTypes>(columnName: string): T {
|
|
248
|
+
return (this as any)[columnName] as T;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
public setValue<T extends DbTypes>(columnName: string, value: T): void {
|
|
252
|
+
(this as any)[columnName] = value;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
public removeValue(columnName: string): void {
|
|
256
|
+
(this as any)[columnName] = undefined;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
public doesPermissionHaveConditions(
|
|
260
|
+
permission: Permission,
|
|
261
|
+
): JSONObject | null {
|
|
262
|
+
return this.isPermissionIf[permission]
|
|
263
|
+
? (this.isPermissionIf[permission] as JSONObject)
|
|
264
|
+
: null;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
public getUniqueColumns(): Columns {
|
|
268
|
+
const dictionary: Dictionary<TableColumnMetadata> = getTableColumns(this);
|
|
269
|
+
const columns: Array<string> = [];
|
|
270
|
+
for (const key in dictionary) {
|
|
271
|
+
if (dictionary[key]?.unique) {
|
|
272
|
+
columns.push(key);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
return new Columns(columns);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
public setSlugifyColumn(columnName: string): void {
|
|
280
|
+
this.slugifyColumn = columnName;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
public getTotalItemsByColumnName(): string | null {
|
|
284
|
+
return this.totalItemsByColumnName;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
public getTotalItemsByErrorMessage(): string | null {
|
|
288
|
+
return this.totalItemsErrorMessage;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
public getTotalItemsNumber(): number | null {
|
|
292
|
+
return this.totalItemsNumber;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
public getRequiredColumns(): Columns {
|
|
296
|
+
const dictionary: Dictionary<TableColumnMetadata> = getTableColumns(this);
|
|
297
|
+
const columns: Array<string> = [];
|
|
298
|
+
for (const key in dictionary) {
|
|
299
|
+
if (dictionary[key]?.required) {
|
|
300
|
+
columns.push(key);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
return new Columns(columns);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
public getSlugifyColumn(): string | null {
|
|
308
|
+
return this.slugifyColumn;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
public getCrudApiPath(): Route | null {
|
|
312
|
+
return this.crudApiPath;
|
|
313
|
+
}
|
|
372
314
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
315
|
+
public getSaveSlugToColumn(): string | null {
|
|
316
|
+
return this.saveSlugToColumn;
|
|
317
|
+
}
|
|
376
318
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
columnName
|
|
381
|
-
);
|
|
319
|
+
public getTenantColumn(): string | null {
|
|
320
|
+
return this.tenantColumn;
|
|
321
|
+
}
|
|
382
322
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
);
|
|
387
|
-
}
|
|
323
|
+
public getAccessControlColumn(): string | null {
|
|
324
|
+
return this.accessControlColumn;
|
|
325
|
+
}
|
|
388
326
|
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
);
|
|
393
|
-
}
|
|
327
|
+
public getUserColumn(): string | null {
|
|
328
|
+
return this.currentUserCanAccessColumnBy;
|
|
329
|
+
}
|
|
394
330
|
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
columnName
|
|
399
|
-
);
|
|
331
|
+
public getLabelsColumn(): string | null {
|
|
332
|
+
return this.labelsColumn;
|
|
333
|
+
}
|
|
400
334
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
);
|
|
405
|
-
}
|
|
335
|
+
public get id(): ObjectID | null {
|
|
336
|
+
return this._id ? new ObjectID(this._id) : null;
|
|
337
|
+
}
|
|
406
338
|
|
|
407
|
-
|
|
339
|
+
public set id(value: ObjectID | null) {
|
|
340
|
+
if (value) {
|
|
341
|
+
this._id = value.toString();
|
|
408
342
|
}
|
|
343
|
+
}
|
|
409
344
|
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
columnName
|
|
414
|
-
);
|
|
345
|
+
public isDefaultValueColumn(columnName: string): boolean {
|
|
346
|
+
return Boolean(getTableColumn(this, columnName).isDefaultValueColumn);
|
|
347
|
+
}
|
|
415
348
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
if (fileModel.isFileModel()) {
|
|
423
|
-
return true;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
|
-
return false;
|
|
349
|
+
public getColumnValue(
|
|
350
|
+
columnName: string,
|
|
351
|
+
): JSONValue | BaseModel | Array<BaseModel> | null {
|
|
352
|
+
if (getTableColumn(this, columnName) && (this as any)[columnName]) {
|
|
353
|
+
return (this as any)[columnName] as JSONValue;
|
|
427
354
|
}
|
|
428
355
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}
|
|
356
|
+
return null;
|
|
357
|
+
}
|
|
432
358
|
|
|
433
|
-
|
|
434
|
-
|
|
359
|
+
public setColumnValue(
|
|
360
|
+
columnName: string,
|
|
361
|
+
value: JSONValue | BaseModel | Array<BaseModel>,
|
|
362
|
+
): void {
|
|
363
|
+
if (getTableColumn(this, columnName)) {
|
|
364
|
+
return ((this as any)[columnName] = value as any);
|
|
435
365
|
}
|
|
366
|
+
}
|
|
436
367
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
368
|
+
public isTableColumn(columnName: string): boolean {
|
|
369
|
+
return Boolean(getTableColumn(this, columnName));
|
|
370
|
+
}
|
|
440
371
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
372
|
+
public isEntityColumn(columnName: string): boolean {
|
|
373
|
+
const tableColumnType: TableColumnMetadata = getTableColumn(
|
|
374
|
+
this,
|
|
375
|
+
columnName,
|
|
376
|
+
);
|
|
444
377
|
|
|
445
|
-
|
|
446
|
-
|
|
378
|
+
if (!tableColumnType) {
|
|
379
|
+
throw new BadDataException(
|
|
380
|
+
"TableColumnMetadata not found for " + columnName + " column",
|
|
381
|
+
);
|
|
447
382
|
}
|
|
448
383
|
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
)
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
if (columnName) {
|
|
456
|
-
const columnAccessControl: ColumnAccessControl | null =
|
|
457
|
-
this.getColumnAccessControlFor(columnName);
|
|
458
|
-
if (columnAccessControl) {
|
|
459
|
-
modelPermission = columnAccessControl.create;
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
|
|
463
|
-
return ModelPermission.hasPermissions(
|
|
464
|
-
userProjectPermissions,
|
|
465
|
-
modelPermission
|
|
466
|
-
);
|
|
467
|
-
}
|
|
384
|
+
return Boolean(
|
|
385
|
+
tableColumnType.type === TableColumnType.Entity ||
|
|
386
|
+
tableColumnType.type === TableColumnType.EntityArray,
|
|
387
|
+
);
|
|
388
|
+
}
|
|
468
389
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
390
|
+
public isHashedStringColumn(columnName: string): boolean {
|
|
391
|
+
const tableColumnType: TableColumnMetadata = getTableColumn(
|
|
392
|
+
this,
|
|
393
|
+
columnName,
|
|
394
|
+
);
|
|
472
395
|
|
|
473
|
-
|
|
474
|
-
|
|
396
|
+
if (!tableColumnType) {
|
|
397
|
+
throw new BadDataException(
|
|
398
|
+
"TableColumnMetadata not found for " + columnName + " column",
|
|
399
|
+
);
|
|
475
400
|
}
|
|
476
401
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
}
|
|
402
|
+
return Boolean(tableColumnType.type === TableColumnType.HashedString);
|
|
403
|
+
}
|
|
480
404
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
405
|
+
public isFileColumn(columnName: string): boolean {
|
|
406
|
+
const tableColumnType: TableColumnMetadata = getTableColumn(
|
|
407
|
+
this,
|
|
408
|
+
columnName,
|
|
409
|
+
);
|
|
484
410
|
|
|
485
|
-
|
|
486
|
-
|
|
411
|
+
if (!tableColumnType || !tableColumnType.modelType) {
|
|
412
|
+
return false;
|
|
487
413
|
}
|
|
488
414
|
|
|
489
|
-
|
|
490
|
-
return this.createRecordPermissions;
|
|
491
|
-
}
|
|
415
|
+
const fileModel: BaseModel = new tableColumnType.modelType();
|
|
492
416
|
|
|
493
|
-
|
|
494
|
-
|
|
417
|
+
if (fileModel.isFileModel()) {
|
|
418
|
+
return true;
|
|
495
419
|
}
|
|
496
420
|
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
421
|
+
return false;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
public hasPermission(_permissions: Array<Permission>): boolean {
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
public isTenantModel(): boolean {
|
|
429
|
+
return false;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
public isFileModel(): boolean {
|
|
433
|
+
return false;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
public isAccessControlModel(): boolean {
|
|
437
|
+
return false;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
public isUserModel(): boolean {
|
|
441
|
+
return false;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
public hasCreatePermissions(
|
|
445
|
+
userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
|
|
446
|
+
columnName?: string,
|
|
447
|
+
): boolean {
|
|
448
|
+
let modelPermission: Array<Permission> = this.createRecordPermissions;
|
|
449
|
+
|
|
450
|
+
if (columnName) {
|
|
451
|
+
const columnAccessControl: ColumnAccessControl | null =
|
|
452
|
+
this.getColumnAccessControlFor(columnName);
|
|
453
|
+
if (columnAccessControl) {
|
|
454
|
+
modelPermission = columnAccessControl.create;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
|
|
458
|
+
return ModelPermission.hasPermissions(
|
|
459
|
+
userProjectPermissions,
|
|
460
|
+
modelPermission,
|
|
461
|
+
);
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
public getReadPermissions(): Array<Permission> {
|
|
465
|
+
return this.readRecordPermissions;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
public getReadBillingPlan(): PlanSelect | null {
|
|
469
|
+
return this.readBillingPlan;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
public getCreateBillingPlan(): PlanSelect | null {
|
|
473
|
+
return this.createBillingPlan;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
public getUpdateBillingPlan(): PlanSelect | null {
|
|
477
|
+
return this.updateBillingPlan;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
public getDeleteBillingPlan(): PlanSelect | null {
|
|
481
|
+
return this.deleteBillingPlan;
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
public getCreatePermissions(): Array<Permission> {
|
|
485
|
+
return this.createRecordPermissions;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
public getUpdatePermissions(): Array<Permission> {
|
|
489
|
+
return this.updateRecordPermissions;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
public getDeletePermissions(): Array<Permission> {
|
|
493
|
+
return this.deleteRecordPermissions;
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
public hasReadPermissions(
|
|
497
|
+
userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
|
|
498
|
+
columnName?: string,
|
|
499
|
+
): boolean {
|
|
500
|
+
let modelPermission: Array<Permission> = this.readRecordPermissions;
|
|
501
|
+
|
|
502
|
+
if (columnName) {
|
|
503
|
+
const columnAccessControl: ColumnAccessControl | null =
|
|
504
|
+
this.getColumnAccessControlFor(columnName);
|
|
505
|
+
if (columnAccessControl) {
|
|
506
|
+
modelPermission = columnAccessControl.read;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
return ModelPermission.hasPermissions(
|
|
511
|
+
userProjectPermissions,
|
|
512
|
+
modelPermission,
|
|
513
|
+
);
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
public hasDeletePermissions(
|
|
517
|
+
userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
|
|
518
|
+
): boolean {
|
|
519
|
+
const modelPermission: Array<Permission> = this.deleteRecordPermissions;
|
|
520
|
+
return ModelPermission.hasPermissions(
|
|
521
|
+
userProjectPermissions,
|
|
522
|
+
modelPermission,
|
|
523
|
+
);
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
public hasUpdatePermissions(
|
|
527
|
+
userProjectPermissions: UserTenantAccessPermission | Array<Permission>,
|
|
528
|
+
columnName?: string,
|
|
529
|
+
): boolean {
|
|
530
|
+
let modelPermission: Array<Permission> = this.updateRecordPermissions;
|
|
531
|
+
|
|
532
|
+
if (columnName) {
|
|
533
|
+
const columnAccessControl: ColumnAccessControl | null =
|
|
534
|
+
this.getColumnAccessControlFor(columnName);
|
|
535
|
+
if (columnAccessControl) {
|
|
536
|
+
modelPermission = columnAccessControl.update;
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
return ModelPermission.hasPermissions(
|
|
541
|
+
userProjectPermissions,
|
|
542
|
+
modelPermission,
|
|
543
|
+
);
|
|
544
|
+
}
|
|
545
|
+
|
|
546
|
+
public getAPIDocumentationPath(): string {
|
|
547
|
+
return Text.pascalCaseToDashes(this.tableName as string);
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
public static toJSON(model: BaseModel, modelType: BaseModelType): JSONObject {
|
|
551
|
+
const json: JSONObject = this.toJSONObject(model, modelType);
|
|
552
|
+
return JSONFunctions.serialize(json);
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
public static toJSONObject(
|
|
556
|
+
model: BaseModel,
|
|
557
|
+
modelType: BaseModelType,
|
|
558
|
+
): JSONObject {
|
|
559
|
+
const json: JSONObject = {};
|
|
560
|
+
|
|
561
|
+
const vanillaModel: BaseModel = new modelType();
|
|
562
|
+
|
|
563
|
+
for (const key of vanillaModel.getTableColumns().columns) {
|
|
564
|
+
if ((model as any)[key] === undefined) {
|
|
565
|
+
continue;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
const tableColumnMetadata: TableColumnMetadata =
|
|
569
|
+
vanillaModel.getTableColumnMetadata(key);
|
|
570
|
+
|
|
571
|
+
if (tableColumnMetadata) {
|
|
572
|
+
if (
|
|
573
|
+
(model as any)[key] &&
|
|
574
|
+
tableColumnMetadata.modelType &&
|
|
575
|
+
tableColumnMetadata.type === TableColumnType.Entity &&
|
|
576
|
+
(model as any)[key] instanceof BaseModel
|
|
577
|
+
) {
|
|
578
|
+
(json as any)[key] = this.toJSONObject(
|
|
579
|
+
(model as any)[key],
|
|
580
|
+
tableColumnMetadata.modelType,
|
|
581
|
+
);
|
|
582
|
+
} else if (
|
|
583
|
+
(model as any)[key] &&
|
|
584
|
+
Array.isArray((model as any)[key]) &&
|
|
585
|
+
(model as any)[key].length > 0 &&
|
|
586
|
+
tableColumnMetadata.modelType &&
|
|
587
|
+
tableColumnMetadata.type === TableColumnType.EntityArray
|
|
588
|
+
) {
|
|
589
|
+
(json as any)[key] = this.toJSONObjectArray(
|
|
590
|
+
(model as any)[key] as Array<BaseModel>,
|
|
591
|
+
tableColumnMetadata.modelType,
|
|
592
|
+
);
|
|
593
|
+
} else {
|
|
594
|
+
(json as any)[key] = (model as any)[key];
|
|
513
595
|
}
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
return json;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
public static toJSONObjectArray(
|
|
603
|
+
list: Array<BaseModel>,
|
|
604
|
+
modelType: BaseModelType,
|
|
605
|
+
): JSONArray {
|
|
606
|
+
const array: JSONArray = [];
|
|
607
|
+
|
|
608
|
+
for (const item of list) {
|
|
609
|
+
array.push(this.toJSONObject(item, modelType));
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
return array;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
public static toJSONArray(
|
|
616
|
+
list: Array<BaseModel>,
|
|
617
|
+
modelType: BaseModelType,
|
|
618
|
+
): JSONArray {
|
|
619
|
+
const array: JSONArray = [];
|
|
620
|
+
|
|
621
|
+
for (const item of list) {
|
|
622
|
+
array.push(this.toJSON(item, modelType));
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
return array;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
private static _fromJSON<T extends BaseModel>(
|
|
629
|
+
json: JSONObject | T,
|
|
630
|
+
type: { new (): T },
|
|
631
|
+
): T {
|
|
632
|
+
if (json instanceof BaseModel) {
|
|
633
|
+
return json;
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
json = JSONFunctions.deserialize(json);
|
|
637
|
+
const baseModel: T = new type();
|
|
638
|
+
|
|
639
|
+
for (const key of Object.keys(json)) {
|
|
640
|
+
const tableColumnMetadata: TableColumnMetadata =
|
|
641
|
+
baseModel.getTableColumnMetadata(key);
|
|
642
|
+
if (tableColumnMetadata) {
|
|
643
|
+
if (
|
|
644
|
+
json[key] &&
|
|
645
|
+
tableColumnMetadata.modelType &&
|
|
646
|
+
tableColumnMetadata.type === TableColumnType.Entity
|
|
647
|
+
) {
|
|
648
|
+
if (
|
|
649
|
+
json[key] &&
|
|
650
|
+
Array.isArray(json[key]) &&
|
|
651
|
+
(json[key] as Array<any>).length > 0
|
|
652
|
+
) {
|
|
653
|
+
json[key] = (json[key] as Array<any>)[0];
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
(baseModel as any)[key] = this.fromJSON(
|
|
657
|
+
json[key] as JSONObject,
|
|
658
|
+
tableColumnMetadata.modelType,
|
|
659
|
+
);
|
|
660
|
+
} else if (
|
|
661
|
+
json[key] &&
|
|
662
|
+
tableColumnMetadata.modelType &&
|
|
663
|
+
tableColumnMetadata.type === TableColumnType.EntityArray
|
|
664
|
+
) {
|
|
665
|
+
if (json[key] && !Array.isArray(json[key])) {
|
|
666
|
+
json[key] = [json[key]];
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
(baseModel as any)[key] = this.fromJSONArray(
|
|
670
|
+
json[key] as JSONArray,
|
|
671
|
+
tableColumnMetadata.modelType,
|
|
672
|
+
);
|
|
673
|
+
} else {
|
|
674
|
+
(baseModel as any)[key] = json[key];
|
|
543
675
|
}
|
|
544
|
-
|
|
545
|
-
return ModelPermission.hasPermissions(
|
|
546
|
-
userProjectPermissions,
|
|
547
|
-
modelPermission
|
|
548
|
-
);
|
|
676
|
+
}
|
|
549
677
|
}
|
|
550
678
|
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
}
|
|
679
|
+
return baseModel as T;
|
|
680
|
+
}
|
|
554
681
|
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
}
|
|
682
|
+
public static fromJSON<T extends BaseModel>(
|
|
683
|
+
json: JSONObject | JSONArray | BaseModel | Array<BaseModel>,
|
|
684
|
+
type: { new (): T },
|
|
685
|
+
): T | Array<T> {
|
|
686
|
+
if (Array.isArray(json)) {
|
|
687
|
+
const arr: Array<T> = [];
|
|
562
688
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
const json: JSONObject = {};
|
|
568
|
-
|
|
569
|
-
const vanillaModel: BaseModel = new modelType();
|
|
570
|
-
|
|
571
|
-
for (const key of vanillaModel.getTableColumns().columns) {
|
|
572
|
-
if ((model as any)[key] === undefined) {
|
|
573
|
-
continue;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
const tableColumnMetadata: TableColumnMetadata =
|
|
577
|
-
vanillaModel.getTableColumnMetadata(key);
|
|
578
|
-
|
|
579
|
-
if (tableColumnMetadata) {
|
|
580
|
-
if (
|
|
581
|
-
(model as any)[key] &&
|
|
582
|
-
tableColumnMetadata.modelType &&
|
|
583
|
-
tableColumnMetadata.type === TableColumnType.Entity &&
|
|
584
|
-
(model as any)[key] instanceof BaseModel
|
|
585
|
-
) {
|
|
586
|
-
(json as any)[key] = this.toJSONObject(
|
|
587
|
-
(model as any)[key],
|
|
588
|
-
tableColumnMetadata.modelType
|
|
589
|
-
);
|
|
590
|
-
} else if (
|
|
591
|
-
(model as any)[key] &&
|
|
592
|
-
Array.isArray((model as any)[key]) &&
|
|
593
|
-
(model as any)[key].length > 0 &&
|
|
594
|
-
tableColumnMetadata.modelType &&
|
|
595
|
-
tableColumnMetadata.type === TableColumnType.EntityArray
|
|
596
|
-
) {
|
|
597
|
-
(json as any)[key] = this.toJSONObjectArray(
|
|
598
|
-
(model as any)[key] as Array<BaseModel>,
|
|
599
|
-
tableColumnMetadata.modelType
|
|
600
|
-
);
|
|
601
|
-
} else {
|
|
602
|
-
(json as any)[key] = (model as any)[key];
|
|
603
|
-
}
|
|
604
|
-
}
|
|
689
|
+
for (const item of json) {
|
|
690
|
+
if (item instanceof BaseModel) {
|
|
691
|
+
arr.push(item as T);
|
|
692
|
+
continue;
|
|
605
693
|
}
|
|
606
694
|
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
public static toJSONObjectArray(
|
|
611
|
-
list: Array<BaseModel>,
|
|
612
|
-
modelType: BaseModelType
|
|
613
|
-
): JSONArray {
|
|
614
|
-
const array: JSONArray = [];
|
|
615
|
-
|
|
616
|
-
for (const item of list) {
|
|
617
|
-
array.push(this.toJSONObject(item, modelType));
|
|
618
|
-
}
|
|
695
|
+
arr.push(this._fromJSON<T>(item, type));
|
|
696
|
+
}
|
|
619
697
|
|
|
620
|
-
|
|
698
|
+
return arr;
|
|
621
699
|
}
|
|
622
700
|
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
modelType: BaseModelType
|
|
626
|
-
): JSONArray {
|
|
627
|
-
const array: JSONArray = [];
|
|
628
|
-
|
|
629
|
-
for (const item of list) {
|
|
630
|
-
array.push(this.toJSON(item, modelType));
|
|
631
|
-
}
|
|
632
|
-
|
|
633
|
-
return array;
|
|
701
|
+
if (json instanceof BaseModel) {
|
|
702
|
+
return json as T;
|
|
634
703
|
}
|
|
635
704
|
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
type: { new (): T }
|
|
639
|
-
): T {
|
|
640
|
-
if (json instanceof BaseModel) {
|
|
641
|
-
return json;
|
|
642
|
-
}
|
|
643
|
-
|
|
644
|
-
json = JSONFunctions.deserialize(json);
|
|
645
|
-
const baseModel: T = new type();
|
|
646
|
-
|
|
647
|
-
for (const key of Object.keys(json)) {
|
|
648
|
-
const tableColumnMetadata: TableColumnMetadata =
|
|
649
|
-
baseModel.getTableColumnMetadata(key);
|
|
650
|
-
if (tableColumnMetadata) {
|
|
651
|
-
if (
|
|
652
|
-
json[key] &&
|
|
653
|
-
tableColumnMetadata.modelType &&
|
|
654
|
-
tableColumnMetadata.type === TableColumnType.Entity
|
|
655
|
-
) {
|
|
656
|
-
if (
|
|
657
|
-
json[key] &&
|
|
658
|
-
Array.isArray(json[key]) &&
|
|
659
|
-
(json[key] as Array<any>).length > 0
|
|
660
|
-
) {
|
|
661
|
-
json[key] = (json[key] as Array<any>)[0];
|
|
662
|
-
}
|
|
663
|
-
|
|
664
|
-
(baseModel as any)[key] = this.fromJSON(
|
|
665
|
-
json[key] as JSONObject,
|
|
666
|
-
tableColumnMetadata.modelType
|
|
667
|
-
);
|
|
668
|
-
} else if (
|
|
669
|
-
json[key] &&
|
|
670
|
-
tableColumnMetadata.modelType &&
|
|
671
|
-
tableColumnMetadata.type === TableColumnType.EntityArray
|
|
672
|
-
) {
|
|
673
|
-
if (json[key] && !Array.isArray(json[key])) {
|
|
674
|
-
json[key] = [json[key]];
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
(baseModel as any)[key] = this.fromJSONArray(
|
|
678
|
-
json[key] as JSONArray,
|
|
679
|
-
tableColumnMetadata.modelType
|
|
680
|
-
);
|
|
681
|
-
} else {
|
|
682
|
-
(baseModel as any)[key] = json[key];
|
|
683
|
-
}
|
|
684
|
-
}
|
|
685
|
-
}
|
|
705
|
+
return this._fromJSON<T>(json, type);
|
|
706
|
+
}
|
|
686
707
|
|
|
687
|
-
|
|
708
|
+
public static fromJSONObject<T extends BaseModel>(
|
|
709
|
+
json: JSONObject | T,
|
|
710
|
+
type: { new (): T },
|
|
711
|
+
): T {
|
|
712
|
+
if (json instanceof BaseModel) {
|
|
713
|
+
return json;
|
|
688
714
|
}
|
|
689
715
|
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
type: { new (): T }
|
|
693
|
-
): T | Array<T> {
|
|
694
|
-
if (Array.isArray(json)) {
|
|
695
|
-
const arr: Array<T> = [];
|
|
696
|
-
|
|
697
|
-
for (const item of json) {
|
|
698
|
-
if (item instanceof BaseModel) {
|
|
699
|
-
arr.push(item as T);
|
|
700
|
-
continue;
|
|
701
|
-
}
|
|
702
|
-
|
|
703
|
-
arr.push(this._fromJSON<T>(item, type));
|
|
704
|
-
}
|
|
705
|
-
|
|
706
|
-
return arr;
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
if (json instanceof BaseModel) {
|
|
710
|
-
return json as T;
|
|
711
|
-
}
|
|
712
|
-
|
|
713
|
-
return this._fromJSON<T>(json, type);
|
|
714
|
-
}
|
|
716
|
+
return this.fromJSON<T>(json, type) as T;
|
|
717
|
+
}
|
|
715
718
|
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
return json;
|
|
722
|
-
}
|
|
719
|
+
public static fromJSONArray<T extends BaseModel>(
|
|
720
|
+
json: Array<JSONObject | T>,
|
|
721
|
+
type: { new (): T },
|
|
722
|
+
): Array<T> {
|
|
723
|
+
const arr: Array<T> = [];
|
|
723
724
|
|
|
724
|
-
|
|
725
|
+
for (const item of json) {
|
|
726
|
+
arr.push(this._fromJSON<T>(item, type));
|
|
725
727
|
}
|
|
726
728
|
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
type: { new (): T }
|
|
730
|
-
): Array<T> {
|
|
731
|
-
const arr: Array<T> = [];
|
|
732
|
-
|
|
733
|
-
for (const item of json) {
|
|
734
|
-
arr.push(this._fromJSON<T>(item, type));
|
|
735
|
-
}
|
|
736
|
-
|
|
737
|
-
return arr;
|
|
738
|
-
}
|
|
729
|
+
return arr;
|
|
730
|
+
}
|
|
739
731
|
}
|