@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,32 @@
|
|
|
1
|
+
enum DayOfWeek {
|
|
2
|
+
Sunday = 'Sunday',
|
|
3
|
+
Monday = 'Monday',
|
|
4
|
+
Tuesday = 'Tuesday',
|
|
5
|
+
Wednesday = 'Wednesday',
|
|
6
|
+
Thursday = 'Thursday',
|
|
7
|
+
Friday = 'Friday',
|
|
8
|
+
Saturday = 'Saturday',
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export class DayOfWeekUtil {
|
|
12
|
+
public static getNumberOfDayOfWeek(dayOfWeek: DayOfWeek): number {
|
|
13
|
+
switch (dayOfWeek) {
|
|
14
|
+
case DayOfWeek.Sunday:
|
|
15
|
+
return 0;
|
|
16
|
+
case DayOfWeek.Monday:
|
|
17
|
+
return 1;
|
|
18
|
+
case DayOfWeek.Tuesday:
|
|
19
|
+
return 2;
|
|
20
|
+
case DayOfWeek.Wednesday:
|
|
21
|
+
return 3;
|
|
22
|
+
case DayOfWeek.Thursday:
|
|
23
|
+
return 4;
|
|
24
|
+
case DayOfWeek.Friday:
|
|
25
|
+
return 5;
|
|
26
|
+
case DayOfWeek.Saturday:
|
|
27
|
+
return 6;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export default DayOfWeek;
|
package/Types/Decimal.ts
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// This is for Object ID for all the things in our database.
|
|
2
|
+
import { FindOperator } from 'typeorm';
|
|
3
|
+
import DatabaseProperty from './Database/DatabaseProperty';
|
|
4
|
+
import { JSONObject, ObjectType } from './JSON';
|
|
5
|
+
import BadDataException from './Exception/BadDataException';
|
|
6
|
+
|
|
7
|
+
export default class Decimal extends DatabaseProperty {
|
|
8
|
+
private _value: number = 0;
|
|
9
|
+
public get value(): number {
|
|
10
|
+
return this._value;
|
|
11
|
+
}
|
|
12
|
+
public set value(v: number) {
|
|
13
|
+
this._value = v;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
public constructor(value: number | Decimal | string) {
|
|
17
|
+
super();
|
|
18
|
+
|
|
19
|
+
if (typeof value === 'string') {
|
|
20
|
+
value = parseFloat(value);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (value instanceof Decimal) {
|
|
24
|
+
value = value.value;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
this.value = value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public equals(other: Decimal): boolean {
|
|
31
|
+
return this.value.toString() === other.value.toString();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public override toString(): string {
|
|
35
|
+
return this.value.toString();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
protected static override toDatabase(
|
|
39
|
+
value: Decimal | FindOperator<Decimal>
|
|
40
|
+
): string | null {
|
|
41
|
+
if (value) {
|
|
42
|
+
if (typeof value === 'string') {
|
|
43
|
+
value = new Decimal(value);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return value.toString();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
public override toJSON(): JSONObject {
|
|
53
|
+
return {
|
|
54
|
+
_type: ObjectType.Decimal,
|
|
55
|
+
value: (this as Decimal).toString(),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
public static override fromJSON(json: JSONObject): Decimal {
|
|
60
|
+
if (json['_type'] === ObjectType.Decimal) {
|
|
61
|
+
return new Decimal((json['value'] as number) || 0);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
throw new BadDataException('Invalid JSON: ' + JSON.stringify(json));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
protected static override fromDatabase(_value: number): Decimal | null {
|
|
68
|
+
if (_value) {
|
|
69
|
+
return new Decimal(_value);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
public static fromString(value: string): Decimal {
|
|
76
|
+
return new Decimal(value);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import BadDataException from './Exception/BadDataException';
|
|
2
|
+
|
|
3
|
+
export default class DiskSize {
|
|
4
|
+
public static convertToDecimalPlaces(
|
|
5
|
+
value: number,
|
|
6
|
+
decimalPlaces: number = 2
|
|
7
|
+
): number {
|
|
8
|
+
if (decimalPlaces < 0) {
|
|
9
|
+
throw new BadDataException(
|
|
10
|
+
'decimalPlaces must be greater than or equal to 0.'
|
|
11
|
+
);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (typeof value === 'string') {
|
|
15
|
+
value = parseFloat(value);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
if (decimalPlaces === 0) {
|
|
19
|
+
return Math.ceil(value);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
value = value * Math.pow(10, decimalPlaces);
|
|
23
|
+
|
|
24
|
+
// convert to int.
|
|
25
|
+
|
|
26
|
+
value = Math.round(value);
|
|
27
|
+
|
|
28
|
+
// convert back to float.
|
|
29
|
+
|
|
30
|
+
value = value / Math.pow(10, decimalPlaces);
|
|
31
|
+
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public static byteSizeToGB(byteSize: number): number {
|
|
36
|
+
return byteSize / 1024 / 1024 / 1024;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
public static byteSizeToMB(byteSize: number): number {
|
|
40
|
+
return byteSize / 1024 / 1024;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public static byteSizeToKB(byteSize: number): number {
|
|
44
|
+
return byteSize / 1024;
|
|
45
|
+
}
|
|
46
|
+
}
|
package/Types/Domain.ts
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { FindOperator } from 'typeorm/find-options/FindOperator';
|
|
2
|
+
import DatabaseProperty from './Database/DatabaseProperty';
|
|
3
|
+
import BadDataException from './Exception/BadDataException';
|
|
4
|
+
import { JSONObject, ObjectType } from './JSON';
|
|
5
|
+
|
|
6
|
+
export default class Domain extends DatabaseProperty {
|
|
7
|
+
private _domain: string = '';
|
|
8
|
+
public get domain(): string {
|
|
9
|
+
return this._domain;
|
|
10
|
+
}
|
|
11
|
+
public set domain(v: string) {
|
|
12
|
+
const isValid: boolean = Domain.isValidDomain(v);
|
|
13
|
+
if (!isValid) {
|
|
14
|
+
throw new BadDataException('Domain is not in valid format.');
|
|
15
|
+
}
|
|
16
|
+
this._domain = v;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
public static isValidDomain(domain: string): boolean {
|
|
20
|
+
if (!domain.includes('.')) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const firstTLDs: Array<string> =
|
|
25
|
+
'ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|be|bf|bg|bh|bi|bj|bm|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|cl|cm|cn|co|cr|cu|cv|cw|cx|cz|de|dj|dk|dm|do|dz|ec|ee|eg|es|et|eu|fi|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|im|in|io|iq|ir|is|it|je|jo|jp|kg|ki|km|kn|kp|kr|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|na|nc|ne|nf|ng|nl|no|nr|nu|nz|om|pa|pe|pf|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|yt'.split(
|
|
26
|
+
'|'
|
|
27
|
+
);
|
|
28
|
+
const secondTLDs: Array<string> =
|
|
29
|
+
'ac|academy|accountant|accountants|actor|adult|ag|agency|ai|airforce|am|amsterdam|apartments|app|archi|army|art|asia|associates|at|attorney|au|auction|auto|autos|baby|band|bar|barcelona|bargains|basketball|bayern|be|beauty|beer|berlin|best|bet|bid|bike|bingo|bio|biz|biz.pl|black|blog|blue|boats|boston|boutique|broker|build|builders|business|buzz|bz|ca|cab|cafe|camera|camp|capital|car|cards|care|careers|cars|casa|cash|casino|catering|cc|center|ceo|ch|charity|chat|cheap|church|city|cl|claims|cleaning|clinic|clothing|cloud|club|cn|co|co.in|co.jp|co.kr|co.nz|co.uk|co.za|coach|codes|coffee|college|com|com.ag|com.au|com.br|com.bz|com.cn|com.co|com.es|com.ky|com.mx|com.pe|com.ph|com.pl|com.ru|com.tw|community|company|computer|condos|construction|consulting|contact|contractors|cooking|cool|country|coupons|courses|credit|creditcard|cricket|cruises|cymru|cz|dance|date|dating|de|deals|degree|delivery|democrat|dental|dentist|design|dev|diamonds|digital|direct|directory|discount|dk|doctor|dog|domains|download|earth|education|email|energy|engineer|engineering|enterprises|equipment|es|estate|eu|events|exchange|expert|exposed|express|fail|faith|family|fan|fans|farm|fashion|film|finance|financial|firm.in|fish|fishing|fit|fitness|flights|florist|fm|football|forsale|foundation|fr|fun|fund|furniture|futbol|fyi|gallery|games|garden|gay|gen.in|gg|gifts|gives|giving|glass|global|gmbh|gold|golf|graphics|gratis|green|gripe|group|gs|guide|guru|hair|haus|health|healthcare|hockey|holdings|holiday|homes|horse|hospital|host|house|idv.tw|immo|immobilien|in|inc|ind.in|industries|info|info.pl|ink|institute|insure|international|investments|io|irish|ist|istanbul|it|jetzt|jewelry|jobs|jp|kaufen|kids|kim|kitchen|kiwi|kr|ky|la|land|lat|law|lawyer|lease|legal|lgbt|life|lighting|limited|limo|live|llc|llp|loan|loans|london|love|ltd|ltda|luxury|maison|makeup|management|market|marketing|mba|me|me.uk|media|melbourne|memorial|men|menu|miami|mobi|moda|moe|money|monster|mortgage|motorcycles|movie|ms|music|mx|nagoya|name|navy|ne.kr|net|net.ag|net.au|net.br|net.bz|net.cn|net.co|net.in|net.ky|net.nz|net.pe|net.ph|net.pl|net.ru|network|news|ninja|nl|no|nom.co|nom.es|nom.pe|nrw|nyc|okinawa|one|onl|online|org|org.ag|org.au|org.cn|org.es|org.in|org.ky|org.nz|org.pe|org.ph|org.pl|org.ru|org.uk|organic|page|paris|partners|parts|party|pe|pet|ph|photography|photos|pictures|pink|pizza|pl|place|plumbing|plus|poker|porn|press|pro|productions|promo|properties|protection|pub|pw|quebec|quest|racing|re.kr|realestate|recipes|red|rehab|reise|reisen|rent|rentals|repair|report|republican|rest|restaurant|review|reviews|rich|rip|rocks|rodeo|rugby|run|ryukyu|sale|salon|sarl|school|schule|science|se|security|services|sex|sg|sh|shiksha|shoes|shop|shopping|show|singles|site|ski|skin|soccer|social|software|solar|solutions|space|storage|store|stream|studio|study|style|supplies|supply|support|surf|surgery|sydney|systems|tax|taxi|team|tech|technology|tel|tennis|theater|theatre|tickets|tienda|tips|tires|today|tokyo|tools|tours|town|toys|trade|trading|training|travel|tube|tv|tw|uk|university|uno|us|vacations|vc|vegas|ventures|vet|viajes|video|villas|vin|vip|vision|vodka|vote|voto|voyage|wales|watch|web|webcam|website|wedding|wiki|win|wine|work|works|world|ws|wtf|xxx|xyz|yachts|yoga|yokohama|zone|移动|dev|com|edu|gov|net|mil|org|nom|sch|sbs|caa|res|off|gob|int|tur|ip6|uri|urn|asn|act|nsw|qld|tas|vic|pro|biz|adm|adv|agr|arq|art|ato|bio|bmd|cim|cng|cnt|ecn|eco|emp|eng|esp|etc|eti|far|fnd|fot|fst|g12|ggf|imb|ind|inf|jor|jus|leg|lel|mat|med|mus|not|ntr|odo|ppg|psc|psi|qsl|rec|slg|srv|teo|tmp|trd|vet|zlg|web|ltd|sld|pol|fin|k12|lib|pri|aip|fie|eun|sci|prd|cci|pvt|mod|idv|rel|sex|gen|nic|abr|bas|cal|cam|emr|fvg|laz|lig|lom|mar|mol|pmn|pug|sar|sic|taa|tos|umb|vao|vda|ven|mie|北海道|和歌山|神奈川|鹿児島|ass|rep|tra|per|ngo|soc|grp|plc|its|air|and|bus|can|ddr|jfk|mad|nrw|nyc|ski|spy|tcm|ulm|usa|war|fhs|vgs|dep|eid|fet|fla|flå|gol|hof|hol|sel|vik|cri|iwi|ing|abo|fam|gok|gon|gop|gos|aid|atm|gsm|sos|elk|waw|est|aca|bar|cpa|jur|law|sec|plo|www|bir|cbg|jar|khv|msk|nov|nsk|ptz|rnd|spb|stv|tom|tsk|udm|vrn|cmw|kms|nkz|snz|pub|fhv|red|ens|nat|rns|rnu|bbs|tel|bel|kep|nhs|dni|fed|isa|nsn|gub|e12|tec|орг|обр|упр|alt|nis|jpn|mex|ath|iki|nid|gda|inc|za'.split(
|
|
30
|
+
'|'
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
const parts: Array<string> = domain.split('.');
|
|
34
|
+
const lastItem: string = parts[parts.length - 1] as string;
|
|
35
|
+
const beforeLastItem: string = parts[parts.length - 2] as string;
|
|
36
|
+
|
|
37
|
+
if (firstTLDs.includes(lastItem)) {
|
|
38
|
+
if (secondTLDs.includes(beforeLastItem)) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
} else if (secondTLDs.includes(lastItem)) {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public constructor(domain: string) {
|
|
50
|
+
super();
|
|
51
|
+
this.domain = domain;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public override toString(): string {
|
|
55
|
+
return this.domain;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
protected static override toDatabase(
|
|
59
|
+
value: Domain | FindOperator<Domain>
|
|
60
|
+
): string | null {
|
|
61
|
+
if (value) {
|
|
62
|
+
if (typeof value === 'string') {
|
|
63
|
+
value = new Domain(value);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
return value.toString();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
public override toJSON(): JSONObject {
|
|
73
|
+
return {
|
|
74
|
+
_type: ObjectType.Domain,
|
|
75
|
+
value: (this as Domain).toString(),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public static override fromJSON(json: JSONObject): Domain {
|
|
80
|
+
if (json['_type'] === ObjectType.Domain) {
|
|
81
|
+
return new Domain((json['value'] as string) || '');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
throw new BadDataException('Invalid JSON: ' + JSON.stringify(json));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
protected static override fromDatabase(_value: string): Domain | null {
|
|
88
|
+
if (_value) {
|
|
89
|
+
return new Domain(_value);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import Email from '../Email';
|
|
2
|
+
import Dictionary from '../Dictionary';
|
|
3
|
+
import EmailTemplateType from './EmailTemplateType';
|
|
4
|
+
|
|
5
|
+
export interface EmailEnvelope {
|
|
6
|
+
subject: string;
|
|
7
|
+
templateType?: EmailTemplateType;
|
|
8
|
+
vars: Dictionary<string>;
|
|
9
|
+
body?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export default interface EmailMessage extends EmailEnvelope {
|
|
13
|
+
toEmail: Email;
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Email from '../Email';
|
|
2
|
+
import Port from '../Port';
|
|
3
|
+
import Hostname from '../API/Hostname';
|
|
4
|
+
import ObjectID from '../ObjectID';
|
|
5
|
+
|
|
6
|
+
export default interface EmailServer {
|
|
7
|
+
id?: ObjectID | undefined; // If this is custom SMTP, this is the ID of the SMTP config. Otherwise, it's undefined
|
|
8
|
+
host: Hostname;
|
|
9
|
+
port: Port;
|
|
10
|
+
username: string | undefined;
|
|
11
|
+
password: string | undefined;
|
|
12
|
+
secure: boolean;
|
|
13
|
+
fromEmail: Email;
|
|
14
|
+
fromName: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
enum EmailTemplateType {
|
|
2
|
+
ForgotPassword = 'ForgotPassword.hbs',
|
|
3
|
+
SignupWelcomeEmail = 'SignupWelcomeEmail.hbs',
|
|
4
|
+
EmailVerified = 'EmailVerified.hbs',
|
|
5
|
+
PasswordChanged = 'PasswordChanged.hbs',
|
|
6
|
+
InviteMember = 'InviteMember.hbs',
|
|
7
|
+
EmailChanged = 'EmailChanged.hbs',
|
|
8
|
+
SubscribedToStatusPage = 'SubscribedToStatusPage.hbs',
|
|
9
|
+
SubscriberAnnouncementCreated = 'SubscriberAnnouncementCreated.hbs',
|
|
10
|
+
SubscriberIncidentCreated = 'SubscriberIncidentCreated.hbs',
|
|
11
|
+
SubscriberIncidentNoteCreated = 'SubscriberIncidentNoteCreated.hbs',
|
|
12
|
+
SubscriberIncidentStateChanged = 'SubscriberIncidentStateChanged.hbs',
|
|
13
|
+
SubscriberScheduledMaintenanceEventCreated = 'SubscriberScheduledMaintenanceEventCreated.hbs',
|
|
14
|
+
SubscriberScheduledMaintenanceEventStateChanged = 'SubscriberScheduledMaintenanceEventStateChanged.hbs',
|
|
15
|
+
StatusPageForgotPassword = 'StatusPageForgotPassword.hbs',
|
|
16
|
+
StatusPagePasswordChanged = 'StatusPagePasswordChanged.hbs',
|
|
17
|
+
StatusPageWelcomeEmail = 'StatusPageWelcomeEmail.hbs',
|
|
18
|
+
SubscriberScheduledMaintenanceEventNoteCreated = 'SubscriberScheduledMaintenanceEventNoteCreated.hbs',
|
|
19
|
+
SMTPTest = 'SMTPTest.hbs',
|
|
20
|
+
MonitorOwnerAdded = 'MonitorOwnerAdded.hbs',
|
|
21
|
+
MonitorOwnerResourceCreated = 'MonitorOwnerResourceCreated.hbs',
|
|
22
|
+
MonitorOwnerStatusChanged = 'MonitorOwnerStatusChanged.hbs',
|
|
23
|
+
IncidentOwnerAdded = 'IncidentOwnerAdded.hbs',
|
|
24
|
+
IncidentOwnerStateChanged = 'IncidentOwnerStateChanged.hbs',
|
|
25
|
+
IncidentOwnerNotePosted = 'IncidentOwnerNotePosted.hbs',
|
|
26
|
+
IncidentOwnerResourceCreated = 'IncidentOwnerResourceCreated.hbs',
|
|
27
|
+
ScheduledMaintenanceOwnerNotePosted = 'ScheduledMaintenanceOwnerNotePosted.hbs',
|
|
28
|
+
ScheduledMaintenanceOwnerAdded = 'ScheduledMaintenanceOwnerAdded.hbs',
|
|
29
|
+
ScheduledMaintenanceOwnerStateChanged = 'ScheduledMaintenanceOwnerStateChanged.hbs',
|
|
30
|
+
ScheduledMaintenanceOwnerResourceCreated = 'ScheduledMaintenanceOwnerResourceCreated.hbs',
|
|
31
|
+
StatusPageOwnerResourceCreated = 'StatusPageOwnerResourceCreated.hbs',
|
|
32
|
+
StatusPageOwnerAdded = 'StatusPageOwnerAdded.hbs',
|
|
33
|
+
StatusPageOwnerAnnouncementPosted = 'StatusPageOwnerAnnouncementPosted.hbs',
|
|
34
|
+
SimpleMessage = 'SimpleMessage.hbs',
|
|
35
|
+
VerificationCode = 'VerificationCode.hbs',
|
|
36
|
+
AcknowledgeIncident = 'AcknowledgeIncident.hbs',
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export default EmailTemplateType;
|
package/Types/Email.ts
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { FindOperator } from 'typeorm';
|
|
2
|
+
import Hostname from './API/Hostname';
|
|
3
|
+
import DatabaseProperty from './Database/DatabaseProperty';
|
|
4
|
+
import BadDataException from './Exception/BadDataException';
|
|
5
|
+
import { JSONObject, ObjectType } from './JSON';
|
|
6
|
+
|
|
7
|
+
const nonBusinessEmailDomains: Array<string> = [
|
|
8
|
+
'gmail',
|
|
9
|
+
'yahoo',
|
|
10
|
+
'yahoomail',
|
|
11
|
+
'googlemail',
|
|
12
|
+
'ymail',
|
|
13
|
+
'icloud',
|
|
14
|
+
'aol',
|
|
15
|
+
'hotmail',
|
|
16
|
+
'outlook',
|
|
17
|
+
'msn',
|
|
18
|
+
'wanadoo',
|
|
19
|
+
'orange',
|
|
20
|
+
'comcast',
|
|
21
|
+
'facebook',
|
|
22
|
+
'hey.com',
|
|
23
|
+
'protonmail',
|
|
24
|
+
'inbox.com',
|
|
25
|
+
'mail.com',
|
|
26
|
+
'zoho',
|
|
27
|
+
'yandex',
|
|
28
|
+
];
|
|
29
|
+
|
|
30
|
+
export default class Email extends DatabaseProperty {
|
|
31
|
+
private _email: string = '';
|
|
32
|
+
public get email(): string {
|
|
33
|
+
return this._email;
|
|
34
|
+
}
|
|
35
|
+
public set email(value: string) {
|
|
36
|
+
if (value && typeof value === 'string') {
|
|
37
|
+
value = value.trim();
|
|
38
|
+
value = value.toLowerCase();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (Email.isValid(value)) {
|
|
42
|
+
this._email = value;
|
|
43
|
+
} else {
|
|
44
|
+
throw new BadDataException(
|
|
45
|
+
`Email ${value} is not in valid format.`
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public constructor(email: string) {
|
|
51
|
+
super();
|
|
52
|
+
this.email = email;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
public static isValid(value: string): boolean {
|
|
56
|
+
const re: RegExp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,10}$/i;
|
|
57
|
+
const isValid: boolean = re.test(value);
|
|
58
|
+
if (!isValid) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
public override toJSON(): JSONObject {
|
|
65
|
+
return {
|
|
66
|
+
_type: ObjectType.Email,
|
|
67
|
+
value: (this as Email).toString(),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public static override fromJSON(json: JSONObject): Email {
|
|
72
|
+
if (json['_type'] === ObjectType.Email) {
|
|
73
|
+
return new Email((json['value'] as string) || '');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
throw new BadDataException('Invalid JSON: ' + JSON.stringify(json));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
public override toString(): string {
|
|
80
|
+
return this.email;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public getEmailDomain(): Hostname {
|
|
84
|
+
return new Hostname(this.email!.split('@')[1]!);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
public isBusinessEmail(): boolean {
|
|
88
|
+
const domain: string = this.getEmailDomain().hostname || '';
|
|
89
|
+
if (domain) {
|
|
90
|
+
for (let i: number = 0; i < nonBusinessEmailDomains.length; i++) {
|
|
91
|
+
if (domain.includes(nonBusinessEmailDomains[i]!)) {
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
public static override toDatabase(
|
|
101
|
+
value: Email | FindOperator<Email>
|
|
102
|
+
): string | null {
|
|
103
|
+
if (value) {
|
|
104
|
+
if (typeof value === 'string') {
|
|
105
|
+
value = new Email(value);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return value.toString();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
public static override fromDatabase(_value: string): Email | null {
|
|
115
|
+
if (_value) {
|
|
116
|
+
return new Email(_value);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import Email from './Email';
|
|
2
|
+
import Typeof from './Typeof';
|
|
3
|
+
|
|
4
|
+
export default class EmailWithName {
|
|
5
|
+
private _email: Email = new Email('noreply@oneuptime.com');
|
|
6
|
+
public get email(): Email {
|
|
7
|
+
return this._email;
|
|
8
|
+
}
|
|
9
|
+
public set email(v: Email | string) {
|
|
10
|
+
if (typeof v === Typeof.String) {
|
|
11
|
+
this._email = new Email(v.toString());
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
if (v instanceof Email) {
|
|
15
|
+
this._email = v;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private _name: string = '';
|
|
20
|
+
public get name(): string {
|
|
21
|
+
return this._name;
|
|
22
|
+
}
|
|
23
|
+
public set name(v: string) {
|
|
24
|
+
this._name = v;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public constructor(name: string, email: string | Email) {
|
|
28
|
+
this.email = email;
|
|
29
|
+
this.name = name;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
public toString(): string {
|
|
33
|
+
return `"${this.name}" <${this.email}>`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { FindOperator } from 'typeorm';
|
|
2
|
+
import DatabaseProperty from '../Database/DatabaseProperty';
|
|
3
|
+
import EventInterval from './EventInterval';
|
|
4
|
+
import BadDataException from '../Exception/BadDataException';
|
|
5
|
+
import { JSONObject, ObjectType } from '../JSON';
|
|
6
|
+
import JSONFunctions from '../JSONFunctions';
|
|
7
|
+
import PositiveNumber from '../PositiveNumber';
|
|
8
|
+
|
|
9
|
+
export interface RecurringData extends JSONObject {
|
|
10
|
+
intervalType: EventInterval;
|
|
11
|
+
intervalCount: PositiveNumber;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default class Recurring extends DatabaseProperty {
|
|
15
|
+
public static getDefaultRotationData(): RecurringData {
|
|
16
|
+
return {
|
|
17
|
+
intervalType: EventInterval.Day,
|
|
18
|
+
intervalCount: new PositiveNumber(1),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
private data: RecurringData = Recurring.getDefaultRotationData();
|
|
23
|
+
|
|
24
|
+
public get intervalType(): EventInterval {
|
|
25
|
+
return this.data.intervalType;
|
|
26
|
+
}
|
|
27
|
+
public set intervalType(v: EventInterval) {
|
|
28
|
+
this.data.intervalType = v;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// intervalCount
|
|
32
|
+
|
|
33
|
+
public get intervalCount(): PositiveNumber {
|
|
34
|
+
return this.data.intervalCount;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public set intervalCount(v: PositiveNumber) {
|
|
38
|
+
this.data.intervalCount = v;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public constructor() {
|
|
42
|
+
super();
|
|
43
|
+
|
|
44
|
+
this.data = Recurring.getDefaultRotationData();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
public static getDefault(): Recurring {
|
|
48
|
+
return new Recurring();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public override toJSON(): JSONObject {
|
|
52
|
+
return JSONFunctions.serialize({
|
|
53
|
+
_type: ObjectType.Recurring,
|
|
54
|
+
value: {
|
|
55
|
+
intervalType: this.intervalType,
|
|
56
|
+
intervalCount: this.intervalCount.toJSON(),
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public static override fromJSON(json: JSONObject | Recurring): Recurring {
|
|
62
|
+
if (json instanceof Recurring) {
|
|
63
|
+
return json;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (!json || json['_type'] !== ObjectType.Recurring) {
|
|
67
|
+
throw new BadDataException('Invalid Rotation');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (!json['value']) {
|
|
71
|
+
throw new BadDataException('Invalid Rotation');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
json = json['value'] as JSONObject;
|
|
75
|
+
|
|
76
|
+
let intervalType: EventInterval = EventInterval.Day;
|
|
77
|
+
|
|
78
|
+
if (json && json['intervalType']) {
|
|
79
|
+
intervalType = json['intervalType'] as EventInterval;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
let intervalCount: PositiveNumber = new PositiveNumber(1);
|
|
83
|
+
|
|
84
|
+
if (json && json['intervalCount']) {
|
|
85
|
+
intervalCount = PositiveNumber.fromJSON(json['intervalCount']);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const rotation: Recurring = new Recurring();
|
|
89
|
+
|
|
90
|
+
rotation.data = {
|
|
91
|
+
intervalType,
|
|
92
|
+
intervalCount,
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
return rotation;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
protected static override toDatabase(
|
|
99
|
+
value: Recurring | FindOperator<Recurring>
|
|
100
|
+
): JSONObject | null {
|
|
101
|
+
if (value && value instanceof Recurring) {
|
|
102
|
+
return (value as Recurring).toJSON();
|
|
103
|
+
} else if (value) {
|
|
104
|
+
return JSONFunctions.serialize(value as any);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
protected static override fromDatabase(
|
|
111
|
+
value: JSONObject
|
|
112
|
+
): Recurring | null {
|
|
113
|
+
if (value) {
|
|
114
|
+
return Recurring.fromJSON(value);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
}
|