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