From fbb231ac74abe4fe3f771c8c77d415736a26ffe6 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 5 Mar 2026 00:09:57 +0000 Subject: [PATCH 1/2] ## Java SDK Changes: * `novu.environments.diff()`: **Added** * `novu.environments.publish()`: **Added** * `novu.workflows.create()`: `response.steps[]` **Changed** * `novu.workflows.update()`: `response.steps[]` **Changed** * `novu.workflows.workflowDetails()`: `response.steps[]` **Changed** * `novu.workflows.modify()`: `response.steps[]` **Changed** * `novu.workflows.sync()`: `response.steps[]` **Changed** * `novu.workflows.steps.get()`: `response.stepResolverHash` **Added** --- .speakeasy/gen.lock | 914 ++++++++++++------ .speakeasy/gen.yaml | 5 +- .speakeasy/workflow.lock | 13 +- README.md | 14 +- RELEASES.md | 12 +- .../ActivityNotificationJobResponseDtoType.md | 11 + docs/models/components/ActorTypeEnum.md | 11 + docs/models/components/BackoffUnit.md | 11 + .../models/components/BuilderFieldTypeEnum.md | 11 + docs/models/components/ButtonTypeEnum.md | 11 + docs/models/components/ChannelCTATypeEnum.md | 8 + docs/models/components/ChannelTypeEnum.md | 11 + .../components/ChatOrPushProviderEnum.md | 11 + docs/models/components/ChatStepResponseDto.md | 3 +- docs/models/components/ContentIssueEnum.md | 11 + .../CreateIntegrationRequestDtoChannel.md | 8 + .../CreateMsTeamsChannelEndpointDtoType.md | 8 + .../CreateMsTeamsUserEndpointDtoType.md | 8 + .../components/CreatePhoneEndpointDtoType.md | 8 + .../CreateSlackChannelEndpointDtoType.md | 8 + .../CreateSlackUserEndpointDtoType.md | 8 + ...CreateTranslationRequestDtoResourceType.md | 8 + .../CreateWebhookEndpointDtoType.md | 8 + .../components/CustomStepResponseDto.md | 3 +- docs/models/components/DelayControlDtoType.md | 11 + docs/models/components/DelayControlDtoUnit.md | 11 + .../components/DelayRegularMetadataType.md | 8 + .../components/DelayRegularMetadataUnit.md | 11 + .../components/DelayScheduledMetadataType.md | 8 + .../models/components/DelayStepResponseDto.md | 3 +- .../components/DelayStepResponseDtoType.md | 11 + .../components/DelayStepResponseDtoUnit.md | 11 + .../DeleteMessageResponseDtoStatus.md | 8 + .../models/components/DependencyReasonEnum.md | 22 + docs/models/components/DiffActionEnum.md | 25 + .../components/DiffEnvironmentRequestDto.md | 8 + .../components/DiffEnvironmentResponseDto.md | 11 + docs/models/components/DiffSummaryDto.md | 11 + docs/models/components/Diffs.md | 11 + .../models/components/DigestControlDtoType.md | 11 + .../models/components/DigestControlDtoUnit.md | 11 + .../components/DigestMetadataDtoUnit.md | 11 + .../components/DigestRegularMetadataType.md | 11 + .../components/DigestRegularMetadataUnit.md | 11 + .../components/DigestStepResponseDto.md | 3 +- .../components/DigestStepResponseDtoType.md | 11 + .../components/DigestStepResponseDtoUnit.md | 11 + .../components/DigestTimedConfigDtoWeekDay.md | 8 + .../components/DigestTimedMetadataType.md | 8 + .../components/DigestTimedMetadataUnit.md | 11 + docs/models/components/DigestTypeEnum.md | 11 + docs/models/components/DigestUnitEnum.md | 11 + docs/models/components/DirectionEnum.md | 8 + docs/models/components/EmailBlockTypeEnum.md | 11 + .../components/EmailControlDtoEditorType.md | 11 + .../components/EmailControlDtoRendererType.md | 11 + .../components/EmailControlsDtoEditorType.md | 11 + .../models/components/EmailStepResponseDto.md | 3 +- .../EmailStepResponseDtoEditorType.md | 11 + .../EmailStepResponseDtoRendererType.md | 11 + .../components/EnvironmentDiffSummaryDto.md | 10 + .../components/EnvironmentResponseDtoType.md | 11 + docs/models/components/EventBodyStatus.md | 11 + .../components/ExecutionDetailsSourceEnum.md | 11 + .../components/ExecutionDetailsStatusEnum.md | 11 + docs/models/components/FailedWorkflowDto.md | 12 + .../GenerateLayoutPreviewResponseDtoType.md | 8 + .../GetChannelConnectionResponseDtoChannel.md | 11 + ...tChannelConnectionResponseDtoProviderId.md | 11 + .../GetChannelEndpointResponseDtoChannel.md | 11 + ...GetChannelEndpointResponseDtoProviderId.md | 11 + .../GetChannelEndpointResponseDtoType.md | 11 + .../models/components/InAppStepResponseDto.md | 3 +- .../models/components/IntegrationIssueEnum.md | 11 + .../IntegrationResponseDtoChannel.md | 11 + docs/models/components/IssueType.md | 11 + .../components/LayoutCreationSourceEnum.md | 8 + .../components/LayoutResponseDtoSortField.md | 8 + .../components/LookBackWindowDtoUnit.md | 11 + .../MarkAllMessageAsRequestDtoMarkAs.md | 8 + .../MarkMessageActionAsSeenDtoStatus.md | 8 + .../components/MessageActionStatusEnum.md | 11 + .../MessageMarkAsRequestDtoMarkAs.md | 8 + docs/models/components/MessageStatusEnum.md | 11 + docs/models/components/MonthlyType.md | 11 + docs/models/components/MonthlyTypeEnum.md | 11 + .../NotificationFeedItemDtoStatus.md | 11 + .../components/NotificationTriggerDtoType.md | 8 + .../components/NotificationTriggerType.md | 8 + docs/models/components/On.md | 11 + docs/models/components/Operator.md | 11 + docs/models/components/Ordinal.md | 11 + docs/models/components/OrdinalEnum.md | 11 + docs/models/components/OrdinalValue.md | 11 + docs/models/components/OrdinalValueEnum.md | 11 + docs/models/components/PreferenceLevelEnum.md | 11 + .../PreferenceOverrideSourceEnum.md | 11 + docs/models/components/ProvidersIdEnum.md | 11 + .../PublishEnvironmentRequestDto.md | 10 + .../PublishEnvironmentResponseDto.md | 9 + docs/models/components/PublishSummaryDto.md | 11 + docs/models/components/PushStepResponseDto.md | 3 +- .../components/ResourceDependencyDto.md | 12 + docs/models/components/ResourceDiffDto.md | 15 + .../ResourceDiffDtoSourceResource.md | 13 + .../ResourceDiffDtoSourceResourceUpdatedBy.md | 13 + .../ResourceDiffDtoTargetResource.md | 13 + .../ResourceDiffDtoTargetResourceUpdatedBy.md | 13 + .../components/ResourceDiffResultDto.md | 13 + .../ResourceDiffResultDtoSourceResource.md | 13 + ...rceDiffResultDtoSourceResourceUpdatedBy.md | 13 + .../ResourceDiffResultDtoTargetResource.md | 13 + ...rceDiffResultDtoTargetResourceUpdatedBy.md | 13 + docs/models/components/ResourceOriginEnum.md | 11 + .../models/components/ResourceToPublishDto.md | 9 + docs/models/components/ResourceTypeEnum.md | 11 + docs/models/components/SeverityLevelEnum.md | 11 + docs/models/components/SkippedWorkflowDto.md | 11 + docs/models/components/SmsStepResponseDto.md | 3 +- docs/models/components/StepResponseDto.md | 3 +- docs/models/components/StepTypeEnum.md | 11 + .../SubscriberChannelDtoProviderId.md | 8 + docs/models/components/SyncActionEnum.md | 24 + docs/models/components/SyncResultDto.md | 12 + docs/models/components/SyncedWorkflowDto.md | 11 + docs/models/components/Target.md | 11 + docs/models/components/TextAlignEnum.md | 11 + .../components/ThrottleControlDtoType.md | 11 + .../components/ThrottleControlDtoUnit.md | 11 + .../components/ThrottleStepResponseDto.md | 3 +- .../components/ThrottleStepResponseDtoType.md | 11 + .../components/ThrottleStepResponseDtoUnit.md | 11 + docs/models/components/TimedConfigWeekDay.md | 8 + .../TranslationGroupDtoResourceType.md | 11 + .../TranslationResponseDtoResourceType.md | 11 + .../TriggerEventResponseDtoStatus.md | 11 + .../components/TriggerRecipientsTypeEnum.md | 8 + docs/models/components/UiComponentEnum.md | 11 + docs/models/components/UiSchemaGroupEnum.md | 11 + docs/models/components/ValueEnum.md | 11 + .../components/WorkflowCreationSourceEnum.md | 8 + .../WorkflowResponseDtoSortField.md | 8 + docs/models/components/WorkflowStatusEnum.md | 11 + ...ControllerListChannelConnectionsChannel.md | 8 + ...lerListChannelConnectionsOrderDirection.md | 8 + ...tsControllerListChannelEndpointsChannel.md | 8 + ...ollerListChannelEndpointsOrderDirection.md | 8 + ...xtsControllerListContextsOrderDirection.md | 8 + docs/models/operations/Criticality.md | 8 + ...onmentsControllerDiffEnvironmentRequest.md | 10 + ...nmentsControllerDiffEnvironmentResponse.md | 12 + ...entsControllerPublishEnvironmentRequest.md | 10 + ...ntsControllerPublishEnvironmentResponse.md | 12 + ...lerDeleteMessagesByTransactionIdChannel.md | 8 + ...ollerListSubscriberTopicsOrderDirection.md | 8 + ...ntrollerSearchSubscribersOrderDirection.md | 8 + ...lerListTopicSubscriptionsOrderDirection.md | 8 + ...opicsControllerListTopicsOrderDirection.md | 8 + ...erDeleteTranslationEndpointResourceType.md | 8 + ...eteTranslationGroupEndpointResourceType.md | 8 + ...trollerGetSingleTranslationResourceType.md | 8 + ...GetTranslationGroupEndpointResourceType.md | 8 + ...ollerUploadTranslationFilesResourceType.md | 8 + docs/sdks/environments/README.md | 130 +++ gradle.properties | 2 +- src/main/java/co/novu/AsyncEnvironments.java | 116 +++ src/main/java/co/novu/Environments.java | 110 +++ src/main/java/co/novu/SDKConfiguration.java | 4 +- .../components/ChatStepResponseDto.java | 52 +- .../components/CustomStepResponseDto.java | 52 +- .../components/DelayStepResponseDto.java | 52 +- .../components/DependencyReasonEnum.java | 132 +++ .../models/components/DiffActionEnum.java | 144 +++ .../components/DiffEnvironmentRequestDto.java | 104 ++ .../DiffEnvironmentResponseDto.java | 212 ++++ .../models/components/DiffSummaryDto.java | 205 ++++ .../java/co/novu/models/components/Diffs.java | 150 +++ .../components/DigestStepResponseDto.java | 52 +- .../components/EmailStepResponseDto.java | 52 +- .../components/EnvironmentDiffSummaryDto.java | 167 ++++ .../models/components/FailedWorkflowDto.java | 260 +++++ .../components/InAppStepResponseDto.java | 52 +- .../PublishEnvironmentRequestDto.java | 189 ++++ .../PublishEnvironmentResponseDto.java | 136 +++ .../models/components/PublishSummaryDto.java | 205 ++++ .../components/PushStepResponseDto.java | 52 +- .../components/ResourceDependencyDto.java | 247 +++++ .../models/components/ResourceDiffDto.java | 376 +++++++ .../ResourceDiffDtoSourceResource.java | 228 +++++ ...esourceDiffDtoSourceResourceUpdatedBy.java | 227 +++++ .../ResourceDiffDtoTargetResource.java | 228 +++++ ...esourceDiffDtoTargetResourceUpdatedBy.java | 227 +++++ .../components/ResourceDiffResultDto.java | 300 ++++++ .../ResourceDiffResultDtoSourceResource.java | 228 +++++ ...eDiffResultDtoSourceResourceUpdatedBy.java | 227 +++++ .../ResourceDiffResultDtoTargetResource.java | 228 +++++ ...eDiffResultDtoTargetResourceUpdatedBy.java | 227 +++++ .../components/ResourceToPublishDto.java | 135 +++ .../models/components/SkippedWorkflowDto.java | 211 ++++ .../models/components/SmsStepResponseDto.java | 52 +- .../models/components/StepResponseDto.java | 52 +- .../models/components/SyncActionEnum.java | 140 +++ .../novu/models/components/SyncResultDto.java | 248 +++++ .../models/components/SyncedWorkflowDto.java | 211 ++++ .../components/ThrottleStepResponseDto.java | 52 +- ...mentsControllerDiffEnvironmentRequest.java | 179 ++++ ...ntrollerDiffEnvironmentRequestBuilder.java | 81 ++ ...entsControllerDiffEnvironmentResponse.java | 246 +++++ ...tsControllerPublishEnvironmentRequest.java | 179 ++++ ...ollerPublishEnvironmentRequestBuilder.java | 81 ++ ...sControllerPublishEnvironmentResponse.java | 246 +++++ ...ntrollerDiffEnvironmentRequestBuilder.java | 86 ++ ...entsControllerDiffEnvironmentResponse.java | 247 +++++ ...ollerPublishEnvironmentRequestBuilder.java | 86 ++ ...sControllerPublishEnvironmentResponse.java | 247 +++++ ...EnvironmentsControllerDiffEnvironment.java | 404 ++++++++ ...ironmentsControllerPublishEnvironment.java | 404 ++++++++ 217 files changed, 11116 insertions(+), 382 deletions(-) create mode 100644 docs/models/components/DependencyReasonEnum.md create mode 100644 docs/models/components/DiffActionEnum.md create mode 100644 docs/models/components/DiffEnvironmentRequestDto.md create mode 100644 docs/models/components/DiffEnvironmentResponseDto.md create mode 100644 docs/models/components/DiffSummaryDto.md create mode 100644 docs/models/components/Diffs.md create mode 100644 docs/models/components/EnvironmentDiffSummaryDto.md create mode 100644 docs/models/components/FailedWorkflowDto.md create mode 100644 docs/models/components/PublishEnvironmentRequestDto.md create mode 100644 docs/models/components/PublishEnvironmentResponseDto.md create mode 100644 docs/models/components/PublishSummaryDto.md create mode 100644 docs/models/components/ResourceDependencyDto.md create mode 100644 docs/models/components/ResourceDiffDto.md create mode 100644 docs/models/components/ResourceDiffDtoSourceResource.md create mode 100644 docs/models/components/ResourceDiffDtoSourceResourceUpdatedBy.md create mode 100644 docs/models/components/ResourceDiffDtoTargetResource.md create mode 100644 docs/models/components/ResourceDiffDtoTargetResourceUpdatedBy.md create mode 100644 docs/models/components/ResourceDiffResultDto.md create mode 100644 docs/models/components/ResourceDiffResultDtoSourceResource.md create mode 100644 docs/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.md create mode 100644 docs/models/components/ResourceDiffResultDtoTargetResource.md create mode 100644 docs/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.md create mode 100644 docs/models/components/ResourceToPublishDto.md create mode 100644 docs/models/components/SkippedWorkflowDto.md create mode 100644 docs/models/components/SyncActionEnum.md create mode 100644 docs/models/components/SyncResultDto.md create mode 100644 docs/models/components/SyncedWorkflowDto.md create mode 100644 docs/models/operations/EnvironmentsControllerDiffEnvironmentRequest.md create mode 100644 docs/models/operations/EnvironmentsControllerDiffEnvironmentResponse.md create mode 100644 docs/models/operations/EnvironmentsControllerPublishEnvironmentRequest.md create mode 100644 docs/models/operations/EnvironmentsControllerPublishEnvironmentResponse.md create mode 100644 src/main/java/co/novu/models/components/DependencyReasonEnum.java create mode 100644 src/main/java/co/novu/models/components/DiffActionEnum.java create mode 100644 src/main/java/co/novu/models/components/DiffEnvironmentRequestDto.java create mode 100644 src/main/java/co/novu/models/components/DiffEnvironmentResponseDto.java create mode 100644 src/main/java/co/novu/models/components/DiffSummaryDto.java create mode 100644 src/main/java/co/novu/models/components/Diffs.java create mode 100644 src/main/java/co/novu/models/components/EnvironmentDiffSummaryDto.java create mode 100644 src/main/java/co/novu/models/components/FailedWorkflowDto.java create mode 100644 src/main/java/co/novu/models/components/PublishEnvironmentRequestDto.java create mode 100644 src/main/java/co/novu/models/components/PublishEnvironmentResponseDto.java create mode 100644 src/main/java/co/novu/models/components/PublishSummaryDto.java create mode 100644 src/main/java/co/novu/models/components/ResourceDependencyDto.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffDto.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffDtoSourceResource.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffDtoSourceResourceUpdatedBy.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffDtoTargetResource.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffDtoTargetResourceUpdatedBy.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffResultDto.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResource.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResource.java create mode 100644 src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.java create mode 100644 src/main/java/co/novu/models/components/ResourceToPublishDto.java create mode 100644 src/main/java/co/novu/models/components/SkippedWorkflowDto.java create mode 100644 src/main/java/co/novu/models/components/SyncActionEnum.java create mode 100644 src/main/java/co/novu/models/components/SyncResultDto.java create mode 100644 src/main/java/co/novu/models/components/SyncedWorkflowDto.java create mode 100644 src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequest.java create mode 100644 src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequestBuilder.java create mode 100644 src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentResponse.java create mode 100644 src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequest.java create mode 100644 src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequestBuilder.java create mode 100644 src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentResponse.java create mode 100644 src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentRequestBuilder.java create mode 100644 src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentResponse.java create mode 100644 src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentRequestBuilder.java create mode 100644 src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentResponse.java create mode 100644 src/main/java/co/novu/operations/EnvironmentsControllerDiffEnvironment.java create mode 100644 src/main/java/co/novu/operations/EnvironmentsControllerPublishEnvironment.java diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index f8b10978..12818de8 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,25 +1,25 @@ lockVersion: 2.0.0 id: caaab73e-db12-4a8b-93a0-536b113afa44 management: - docChecksum: cc211761a0a4040e773b86e160722533 + docChecksum: e7dadb6460f92cf446a7bb13dbbab680 docVersion: 3.14.0 - speakeasyVersion: 1.732.2 - generationVersion: 2.845.10 - releaseVersion: 3.14.0 - configChecksum: 27929c8c41866427de46a3e4af6ea2d8 + speakeasyVersion: 1.741.3 + generationVersion: 2.849.6 + releaseVersion: 3.14.1 + configChecksum: 09c11ffc2219b6a85bd709dbacd92828 repoURL: https://github.com/novuhq/novu-java.git installationURL: https://github.com/novuhq/novu-java published: true persistentEdits: - generation_id: ca009ef3-5c5d-455c-822e-613168df9ca6 - pristine_commit_hash: 44f7d4531d546efe998d9e10b3d39b2fab6b2688 - pristine_tree_hash: 44e3b91e9ddcdc85d2a4174fdc3c4cd869d71ab7 + generation_id: 8badf1b8-10c5-4737-acc7-7f5b2af341c7 + pristine_commit_hash: 8a9bbc08f359e6ed67e1beb1acd7a28a9775908b + pristine_tree_hash: cff72947c17d150e5c91b9b650dcc7c40507f363 features: java: additionalDependencies: 0.1.0 additionalProperties: 0.0.1 constsAndDefaults: 0.1.3 - core: 3.55.16 + core: 3.55.17 deprecations: 2.81.2 examples: 2.81.7 flattening: 2.81.1 @@ -33,7 +33,7 @@ features: openEnums: 0.2.0 retries: 0.1.1 sdkHooks: 1.2.0 - unions: 0.3.2 + unions: 0.3.3 uploadStreams: 0.1.0 trackedFiles: .gitattributes: @@ -70,8 +70,8 @@ trackedFiles: pristine_git_object: 8ffb7ff59af46fae7238d3bb596adb85791a3922 docs/models/components/ActivityNotificationJobResponseDtoType.md: id: 8046439d9956 - last_write_checksum: sha1:812f372e04c8fbfd202e2125df99d4bc4e9d99da - pristine_git_object: d6f446ab77706ea9191e1d3f704e7812f32d0072 + last_write_checksum: sha1:6015b3b79b0f14e842844f9c43725839cd67b730 + pristine_git_object: 1b009173aa83bdf944972e97b11a2a0ed8d03512 docs/models/components/ActivityNotificationResponseDto.md: id: a909885ab798 last_write_checksum: sha1:406e84713fdbd1af16d7082e7362564e07d7536f @@ -106,8 +106,8 @@ trackedFiles: pristine_git_object: 04b475b3eb7ec5973a91eeecff6af3226167ff80 docs/models/components/ActorTypeEnum.md: id: 205b757beed8 - last_write_checksum: sha1:ee025d290250d11a8785ecf06bfbb7977e07e06a - pristine_git_object: 2c6d083857bbaf3d5a295380a44085aec17564f4 + last_write_checksum: sha1:b333fcb3e7191134c86a39638d15265a31cfed16 + pristine_git_object: 7cf6141f9d21ca5501eed59a457d9873bc4fce76 docs/models/components/ApiKeyDto.md: id: 69e9f78f8207 last_write_checksum: sha1:b74efcdc6770b6c98602748e08feff735d15bddd @@ -122,16 +122,16 @@ trackedFiles: pristine_git_object: 43dc930ad5703057516d4164fd3e20b904083dc3 docs/models/components/BackoffUnit.md: id: ce28e2571af5 - last_write_checksum: sha1:8dea3237654656af787895a9f9e941cbb320ff96 - pristine_git_object: 1a98c32a4649f9d17e0b36c5b1b062efa9bec731 + last_write_checksum: sha1:666b9f28813f265a7b2ef4521ab62fc50e0f66e6 + pristine_git_object: 9fa28cb8dad44fc22dc1a18e92baf4af386fa172 docs/models/components/BridgeConfigurationDto.md: id: a0060374055d last_write_checksum: sha1:3c58bdfebb82d3fd167c8fdf9b238f87a7837aba pristine_git_object: 81a591af647b5aef0958852adf20889534a08e86 docs/models/components/BuilderFieldTypeEnum.md: id: 3005fa9caa7b - last_write_checksum: sha1:e9e9d65069afcf5f323675688b314bb663e1a91c - pristine_git_object: 882c65495da7116ba6334552803f068f4cf70253 + last_write_checksum: sha1:ac2ac7bb86b600d188f105fec9a4819f2381b0f6 + pristine_git_object: a05dcdd227c915393f417ba7d9fe327b107a1ad3 docs/models/components/BulkCreateSubscriberResponseDto.md: id: 9b0514d36eb4 last_write_checksum: sha1:ddf0ea3c10638a73b7e8ec2ad27aabb6f0ad5dd8 @@ -162,12 +162,12 @@ trackedFiles: pristine_git_object: 75373528204dff6cd189b2eea1a5728d44b5eb28 docs/models/components/ButtonTypeEnum.md: id: a2a7e8fb8376 - last_write_checksum: sha1:ff9b6d333bd4540bbb07436e473a0b16d2ebcc48 - pristine_git_object: 29e77c4228d21f332f9475cfc8a1f1d5371178e1 + last_write_checksum: sha1:ca09a2e7d0d19e5ced85a9b12a6eb573962e24f8 + pristine_git_object: 566f1368aa5c20cdd4f42ad18a451cf35b8058b0 docs/models/components/ChannelCTATypeEnum.md: id: 7d36307b0446 - last_write_checksum: sha1:5013ffebe83f18534d615251db318a9181eb9878 - pristine_git_object: ae449fd22f3466393c460f6886c81d74a97e9d66 + last_write_checksum: sha1:13f2966d93ad5ebc01aa25d4413ac804eb37d884 + pristine_git_object: e69d890830a53fc9adf9a43a169034e924473509 docs/models/components/ChannelCredentials.md: id: f5fd1255db07 last_write_checksum: sha1:1bb296e7ef605d6443767e1cfbd5f93026f84014 @@ -186,8 +186,8 @@ trackedFiles: pristine_git_object: 9e90b0a6861bc12672eff2c17b7f55c20e9a7cc2 docs/models/components/ChannelTypeEnum.md: id: 37a6d6947747 - last_write_checksum: sha1:813f424fd50322bd96e1bb8928f1e6025c6eab14 - pristine_git_object: 07ea81fdd5c0b6ec1d414e78c06a238fb47055bc + last_write_checksum: sha1:0fc30ed24acc0c563188ecdf8327ce577afa21e4 + pristine_git_object: b06fefedd244a2c38264b678b775a16f35ef1b71 docs/models/components/ChatControlDto.md: id: 02d7b638e395 last_write_checksum: sha1:3422f420336dc0c8cf13d70e75d35c94ce2adcee @@ -198,12 +198,12 @@ trackedFiles: pristine_git_object: b4d84ec2682996c111d8b5ddb956d36233708de4 docs/models/components/ChatOrPushProviderEnum.md: id: 8dfd13848da1 - last_write_checksum: sha1:c725d22d6b63a1b7e575fc893a5d9d9f6597a8a6 - pristine_git_object: 651c586c9ef5af666c5bafb30660f76bfc59f4b6 + last_write_checksum: sha1:0bdd97fb143c826f666b85ac5c46a5f845742dea + pristine_git_object: 409ab06ccbf738922b92a084854dd6930d7b3491 docs/models/components/ChatStepResponseDto.md: id: fa37a3992e65 - last_write_checksum: sha1:3e3f601601664fd3667eb6af1dd0ea6505fcc071 - pristine_git_object: 2013f182a1cde9e6212acb706811aa3071e57b03 + last_write_checksum: sha1:dc7cea20f1bf18ae507eddefaccee18c8485472c + pristine_git_object: 6240bc3cb27d507dc40a5ff15b102d4d9645fb87 docs/models/components/ChatStepResponseDtoControlValues.md: id: dadba7539b1a last_write_checksum: sha1:d9ff1120872a1379a5d2bbc3e63ec4dcb60ec59f @@ -246,8 +246,8 @@ trackedFiles: pristine_git_object: b92c7aa193227dc4d806400724071e049452e335 docs/models/components/ContentIssueEnum.md: id: 7c6895aa99a1 - last_write_checksum: sha1:46f7b5322570e1f65c329d093ec7e04112ecfe86 - pristine_git_object: 3097f3926406486c9349ee7fd621adeadbbc3d5f + last_write_checksum: sha1:7564b8677149041033604c46579736adf0e93282 + pristine_git_object: 573f557a7c9bd38654cd32eed3dc30cb627ee5e2 docs/models/components/ControlVariables.md: id: fb27ef1db53d last_write_checksum: sha1:3add6f9f5465555bd98b4925afadea58796c6c98 @@ -282,8 +282,8 @@ trackedFiles: pristine_git_object: 75cf06ce2860d630fc621f761b4ee33e82107cd0 docs/models/components/CreateIntegrationRequestDtoChannel.md: id: cc555000705f - last_write_checksum: sha1:fa358df8df3235a988f5e9737998da9b3071aa9f - pristine_git_object: d51cd9cf8eed6a521cefcfc491f630bf95eef162 + last_write_checksum: sha1:5ea2e05fea77e57113d69cbdc833729f99372fc5 + pristine_git_object: 8f4b912eb3e9363d9f9f279a19b22cac5552fa1c docs/models/components/CreateIntegrationRequestDtoConfigurations.md: id: 6f81eb26b6f9 last_write_checksum: sha1:69fefc1ef123ead90ea779ac3c3ac9aab5cf3b2a @@ -306,8 +306,8 @@ trackedFiles: pristine_git_object: ad533db4ce607b0780a2bc354118ce7a0e607c5e docs/models/components/CreateMsTeamsChannelEndpointDtoType.md: id: 9978fecd5ed6 - last_write_checksum: sha1:824efb39db1fea0c8633e103d00abac16ed1204d - pristine_git_object: 3c52bc8cae3aaad371ffe7e8520d2c903dafda7f + last_write_checksum: sha1:b3a1360c328d7cc074813755cb8182feed5860e8 + pristine_git_object: 93c7a287948d61210625d5be5f2fcaaa85b487c3 docs/models/components/CreateMsTeamsUserEndpointDto.md: id: 9c666c10ac3e last_write_checksum: sha1:c6c257f34c2440145d6d3feb8e142bd5402a411f @@ -322,8 +322,8 @@ trackedFiles: pristine_git_object: 51380ba6155f73e700e849293784ff206b90cb2a docs/models/components/CreateMsTeamsUserEndpointDtoType.md: id: 6804a160bb2a - last_write_checksum: sha1:18ff8f0faf099aa12dd1fa3b11cc2f77f90ae55c - pristine_git_object: 7e6d7cb63e4796f86bcd65b0ef252a1ac439e9fc + last_write_checksum: sha1:54b99a48f98a1f010e8c5f78457bf333774e2b07 + pristine_git_object: fbf27088ac042d2d702f42e22902893bc3bc143a docs/models/components/CreatePhoneEndpointDto.md: id: 6eb93a55dbdd last_write_checksum: sha1:703b57ca26597fd6c2b4e320b6d8cc8f5b33b62c @@ -338,8 +338,8 @@ trackedFiles: pristine_git_object: b2a9c8c8df1bc8dfc83a32545d364a06e82d813e docs/models/components/CreatePhoneEndpointDtoType.md: id: 3d0d2f916599 - last_write_checksum: sha1:df54678c9eca64f0c2a7d23f4dd8eb148e6f18a3 - pristine_git_object: f2e052e1f014933e36543079b1922b72be5add49 + last_write_checksum: sha1:12c1d32832db993ee50c40c5cb4430c1ed6d2229 + pristine_git_object: ab4ab2e074edf60936adec2e05fd447e7ee743d8 docs/models/components/CreateSlackChannelEndpointDto.md: id: 13a5e9032af7 last_write_checksum: sha1:91987bf070b40e3e69cf1eccf67f0f9f7fcd1862 @@ -354,8 +354,8 @@ trackedFiles: pristine_git_object: acd4854635a757900c3bb748f484635e5d491c74 docs/models/components/CreateSlackChannelEndpointDtoType.md: id: 521bdcdc3488 - last_write_checksum: sha1:1992dd73c7673c60a4ec8d91168c1c1b8a6d9585 - pristine_git_object: 1e8968d3c9cf31df428b2f11dedcf6d8c178891b + last_write_checksum: sha1:893e7a4d3c95ae5444d86d2033ea1140c8d72c08 + pristine_git_object: 44bd3aedddacaf358ea78c1146c8409e8ae20ad1 docs/models/components/CreateSlackUserEndpointDto.md: id: df36c1a9b1ef last_write_checksum: sha1:2937942a339370714d9404e8324d5337a449f455 @@ -370,8 +370,8 @@ trackedFiles: pristine_git_object: 04b8acb4675d2c94b5ffcaead8f6866441bad404 docs/models/components/CreateSlackUserEndpointDtoType.md: id: 99b86fbe9af1 - last_write_checksum: sha1:22317ded5b9d9f6bb075fc935432fd29396e5de2 - pristine_git_object: 2d6bc936a2d7169e0b723bed5ea10c6016b10518 + last_write_checksum: sha1:e3d5cbc49deec1c5a5c683c8cc4fb9c7481ef784 + pristine_git_object: ba8b90eef44e355cb5b9271f427fabfeaf4f1740 docs/models/components/CreateSubscriberRequestDto.md: id: 39faf44a93a7 last_write_checksum: sha1:673b080796d540094b58bb89a0978261f63e747a @@ -406,8 +406,8 @@ trackedFiles: pristine_git_object: d09e4559ebc4eb80bd5fbfbd2faaca577239624c docs/models/components/CreateTranslationRequestDtoResourceType.md: id: d7b4c8d45dc3 - last_write_checksum: sha1:440078eedfb3b1b3b10f72f17887a7c2a2fa70f2 - pristine_git_object: 98aebd253143f15e327071bf63869c00a08f28c9 + last_write_checksum: sha1:051d5320af1331872ae8a15f997912adca657b48 + pristine_git_object: 23778f66138b8d269ebb3de9a8a829af614b41f1 docs/models/components/CreateUpdateTopicRequestDto.md: id: cc171164dad7 last_write_checksum: sha1:677a558f00978cd14b9019584dcddf0e4eb1041f @@ -426,8 +426,8 @@ trackedFiles: pristine_git_object: 588c63a67da578da50f34edae42d504a0ed21e3e docs/models/components/CreateWebhookEndpointDtoType.md: id: ff565a86bdc0 - last_write_checksum: sha1:cf8f417baee74ab96a07421a3e34a177c83112d7 - pristine_git_object: 02e75536dffbbd151f6d64c373757720663defe7 + last_write_checksum: sha1:b0524f3b17b22dc4b6bd35766b541ce712bdda8e + pristine_git_object: 94e966048227af1686b7b27f2cd9a1225ba8161d docs/models/components/CreateWorkflowDto.md: id: 72b1532520ed last_write_checksum: sha1:6f9ec36e5f68771a45c71ce2d91301b31672db33 @@ -454,8 +454,8 @@ trackedFiles: pristine_git_object: f55d9115d1aa496409d30e6a3f248cd48d52f1b5 docs/models/components/CustomStepResponseDto.md: id: aade138857f7 - last_write_checksum: sha1:f89078e850ad28b5d739bf87b0e3c4b0adef2dd8 - pristine_git_object: b38ccbc61345db34ee32a44e8488f97e780ddecf + last_write_checksum: sha1:5073390faff7b9b9d8f2e214555061fd583a74bc + pristine_git_object: 2184feb148add4d37f5f22a336789d8c64c20610 docs/models/components/CustomStepResponseDtoControlValues.md: id: a26142d73868 last_write_checksum: sha1:0c4a7b72afc5b9c14198904de703317ff2f80dd2 @@ -474,12 +474,12 @@ trackedFiles: pristine_git_object: 222c8ef86417665620d8a2cbe6132207be57b12f docs/models/components/DelayControlDtoType.md: id: 30a48a69f166 - last_write_checksum: sha1:ae193bdc6a0a2a82dbc1d72d3082bac7c2c381b5 - pristine_git_object: 823c5264c958bf1553c3ef36828ae1857cdeb2a4 + last_write_checksum: sha1:425c515aa58a27d10d24b684c4e4c9951e0a8dcf + pristine_git_object: 5607d116babc2c1c67cb3b881d5595f388b3be02 docs/models/components/DelayControlDtoUnit.md: id: cc54a79cd991 - last_write_checksum: sha1:45273ca81789d3a767688cda782fd9644c679781 - pristine_git_object: 617ab1beb8e894df5bb8a7c1964f5f0de9d58e76 + last_write_checksum: sha1:78c767fe0d4c30e1c0f39167fdb4ff94e1e4ce0e + pristine_git_object: d3919e3bcd82cd2f7c137487063c26b535dae032 docs/models/components/DelayControlsMetadataResponseDto.md: id: 2930f68ef77f last_write_checksum: sha1:373f3fdae0f46da0f393c1e5f0c6c12e141b4cfe @@ -490,36 +490,36 @@ trackedFiles: pristine_git_object: fcea20ec708775c75fee300003a3b54fd8f16851 docs/models/components/DelayRegularMetadataType.md: id: 660e1b4409ad - last_write_checksum: sha1:64e788c447658639dd14305d7ad0af3766b7eb13 - pristine_git_object: 666be6776e839677a239892f026ad1f12c2986b1 + last_write_checksum: sha1:7b3aad8cf0aa36caa79235ada49495377c6d3d2d + pristine_git_object: d75572aa70c84f93461c4af0cd65b99dae215eb6 docs/models/components/DelayRegularMetadataUnit.md: id: 146dcae4c59f - last_write_checksum: sha1:f39cf7bc0bc7b3b9e12021574c1d21f69fb407bf - pristine_git_object: c7ab8cd2a49c4e9194c7634cf7594bec98467c80 + last_write_checksum: sha1:ff5ddce3b4f19fc1a945e74c93f5d7197c75e3e2 + pristine_git_object: ce0e913601748a7afb7748c7fac82c372207c1d6 docs/models/components/DelayScheduledMetadata.md: id: a2466a8be2fc last_write_checksum: sha1:da8baf5ba6f3137f9e181d035c507e39db4c6a79 pristine_git_object: 0345b944e3dce56c4f5e15bb3ac038028cb1b3e6 docs/models/components/DelayScheduledMetadataType.md: id: 7ea8c99274af - last_write_checksum: sha1:9da8a186dc5a5bbed082929be500e5693df111ba - pristine_git_object: 0f1472d0fbac45b2cacfffbfa1d6e049b33a20bd + last_write_checksum: sha1:c491f3f600b8cace9f010388049338408060407b + pristine_git_object: 8beed7d6502a40b13606a2f80342ae98f8be7f6d docs/models/components/DelayStepResponseDto.md: id: ffc01de912ee - last_write_checksum: sha1:f374ad88f640e512af0c5a49f8098b2feda99d1e - pristine_git_object: 457d7eb8a6ad46977c0065d1fecf6643d12a238a + last_write_checksum: sha1:e9a3a5b194e297c1f6f9dd2d5c938547478ee4d7 + pristine_git_object: 2ba498a434a71dd1937231d59f2f7f8fd3bff991 docs/models/components/DelayStepResponseDtoControlValues.md: id: 10f7a4be5ef1 last_write_checksum: sha1:917f02f0170105a9ad6b72117a92987dea0495af pristine_git_object: 50cfb82454020bd56053b8f9ae06779c5655f91d docs/models/components/DelayStepResponseDtoType.md: id: b5f748a8f106 - last_write_checksum: sha1:7398c5ec216e6e2413262f32a163b99cc64a5a7c - pristine_git_object: cb0322643540b6352ba731bdc5c9b8033874cecb + last_write_checksum: sha1:4682962a5f81e9c9a608550d9ab307ae957717e6 + pristine_git_object: 9441a48f9ec53dcc37ec7f13268c10e6784740e9 docs/models/components/DelayStepResponseDtoUnit.md: id: 294a39806754 - last_write_checksum: sha1:3271f9b45f4dd096d35d48beaf1f481819558660 - pristine_git_object: 6d8fdb7abe65c045f2ee12002e44beb133f80ef1 + last_write_checksum: sha1:4ad6cb3ef1e3e2723a7aa9ee45be086e5751b98f + pristine_git_object: 912ff7d15965ed85bed8160f0d86465fdd066118 docs/models/components/DelayStepUpsertDto.md: id: 8cd01e21ee5b last_write_checksum: sha1:c8ab7f8eb3f04ec7ca7f3d9e2859fbe8b2c99d97 @@ -534,8 +534,8 @@ trackedFiles: pristine_git_object: c5e29a5449f41c0d6545eb4ae5d64242d5ec25e9 docs/models/components/DeleteMessageResponseDtoStatus.md: id: a17bb64a8c4b - last_write_checksum: sha1:27ec4c9a7f55ca7b34817b185d0f5a77c58dc527 - pristine_git_object: 99f803926e1e3f4e27d4645b98171a095479fa37 + last_write_checksum: sha1:70e2a93f5bfd320f423c655bc7d3292be2f652d3 + pristine_git_object: 6079850d9c16987530b1da07360654940195b753 docs/models/components/DeleteTopicResponseDto.md: id: ae68785f08bf last_write_checksum: sha1:bded640140bf69c44336ef52103771addf323401 @@ -556,18 +556,42 @@ trackedFiles: id: 373790163c4e last_write_checksum: sha1:4597f99f791d299fce5db932136968db2283359b pristine_git_object: 2d48e0197959ba5ae9a043abe63ff1209c13f079 + docs/models/components/DependencyReasonEnum.md: + id: 5b97a5d8351a + last_write_checksum: sha1:ee9af369f2ab14b8e271d553658e863e2d012e30 + pristine_git_object: 3f7731d45a85ee633560611247614426a243c4a4 + docs/models/components/DiffActionEnum.md: + id: 44404fa7da23 + last_write_checksum: sha1:6a0c0b78885ca278764933e1a755c275c534d7e1 + pristine_git_object: b625476625a672b571c86e8d28ac46d0f53ad6ec + docs/models/components/DiffEnvironmentRequestDto.md: + id: d77579803ac9 + last_write_checksum: sha1:2db66e38860702d8b512f894b62d2d8bb614647c + pristine_git_object: 6e34526e9887ab2153b4651f2700ee6ecd7d3aac + docs/models/components/DiffEnvironmentResponseDto.md: + id: 3d0f7ad7c855 + last_write_checksum: sha1:714fe0ebfcc62c3a3417e19fef939e6bb89e6b0c + pristine_git_object: 9c09b50b1e2d60f5a92c50eb534dd528dbdec509 + docs/models/components/DiffSummaryDto.md: + id: 1282e7f73b86 + last_write_checksum: sha1:73482c6e074318f30a7e1eb48356e9ff0fcd0f1b + pristine_git_object: 9d8e8d39f3c361b2930b5544cef560d3be31aaa8 + docs/models/components/Diffs.md: + id: 250e6860de66 + last_write_checksum: sha1:bd22ee0e7fa57c07382fcd7b2b0828552d3778f9 + pristine_git_object: ab1bb243c9e1af3bb72cac7bf9138e742a47bb58 docs/models/components/DigestControlDto.md: id: 8bfc14d04840 last_write_checksum: sha1:a9accd437d4e23d543cc469585e67b7c796d90a2 pristine_git_object: cd20b1d4cd2d77f76fae70a3b794f005cbbde1eb docs/models/components/DigestControlDtoType.md: id: e1daf523b886 - last_write_checksum: sha1:b0c689457a7ae2f728d59b408e83f4f9cbdd551d - pristine_git_object: 521a77a18ff5aa8920ab5cea127670eeb877f22b + last_write_checksum: sha1:71a3194c6d41a6e9a801949c3b742b141099fc07 + pristine_git_object: 96d54ed195a690a3b346f5f58da3f74999bcd920 docs/models/components/DigestControlDtoUnit.md: id: 76cbb9120944 - last_write_checksum: sha1:4d42aa71ea8d0b1779e845ea6d08f836db0c7291 - pristine_git_object: 34e0a306208eabdcfbe93fb72c4fbf8ae563ac57 + last_write_checksum: sha1:4f2cc69ebf4303c6a631f599e546689097cf9f44 + pristine_git_object: d598b514f539053c84d836f18c1193f02cb1e0d3 docs/models/components/DigestControlsMetadataResponseDto.md: id: ad537a20e494 last_write_checksum: sha1:0843b24f7cf7fa2ae145e6dbfa0b9fb11f8fa4b0 @@ -578,36 +602,36 @@ trackedFiles: pristine_git_object: 181fc36325712620719087bad56f72a0e77ced40 docs/models/components/DigestMetadataDtoUnit.md: id: 2c55f30dd54b - last_write_checksum: sha1:8d37d1ee96a451c9dfab1c7aaf0638ba03ebe0c9 - pristine_git_object: 45270c3946e1144c6373d4cfb3b145e09378386c + last_write_checksum: sha1:0a2fcf6e9e8e8917bc8b5526c106600e72503fbd + pristine_git_object: 27aba19ee5a7484e473cd878bf0c8c814a0a41cd docs/models/components/DigestRegularMetadata.md: id: 9a376fc01ff3 last_write_checksum: sha1:2b6fdf20934aa7ddb9a4fd53ab48a4dfd5fea943 pristine_git_object: c4c080acdf1c786c16c1d475a0711ff447fee6d4 docs/models/components/DigestRegularMetadataType.md: id: 2f88f1da34ac - last_write_checksum: sha1:145cbc8738560105cb216852fbe640bd006bce86 - pristine_git_object: bf48026970a400c09f668f7d5706459720dbb396 + last_write_checksum: sha1:bd568731df8471c8d2195d3bdab36fa336d62413 + pristine_git_object: 60f0b1800524d81fd24aefebc443ddc1291a6847 docs/models/components/DigestRegularMetadataUnit.md: id: 2f0fcd4cae9e - last_write_checksum: sha1:22a4f21b29ca16779ddd8ffdaeb434df6d6e8b22 - pristine_git_object: 89dc4f29505af89ee2a3bd71bbbcac9776b7f21e + last_write_checksum: sha1:33052a45608d73e977a30648d9c25fea27c037dd + pristine_git_object: 7b109ab7f1a4c8d71afbbac68cfc8852ba5cd41a docs/models/components/DigestStepResponseDto.md: id: 4043e0ab68f2 - last_write_checksum: sha1:eb1c169a2a2faf19e79413354761f88f54bddaf2 - pristine_git_object: e78b9d690d5cb2a29d14fd63a5f781dee6eb7b85 + last_write_checksum: sha1:8e22810ee340a88abe733d6b8a0379befa3bfd17 + pristine_git_object: 7f00309497a46f149716b31d10cf59c18a3638ea docs/models/components/DigestStepResponseDtoControlValues.md: id: ed16210b8eeb last_write_checksum: sha1:6dd5d4efd2d724d7c8f9359effe6f604252dd3ff pristine_git_object: 042c58e2a18da99c9caa3e037e753c2f2d13310a docs/models/components/DigestStepResponseDtoType.md: id: 10b5a6abdab9 - last_write_checksum: sha1:79546c242f010c1286fef8b1767b223a3b32cf9c - pristine_git_object: 56ac52d724cf7d74bcfaeb7cea9542e7422f4339 + last_write_checksum: sha1:5d4caadc3c8c7745b3fcc3b32c4e4f4adb056a4a + pristine_git_object: cc0156ef87bfb12b8160e3c68f9994b59ba5f745 docs/models/components/DigestStepResponseDtoUnit.md: id: 9b650bb6aa19 - last_write_checksum: sha1:5fba7d38e66e4b7cfe82693577f8b4d894974edf - pristine_git_object: be32945abac56276eb1cd4aa542b5fabdd1ef14b + last_write_checksum: sha1:a6981b992cea3deeb9e584d66a4c29f2ba79aee3 + pristine_git_object: 70e5ed622f3c55d0e67039eaf6c439ac4c884abd docs/models/components/DigestStepUpsertDto.md: id: ff398d8cf504 last_write_checksum: sha1:0715767537d250bad2bc01f695492c721b515a08 @@ -622,32 +646,32 @@ trackedFiles: pristine_git_object: 53f2141644605521d7577586deb264dd6891580c docs/models/components/DigestTimedConfigDtoWeekDay.md: id: 1d7097ff96d1 - last_write_checksum: sha1:1e620d704ff8aa65f325faeaeb607e4f2d395c47 - pristine_git_object: 7adaa5a7de6baad14d52c75ada6deb5868756c9d + last_write_checksum: sha1:00236759a87975c3b9fb5cecdb069db46350d977 + pristine_git_object: 9e67f05d82829672fcd3ef8216c232fb13997c50 docs/models/components/DigestTimedMetadata.md: id: 306a68c5f7d0 last_write_checksum: sha1:76596e891b8b8d2849436e5da269f757797eb3b8 pristine_git_object: 1479c277e476ce391e1f1a32129d48f45359b78a docs/models/components/DigestTimedMetadataType.md: id: 59dd0f254f1b - last_write_checksum: sha1:66d7c7c5aa2fcc06dfba72fbabedc7ede0013619 - pristine_git_object: 47d3b2c78f00247350aad0ae4378caec67d143c5 + last_write_checksum: sha1:e48b7cc04a28aa61d1992d056f05ad5b5cc382c4 + pristine_git_object: fc963e47d1707ee526884ae9d0f79d6d8833b3e8 docs/models/components/DigestTimedMetadataUnit.md: id: d6b7da268fca - last_write_checksum: sha1:3eeae5c1c1df8cd9f178ee1c61a009240f5a2a62 - pristine_git_object: f45daeb0b394593f57029a4742ea78a963a1aa8a + last_write_checksum: sha1:4d7431cd23800a2771bfb7f6a344d6571d383ed0 + pristine_git_object: 8b16b5f63e86886f09a7b889ff58803cf34cafa5 docs/models/components/DigestTypeEnum.md: id: 0b5833f222c7 - last_write_checksum: sha1:58e5a55149e4906d577a8b06d033eeca0cdd41fa - pristine_git_object: b6062460e2c31e855e69559847eb052321557e29 + last_write_checksum: sha1:9214e43e190eb812040fa38252b23a36b85c135b + pristine_git_object: d568fb9c035243e22f554e7754e0dfd49b51453e docs/models/components/DigestUnitEnum.md: id: 2446ea2f3864 - last_write_checksum: sha1:023bb33b9a3a6e7ad29a8bea452f1cba28544717 - pristine_git_object: 4ddc039e140874478add60b21b62c25e903ac45a + last_write_checksum: sha1:52ddbe53897bfece9df86e49c205a1311f9688ae + pristine_git_object: 688e7aec5b4b40f31aaa6e96319609d0e743e108 docs/models/components/DirectionEnum.md: id: 79168b804424 - last_write_checksum: sha1:f7388bb327eb6e1bae0722edf1530bfe6f222bfa - pristine_git_object: b8bad34ad13db052bddb551ae9bea06f1b18ec6e + last_write_checksum: sha1:6dd7ea2cf5f47bfc3e0592ffc8952ff7e59f5d01 + pristine_git_object: 06df34c72b8e2db8fcc9da2820c00e02f50b663f docs/models/components/DuplicateLayoutDto.md: id: 315285235c43 last_write_checksum: sha1:c9ba07433addbc6f908d96e437106d0956e4c2f5 @@ -662,8 +686,8 @@ trackedFiles: pristine_git_object: 4491848fe08b124f42b44dddf1cf4bfe0431cb33 docs/models/components/EmailBlockTypeEnum.md: id: bf94dc9e2f9a - last_write_checksum: sha1:c900450579fb7023bc563bef2316345d381ab25f - pristine_git_object: 92e98ec00cfcd871ac61bc9bb1910690bcdafa89 + last_write_checksum: sha1:75f83eda5b404349288db125ab1305782d7f384a + pristine_git_object: 44e9c3da781ea4289deebbd28bad2ffc5ed87f9d docs/models/components/EmailChannelOverrides.md: id: 9e6a96a695bd last_write_checksum: sha1:045d7bd1b93bf31ad832f0712619c46443e6bdd3 @@ -674,20 +698,20 @@ trackedFiles: pristine_git_object: 7f3a13b0f5854d9914502a539cbafad3098622cb docs/models/components/EmailControlDtoEditorType.md: id: bb69e5cb9394 - last_write_checksum: sha1:2a09e330a5d5d463ca03762a3795ff178b7233d8 - pristine_git_object: 4394a12632082185b2052715a366731cc4d9b05a + last_write_checksum: sha1:21e488d59f3a6d647c6e87d8e8531f13456de6cb + pristine_git_object: fac1b841f3c04d5ca525fb5b46910485b6a30a34 docs/models/components/EmailControlDtoRendererType.md: id: 301a607fc5c3 - last_write_checksum: sha1:615cecb17d6c0616cd630e345001903251a6b2db - pristine_git_object: 8821efdff12334fc5c5b517bb7c61c9f04711dd0 + last_write_checksum: sha1:aae39d064655171937e5df4238757af3ca2ae298 + pristine_git_object: 3a17459ac8b0f73144bef5806af2c26be6254398 docs/models/components/EmailControlsDto.md: id: 17c5d5c27464 last_write_checksum: sha1:f399c231e78abfbcf18db5fe54e7ac13dc47b557 pristine_git_object: 10aba193d804136d4950df28b61fa18012cd8af5 docs/models/components/EmailControlsDtoEditorType.md: id: 43eb387ce37e - last_write_checksum: sha1:67cbde5570b4f60ae44e289419e5139b2ec0f18e - pristine_git_object: ef56f6c8dd7f3ab25e28ab8b681a3f99ce3c6960 + last_write_checksum: sha1:326bdc36112b785533b1257004ab4f1f3df8ceed + pristine_git_object: b9104bce3f5747de6a981607bb9fa2199c17f2d6 docs/models/components/EmailControlsMetadataResponseDto.md: id: 2b5b68028bae last_write_checksum: sha1:54b19174c9e0b94c07c855340854e6af4b55d23a @@ -698,20 +722,20 @@ trackedFiles: pristine_git_object: 7eb3d9d23ea915c9b29e099f25f73b2085bf69a9 docs/models/components/EmailStepResponseDto.md: id: b814c7348683 - last_write_checksum: sha1:0ea64077ff438957a7351a485ecd1cafa0241a1d - pristine_git_object: 440fa2c9e3926e68b573aa4d051a83c072bb0921 + last_write_checksum: sha1:91632c4a45bd1f14cb91d324cd0879e02a6ba7ed + pristine_git_object: 5d3ea9447fb43e68f457e1756f272cc82fec29c2 docs/models/components/EmailStepResponseDtoControlValues.md: id: 2e7b78e49eb6 last_write_checksum: sha1:e3d3aba0e803892ab16799c8d304d96e0bb513f9 pristine_git_object: 7e4f8411ca9a8df3e2cc8ee5af72ff06999a278d docs/models/components/EmailStepResponseDtoEditorType.md: id: 8db3e9181b15 - last_write_checksum: sha1:55eaa4a920f4b6a8aff1a9d5d02419335776b5b6 - pristine_git_object: b36c7e9d1d80386b7d51de721e2830f465a964cf + last_write_checksum: sha1:9b5b4a9a58b6460ac5bb95fa91887fe010d53551 + pristine_git_object: 5ce6d3da5336c3b1012fa6affd04037160389287 docs/models/components/EmailStepResponseDtoRendererType.md: id: 8065ddccf88a - last_write_checksum: sha1:64fe155ed8269bea6e5cc08eb9aeda0b7853607b - pristine_git_object: 7e2b6312bc47d767de3ff2796f59c4aca55749e6 + last_write_checksum: sha1:81b7c698c481f100978275d740c6a4338a7e0af9 + pristine_git_object: 38ec1c22a4bce4f4cefdf5d4efe67363553c96b9 docs/models/components/EmailStepUpsertDto.md: id: 6f8f4caaf13d last_write_checksum: sha1:4f0fb400ea985be0dde597b8242b6cd949cb68f7 @@ -720,14 +744,18 @@ trackedFiles: id: a5c5760eadb8 last_write_checksum: sha1:8994d17999e89564a7222dd09c9cb3dae12d66e3 pristine_git_object: 2b0bc11364c2f52b841f062933ca14f04fd7b7ec + docs/models/components/EnvironmentDiffSummaryDto.md: + id: f3bfe5078c16 + last_write_checksum: sha1:b7951d1a87968d02e5e65d00323d4ac858fd0615 + pristine_git_object: d4619ba00ceba672eaba3a8825939d02d3ee064a docs/models/components/EnvironmentResponseDto.md: id: 704d526e145b last_write_checksum: sha1:2e3ec48f7515e728b8ddd73a4b063b92e1f8b1f3 pristine_git_object: d063ef1b0c48a376740fcc778f6e9bf3293d1abd docs/models/components/EnvironmentResponseDtoType.md: id: 13d0624be040 - last_write_checksum: sha1:b82487bbb7633da352f1f2880276b3b6da5becac - pristine_git_object: 8a0a5918889f63f1cbf0046083fe7bc2aa906880 + last_write_checksum: sha1:db16c2412eda1706f4f804d56677cda87535d082 + pristine_git_object: f986dd5a4b371c1072966aacf4a9600ac7165af9 docs/models/components/ErrorDtoMessage.md: id: badf85dc2c6a last_write_checksum: sha1:80be9b864b7327cf716be0273da7f2e7c9960a96 @@ -746,20 +774,24 @@ trackedFiles: pristine_git_object: 041b63b9ebd4159e0a3914c0280710dda67eee84 docs/models/components/EventBodyStatus.md: id: 968a8b810925 - last_write_checksum: sha1:0a1d30103c5a4b749cfce5bfbfb66768d9d871ad - pristine_git_object: 68c14004f78d0ce2afeffeb1a64b911ab7df01fc + last_write_checksum: sha1:00ecb8bb4b9719b64c6fa1893a52d08877cf872e + pristine_git_object: 379af4b11d2dc1928d35b9c6cef55a4bdd61da7c docs/models/components/ExecutionDetailsSourceEnum.md: id: 84b2a08afc2e - last_write_checksum: sha1:233b7ea1dcd2dceab91a090f10e66d7288b11190 - pristine_git_object: 91540db4e8bf0f267135c51be69e285d02133236 + last_write_checksum: sha1:3a08932a537882959c470343c1ee510c80449b63 + pristine_git_object: 233b539258a74bec948dbf63f2cfa482af7ed97b docs/models/components/ExecutionDetailsStatusEnum.md: id: 88d8ce44d336 - last_write_checksum: sha1:a4cc3a15b23ad57310094edd1842ffc4e9cc6f42 - pristine_git_object: 924bebabaf02e2792997673f4cd1e8de2790d864 + last_write_checksum: sha1:4fa76c3a9ac9efb44f194f1583c4d02bb4edf09f + pristine_git_object: 39adfbfb77890cbb5891010e0d0a1143817ae14e docs/models/components/FailedOperationDto.md: id: ec96cff9e61b last_write_checksum: sha1:0c9f80bef5cb1cc03331583784a6aa4df7bb2e73 pristine_git_object: 83202450e87677b53e9177aa5e43591e32aa5db1 + docs/models/components/FailedWorkflowDto.md: + id: ad380f97db00 + last_write_checksum: sha1:84c1587596c9f308e1420eaf5af7535110bd2247 + pristine_git_object: 4aa4cbc0961996e8f50befff7e58882c14e2492e docs/models/components/FeedIdentifier.md: id: 89dce7a96bab last_write_checksum: sha1:10eaabd2e67c27cbb16cdca87c269003d9ab1860 @@ -798,40 +830,40 @@ trackedFiles: pristine_git_object: 280181dbdf852f3fe6d929acb16d4ff69a66269e docs/models/components/GenerateLayoutPreviewResponseDtoType.md: id: eff190babd47 - last_write_checksum: sha1:b2ae3babec5fffdfb1a1f7111294caccea0f268c - pristine_git_object: 386efc3ecccec9803d5191f218e4c881b3ada448 + last_write_checksum: sha1:14d94bb60f541a21b8586cfc3036022968d82d4c + pristine_git_object: d5f479e1e0b888fca4d4e1338affe41916491c3b docs/models/components/GetChannelConnectionResponseDto.md: id: aa1e6d08ce77 last_write_checksum: sha1:0a9abe41f185a1e7b2eec0b7fda4a95c1707081e pristine_git_object: 367558bce8348bb122b9bb4a42d250db15ef86e5 docs/models/components/GetChannelConnectionResponseDtoChannel.md: id: ae39c7bf64be - last_write_checksum: sha1:ef03d8164cb64384f17aceeae3101647e6e8db8a - pristine_git_object: 6c63cb15d9086b227294bb652545ee6ccf6324c0 + last_write_checksum: sha1:1c3f7a8cd4719bc985e4a2f23eb1c6bc86c80f68 + pristine_git_object: d9bf8ab71ee7e46b25572d310cc9caf41c173d8b docs/models/components/GetChannelConnectionResponseDtoProviderId.md: id: dc493e622c57 - last_write_checksum: sha1:39b21b140a11a4b40aad37655a9b1b20d6733108 - pristine_git_object: 72edf5ca71a6655d635a339306aa9a6aa1778659 + last_write_checksum: sha1:b0ee3b6da4b4016f2024cf4a26d8acb76d757b86 + pristine_git_object: 8612d7f4a6135bb857ab08fa601e0902928d709c docs/models/components/GetChannelEndpointResponseDto.md: id: b38c3787aaef last_write_checksum: sha1:72238ecea2038fcdca5999c008c504bce9373ab1 pristine_git_object: 22210f26671c3b5f390ad7ba6bea2896bfe6c024 docs/models/components/GetChannelEndpointResponseDtoChannel.md: id: 50a0be5170c2 - last_write_checksum: sha1:3d4370a02c4f82cb1caa97a8db4c802050185f3e - pristine_git_object: 4cac0681bbaddf974cbb67268f39c775d7ae51ba + last_write_checksum: sha1:b014feea6eca15e8c208f38607ef4010a400791c + pristine_git_object: e81d3fd529c3785c1c9b7ea924943a13e2969123 docs/models/components/GetChannelEndpointResponseDtoEndpoint.md: id: 879cab75b9fc last_write_checksum: sha1:cf56e95127c18f25de10d41d9688b03e7caa2d8e pristine_git_object: 49601be9acd281c39415ae5fbb040d1182af000c docs/models/components/GetChannelEndpointResponseDtoProviderId.md: id: 022811bb48aa - last_write_checksum: sha1:3619322c22f6d1f77797ddc58b676ba9c56bdeff - pristine_git_object: c940c5f55c50db3b6958741c300f2fb36879b403 + last_write_checksum: sha1:f3ab1ed32aa3a55f9a4199e3fb1ba7a5d03b8e98 + pristine_git_object: 3c2fa51e3e17820a9dee4fb25ef8336deed8b1f9 docs/models/components/GetChannelEndpointResponseDtoType.md: id: 71f7459931e7 - last_write_checksum: sha1:d384ccd23fbbcbbbbc183f6b27f769e0765bea6f - pristine_git_object: 171d3115c25a2d6d6543a3023509bf5f5a3b1362 + last_write_checksum: sha1:28626768c1bed82f46d7eab498b25ed4dc11e5c3 + pristine_git_object: 4d4cd70692f00f632f512ff3a268ad8559557fae docs/models/components/GetContextResponseDto.md: id: 751cd92795cd last_write_checksum: sha1:d116219652373a8e420444a096eedcf30d043325 @@ -890,8 +922,8 @@ trackedFiles: pristine_git_object: 665f88a6393a20bfe2076f13a4aae427fa3318b1 docs/models/components/InAppStepResponseDto.md: id: e669f2428e9f - last_write_checksum: sha1:3f3d870900f84b413d3d4e96048e3a8940353514 - pristine_git_object: 71dadfa04af661ce672cf39b3430038d198c4169 + last_write_checksum: sha1:ec64e40ce416f664d46bbed12cce853417a2510c + pristine_git_object: 58334681c8941f82850f47ff89bd5329dcfbb2ad docs/models/components/InAppStepResponseDtoControlValues.md: id: 1e5665c5c3fc last_write_checksum: sha1:f151a75496fc6b7e840764e78258436ad9a3607f @@ -914,20 +946,20 @@ trackedFiles: pristine_git_object: 3dccca16e25bdfcaac6618deabb66137526561c8 docs/models/components/IntegrationIssueEnum.md: id: f42875feec01 - last_write_checksum: sha1:6bee7838112309e4219c74c10261857b0af1eed9 - pristine_git_object: 3148ce51525a73e3c179de4cfed1900ac7fb64d7 + last_write_checksum: sha1:6f42e51da57de3b40d1626c72d588b1b547ace81 + pristine_git_object: 04e7ec7fa525a25cc5bc5d52f59343ec76669617 docs/models/components/IntegrationResponseDto.md: id: 5336a6faef89 last_write_checksum: sha1:b8b98c658128c448283495018470f16ee6ef13a9 pristine_git_object: b2336b2bb66e1de9b8021c673595a1d7354a6fa5 docs/models/components/IntegrationResponseDtoChannel.md: id: b2b692ddf6ff - last_write_checksum: sha1:ad4d03c77f6f92da0a11dd74d5738ff87cf3e544 - pristine_git_object: 25e24d238a7646f11a7f1e5fe38cd559dee2de6f + last_write_checksum: sha1:1c214c98a7620c60ecf231d4a990cc29043e41e9 + pristine_git_object: a307da3200a6b57d95fa65044ce80be783d7db06 docs/models/components/IssueType.md: id: 5bfe404dbaea - last_write_checksum: sha1:92891e449531f2b960e4087611c9fef0a3e96c8b - pristine_git_object: 40c79175accca4a89af86822d538c850b7c5178f + last_write_checksum: sha1:cd232decd2aca15b31a222a511f0979c8cb8b7c9 + pristine_git_object: d98bf5622a62c0f58e4e4de1e96fb2884fc3e6fc docs/models/components/Issues.md: id: b8afbaf572c7 last_write_checksum: sha1:923b707ed29ee23268c0fef17bdc859f04e798b5 @@ -946,8 +978,8 @@ trackedFiles: pristine_git_object: 79f2d34907bea284fc9011b1efad5ce857f35faa docs/models/components/LayoutCreationSourceEnum.md: id: 309ebf539670 - last_write_checksum: sha1:1ca332bd571085f70cc197a1864631091156cfb1 - pristine_git_object: e00f6ca6cf8d19f3b72f9c856b2ab625136d78de + last_write_checksum: sha1:a7c01d7703be14201191a8f0dc1ed96d8f41438b + pristine_git_object: 5d7b5ac7b63726a5b9845f1218d6d216abdff7f3 docs/models/components/LayoutPreviewPayloadDto.md: id: 1fd614447bb1 last_write_checksum: sha1:c78361c3dfbb86a463e7e3b407564961c23e3ff5 @@ -962,8 +994,8 @@ trackedFiles: pristine_git_object: 053fe29677adc592110981d43bec9222dab3af2c docs/models/components/LayoutResponseDtoSortField.md: id: 9fdd46043c91 - last_write_checksum: sha1:3d7a0c4e79baf3bf86fa385001c5ff51a3c8c61d - pristine_git_object: bf7c7b78b3ac70a32df69356ef55919910cd3d5a + last_write_checksum: sha1:75c503b16bdd06bc554ed6cf37cdd6cfb931c2a3 + pristine_git_object: ba3b0338bc39937e4d9b4f761e37f5bda011be70 docs/models/components/LayoutResponseDtoUpdatedBy.md: id: b99b8859ccaf last_write_checksum: sha1:27c366714800b9b8f57fbe5b372a56f0fc75604b @@ -1006,16 +1038,16 @@ trackedFiles: pristine_git_object: fe27a18b66bddfbe33c6ec4a9a3aefbf285ad1ff docs/models/components/LookBackWindowDtoUnit.md: id: 7ef958b1b495 - last_write_checksum: sha1:eae85fd6330c65a759b04c70b7a51326b6f894c6 - pristine_git_object: 8c87e1c16c7077e2262a8dd7e4ae2466a6d44e36 + last_write_checksum: sha1:cd20e5b71f49ca1c47abb1d87b9b237579574317 + pristine_git_object: 7b2fb3cc4e49dffac39c60feb5ee3a78add5968a docs/models/components/MarkAllMessageAsRequestDto.md: id: 3196efae5f2c last_write_checksum: sha1:bf0bef562f3da599ece26731b046d2415a82c7df pristine_git_object: a452439ed4691f38dd9bf461b3c4c9bfeea4b512 docs/models/components/MarkAllMessageAsRequestDtoMarkAs.md: id: 97bbe6192ae4 - last_write_checksum: sha1:db84e45d9b33fc5d33fd62dfe5e14cf0eaf1e60b - pristine_git_object: 5f3ec2f4ccfc904b615ae5e2ff7eef14c7367d37 + last_write_checksum: sha1:e47d4bd217f0889c3ba3ab0a9adfb0a2d259d1e2 + pristine_git_object: fa6007aba02f66551b449f8b53ec8d59f404feb4 docs/models/components/MarkMessageActionAsSeenDto.md: id: e117335a11ae last_write_checksum: sha1:a21de3ee6dbf4f512fd83d19ce99af4a1ff55896 @@ -1026,8 +1058,8 @@ trackedFiles: pristine_git_object: d829e4c8c08b06db3b4b334e1161a5bc7e8ec236 docs/models/components/MarkMessageActionAsSeenDtoStatus.md: id: dd2c1bc1705b - last_write_checksum: sha1:cd8b032148ae1cc00aa01af600d34b6891116d4b - pristine_git_object: 0178991e32262146036111a9513515494a5a61b2 + last_write_checksum: sha1:f9c1d5a4ca20199d405c0c731ef50160a008a599 + pristine_git_object: c72a1d80420539c3cd2339171be5b5f47de05d02 docs/models/components/MessageAction.md: id: 2380844d4395 last_write_checksum: sha1:d9c0d3ac9e00cbd275bf1353ea6416ff668cd9a3 @@ -1038,8 +1070,8 @@ trackedFiles: pristine_git_object: 080e52d3ba1fa8c5c347fe7e54c3d269ff2c6cd6 docs/models/components/MessageActionStatusEnum.md: id: 38403928f7cc - last_write_checksum: sha1:0fc2a7ebec0b8782906d60fbace391080449b085 - pristine_git_object: 5836499ca4cb800e8826f5cd8efcd0291ff1afc5 + last_write_checksum: sha1:c09806f2ff87aece4f7894c84425baee7baabce9 + pristine_git_object: 5d4ebf352596d75a2e5c00b6eb9809f3819d87e8 docs/models/components/MessageButton.md: id: b3337ea95f20 last_write_checksum: sha1:8355e645cce235d10a2bed03d8ef2ac640839336 @@ -1062,16 +1094,16 @@ trackedFiles: pristine_git_object: 2b4bc4b5b3f5b8b75b2582814d0ebd342f70af74 docs/models/components/MessageMarkAsRequestDtoMarkAs.md: id: "050116102464" - last_write_checksum: sha1:bfeb31f2ae2960cba238c917f43302345a13d536 - pristine_git_object: 13c5a1df1decbe64628d0de2f61b2720b2169a98 + last_write_checksum: sha1:32eb3e1fba038facf175ba054816b2829c865ca6 + pristine_git_object: 38c2d026f3104dfcaada9a1780bffb0dbd3a5d63 docs/models/components/MessageResponseDto.md: id: 8dca237f7d69 last_write_checksum: sha1:aeadacd3872d04ada2ce86f006ad1a7fc10bd7b7 pristine_git_object: a4e410bfb4e63aa6368bc4c0e5052dd7582caa5b docs/models/components/MessageStatusEnum.md: id: 0d7f81e3b7eb - last_write_checksum: sha1:1c9f8964c9c38fe5d980f910dae0e32a6df80d0d - pristine_git_object: 8aa4778ad944834114785aa6a8fee38c240d884b + last_write_checksum: sha1:62d9961a7e2bbee20a5a85061c4568dc68c014f6 + pristine_git_object: f816ae9759616105fa8ddce44f02d24633ef0b31 docs/models/components/MessageTemplate.md: id: 1142467cde54 last_write_checksum: sha1:51432b01b811bb5c17b3a8d06119fb61ac904699 @@ -1094,12 +1126,12 @@ trackedFiles: pristine_git_object: d248de07ae31bb05f25ee2d00fb1e4ac051f10fc docs/models/components/MonthlyType.md: id: 4d0ada5a149d - last_write_checksum: sha1:87def077b38cc76031a02e8fde132e178d7d4b67 - pristine_git_object: 2f4c06e0fd49316b763cdb10d80be70a2f9c10ed + last_write_checksum: sha1:62a97e94cf0ae45e22125e40310dfcb9b99443be + pristine_git_object: 80120b522df9d070de6f2032fdb08ced383a8db6 docs/models/components/MonthlyTypeEnum.md: id: 6617e74b8b27 - last_write_checksum: sha1:19c4c62c62bf05b61cd31c1b77645a08b5fbd538 - pristine_git_object: f70026fc6e599bfdca21b536713f55296b2fbde8 + last_write_checksum: sha1:9c1e4b810230f1bf348449500a4c30b9acbb60bb + pristine_git_object: d8d592dcf29f08048145c503bbda9696f67aad17 docs/models/components/MsTeamsChannelEndpointDto.md: id: d2b083b71c09 last_write_checksum: sha1:752125b01e4e4bca8556a63375c65e59648b57a0 @@ -1114,8 +1146,8 @@ trackedFiles: pristine_git_object: d345eac40b387c5ccf1cf571a55fa9b7b4a945e3 docs/models/components/NotificationFeedItemDtoStatus.md: id: c4c719fa908a - last_write_checksum: sha1:a8530544c6bfde6ed676b1c58f6446a484b71147 - pristine_git_object: 6d53216c4e4aa23d6d8f8914c89d642fdac57e59 + last_write_checksum: sha1:9a3b9ba5f503a6cd644ca884a8891510a6c8688b + pristine_git_object: c98bcf6265551e3cba6a909aacd10a99c3a0d85d docs/models/components/NotificationGroup.md: id: fad3782a032a last_write_checksum: sha1:0eddd5c3dbcdac3404b604cba74a3d2bdffc0134 @@ -1146,40 +1178,40 @@ trackedFiles: pristine_git_object: dc5e012a5bc8dc62bbe3a59e80bb3b4830e840ba docs/models/components/NotificationTriggerDtoType.md: id: 98a6f53d9f85 - last_write_checksum: sha1:3fb718ea5a878da60a53b0b6b7f8a0d125a72af1 - pristine_git_object: c4dc40bb76850cbc9c245d5de3aa083ff4acce16 + last_write_checksum: sha1:84d3a00e853a882a1e42e8c392c8c0c4aa939a96 + pristine_git_object: a7a5c3eab11bf8165cb9eb61c2e955dca3c16663 docs/models/components/NotificationTriggerType.md: id: 15ff6c42e774 - last_write_checksum: sha1:254042946fa1a8e0a4b2fa23f27ae0a990062abf - pristine_git_object: 39c8366702a2fe39420d7da34a6788555c801fc5 + last_write_checksum: sha1:b102a1fbb07208ea790f453a17802b4b9abb8b6a + pristine_git_object: 9e834870207a18f4ed3556b96e57a9d4e1c0cb4e docs/models/components/NotificationTriggerVariable.md: id: 7085c2236187 last_write_checksum: sha1:7ecb5812d4b262d9e1ae2d88817230427929bc92 pristine_git_object: 43de407a74d47225ec6ee47881f85355a48767b5 docs/models/components/On.md: id: 16c2cbe5ed69 - last_write_checksum: sha1:024299efc7a47dcc267d46b9cd9e5f2de57a3498 - pristine_git_object: 3efe5278bd07fe36bfe2a89ce5513610e75b5d6e + last_write_checksum: sha1:8d47400eea8918d144a30ec2e8a6f9e470e7e74b + pristine_git_object: 6b843d2716530e1e42ea91e57ddf6e8f0f9dbd25 docs/models/components/Operator.md: id: e3ebac18fa75 - last_write_checksum: sha1:a346dd32a75ddf32c784b84a4e776078501bdc72 - pristine_git_object: f6e858622acc60f289fe61e4cc816adfc75dee8e + last_write_checksum: sha1:5f36ca55920679fc139dfdee6070cc372fd8b2b8 + pristine_git_object: 9e9442f63d3d0ee2b1cd4ebe541900fe837c8d5e docs/models/components/Ordinal.md: id: b859a946b878 - last_write_checksum: sha1:d254c79816ac7c53a72d97f177876f6ca2b48a4b - pristine_git_object: aa6267262afac6516b06624533095a410c07834d + last_write_checksum: sha1:4105257a0fefe4bef095a80d005b7012214a9714 + pristine_git_object: 1a4cb7985cde20ae1f35147ffb8568a2e30a43ac docs/models/components/OrdinalEnum.md: id: 513f73041c56 - last_write_checksum: sha1:86b0f6c2654ab74c6a61c3242adc0c2004f35ae2 - pristine_git_object: 55025aacba4df25a2632be89c12a043a19491278 + last_write_checksum: sha1:a4a18a69e6d9659d97067d43e6f6a7a13286706f + pristine_git_object: 48f18e0f0b0f6699b6ea84ea6afc8671a0060b1b docs/models/components/OrdinalValue.md: id: 32becff01857 - last_write_checksum: sha1:a0a8f58321b1c0abf08ad61ba69a3c4ad0b0d8e8 - pristine_git_object: 067293675a68fcac75da570de4d2bef2ad610aad + last_write_checksum: sha1:a76112c8b3afb33fb76c22bb8f22c077e55f0e14 + pristine_git_object: d6b3eabbca389a0cabb686a8925c77cceab394ca docs/models/components/OrdinalValueEnum.md: id: 3042aa82ef7b - last_write_checksum: sha1:89a3c5dadd41e787ac53303b2f988dad1b138f2c - pristine_git_object: 514d50a11b6b3335724e46426b102c5d62045151 + last_write_checksum: sha1:38119e51356752b8db7a089fac949ebd870b4b92 + pristine_git_object: 44a4355d5e41589069b64129eef7395de718150a docs/models/components/PatchPreferenceChannelsDto.md: id: 09e0e790d4d4 last_write_checksum: sha1:23b908e0a34a251c1b00ca2f987b2625be5f2354 @@ -1246,12 +1278,12 @@ trackedFiles: pristine_git_object: 49ff48637577b6e0796f14fcfb63b557cf8a58b2 docs/models/components/PreferenceLevelEnum.md: id: f833a650e623 - last_write_checksum: sha1:f570a7784c5a008983a24dcfc646133915cd9a15 - pristine_git_object: 5d81dc2b79fcff3066f5a772f38a2d9547a3fb2d + last_write_checksum: sha1:b2f344c65b2c8e69236353fa8a3637078d797f7a + pristine_git_object: fd308fe860f681ef9f9ae012f77119818f33a008 docs/models/components/PreferenceOverrideSourceEnum.md: id: 42bffc1bef8c - last_write_checksum: sha1:393bb35fe17948ca230263883edb7fb140e63be7 - pristine_git_object: 679580b3aa04bc419ad88a792524c3e2e808b9ad + last_write_checksum: sha1:aa2ab580d7aff31d3d6179935e6378e20f7f3ad6 + pristine_git_object: 25c2f40e77c054d64f97998b1450a7ddc43b805b docs/models/components/PreferencesRequestDto.md: id: eaf68071dcb0 last_write_checksum: sha1:67a31ea890e2cc10eb6fe5a7cdbfefcaf24f601e @@ -1270,8 +1302,20 @@ trackedFiles: pristine_git_object: 185c9d9f65241599ea6c62eb0ded182d9d269e85 docs/models/components/ProvidersIdEnum.md: id: 03642e27ea3f - last_write_checksum: sha1:9f7e46322bf913310b3160bc24a0fd695a8091b6 - pristine_git_object: 552acd8c25f7dbe26ffa0ea0fa2a3a115ceb4f09 + last_write_checksum: sha1:c964ac0369b3df8a3e54a71eb51b46ea3c9fe5f0 + pristine_git_object: c6f76286799e93c40d404ac695e40faecd403ba8 + docs/models/components/PublishEnvironmentRequestDto.md: + id: b29e42c4e73a + last_write_checksum: sha1:ad2a05caed528a273e66615963ee2cb30af62372 + pristine_git_object: 4f8f3af4a4ac624711deaf07b247dabc7a6bd624 + docs/models/components/PublishEnvironmentResponseDto.md: + id: 1e7e831c0b56 + last_write_checksum: sha1:544c283f3b113288fe2dd16aefa646b672cd621e + pristine_git_object: 0cb4cff37ca349bfac5735e0657d6504ff8ace51 + docs/models/components/PublishSummaryDto.md: + id: af6fdceb81b8 + last_write_checksum: sha1:83fcb85dd20e577ec29fb4d7ab0f3c3c42474586 + pristine_git_object: 9a1976ac28a684cb0e0e0fb993d3b03618964f44 docs/models/components/PushControlDto.md: id: 91e09fa14cb6 last_write_checksum: sha1:6878c43b0db97a8d6fcc3355ae0a00f680210e8a @@ -1282,8 +1326,8 @@ trackedFiles: pristine_git_object: aed4c7c85aae12a7567f3b5367e4db86a510f420 docs/models/components/PushStepResponseDto.md: id: e469376e97bf - last_write_checksum: sha1:107bf9b04d0abc16638e755d881c61f4c1da6d0b - pristine_git_object: 57502828246cb05e0afa80dd007f9c62c3ed6ab8 + last_write_checksum: sha1:09456669fa181e63ccb38c9fee65dd94f22ce89a + pristine_git_object: 67898d0ec70c99fc14ddd613a49ca291d949b418 docs/models/components/PushStepResponseDtoControlValues.md: id: 3579d0d31ec0 last_write_checksum: sha1:84d5069909c9bc6ed04eedc38c7e0c37e2d0011a @@ -1308,14 +1352,62 @@ trackedFiles: id: f1b51e71e6bc last_write_checksum: sha1:1c90833ac1b7a30b6ecfd8f1f68046960d930544 pristine_git_object: d9430e9df8142e562816118a59944e508119c48e + docs/models/components/ResourceDependencyDto.md: + id: 3ac81522acad + last_write_checksum: sha1:d609bd9502df1c755fef8c73c17f36b2d0c531eb + pristine_git_object: 45ca158322d8f59e55156ba7e478dfc292cf945c + docs/models/components/ResourceDiffDto.md: + id: 12b296e1c388 + last_write_checksum: sha1:169a98a8c0e21f3aa581c4269b968accdb42b182 + pristine_git_object: 8c1838acffda2ce5f62a96eab51d44282d7331e3 + docs/models/components/ResourceDiffDtoSourceResource.md: + id: 7fa34aa13f18 + last_write_checksum: sha1:05bb6f8a46ba70249904ca59a6ad835fffe8a2b9 + pristine_git_object: c434b7b8ff6c9aff4e712b563babdca3074c5ec7 + docs/models/components/ResourceDiffDtoSourceResourceUpdatedBy.md: + id: a1479cc60023 + last_write_checksum: sha1:a8b63e39a8028a4d50f598bb9e3ab9bcbf76c578 + pristine_git_object: 50585bc181514abf6bc8534b447d93d03f7a451e + docs/models/components/ResourceDiffDtoTargetResource.md: + id: 485938d9d8a6 + last_write_checksum: sha1:9fd12d02bafeac1d4e26d10fa6186401860bec00 + pristine_git_object: e0f00800190e5c2291b4b40ab5aff8aa9b6c284b + docs/models/components/ResourceDiffDtoTargetResourceUpdatedBy.md: + id: ef348721e17d + last_write_checksum: sha1:cbb8c71a118999e0d9dcf499493bec6c90a07578 + pristine_git_object: 3fa5c91d82bdf9071a27bafb7fbf189bcbc0e646 + docs/models/components/ResourceDiffResultDto.md: + id: c40eb5f57e28 + last_write_checksum: sha1:fc3beabc9a7333d041897d1d84650b1fd030c6c9 + pristine_git_object: ab2cbdf631dca9a25b7162c6d4ca368dd416a52e + docs/models/components/ResourceDiffResultDtoSourceResource.md: + id: d8a6b2c4c8ae + last_write_checksum: sha1:0777fb8ee99b34f0d223511ec5c7a88b46d652fe + pristine_git_object: 5eb0d32ac75be67310caf4bc45ec27fb150579ee + docs/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.md: + id: 026dc3727a3c + last_write_checksum: sha1:354952a532ebfc9ec590e4d60319047851179104 + pristine_git_object: 715b86261e48a465bb260a77548d1b929fd86279 + docs/models/components/ResourceDiffResultDtoTargetResource.md: + id: 1fd555df93d9 + last_write_checksum: sha1:0d0184ef4c8ef3908268572f11023b3b83cc535d + pristine_git_object: facc6e3c6ea952b690a7af6595c9470a9765770f + docs/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.md: + id: c152723337d0 + last_write_checksum: sha1:c5860d6ccdf3b3046b51cfe4438533918065611b + pristine_git_object: 0cac739c353d0557aaffeaaea0df6bd29e4190a7 docs/models/components/ResourceOriginEnum.md: id: 6ab8adc90395 - last_write_checksum: sha1:ff9eb8b009f51509c291dfece677c065290c6a8c - pristine_git_object: d13caba512965037d5e46fcb75eb6b2a9319f6c0 + last_write_checksum: sha1:d24cfde637668417e9a7f06f4c9620bb02c3a324 + pristine_git_object: eddc819afe2dc0ed18ba9fd3abb669e006d036f0 + docs/models/components/ResourceToPublishDto.md: + id: 62c3f2650636 + last_write_checksum: sha1:03b02a541d28f0db8d376f78ad4d564b78c0fb35 + pristine_git_object: b7def35e537186e8ec735030b303e197771a531a docs/models/components/ResourceTypeEnum.md: id: e280b7d329a5 - last_write_checksum: sha1:332dd36c1f3fb51b0c7daab00163068297f129e8 - pristine_git_object: f512fb042ee30b0fbd7dbbcec0854f72c448b0d1 + last_write_checksum: sha1:d4e5777f6655c34d86d1a610f92ba4a42fc8f361 + pristine_git_object: 905c66f0dfa3783ab2fb1de1a16db0cf0e3f1f5a docs/models/components/Result.md: id: 1e17971d13ce last_write_checksum: sha1:41d800762f571381d73dbaa9472874fec84e994c @@ -1346,8 +1438,12 @@ trackedFiles: pristine_git_object: 1df42e77682f373f9c0374568822f390aa087c71 docs/models/components/SeverityLevelEnum.md: id: fe5722613a91 - last_write_checksum: sha1:9f2d807ca401d13cbd853e812ef484cae38f92d5 - pristine_git_object: 833bae2f84cf8dd04819243269b33dc2e5610321 + last_write_checksum: sha1:4a5649330f5648b9d10f2a4a88d64fd45f76ed51 + pristine_git_object: 7f52615ea77ab1b0a0304ae776c26aceb1f300b9 + docs/models/components/SkippedWorkflowDto.md: + id: d7e8cd6ecbaa + last_write_checksum: sha1:7c16c57093fc512d708a175d18980423fbce5348 + pristine_git_object: e5b156c6d5260c4b2a6ba41ac3b317402cccec39 docs/models/components/SlackChannelEndpointDto.md: id: a3c606dec47c last_write_checksum: sha1:b96704b640f6362278bb2181bb12557d4a3486a8 @@ -1366,8 +1462,8 @@ trackedFiles: pristine_git_object: 79b9e261ba1c73eb4d537e0a3aa0a5039020c924 docs/models/components/SmsStepResponseDto.md: id: 5bf2e263a8f9 - last_write_checksum: sha1:9716d05e1570e8d3a230a5d0a3b9310a47f08f71 - pristine_git_object: ecf5ad71aa964603cab8eab6c1e22c9bc20819fd + last_write_checksum: sha1:14bce84e0ae87ff9edea84626fa0c8a14be69c77 + pristine_git_object: 756f5a9108e0ace5f94c806bb5b3199d44c211b2 docs/models/components/SmsStepResponseDtoControlValues.md: id: 756d0624a639 last_write_checksum: sha1:7c91f69cf445669b2f87836df3adcd17d9ba12f6 @@ -1402,12 +1498,12 @@ trackedFiles: pristine_git_object: d683ffd3640e245ce86b62fe38b4fe7cb10bb7b3 docs/models/components/StepResponseDto.md: id: 622bfb8172d6 - last_write_checksum: sha1:8b7222e8ac55db0937edaf78198f2e04b2fc465a - pristine_git_object: d8dfda71015952114b8ae365082babf70ed0ed21 + last_write_checksum: sha1:98595c55e8f7baa832187bc4e778799ad89757a7 + pristine_git_object: f7bc441e62f621721fde26c991604361e6288475 docs/models/components/StepTypeEnum.md: id: a5bd86bd90af - last_write_checksum: sha1:3affdddd4439af7b2d2228ad8b727760e1e43180 - pristine_git_object: e789781ea6eab8a4b71cc9fc9a9613510319e85c + last_write_checksum: sha1:8518e0ce21674d92e49381442d88d73e1afe58d4 + pristine_git_object: 0a4eb2c67d16e92552c8faaccd19f1f5ac99ea00 docs/models/components/StepsOverrides.md: id: bdbec325659c last_write_checksum: sha1:e2d29818a291b6fc600e078ed893b123c6f0c6f6 @@ -1418,8 +1514,8 @@ trackedFiles: pristine_git_object: 586c8f61707bd183b9cbca876ab20693a710410a docs/models/components/SubscriberChannelDtoProviderId.md: id: 61d1a707eb28 - last_write_checksum: sha1:0c42cb00d1921577e866d5b8f56f9e16ee240134 - pristine_git_object: c80ebd8b2142e20b3cdb76ec846b0b308e89a583 + last_write_checksum: sha1:a135e8004d2ab86c7171f0e0f973891bce636248 + pristine_git_object: 6b9961a4fa873eea7722d57921da84b2e36e6383 docs/models/components/SubscriberDto.md: id: 84a3109b14c6 last_write_checksum: sha1:4c243c6b51654e8903c3addf5e4f4271fb682adc @@ -1504,14 +1600,26 @@ trackedFiles: id: eace044cf172 last_write_checksum: sha1:cb0e1f6afba42942e738f7c5872e381c63d55c63 pristine_git_object: 0d00df2589acae02233c2b5de3658623dbd5068d + docs/models/components/SyncActionEnum.md: + id: 24df0a8a0487 + last_write_checksum: sha1:043e4fee98a8564185067025fb0172d007594925 + pristine_git_object: d29ea6eb06d4eb6689d55173d55f3c4a2fdc44fd + docs/models/components/SyncResultDto.md: + id: b62b9788758f + last_write_checksum: sha1:2962621a64ab264725fb266fa0ae6bf0df9a55dd + pristine_git_object: fc7c15e1ca6a3b923114071c39916f496936ffbe docs/models/components/SyncWorkflowDto.md: id: b3a80cd2a918 last_write_checksum: sha1:e35e7af90cf40f82a61325566729c51f918ee979 pristine_git_object: 61c957b5b4baed5c6bfe2a2abf18803e784e12a1 + docs/models/components/SyncedWorkflowDto.md: + id: 814d6fd12224 + last_write_checksum: sha1:98014f91c2b83bfcdb580acf2d82683c48fc2617 + pristine_git_object: 81ae88b56b752fa93858443fb2e9a8e8702be3df docs/models/components/Target.md: id: 7e9c394caef6 - last_write_checksum: sha1:b61babb39aa7d3c856b1df1cdc4b81e50ac0394b - pristine_git_object: f287baf59542a979230f364e07887ebba0c642ca + last_write_checksum: sha1:ee431700bc4c7e303fb47f50e7cae770add4db94 + pristine_git_object: f28070c48820511f33b6b2959dc59f9de5832b29 docs/models/components/TenantPayloadDto.md: id: 6704f631f6a3 last_write_checksum: sha1:3fec1e0f4ba4d8119c75337e3a3f8b112558a3d4 @@ -1522,40 +1630,40 @@ trackedFiles: pristine_git_object: 944dd45abcf0a48a41c6cf767da635e50f7e5cd3 docs/models/components/TextAlignEnum.md: id: 4e83953c1b55 - last_write_checksum: sha1:5f43e53fe2def37d601b2ee0cc41cdcaa965aec2 - pristine_git_object: b1c901a72ef7fc5bc631dafac9cd6ca02ec76b26 + last_write_checksum: sha1:111b6a971f7b80ed2657af9f799bbfac1683b428 + pristine_git_object: f5bc34910c7a7b16d134ee29696f5cc6588ff3c7 docs/models/components/ThrottleControlDto.md: id: b1a5af8af6b9 last_write_checksum: sha1:091ac9014d1bfcb2a714881b823dcf4e5bdb3227 pristine_git_object: 61b9e005f72409705e642aae4aa69a13a0f37cf6 docs/models/components/ThrottleControlDtoType.md: id: 2b74a553053a - last_write_checksum: sha1:43b7d09139532ea2bdd33d2790c4f01aab4ba590 - pristine_git_object: 82ae3296282110f99833e9df7bb2bd90a6b3f0a6 + last_write_checksum: sha1:a16ef44c7361430fbe22b40861faf5f65c58430c + pristine_git_object: f753a7e0cd36866792994218eb76a7309e4f9883 docs/models/components/ThrottleControlDtoUnit.md: id: b3a0ce7b0137 - last_write_checksum: sha1:d749d05a3929dc0adbfd8a8e9ab37b17e66187f5 - pristine_git_object: 83b05cef9869802a6f2f8bccbf17b51b18405c86 + last_write_checksum: sha1:0b9593496306b779dc97bd20374bac5af75c4bc9 + pristine_git_object: 3ac5786a9edc09c4af69292d046e539c37f424e6 docs/models/components/ThrottleControlsMetadataResponseDto.md: id: 6c4dc8801607 last_write_checksum: sha1:eda1de286a6e145e483009af541a015949a773b3 pristine_git_object: e23315e915e82db572f7c5006eda5be0e964208b docs/models/components/ThrottleStepResponseDto.md: id: e6a45b6313d1 - last_write_checksum: sha1:e7346316ce6f5d9a3488fd6f69f3ab57a8c8480a - pristine_git_object: dbb2a0185dbdd8d1c6f0e68ec35160e000375ce1 + last_write_checksum: sha1:f3fbbae4b1712127eb553d588853cbf1048933ca + pristine_git_object: 0b39a4c9a8c835e8d7c02d0c019efc0e6cc776e9 docs/models/components/ThrottleStepResponseDtoControlValues.md: id: 0658e02a2f96 last_write_checksum: sha1:81e6496614295a6668ea74bb3d4875d71e5b72a7 pristine_git_object: b864eb53133a5217ae2ee4513dc9e615ab17dc45 docs/models/components/ThrottleStepResponseDtoType.md: id: 2ef217d5279d - last_write_checksum: sha1:488aff6acbbd25b17c6786c49ffd16bdc98e00aa - pristine_git_object: 6cd982601f506e8050e9ff0f11666a4d1bdd601d + last_write_checksum: sha1:2ebefb41cdb307fbca8f17d89e0aa24838e8d901 + pristine_git_object: 7b672d5123b60229e228c450faf02c54f0d49e91 docs/models/components/ThrottleStepResponseDtoUnit.md: id: 580309bafb14 - last_write_checksum: sha1:cb21d1566ae02c3d8ea841172abc4ecb1463794e - pristine_git_object: 4dbf78b70af199c76c72ffb569ca14872edf5200 + last_write_checksum: sha1:c59a10d91d6655f3da955258521e49cbc862f8ce + pristine_git_object: bd2cd84bfaafc72469a109faa134c086efd2e765 docs/models/components/ThrottleStepUpsertDto.md: id: fee46fdbb580 last_write_checksum: sha1:e3351a149a63dbe89d909cd2c32e2c05083b75cb @@ -1578,8 +1686,8 @@ trackedFiles: pristine_git_object: 13c342d74bb88275746bb899695ebaa24798c945 docs/models/components/TimedConfigWeekDay.md: id: f06da1c00984 - last_write_checksum: sha1:95f6ef95e5bd27e13523abf8dd657732d7ef1528 - pristine_git_object: 48ddd5d3191d2a47beba4e69669370015e25e7c2 + last_write_checksum: sha1:a75090e9afb5e2ded24dd2eb9de543d4567e28e7 + pristine_git_object: 8f6e0db44a157e5924394e086ffc4cc0206a9ee6 docs/models/components/TlsOptions.md: id: 9466325be2bf last_write_checksum: sha1:58de045be513cad92100921b9a1cf15b163aa25d @@ -1622,16 +1730,16 @@ trackedFiles: pristine_git_object: 1e8c891302d3b98dfdf71ef101e1009339ac37c8 docs/models/components/TranslationGroupDtoResourceType.md: id: cc5e5e3dd977 - last_write_checksum: sha1:1f05cf9217330defb027961b20687c03283844a8 - pristine_git_object: c54b21d96854c369652815e798fb65fffbb60f9f + last_write_checksum: sha1:c3d4c1c0cbbb30ce0b848488db21fbda7e43e7fd + pristine_git_object: 6a5221e09156724bff7e7dc70360f550b6fde2eb docs/models/components/TranslationResponseDto.md: id: f3ee6465bc1d last_write_checksum: sha1:3bea0d37e85a0fa3c4cb11fea1fccc0e7f312a5e pristine_git_object: a2d0e55ba053fbb1ee64c95c9ca1368d08365a4a docs/models/components/TranslationResponseDtoResourceType.md: id: f4b3ad26ff0c - last_write_checksum: sha1:39acbc61fb5c872067443ad681abd84265e691fe - pristine_git_object: ce1a7f3593020d6e8e1e8fc6fa519ee06bdddcfa + last_write_checksum: sha1:01ef86f2caab892f27af7ced1a93e46f2782309a + pristine_git_object: a8803a411b6ee8c22fed452bfb449b3df78cfe4e docs/models/components/TriggerEventRequestDto.md: id: 420d06389b5c last_write_checksum: sha1:4ba62fb1224c648be92e12b9b4c456e594b86c14 @@ -1666,8 +1774,8 @@ trackedFiles: pristine_git_object: 817e77f45490834a4b350dc8af3d2fe28682119b docs/models/components/TriggerEventResponseDtoStatus.md: id: 954d4cda47aa - last_write_checksum: sha1:ea3cc8378067031038979edaa45e330af757a2e7 - pristine_git_object: 92140d7474c7f556607ab03c84fdd71fb6d99a55 + last_write_checksum: sha1:8ee06fdc5d26deee9e5758f526b85b512ddd1465 + pristine_git_object: 1654d4e5d6207fdd5f86f7f63a9bf02d7ae53dcc docs/models/components/TriggerEventToAllRequestDto.md: id: 55213e9ebcdb last_write_checksum: sha1:6b70925186f054d9775c0f39e5641fdbd8073a4d @@ -1698,24 +1806,24 @@ trackedFiles: pristine_git_object: 22fe8d899030ce59d3bde419fd27f41cb79517cb docs/models/components/TriggerRecipientsTypeEnum.md: id: 6c0336cd4505 - last_write_checksum: sha1:05c0ffa08524d27b6cb244a5f7ece2d01448a7c5 - pristine_git_object: 3e2f1d581ebcf54886a5fcc8a614c80c0a310c31 + last_write_checksum: sha1:4d02e700770bcd1fab3933cbd3baec6f55cd44e2 + pristine_git_object: d6273c0bf9bd0dabe94c6492870914fe50dc34a7 docs/models/components/Tuesday.md: id: b4205135393a last_write_checksum: sha1:19c5243921b56240da65f90fd0abcaa07945606d pristine_git_object: e9792bcce722fdf909cb73020682e541387bbdde docs/models/components/UiComponentEnum.md: id: 525d059341fe - last_write_checksum: sha1:f34c05b8bf0f73b1c7f13876b87c106b253b51b8 - pristine_git_object: cb80dce55fbadfbcc7a0b8763ef6600e45e0830a + last_write_checksum: sha1:071a8bdde88ad01929d21c49d91d7358e93aedaf + pristine_git_object: 2ecd4f3b5573a888f3a4c823364860c38c290114 docs/models/components/UiSchema.md: id: 50f9094912b6 last_write_checksum: sha1:4562f9dc8f77081675ad5a4241eba526bb16fa5e pristine_git_object: 6a8aaa1ac4f832ee4787e8c37a5c156a857f4d9e docs/models/components/UiSchemaGroupEnum.md: id: 765b147132f6 - last_write_checksum: sha1:8d4b6466c60a81d98ad02e19227098d52ab94967 - pristine_git_object: 1106a519951aa3440e272edb3dbb58cb2ad7382b + last_write_checksum: sha1:6dfa6629943e588de8579199b02cb11be711ec67 + pristine_git_object: 83dfa630ef2bdce529017330c4afd0bbb07752f2 docs/models/components/UiSchemaProperty.md: id: 464399d93758 last_write_checksum: sha1:3c7c43f388f55ff69d57027c9c9bcd22a47cd412 @@ -1814,8 +1922,8 @@ trackedFiles: pristine_git_object: 68dff42e8e7273f91dafa24f23486e7c23c37ce0 docs/models/components/ValueEnum.md: id: 37981f012798 - last_write_checksum: sha1:63506dbbc40be981c200f77341d25291c735fe89 - pristine_git_object: 4f50a66df2f6206ab7b807cff77f1bcbca078952 + last_write_checksum: sha1:8bc5af00452a3ff6e0f943c6cbfedca11b2f64cd + pristine_git_object: 8544099faefbbdd2fa622f7a4034920d8b9cf45c docs/models/components/WebhookEndpointDto.md: id: 6fd2c59c1e30 last_write_checksum: sha1:b982da75c45d926fa46d2e49b56d74b81cbb1141 @@ -1838,8 +1946,8 @@ trackedFiles: pristine_git_object: ebb874e49f496b0d693ab5cb4109ef30cdebf206 docs/models/components/WorkflowCreationSourceEnum.md: id: d1cd9a1c1e35 - last_write_checksum: sha1:38ee2da3df5db21b271326fbd543bc7a254f2463 - pristine_git_object: 4bbff52ad3e5b804b123361cc4862f24ee52a031 + last_write_checksum: sha1:d614f3773a2e670f4c427f8272daa2ec9056adf1 + pristine_git_object: d102e2df8060356e28ece71dee0bc61e2df409ad docs/models/components/WorkflowInfoDto.md: id: e9e55955d86e last_write_checksum: sha1:60ded6f9050c419533ed14394e27e06fcc633fa6 @@ -1906,8 +2014,8 @@ trackedFiles: pristine_git_object: 97cfb8370b14a0958e584316173fe58e51e8ca2d docs/models/components/WorkflowResponseDtoSortField.md: id: d262a4672a79 - last_write_checksum: sha1:0c9fde360c63830b4c007fc72fefa6cdda5cf258 - pristine_git_object: 322ef0dca8a3bb9b3f2b670fa025ea9991bcb7d4 + last_write_checksum: sha1:2a650bacc39cbcd19d14daea55279af817e5649e + pristine_git_object: 8809ee79fe995cb982435f9cb104702197d8b27b docs/models/components/WorkflowResponseDtoStep.md: id: 32d7f0244d2c last_write_checksum: sha1:606ca264d625e1545702b2647c28cbf87fca9368 @@ -1918,8 +2026,8 @@ trackedFiles: pristine_git_object: 81b197cfb23e60590ca8964fd030c9766f86a421 docs/models/components/WorkflowStatusEnum.md: id: 71823c3f4bad - last_write_checksum: sha1:6f977186118ff8f06d00e29c25600206c423f3ff - pristine_git_object: 9f790b32dd404067021025e4727444c4cb68eab6 + last_write_checksum: sha1:9cefc1a086d33b7ac0199c9ef00b8bcf276af572 + pristine_git_object: f6e39f2eeca63b3592feb8e92c8ee3437941fa5d docs/models/components/WorkspaceDto.md: id: 2e551173a9df last_write_checksum: sha1:0a863b468e02e73108493d5319da4f0329cfb8a9 @@ -1970,12 +2078,12 @@ trackedFiles: pristine_git_object: 9a545e63f57da30e20408ad2e8f64cad512b5450 docs/models/operations/ChannelConnectionsControllerListChannelConnectionsChannel.md: id: 3d2c6cdd77e6 - last_write_checksum: sha1:89959273152d747692b86b4ddfb43f35037d22c2 - pristine_git_object: 5cfae6ea31c36df07a48629b243c1e3e1119297b + last_write_checksum: sha1:ebbbddb2ee837571bd60d1328611da509e9098a0 + pristine_git_object: 7004e698c4cdfe61566425c3095fd5312e570526 docs/models/operations/ChannelConnectionsControllerListChannelConnectionsOrderDirection.md: id: 4222b55896d2 - last_write_checksum: sha1:8566db14e0047e8fd91fb5c191a410ed0bc10aab - pristine_git_object: 5d5ba4b747cf358c772daf44327c90c1dc204da2 + last_write_checksum: sha1:6654d742bec8f798dfcedf717b5ebfddcb315c17 + pristine_git_object: c7d4fe2fecc11c8229f265af3143b8a68699e9e1 docs/models/operations/ChannelConnectionsControllerListChannelConnectionsRequest.md: id: 6df5ceb7dd84 last_write_checksum: sha1:729f92715ed5fbaefd00fbe49358e5735cea0011 @@ -2022,12 +2130,12 @@ trackedFiles: pristine_git_object: 2199381231117ab444e208a709ab3d83ca966e2c docs/models/operations/ChannelEndpointsControllerListChannelEndpointsChannel.md: id: 3639245d16d0 - last_write_checksum: sha1:8bc4f9428c1ef6b3dc4a12a0f1003fd51baceaed - pristine_git_object: ed8e03713796a49a98be9ece90c6c6600f433b5b + last_write_checksum: sha1:b31f50a0525c544ae56c62960dea4e807e17bd95 + pristine_git_object: e77a38a86aba0cf56e0090f7f50ebbfab892b6eb docs/models/operations/ChannelEndpointsControllerListChannelEndpointsOrderDirection.md: id: aa42e6963632 - last_write_checksum: sha1:7297200f95c5f49f3fe9aeb72acc10f1e95deacb - pristine_git_object: 36ca608ca4052e88883e96ee1e8fe2ca49b940f2 + last_write_checksum: sha1:1fdac0972f0374666dc36ec48843a4916016a5da + pristine_git_object: 1dfcc292ad52282d011788feb64b6b9f29442248 docs/models/operations/ChannelEndpointsControllerListChannelEndpointsRequest.md: id: 778bda5d8ac9 last_write_checksum: sha1:f55ee3fb0f5526796ba68138aab71b2fa788a788 @@ -2070,8 +2178,8 @@ trackedFiles: pristine_git_object: e212ceb3696238d5ac13fd703f06ec40e00a634b docs/models/operations/ContextsControllerListContextsOrderDirection.md: id: 03956702b3f3 - last_write_checksum: sha1:3ebf3605b67c18f29b676dcef2aeb5d3ab91c28b - pristine_git_object: da2e510b5ac221b2b6c6de8ec05b95793efb93be + last_write_checksum: sha1:bfc412a6752ee393c45cca3a1bdce4678c3d7df7 + pristine_git_object: 29a98d9b37f2e8bc72535a7475c14a6ec2cdd3d4 docs/models/operations/ContextsControllerListContextsRequest.md: id: b544496933dc last_write_checksum: sha1:d493e1fcc2fd610a4872e89d1053703e34f8ac7d @@ -2090,8 +2198,16 @@ trackedFiles: pristine_git_object: 0785bff548b1e9c97ec84a10fa780fe746bc59b3 docs/models/operations/Criticality.md: id: 76910d17512a - last_write_checksum: sha1:9055898612f6467fcb231443235c302eeb96071d - pristine_git_object: d4bc23b3c29a414304721493c5e89bb885936e35 + last_write_checksum: sha1:b4d74ea6c0bd4a453bcc1fd5ac0f1cf171ba8d2f + pristine_git_object: b7a367b7952b1553a86d603f0ccd106bea5c7d54 + docs/models/operations/EnvironmentsControllerDiffEnvironmentRequest.md: + id: a494233f477b + last_write_checksum: sha1:e5d5fb3accf50a77f3946f1f7e1ce2aeaa80b0c4 + pristine_git_object: 9fdf9b4558fe10fe2d73e2e390e0de2aafce990f + docs/models/operations/EnvironmentsControllerDiffEnvironmentResponse.md: + id: 2055b3b4d452 + last_write_checksum: sha1:5a22a54a9d0ce2e354f503df2f9fd60830a744bc + pristine_git_object: 85739e6cd06a1a1a4ebffe065a744314231b0eb4 docs/models/operations/EnvironmentsControllerGetEnvironmentTagsRequest.md: id: fd6f946b3d69 last_write_checksum: sha1:0d0c958a915ed3363c97b1a733e29b77a45cdff7 @@ -2100,6 +2216,14 @@ trackedFiles: id: 15898e14bfd8 last_write_checksum: sha1:004776c2b3b967a95e470ac5fb9e882e30e962d6 pristine_git_object: 99f7008ea00c3986cdd81ee96788342ad4c97ec1 + docs/models/operations/EnvironmentsControllerPublishEnvironmentRequest.md: + id: 1585794f56b6 + last_write_checksum: sha1:6790ea07d6378a8ece56ca8af109b63c6ef9cf9f + pristine_git_object: 99b8c6a12413f72c6059e6df43c12c88029710b9 + docs/models/operations/EnvironmentsControllerPublishEnvironmentResponse.md: + id: 859bb51087a7 + last_write_checksum: sha1:c5712532baac12992c5e68adc88c508fdf39f8b5 + pristine_git_object: 8872788b1ee9c2ee55ce3ca02b343e6750747a16 docs/models/operations/EnvironmentsControllerV1CreateEnvironmentRequest.md: id: e918199f5efa last_write_checksum: sha1:f3c745889c2aa80b9badd6ba078f513ecd3b8e3f @@ -2310,8 +2434,8 @@ trackedFiles: pristine_git_object: 15f943cf5151c9f4c63a744e358ffe95594a6dcc docs/models/operations/MessagesControllerDeleteMessagesByTransactionIdChannel.md: id: cc975b6a4cbd - last_write_checksum: sha1:01d6f2601463a9feeef829d094318c3a82c9b46c - pristine_git_object: 00d9093432f38a0bfbca5323428a663988943b1f + last_write_checksum: sha1:f940e87bdcc3c24fa2cd2fd5db443a7a9e1ea3e6 + pristine_git_object: 4b7ddc2607208d52c830b5fae05fa50fb245c131 docs/models/operations/MessagesControllerDeleteMessagesByTransactionIdRequest.md: id: b11391ad28da last_write_checksum: sha1:4278c1d3c4731c51e37d088952fe47d0fe85f17c @@ -2378,8 +2502,8 @@ trackedFiles: pristine_git_object: f8f1e4ec3680aa1b5110c2ca0b258e8bdf2494da docs/models/operations/SubscribersControllerListSubscriberTopicsOrderDirection.md: id: 17e0d47332c0 - last_write_checksum: sha1:d79ea5402fa60c82909b68dda3b89ef6ee1c8796 - pristine_git_object: a580c024ef52d9ab57c4548d2371bb657ed73aa5 + last_write_checksum: sha1:ed0b0263f6c05f4e3d5df97ac098be436b53d236 + pristine_git_object: f1970b22f4ce512e664bafe143618a654562aa43 docs/models/operations/SubscribersControllerListSubscriberTopicsRequest.md: id: 820d489d0072 last_write_checksum: sha1:bd5e55144c7b98a8230df7c5c7e384c019d2c0ef @@ -2406,8 +2530,8 @@ trackedFiles: pristine_git_object: 9b3d2caa024ab31f844247b3b91807f6c870a764 docs/models/operations/SubscribersControllerSearchSubscribersOrderDirection.md: id: 6e203f3c4dda - last_write_checksum: sha1:409da48639bc91bc940d25f1b6ff81f4046433bb - pristine_git_object: 9ef024ba664825b41b789a6f87f409fa6befe299 + last_write_checksum: sha1:81ed9f2d204cf6854ce469ea93a9f9235ba3f19d + pristine_git_object: bb3fd8ebd5aae8378c39499c14a6a63e528c7a69 docs/models/operations/SubscribersControllerSearchSubscribersRequest.md: id: bc5f2b98bca5 last_write_checksum: sha1:f22496a32348e80c81a0d1e6ee79b3fa7759630d @@ -2546,8 +2670,8 @@ trackedFiles: pristine_git_object: da03ba14622365ea08f6d31d068f5e0bb2ef7166 docs/models/operations/TopicsControllerListTopicSubscriptionsOrderDirection.md: id: 6efd87f6a657 - last_write_checksum: sha1:60b1d2ec5e932ca1db285879398514602bd51a9c - pristine_git_object: 429636acd2cd95dfc8c7977d6d266a343bd0a7ad + last_write_checksum: sha1:e6dfde2e8e9c9abba9f4e1b56c26f00bba4d2243 + pristine_git_object: c16dd6006309057ad42e179ba80a0c8c5756ded4 docs/models/operations/TopicsControllerListTopicSubscriptionsRequest.md: id: 851a279f9c66 last_write_checksum: sha1:9dd51b8d303e30bcc00c34477a2a5fdb7b545683 @@ -2558,8 +2682,8 @@ trackedFiles: pristine_git_object: 743f13f4c09a9acb1f77393a329fe091e95e013c docs/models/operations/TopicsControllerListTopicsOrderDirection.md: id: 42422dae824a - last_write_checksum: sha1:690ed4d89800b8138c09e40bcf2b1a2f70fa9714 - pristine_git_object: bd5d525133e3e62f2802bf1a58c9871d7f6968ec + last_write_checksum: sha1:ae57c2815a034b19f887e10347fbc4af29bd42d5 + pristine_git_object: 680354297d5fbf250ebabf614ca36966a72e7ca2 docs/models/operations/TopicsControllerListTopicsRequest.md: id: 022e9b1ba23c last_write_checksum: sha1:5b0f0920cc6815a0a97a0a8b8fe7519cd2c51efb @@ -2614,8 +2738,8 @@ trackedFiles: pristine_git_object: 1858f787fc9582c69f0f8427abb0f8bfe792493c docs/models/operations/TranslationControllerDeleteTranslationEndpointResourceType.md: id: d633f4761826 - last_write_checksum: sha1:7bbd043a06bdaaeb7a12ce85bc038bca737b95d1 - pristine_git_object: a89d7b2bece662e70ed64c0a398a044f6e760d57 + last_write_checksum: sha1:8b3d9b9526828bf6c81763cc80687d62ed32647f + pristine_git_object: f32d428e1bb824826ba70cdb80ac583076115edc docs/models/operations/TranslationControllerDeleteTranslationEndpointResponse.md: id: 6a999d501f94 last_write_checksum: sha1:7b8208839ec16b575de69ad39e55ea9dafc3f02e @@ -2626,8 +2750,8 @@ trackedFiles: pristine_git_object: bd9cbfe194c9fb659632c0dca3741ab3219b8fdf docs/models/operations/TranslationControllerDeleteTranslationGroupEndpointResourceType.md: id: 2620b942bd00 - last_write_checksum: sha1:7d7116370dfa48c80880e77fbf1a22c067b2ccc9 - pristine_git_object: 81d0e79a78b8936510d5077c1549f48759456765 + last_write_checksum: sha1:10e33cab09e7bf9860defbb071518f09926766e8 + pristine_git_object: 98ebe21f4c63be3e2c2bb171b424114bbcb544df docs/models/operations/TranslationControllerDeleteTranslationGroupEndpointResponse.md: id: 3d73cb29c538 last_write_checksum: sha1:a9ccf5f909d22172d0114e1227ea9b0cd4df0664 @@ -2646,8 +2770,8 @@ trackedFiles: pristine_git_object: 14a1af47e5522e0dfb59f2399b577982ef96c8e3 docs/models/operations/TranslationControllerGetSingleTranslationResourceType.md: id: 4eef20ce780e - last_write_checksum: sha1:6bfd3f3cbcd3228977e934aa8e72b91b6fd3e6c9 - pristine_git_object: 2601386f3df6f4f858f149900531a456d193cdc4 + last_write_checksum: sha1:f0e8a6f9d48ccd25262b8cb1b77886fab20a162f + pristine_git_object: b5715011d869368ca4422319e5f9f378bf797e82 docs/models/operations/TranslationControllerGetSingleTranslationResponse.md: id: 9aa2585ff9ce last_write_checksum: sha1:45ea272cc764305ac7c452e2a0e1e8b501a62c8a @@ -2658,8 +2782,8 @@ trackedFiles: pristine_git_object: b4d58aebad5ba34855fdab27b2bf178fe572bf73 docs/models/operations/TranslationControllerGetTranslationGroupEndpointResourceType.md: id: fd99ed533cfb - last_write_checksum: sha1:2bfc2822be2e2da512ea9754371b4f5714817c41 - pristine_git_object: 15d8bca78a0a3fa6c0b82dcff6c0174966d4b538 + last_write_checksum: sha1:6b0583ac3a6957482b289e6abf349bba760a6c32 + pristine_git_object: ea22aac9792b51c460513dc920a25c141b24c61a docs/models/operations/TranslationControllerGetTranslationGroupEndpointResponse.md: id: 9c2d6bff9d27 last_write_checksum: sha1:b158a6997b0c108ca7f19ed99848b26d9f6da221 @@ -2702,8 +2826,8 @@ trackedFiles: pristine_git_object: 690bba414bf77e0dc02bcdb4434b33a12e7af489 docs/models/operations/TranslationControllerUploadTranslationFilesResourceType.md: id: 80a24dee855a - last_write_checksum: sha1:d4aa2ed21face2218aa216967de6f7cb467d8064 - pristine_git_object: bf6ad52b9985715af09999004f7918f973444d13 + last_write_checksum: sha1:4517ea08faa00ee9ce3e58542a5e6f2b1d4f470a + pristine_git_object: 4ad783f806d92b9786da86a8ce5a6303da694b63 docs/models/operations/TranslationControllerUploadTranslationFilesResponse.md: id: 7f76c3a11e73 last_write_checksum: sha1:8a4da80bea38c826244122c9f1ce1c9ae6353bd1 @@ -2794,8 +2918,8 @@ trackedFiles: pristine_git_object: f6a7f1f97ae3be09c470b508fb60417ea50ff901 docs/sdks/environments/README.md: id: d15fc95481b6 - last_write_checksum: sha1:298a7b2b5d34317af61bf8ef1c229543b6400e01 - pristine_git_object: 8e079dfd3d4ca36cea25191fd412674abeec43b9 + last_write_checksum: sha1:66ddec8c713782961e3ecde8eed4bc22e7739e23 + pristine_git_object: c2e14ddd4e856bb7eaf6a1f0ee255085a760e823 docs/sdks/integrations/README.md: id: 7b29664808c0 last_write_checksum: sha1:594698c8f8a78168c4dc13a174d68f774c695922 @@ -2882,8 +3006,8 @@ trackedFiles: pristine_git_object: ebaa3566af4ce4249639e5a2dd8bca0edd2979bf gradle.properties: id: 2afbb999f001 - last_write_checksum: sha1:cb99eda45e8e5961c2383fe8d0957768ee78b340 - pristine_git_object: 7b03c511da89c676d8960c38995b288d1658c161 + last_write_checksum: sha1:d223e595709bf14ae31b065f54668fcc7baacedf + pristine_git_object: 4939300fe7dcba42503a1a98d0397d4d0b99777e gradle/wrapper/gradle-wrapper.jar: id: ec27dae6e852 last_write_checksum: sha1:f725fb1467084142d74fd7cd8eab691ab3442611 @@ -2962,8 +3086,8 @@ trackedFiles: pristine_git_object: 5d4c94a633cbe1f0e967ac0658941262253ce85d src/main/java/co/novu/AsyncEnvironments.java: id: 6c4f3a70d38d - last_write_checksum: sha1:5f02cd06987f958bb77ce3280a12850bcf369db6 - pristine_git_object: db1f1f0ff47ddf7d23e74a9508544810ceddaa70 + last_write_checksum: sha1:9f086ea08519b61bfe85af3cfb39db40c1345c14 + pristine_git_object: f3afdef6bca6885dd2567d8d92dfb3119cf328b7 src/main/java/co/novu/AsyncIntegrations.java: id: a6ef8277c4d3 last_write_checksum: sha1:fc042ebfad310ae4ecb0162bc5a06ce88898efe4 @@ -3062,8 +3186,8 @@ trackedFiles: pristine_git_object: ed8120e485fc384241bc350839332872879acacc src/main/java/co/novu/Environments.java: id: e12ffafc6d74 - last_write_checksum: sha1:4e50f9e014832512f06b73badee6ab761f0f0f72 - pristine_git_object: 6ee468d5f01a1d5392b1f3790828f6f83077cc76 + last_write_checksum: sha1:c66dc6062b4285387351cfa8f7c6bee2ed92db24 + pristine_git_object: af39c7045adf37600225de8f7abe074a4916b8dc src/main/java/co/novu/Integrations.java: id: b7633f63704d last_write_checksum: sha1:29d720ae14cda634c4083de6c7a11b4860421763 @@ -3090,8 +3214,8 @@ trackedFiles: pristine_git_object: 1b5f7ce4b77efc9d29be373d45eca57c867ad675 src/main/java/co/novu/SDKConfiguration.java: id: c8d0f1a7e696 - last_write_checksum: sha1:638ef83d2eb6edf3d250cb87ef9fd8c6e5597fa5 - pristine_git_object: 992ece489fd54746c9cc80b7a48dc51d740e2cba + last_write_checksum: sha1:2ee3b87543b07c8959cf0946546eb319fb685349 + pristine_git_object: b952124df7c19c1a2bbdce7da2e8ec161f33a191 src/main/java/co/novu/SecuritySource.java: id: 8b19fc2daaf0 last_write_checksum: sha1:b876d0191046515ce80a9ea832f7c9b06bcfaa40 @@ -3306,8 +3430,8 @@ trackedFiles: pristine_git_object: 0ddba19084e9b20c026c7f3a33865fb801489857 src/main/java/co/novu/models/components/ChatStepResponseDto.java: id: e68354f6d282 - last_write_checksum: sha1:03450d16c666b09e597c4f8ad15b53d0ab2cb230 - pristine_git_object: 7dad35d27132090d253c4dcf9ba4bf09dd0df23a + last_write_checksum: sha1:92f48599511e2ad433bfa5651b881e4deaaeeb79 + pristine_git_object: bc41099fdab9a9e06816e2ed28aaabb227bda562 src/main/java/co/novu/models/components/ChatStepResponseDtoControlValues.java: id: ab69cfd58da1 last_write_checksum: sha1:c9c7846a1d4d81ec52c3f82393ee58f9147eb2b6 @@ -3562,8 +3686,8 @@ trackedFiles: pristine_git_object: 10a352299004248f020995ddd1f20015c2751e9f src/main/java/co/novu/models/components/CustomStepResponseDto.java: id: 704b0eb35466 - last_write_checksum: sha1:1c08117d070b698287bd46ee05d8b48e6a9cc421 - pristine_git_object: 8223618c2986ed73225a49a2bf75ff99e96701e0 + last_write_checksum: sha1:d7b4667e2b9a7705e6e5da48d5a6e1d6bc2294ac + pristine_git_object: 410c26a25085d4643e77754db4690edbfb811396 src/main/java/co/novu/models/components/CustomStepResponseDtoControlValues.java: id: 56f44360f002 last_write_checksum: sha1:3f819f91e0be23d802bae56b091f4ac8731a6a7d @@ -3614,8 +3738,8 @@ trackedFiles: pristine_git_object: 077290e78644126a4f068db3782d473486fea5ef src/main/java/co/novu/models/components/DelayStepResponseDto.java: id: a99771b3fde5 - last_write_checksum: sha1:1ab7df7a4689e584f195484cc5317fa28a076e28 - pristine_git_object: ff75e120aa14b220fd77a2a9ea20a0dc57652ca7 + last_write_checksum: sha1:7731bf91b0dc006db3fc0c5a680c4518fc6d992c + pristine_git_object: 8581e27b9720f6427eab3869bf96cad4dda6442f src/main/java/co/novu/models/components/DelayStepResponseDtoControlValues.java: id: ea20e60172a3 last_write_checksum: sha1:b1b4280f990873a8a6c4978b7bd20805e87ba5c5 @@ -3664,6 +3788,30 @@ trackedFiles: id: db522c3b746d last_write_checksum: sha1:34313bdf54c17e6dac2174971c64f397303511cd pristine_git_object: 9c3bcb5264fb54dde4a64da90b06dfd70841dae8 + src/main/java/co/novu/models/components/DependencyReasonEnum.java: + id: daa619683d96 + last_write_checksum: sha1:8f109bc04800969b761d8fb9d95928ece61b9141 + pristine_git_object: c55cbb2134e5fe5fbf0aafbaca8798c43ddddff4 + src/main/java/co/novu/models/components/DiffActionEnum.java: + id: 39c83475276a + last_write_checksum: sha1:438787061c701efbf9eabfdf232d147a82ce4cbb + pristine_git_object: a6a5ab00937ebe1fcf297cd69c39ac9dad0723a3 + src/main/java/co/novu/models/components/DiffEnvironmentRequestDto.java: + id: 8b0fec5633f8 + last_write_checksum: sha1:eb69e73685237ea832de508b8d98ba14eee74e78 + pristine_git_object: e3b1303059e9d1c72fe9344ec26f26fef80794b6 + src/main/java/co/novu/models/components/DiffEnvironmentResponseDto.java: + id: 66df4e45f521 + last_write_checksum: sha1:dbf89f9cdef3901f8da89bf3621d5013558c15d6 + pristine_git_object: 584590fbbf66e0b321c52dc82dba211ce26800d2 + src/main/java/co/novu/models/components/DiffSummaryDto.java: + id: 4715d055a061 + last_write_checksum: sha1:2fafed80529304f6fc6a13b37c7ad2b045470f21 + pristine_git_object: caf12ed3447eba9c4df364c905a3766dfe1e2dbd + src/main/java/co/novu/models/components/Diffs.java: + id: c1e7ec1cb6b0 + last_write_checksum: sha1:694d76988bc97cc55e71a7d702be52d6539ff945 + pristine_git_object: 2bf096cc6daeb359783a33acdbd81cc30d6e075c src/main/java/co/novu/models/components/DigestControlDto.java: id: b414ff324cde last_write_checksum: sha1:184c26d44ca0c99c58ec60bace4e2672c3cdcc6a @@ -3702,8 +3850,8 @@ trackedFiles: pristine_git_object: dd14049bb708cd00e32647da35416aef0d1d5c24 src/main/java/co/novu/models/components/DigestStepResponseDto.java: id: c65dada0c658 - last_write_checksum: sha1:d61ac7fbe0bf5c729bf7d91b772ccf1896c82007 - pristine_git_object: 69c402db3be256285a0d7b975a71c5ac60f57dd2 + last_write_checksum: sha1:16f928c31c6d8ea10cabdcf28d397809ce645a78 + pristine_git_object: bab562a074d45af7f1129665e74d86e467fda8bb src/main/java/co/novu/models/components/DigestStepResponseDtoControlValues.java: id: 18d904f6f397 last_write_checksum: sha1:4a7a6b7b9ae43ba81d56ca6f9805f8fc4a41f401 @@ -3806,8 +3954,8 @@ trackedFiles: pristine_git_object: b803c9c072685585fc673a2a759846876cda0ed3 src/main/java/co/novu/models/components/EmailStepResponseDto.java: id: c4ccd3ada588 - last_write_checksum: sha1:507580d58d5e332919860aafca5fd93e8658ae15 - pristine_git_object: 4cfb2bd81d2da2e763169d98abfe4ccb9a52a87f + last_write_checksum: sha1:032ff6aee70480bf7cb9f5d660ad01fa27f38d84 + pristine_git_object: 8eb4166548cdc4503f955f07e2188afc6cc25244 src/main/java/co/novu/models/components/EmailStepResponseDtoControlValues.java: id: bf7545a78a11 last_write_checksum: sha1:bf217e740c216a982e985c120e8038fe43a4840d @@ -3828,6 +3976,10 @@ trackedFiles: id: df9f9a458092 last_write_checksum: sha1:00f1cc02c14197e5c9c440976c93f6bcece803de pristine_git_object: 2edbe98f1361c40f0ea0668541bd9397a44cdbb8 + src/main/java/co/novu/models/components/EnvironmentDiffSummaryDto.java: + id: 0659acd7421d + last_write_checksum: sha1:b21fe66d7152fa0b3400507ebdc92ec703d29323 + pristine_git_object: 2acb79ccc4927ca442c3342bb4248c529329bb98 src/main/java/co/novu/models/components/EnvironmentResponseDto.java: id: e851deb10a14 last_write_checksum: sha1:b35a9b77e9d573bcbc37681016ee4425d07d2215 @@ -3868,6 +4020,10 @@ trackedFiles: id: 8c71497a122f last_write_checksum: sha1:f377534c66c160243b3053f8c55b7f7f61b72e99 pristine_git_object: 4aea96646912608939d8971fe93b1a5c4732e66d + src/main/java/co/novu/models/components/FailedWorkflowDto.java: + id: 5ee3c2018db5 + last_write_checksum: sha1:ed77806c9bc2848e7a1868d0c712146809545c05 + pristine_git_object: 4f7af9cf9877e70ac0697742d22a8d39a14bae8f src/main/java/co/novu/models/components/FeedIdentifier.java: id: 74cfeccf05a3 last_write_checksum: sha1:7bb34c62ee82c943b62ccbefb549e22610a82938 @@ -3998,8 +4154,8 @@ trackedFiles: pristine_git_object: f3625ca4d7a2f48419cae0d03ddaf1e4806fb853 src/main/java/co/novu/models/components/InAppStepResponseDto.java: id: 8d5e5f975b43 - last_write_checksum: sha1:0e7f2849b45e15eb887611cb86928730d646484e - pristine_git_object: acccaa2ce26a2a048f7d0c789aa4fad744701cc5 + last_write_checksum: sha1:2c08f1a533d657f2a80997c122c7d39e93e60590 + pristine_git_object: 8c2dcafe6182a959cd77da0e7a2f7cb1b7e1401f src/main/java/co/novu/models/components/InAppStepResponseDtoControlValues.java: id: b247f371f254 last_write_checksum: sha1:317f22401d2829cd147e558dfc26a1ed2ab4c12e @@ -4380,6 +4536,18 @@ trackedFiles: id: c041089a54bd last_write_checksum: sha1:c666ea1a7157c6fc4a9506b0389a91a81c423229 pristine_git_object: 81b481bd3d8df4f6f7b8cfd30e8ae20b232b88d2 + src/main/java/co/novu/models/components/PublishEnvironmentRequestDto.java: + id: 2f73cfe4267d + last_write_checksum: sha1:b9424a0b975b1a9c7ea241ffba01cb73efc7a95f + pristine_git_object: 3c26d51071c04123a972e1efba0c0cee7ad50795 + src/main/java/co/novu/models/components/PublishEnvironmentResponseDto.java: + id: e64a3231555e + last_write_checksum: sha1:9d70f553bdb796358c63c73fdf27acc58ddc7135 + pristine_git_object: a048fd3a1d7daf32e3ad92e7b7ef2e89ba0defcd + src/main/java/co/novu/models/components/PublishSummaryDto.java: + id: f4b06f9c6e0f + last_write_checksum: sha1:76e298393237727d104f82fd119fa6462f88aa69 + pristine_git_object: e4067f38b24179ee145c261aa40a15262c5be613 src/main/java/co/novu/models/components/PushControlDto.java: id: 8974c4e2b5a5 last_write_checksum: sha1:a6995882624138c6756ad982b823c6d13b7bcbcb @@ -4390,8 +4558,8 @@ trackedFiles: pristine_git_object: 6507f9173ab3683092fcd6507b99ff552c0e35da src/main/java/co/novu/models/components/PushStepResponseDto.java: id: dae8f64c644a - last_write_checksum: sha1:e3884eeb41e05b71ddffa70c99cabc1794853055 - pristine_git_object: a7430e652a3adab4791ead7623b73d1369f685c6 + last_write_checksum: sha1:7c0c8fad1b244fc6626ac2e9337ca8ec9fe70f3e + pristine_git_object: 6a9c83673d2aeb7aa4d54067f89204ca527201d3 src/main/java/co/novu/models/components/PushStepResponseDtoControlValues.java: id: f23f4aa1fe9a last_write_checksum: sha1:97506e7b14d010b27350b3beb71f102e3964629c @@ -4416,10 +4584,58 @@ trackedFiles: id: 68153fa59dce last_write_checksum: sha1:7033209ecffabe97b4fb344e1df4bf21df2feb87 pristine_git_object: 407b1f58f085081fde17d8f09d5d4a76c964d4bb + src/main/java/co/novu/models/components/ResourceDependencyDto.java: + id: 12118e7756de + last_write_checksum: sha1:600df33d5616070b7f25dac7e9d85d52728e5769 + pristine_git_object: e526ae2bf6ef767529c5a74a09c4b37579e978e4 + src/main/java/co/novu/models/components/ResourceDiffDto.java: + id: f5233a484f8c + last_write_checksum: sha1:d4015774dde1244d6763e6c59e69b7f3207e1f38 + pristine_git_object: 3d69907d49f3c97272736e2a9ea9b00eba0b9a30 + src/main/java/co/novu/models/components/ResourceDiffDtoSourceResource.java: + id: 057913cee1d4 + last_write_checksum: sha1:33db2475d0d107eac16403c3327e68dff365ce48 + pristine_git_object: 25dc704d146b02e9ecc4822fe01465485176b6ca + src/main/java/co/novu/models/components/ResourceDiffDtoSourceResourceUpdatedBy.java: + id: 706051b1a5a1 + last_write_checksum: sha1:210d1c8602364efd99482417f8b9c1cb0f9a430d + pristine_git_object: 02318184d3a637c8fccb97406d8e6d24de930f46 + src/main/java/co/novu/models/components/ResourceDiffDtoTargetResource.java: + id: dce33e1146fa + last_write_checksum: sha1:a39ff45ae3dddb20041533db12a94d87332bb520 + pristine_git_object: 1603d37c9816a0f3d63f6490820da2c5d8347d74 + src/main/java/co/novu/models/components/ResourceDiffDtoTargetResourceUpdatedBy.java: + id: fe65fd7b7d88 + last_write_checksum: sha1:e585688ede964d3849ffe320a6374ed8924df1c0 + pristine_git_object: a825637c3009bceb031cc3c264a73dbae0cf8806 + src/main/java/co/novu/models/components/ResourceDiffResultDto.java: + id: 805ade9ae07f + last_write_checksum: sha1:f998cb4b6b8a534e2f15387cde61cbb3e18a99d8 + pristine_git_object: 0a17c66df5e071f2de46d91d0cd76c4cb6b7e9a4 + src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResource.java: + id: 0bf5fadb8a42 + last_write_checksum: sha1:db9477f1216ba7f26d6e262735e9e2ce8f0a7bc2 + pristine_git_object: 99d431ad09c57f3b704c6cb6daaff588aec5111d + src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.java: + id: 76c9e1425159 + last_write_checksum: sha1:d24096aaca7c3c8950cf96b18801a7d4467d6592 + pristine_git_object: 3379fe25e19811015840c7cb720a16c7a30b402a + src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResource.java: + id: c83cebe5a3dc + last_write_checksum: sha1:420612e8910609081ba5b16ab5cd12d7af7ee01f + pristine_git_object: abe8f6f49a49c4a3a545af944ad605998d2ff7e2 + src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.java: + id: c3dd35433289 + last_write_checksum: sha1:9cfe88e3873c1b7f8f8b1cede974434dc64acf0c + pristine_git_object: 637ba43a1450182dfafa6442e0bcf22dbf2302e4 src/main/java/co/novu/models/components/ResourceOriginEnum.java: id: 78a07a4ae57d last_write_checksum: sha1:54aa8a79f823f592868825fa1dc5c750620c67ab pristine_git_object: d7e7b95ff70f0b2dee577663c7799ce972c82a6e + src/main/java/co/novu/models/components/ResourceToPublishDto.java: + id: f5ef3b9590ab + last_write_checksum: sha1:e09bc5a73c05c409c977cba1b891b9581c36e35c + pristine_git_object: bb6caadc358e38a1782a35552393d6379be8f4dc src/main/java/co/novu/models/components/ResourceTypeEnum.java: id: 82889a072a68 last_write_checksum: sha1:8d9c2a20e845c61dcb32625b927b1eaa1f5a792c @@ -4456,6 +4672,10 @@ trackedFiles: id: ca5bb3c93342 last_write_checksum: sha1:72b210fc4a1263cafe78d80fc7fa1016167695e0 pristine_git_object: 372786b8835113b1834af7247f1e7750a8c73f11 + src/main/java/co/novu/models/components/SkippedWorkflowDto.java: + id: ef34caa63097 + last_write_checksum: sha1:221c68360b687b6593ee55ee311ba90983e307c5 + pristine_git_object: 830555c430944453bde062be23907e75d129507f src/main/java/co/novu/models/components/SlackChannelEndpointDto.java: id: 0a235d5f2510 last_write_checksum: sha1:ed61ef08de30a71313009174456aae1f733a4d3d @@ -4474,8 +4694,8 @@ trackedFiles: pristine_git_object: 1f33bff069a20c93e8869e11f4d560e88fa176a0 src/main/java/co/novu/models/components/SmsStepResponseDto.java: id: b86734878940 - last_write_checksum: sha1:ac7798bc860227b0cb157ab9330c8c2f48040ea0 - pristine_git_object: d48a6dc8031af25859935dba0a87948d26d22f5b + last_write_checksum: sha1:75d123c9aeb2c5b44a9ba4993341894566db32bd + pristine_git_object: dd449d2ef3bbc9222b45d05e1241a5094391b58c src/main/java/co/novu/models/components/SmsStepResponseDtoControlValues.java: id: b0ee5306d24b last_write_checksum: sha1:6fcb1eebd8ae8dc6551d756e9c1a0ffc3b3a7768 @@ -4510,8 +4730,8 @@ trackedFiles: pristine_git_object: 007b2417682453f3c8505f4710707f19c6a844c3 src/main/java/co/novu/models/components/StepResponseDto.java: id: 03127bad6caf - last_write_checksum: sha1:0147e5891fef7a03e7647e86cabeb66436a4262b - pristine_git_object: e8d5490e7523998487d5ae51887ef3a0096db205 + last_write_checksum: sha1:2993f4a65d28b145e59f9fd14aa4aa8ca0096fc8 + pristine_git_object: 4054c342d1edd854f1aaba9cebaca9f5e68a7e0a src/main/java/co/novu/models/components/StepTypeEnum.java: id: ce207dd1f2e5 last_write_checksum: sha1:9277d18bf8cf100b460dce61388ffda19a9ad63e @@ -4612,10 +4832,22 @@ trackedFiles: id: d7c8d503121e last_write_checksum: sha1:099f1ef24218875ef8ade881e3941fc1c9acf5e6 pristine_git_object: 5fcc409c850caeeed07500cfc3b94c1c952ea102 + src/main/java/co/novu/models/components/SyncActionEnum.java: + id: da6755cd6681 + last_write_checksum: sha1:2cc7b185147de0e895f6ffdca8bbb59ae9e94654 + pristine_git_object: 5976614c62643bdef6cb0ce38be61c6d9beb756f + src/main/java/co/novu/models/components/SyncResultDto.java: + id: 92e8017fb246 + last_write_checksum: sha1:d63381ce6f6d49a01fc5e9fa88d69e39db2eaae3 + pristine_git_object: 9ba4e9487d4004db02ca1db8a5053f197e6e9276 src/main/java/co/novu/models/components/SyncWorkflowDto.java: id: 689a8988bb11 last_write_checksum: sha1:3882e3ad17bb8c488ad12523f4a8ce86170f0ea1 pristine_git_object: 7928c39cf76ab1ec7d31b60dbdcbcb41a5769c6e + src/main/java/co/novu/models/components/SyncedWorkflowDto.java: + id: 8895403d0d76 + last_write_checksum: sha1:f9ac991bc8c91ba4ae8a8d5aa07977e9a8a9e2ce + pristine_git_object: e41d810db90228e5ad382a03f718b8af922b9222 src/main/java/co/novu/models/components/Target.java: id: 226979a31a96 last_write_checksum: sha1:f1e12e266d6acee5f18a2787e9d2dd22b77fb3d8 @@ -4650,8 +4882,8 @@ trackedFiles: pristine_git_object: 2424abc91b1e6332ce4c88b550627ffea93626ac src/main/java/co/novu/models/components/ThrottleStepResponseDto.java: id: 06777376ac5e - last_write_checksum: sha1:58675ad854102e4bd505efda08b12613285e4fb6 - pristine_git_object: 2af063c79ff1539f72441751c4121cf0ba295a82 + last_write_checksum: sha1:8d7f0c186094386152dd9ada9c12d75347aedde9 + pristine_git_object: 4d4c564bb16fe6413700a7a25ccaba802c0cd881 src/main/java/co/novu/models/components/ThrottleStepResponseDtoControlValues.java: id: ac4975aec352 last_write_checksum: sha1:ef02c9b40837716ffd3ac280558c06b47bcc8e62 @@ -5148,10 +5380,18 @@ trackedFiles: id: 973596e5309c last_write_checksum: sha1:43f9ed65567c221d3d8a1704f42114ca4c460700 pristine_git_object: fecafa275663ff3aaf5f2876c92209783038a822 + src/main/java/co/novu/models/operations//async/EnvironmentsControllerDiffEnvironmentRequestBuilder.java: + id: 877d73d0c0f8 + last_write_checksum: sha1:3c8f9507e62ea5599ddc0975d623fb593ef4f9f9 + pristine_git_object: 0fd48f0ed8436dfba5aac02f5f26dd3fe28d8b80 src/main/java/co/novu/models/operations//async/EnvironmentsControllerGetEnvironmentTagsRequestBuilder.java: id: cdd0120ea5d7 last_write_checksum: sha1:650509073baf449cc08039187db87fef137b33ed pristine_git_object: 9d156f3f7d819d140fa9bdf1c54383d8fcb2f3ae + src/main/java/co/novu/models/operations//async/EnvironmentsControllerPublishEnvironmentRequestBuilder.java: + id: a704b6fb3a5a + last_write_checksum: sha1:0e752b158cc527635fd869bd5e571b0178bb0abd + pristine_git_object: d02a51c91f420fff248c66a4d31f809f88f02c42 src/main/java/co/novu/models/operations//async/EnvironmentsControllerV1CreateEnvironmentRequestBuilder.java: id: 6594d67fa3f2 last_write_checksum: sha1:9f893c108055091a35ecb810d16052649480eaf5 @@ -5672,6 +5912,18 @@ trackedFiles: id: 6a7db321d6ea last_write_checksum: sha1:6bafecf9429186f1e8a06099c78cec27e47eda50 pristine_git_object: c9405b330003b76d3d59a4fec5b80742f33ac001 + src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequest.java: + id: f991f4afc374 + last_write_checksum: sha1:c4b05fbaf1a0bd264f8f20edcc879363d6130936 + pristine_git_object: 70954de921fbd5eaa7f41ba1c2b3e5d15d334187 + src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequestBuilder.java: + id: c1ab9e5f1550 + last_write_checksum: sha1:8a1e65052e7b9d1c58f88cf57f99dbc683f9ec11 + pristine_git_object: c208be2b1580286c3f01fc564f4107103af47a46 + src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentResponse.java: + id: 653d6aed45b7 + last_write_checksum: sha1:6dc9ae162167862b4224d5a6929004246b4337e0 + pristine_git_object: 0543c63efa506124577a52205e6ec12e5f752376 src/main/java/co/novu/models/operations/EnvironmentsControllerGetEnvironmentTagsRequest.java: id: 94f82a80b8b2 last_write_checksum: sha1:4c20ee18d894335553341499eb99e89c173aaf51 @@ -5684,6 +5936,18 @@ trackedFiles: id: 000cfbe1e991 last_write_checksum: sha1:988bcc2fe5a9425631f64b5e220f0fea4cd96716 pristine_git_object: e78954a387cf92195ca6229e2a19a034f6e570c1 + src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequest.java: + id: c0dd84ba1816 + last_write_checksum: sha1:6792a1079640ac26259d28eb95007d4324ec4197 + pristine_git_object: 0fab2aa583388b013e41e07d52757a5dcd976e04 + src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequestBuilder.java: + id: 4ffb27becb86 + last_write_checksum: sha1:0a2049ade8de420591b5ba7b8f191322108c2d38 + pristine_git_object: b903d2f5956925a824f699da3750737f0a2164d8 + src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentResponse.java: + id: 36926eed0b63 + last_write_checksum: sha1:2be248ce78bf8cc57796e67fa01c8db532bab755 + pristine_git_object: 64d5bb537aabb1bfcd98d2d16dbf018c6f8eee79 src/main/java/co/novu/models/operations/EnvironmentsControllerV1CreateEnvironmentRequest.java: id: e660c6db502a last_write_checksum: sha1:8ca97180a51c3a5767a9e34a57f879869c53738b @@ -6728,10 +6992,18 @@ trackedFiles: id: f64c28f1b7e2 last_write_checksum: sha1:c1d8119ad0e79f91432921738ababa09d8bd58df pristine_git_object: 7dc84d6ab2d219d7800f1ed79032fc43a0b805ce + src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentResponse.java: + id: ef9bf2da28df + last_write_checksum: sha1:0d58114eaf9f50165e19a63976f70c1f5beba471 + pristine_git_object: d8f3dd5d1d11fbb29eb134199b8c960942ca2161 src/main/java/co/novu/models/operations/async/EnvironmentsControllerGetEnvironmentTagsResponse.java: id: 405dc30028ff last_write_checksum: sha1:51f4f0358fae90af5f777636fb78bcfa0cd10624 pristine_git_object: 2c8c1aeafe775baf27886701d466f3c284032b95 + src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentResponse.java: + id: 8d9815e1054e + last_write_checksum: sha1:4c34fe41acbcf4c0454123c8be8df7d324c30e7d + pristine_git_object: 100fede965b387b29524a9ea710b6cef4028b4fe src/main/java/co/novu/models/operations/async/EnvironmentsControllerV1CreateEnvironmentResponse.java: id: 9d95837096b8 last_write_checksum: sha1:047fbd1ac777938e696a8343566b2ff5ced328a6 @@ -7100,10 +7372,18 @@ trackedFiles: id: d606d9445895 last_write_checksum: sha1:59cc42b923f56888a8bbfa7b9c05e98826966c97 pristine_git_object: 4890021fc0651aca38e03ec963d54b67788842ed + src/main/java/co/novu/operations/EnvironmentsControllerDiffEnvironment.java: + id: d626e70ff73b + last_write_checksum: sha1:f7b02d582b46a0c17fb361d4b3f7c79f8e4b0cf6 + pristine_git_object: 72f73aed67c715695d6bf304340743815da2d66c src/main/java/co/novu/operations/EnvironmentsControllerGetEnvironmentTags.java: id: 5dda817fe9c2 last_write_checksum: sha1:ba278ade606e04aaaac1d1370a708a69bc625a1e pristine_git_object: 2402ddbb1c631eb9865beb283072e9b5638737bc + src/main/java/co/novu/operations/EnvironmentsControllerPublishEnvironment.java: + id: f732c06a6033 + last_write_checksum: sha1:9e6c55e16c9aa38b8e3771b4c11b99f77eda13c6 + pristine_git_object: 467d01401235de069157d49059d85dbfff3f0db8 src/main/java/co/novu/operations/EnvironmentsControllerV1CreateEnvironment.java: id: 46038cbb3442 last_write_checksum: sha1:b501d64246884b27afc401bb9c07b80bbaea28db @@ -9228,4 +9508,50 @@ examples: path: resourceType: "workflow" resourceId: "welcome-email" + EnvironmentsController_diffEnvironment: + speakeasy-default-environments-controller-diff-environment: + parameters: + path: + targetEnvironmentId: "6615943e7ace93b0540ae377" + requestBody: + application/json: {"sourceEnvironmentId": "507f1f77bcf86cd799439011"} + responses: + "200": + application/json: {"sourceEnvironmentId": "", "targetEnvironmentId": "", "resources": [{"resourceType": "BRIDGE", "sourceResource": {"updatedAt": "2024-01-15T10:30:00.000Z"}, "targetResource": {"updatedAt": "2024-01-15T10:30:00.000Z"}, "changes": [{"sourceResource": {"updatedAt": "2024-01-15T10:30:00.000Z"}, "targetResource": {"updatedAt": "2024-01-15T10:30:00.000Z"}, "resourceType": "ECHO", "action": "deleted"}], "summary": {"added": 4536.9, "modified": 4715.06, "deleted": 7919.8, "unchanged": 7466.34}}], "summary": {"totalEntities": 2495.22, "totalChanges": 5911.44, "hasChanges": true}} + "414": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} + "400": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} + "422": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123", "errors": {"fieldName1": {"messages": ["Field is required", "Must be a valid email address"], "value": "invalidEmail"}, "fieldName2": {"messages": ["Must be at least 18 years old"], "value": 17}, "fieldName3": {"messages": ["Must be a boolean value"], "value": true}, "fieldName4": {"messages": ["Must be a valid object"], "value": 8798.18}, "fieldName5": {"messages": ["Field is missing"], "value": null}, "fieldName6": {"messages": ["Undefined value"]}}} + "500": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} + EnvironmentsController_publishEnvironment: + speakeasy-default-environments-controller-publish-environment: + parameters: + path: + targetEnvironmentId: "6615943e7ace93b0540ae377" + requestBody: + application/json: {"sourceEnvironmentId": "507f1f77bcf86cd799439011", "dryRun": false, "resources": [{"resourceType": "REGULAR", "resourceId": "workflow-id-1"}]} + responses: + "200": + application/json: {"results": [{"resourceType": "REGULAR", "successful": [], "failed": [{"resourceType": "ECHO", "resourceId": "", "resourceName": "", "error": ""}], "skipped": [{"resourceType": "BRIDGE", "resourceId": "", "resourceName": "", "reason": ""}], "totalProcessed": 3977.33}], "summary": {"resources": 1548.2, "successful": 1186.4, "failed": 5607.1, "skipped": 8053.79}} + "414": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} + "400": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} + "422": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123", "errors": {"fieldName1": {"messages": ["Field is required", "Must be a valid email address"], "value": "invalidEmail"}, "fieldName2": {"messages": ["Must be at least 18 years old"], "value": 17}, "fieldName3": {"messages": ["Must be a boolean value"], "value": true}, "fieldName4": {"messages": ["Must be a valid object"], "value": false}, "fieldName5": {"messages": ["Field is missing"], "value": null}, "fieldName6": {"messages": ["Undefined value"]}}} + "500": + application/json: {"statusCode": 404, "timestamp": "2024-12-12T13:00:00Z", "path": "/api/v1/resource", "message": "xx xx xx ", "ctx": {"workflowId": "some_wf_id", "stepId": "some_wf_id"}, "errorId": "abc123"} examplesVersion: 1.0.2 +releaseNotes: | + ## Java SDK Changes: + * `novu.environments.diff()`: **Added** + * `novu.environments.publish()`: **Added** + * `novu.workflows.create()`: `response.steps[]` **Changed** + * `novu.workflows.update()`: `response.steps[]` **Changed** + * `novu.workflows.workflowDetails()`: `response.steps[]` **Changed** + * `novu.workflows.modify()`: `response.steps[]` **Changed** + * `novu.workflows.sync()`: `response.steps[]` **Changed** + * `novu.workflows.steps.get()`: `response.stepResolverHash` **Added** diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 7e53db1f..e838c9e7 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: generateNewTests: true skipResponseBodyAssertions: false java: - version: 3.14.0 + version: 3.14.1 additionalDependencies: [] additionalPlugins: [] artifactID: novu-java @@ -46,11 +46,13 @@ java: enableFormatting: false enableSlf4jLogging: true enableStreamingUploads: true + explicitDocImports: false flattenGlobalSecurity: true forwardCompatibleEnumsByDefault: true forwardCompatibleUnionsByDefault: "false" generateOptionalUnionAccessors: true generateSpringBootStarter: true + generateUnionDocs: false githubURL: github.com/novuhq/novu-java groupID: co.novu imports: @@ -76,5 +78,6 @@ java: packageName: co.novu projectName: novu respectTitlesForPrimitiveUnionMembers: false + showSetterGetterTypesInDocs: false templateVersion: v2 unionStrategy: populated-fields diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index add709f9..1db341ed 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.732.2 +speakeasyVersion: 1.741.3 sources: 'DEPRECATED: Novu API. Use -openapi.{json,yaml} instead.': sourceNamespace: novu-oas @@ -9,20 +9,19 @@ sources: - 3.12.0 novu-OAS: sourceNamespace: novu-oas - sourceRevisionDigest: sha256:aaf89e274c31a5a450b1170b501418fe743781d8797e09e5827f2adb34e5f49a - sourceBlobDigest: sha256:70458c344be37b8b008f62e6725939bfe6ebcef8ec5edceebaf375ae6f541c10 + sourceRevisionDigest: sha256:95fa382c732d36b81aefba1e9cf9468548b3a146f40136251ce3a4ee067bb2d0 + sourceBlobDigest: sha256:928b0fddad679fc5fcd639f78b158c52b20e478dc3872968c906d8d9c0b3fdaf tags: - latest - - speakeasy-sdk-regen-next-1769213168 - 3.14.0 targets: novu: source: novu-OAS sourceNamespace: novu-oas - sourceRevisionDigest: sha256:aaf89e274c31a5a450b1170b501418fe743781d8797e09e5827f2adb34e5f49a - sourceBlobDigest: sha256:70458c344be37b8b008f62e6725939bfe6ebcef8ec5edceebaf375ae6f541c10 + sourceRevisionDigest: sha256:95fa382c732d36b81aefba1e9cf9468548b3a146f40136251ce3a4ee067bb2d0 + sourceBlobDigest: sha256:928b0fddad679fc5fcd639f78b158c52b20e478dc3872968c906d8d9c0b3fdaf codeSamplesNamespace: novu-oas-java-code-samples - codeSamplesRevisionDigest: sha256:c73df67cdc82540ab0df3a94450eda0fdb446c4f8d4bdfe12f23112c12595130 + codeSamplesRevisionDigest: sha256:e39a57da5daac3629abd89c26430b0dce55c36325acaa951e05d3d1601ca2bf1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 920a2974..b74894f1 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ For more information about the API: [Novu Documentation](https://docs.novu.co) ## Table of Contents -* [openapi](#openapi) +* [JAVA Novu SDK](#java-novu-sdk) * [SDK Installation](#sdk-installation) * [SDK Example Usage](#sdk-example-usage) * [Asynchronous Support](#asynchronous-support) @@ -73,7 +73,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'co.novu:novu-java:3.14.0' +implementation 'co.novu:novu-java:3.14.1' ``` Maven: @@ -81,7 +81,7 @@ Maven: co.novu novu-java - 3.14.0 + 3.14.1 ``` @@ -498,6 +498,8 @@ public class Application { ### [Environments](docs/sdks/environments/README.md) +* [diff](docs/sdks/environments/README.md#diff) - Compare resources between environments +* [publish](docs/sdks/environments/README.md#publish) - Publish resources to target environment * [create](docs/sdks/environments/README.md#create) - Create an environment * [list](docs/sdks/environments/README.md#list) - List all environments * [update](docs/sdks/environments/README.md#update) - Update an environment @@ -912,9 +914,9 @@ public class Application { many more subclasses in the JDK platform). **Inherit from [`NovuException`](./src/main/java/models/errors/NovuException.java)**: -* [`co.novu.models.errors.PayloadValidationExceptionDto`](./src/main/java/models/errors/co.novu.models.errors.PayloadValidationExceptionDto.java): Status code `400`. Applicable to 3 of 93 methods.* -* [`co.novu.models.errors.SubscriberResponseDtoException`](./src/main/java/models/errors/co.novu.models.errors.SubscriberResponseDtoException.java): Created. Status code `409`. Applicable to 1 of 93 methods.* -* [`co.novu.models.errors.TopicResponseDtoException`](./src/main/java/models/errors/co.novu.models.errors.TopicResponseDtoException.java): OK. Status code `409`. Applicable to 1 of 93 methods.* +* [`co.novu.models.errors.PayloadValidationExceptionDto`](./src/main/java/models/errors/co.novu.models.errors.PayloadValidationExceptionDto.java): Status code `400`. Applicable to 3 of 95 methods.* +* [`co.novu.models.errors.SubscriberResponseDtoException`](./src/main/java/models/errors/co.novu.models.errors.SubscriberResponseDtoException.java): Created. Status code `409`. Applicable to 1 of 95 methods.* +* [`co.novu.models.errors.TopicResponseDtoException`](./src/main/java/models/errors/co.novu.models.errors.TopicResponseDtoException.java): OK. Status code `409`. Applicable to 1 of 95 methods.* diff --git a/RELEASES.md b/RELEASES.md index 39c7d697..bd9e7004 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -18,4 +18,14 @@ Based on: ### Generated - [java v3.14.0] . ### Releases -- [Maven Central v3.14.0] https://central.sonatype.com/artifact/co.novu/novu-java/3.14.0 - . \ No newline at end of file +- [Maven Central v3.14.0] https://central.sonatype.com/artifact/co.novu/novu-java/3.14.0 - . + +## 2026-03-05 00:08:03 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.741.3 (2.849.6) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v3.14.1] . +### Releases +- [Maven Central v3.14.1] https://central.sonatype.com/artifact/co.novu/novu-java/3.14.1 - . \ No newline at end of file diff --git a/docs/models/components/ActivityNotificationJobResponseDtoType.md b/docs/models/components/ActivityNotificationJobResponseDtoType.md index d6f446ab..1b009173 100644 --- a/docs/models/components/ActivityNotificationJobResponseDtoType.md +++ b/docs/models/components/ActivityNotificationJobResponseDtoType.md @@ -2,6 +2,17 @@ Type of the job +## Example Usage + +```java +import co.novu.models.components.ActivityNotificationJobResponseDtoType; + +ActivityNotificationJobResponseDtoType value = ActivityNotificationJobResponseDtoType.IN_APP; + +// Open enum: use .of() to create instances from custom string values +ActivityNotificationJobResponseDtoType custom = ActivityNotificationJobResponseDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ActorTypeEnum.md b/docs/models/components/ActorTypeEnum.md index 2c6d0838..7cf6141f 100644 --- a/docs/models/components/ActorTypeEnum.md +++ b/docs/models/components/ActorTypeEnum.md @@ -2,6 +2,17 @@ The type of the actor, indicating the role in the notification process. +## Example Usage + +```java +import co.novu.models.components.ActorTypeEnum; + +ActorTypeEnum value = ActorTypeEnum.NONE; + +// Open enum: use .of() to create instances from custom string values +ActorTypeEnum custom = ActorTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/BackoffUnit.md b/docs/models/components/BackoffUnit.md index 1a98c32a..9fa28cb8 100644 --- a/docs/models/components/BackoffUnit.md +++ b/docs/models/components/BackoffUnit.md @@ -1,5 +1,16 @@ # BackoffUnit +## Example Usage + +```java +import co.novu.models.components.BackoffUnit; + +BackoffUnit value = BackoffUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +BackoffUnit custom = BackoffUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/BuilderFieldTypeEnum.md b/docs/models/components/BuilderFieldTypeEnum.md index 882c6549..a05dcdd2 100644 --- a/docs/models/components/BuilderFieldTypeEnum.md +++ b/docs/models/components/BuilderFieldTypeEnum.md @@ -1,5 +1,16 @@ # BuilderFieldTypeEnum +## Example Usage + +```java +import co.novu.models.components.BuilderFieldTypeEnum; + +BuilderFieldTypeEnum value = BuilderFieldTypeEnum.BOOLEAN; + +// Open enum: use .of() to create instances from custom string values +BuilderFieldTypeEnum custom = BuilderFieldTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ButtonTypeEnum.md b/docs/models/components/ButtonTypeEnum.md index 29e77c42..566f1368 100644 --- a/docs/models/components/ButtonTypeEnum.md +++ b/docs/models/components/ButtonTypeEnum.md @@ -2,6 +2,17 @@ Type of button for the action result +## Example Usage + +```java +import co.novu.models.components.ButtonTypeEnum; + +ButtonTypeEnum value = ButtonTypeEnum.PRIMARY; + +// Open enum: use .of() to create instances from custom string values +ButtonTypeEnum custom = ButtonTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ChannelCTATypeEnum.md b/docs/models/components/ChannelCTATypeEnum.md index ae449fd2..e69d8908 100644 --- a/docs/models/components/ChannelCTATypeEnum.md +++ b/docs/models/components/ChannelCTATypeEnum.md @@ -2,6 +2,14 @@ Type of call to action +## Example Usage + +```java +import co.novu.models.components.ChannelCTATypeEnum; + +ChannelCTATypeEnum value = ChannelCTATypeEnum.REDIRECT; +``` + ## Values diff --git a/docs/models/components/ChannelTypeEnum.md b/docs/models/components/ChannelTypeEnum.md index 07ea81fd..b06fefed 100644 --- a/docs/models/components/ChannelTypeEnum.md +++ b/docs/models/components/ChannelTypeEnum.md @@ -2,6 +2,17 @@ Channel type through which the message is sent +## Example Usage + +```java +import co.novu.models.components.ChannelTypeEnum; + +ChannelTypeEnum value = ChannelTypeEnum.IN_APP; + +// Open enum: use .of() to create instances from custom string values +ChannelTypeEnum custom = ChannelTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ChatOrPushProviderEnum.md b/docs/models/components/ChatOrPushProviderEnum.md index 651c586c..409ab06c 100644 --- a/docs/models/components/ChatOrPushProviderEnum.md +++ b/docs/models/components/ChatOrPushProviderEnum.md @@ -2,6 +2,17 @@ The provider identifier for the credentials +## Example Usage + +```java +import co.novu.models.components.ChatOrPushProviderEnum; + +ChatOrPushProviderEnum value = ChatOrPushProviderEnum.SLACK; + +// Open enum: use .of() to create instances from custom string values +ChatOrPushProviderEnum custom = ChatOrPushProviderEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ChatStepResponseDto.md b/docs/models/components/ChatStepResponseDto.md index 2013f182..6240bc3c 100644 --- a/docs/models/components/ChatStepResponseDto.md +++ b/docs/models/components/ChatStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/ContentIssueEnum.md b/docs/models/components/ContentIssueEnum.md index 3097f392..573f557a 100644 --- a/docs/models/components/ContentIssueEnum.md +++ b/docs/models/components/ContentIssueEnum.md @@ -2,6 +2,17 @@ Type of step content issue +## Example Usage + +```java +import co.novu.models.components.ContentIssueEnum; + +ContentIssueEnum value = ContentIssueEnum.ILLEGAL_VARIABLE_IN_CONTROL_VALUE; + +// Open enum: use .of() to create instances from custom string values +ContentIssueEnum custom = ContentIssueEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/CreateIntegrationRequestDtoChannel.md b/docs/models/components/CreateIntegrationRequestDtoChannel.md index d51cd9cf..8f4b912e 100644 --- a/docs/models/components/CreateIntegrationRequestDtoChannel.md +++ b/docs/models/components/CreateIntegrationRequestDtoChannel.md @@ -2,6 +2,14 @@ The channel type for the integration +## Example Usage + +```java +import co.novu.models.components.CreateIntegrationRequestDtoChannel; + +CreateIntegrationRequestDtoChannel value = CreateIntegrationRequestDtoChannel.IN_APP; +``` + ## Values diff --git a/docs/models/components/CreateMsTeamsChannelEndpointDtoType.md b/docs/models/components/CreateMsTeamsChannelEndpointDtoType.md index 3c52bc8c..93c7a287 100644 --- a/docs/models/components/CreateMsTeamsChannelEndpointDtoType.md +++ b/docs/models/components/CreateMsTeamsChannelEndpointDtoType.md @@ -2,6 +2,14 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.CreateMsTeamsChannelEndpointDtoType; + +CreateMsTeamsChannelEndpointDtoType value = CreateMsTeamsChannelEndpointDtoType.MS_TEAMS_CHANNEL; +``` + ## Values diff --git a/docs/models/components/CreateMsTeamsUserEndpointDtoType.md b/docs/models/components/CreateMsTeamsUserEndpointDtoType.md index 7e6d7cb6..fbf27088 100644 --- a/docs/models/components/CreateMsTeamsUserEndpointDtoType.md +++ b/docs/models/components/CreateMsTeamsUserEndpointDtoType.md @@ -2,6 +2,14 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.CreateMsTeamsUserEndpointDtoType; + +CreateMsTeamsUserEndpointDtoType value = CreateMsTeamsUserEndpointDtoType.MS_TEAMS_USER; +``` + ## Values diff --git a/docs/models/components/CreatePhoneEndpointDtoType.md b/docs/models/components/CreatePhoneEndpointDtoType.md index f2e052e1..ab4ab2e0 100644 --- a/docs/models/components/CreatePhoneEndpointDtoType.md +++ b/docs/models/components/CreatePhoneEndpointDtoType.md @@ -2,6 +2,14 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.CreatePhoneEndpointDtoType; + +CreatePhoneEndpointDtoType value = CreatePhoneEndpointDtoType.PHONE; +``` + ## Values diff --git a/docs/models/components/CreateSlackChannelEndpointDtoType.md b/docs/models/components/CreateSlackChannelEndpointDtoType.md index 1e8968d3..44bd3aed 100644 --- a/docs/models/components/CreateSlackChannelEndpointDtoType.md +++ b/docs/models/components/CreateSlackChannelEndpointDtoType.md @@ -2,6 +2,14 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.CreateSlackChannelEndpointDtoType; + +CreateSlackChannelEndpointDtoType value = CreateSlackChannelEndpointDtoType.SLACK_CHANNEL; +``` + ## Values diff --git a/docs/models/components/CreateSlackUserEndpointDtoType.md b/docs/models/components/CreateSlackUserEndpointDtoType.md index 2d6bc936..ba8b90ee 100644 --- a/docs/models/components/CreateSlackUserEndpointDtoType.md +++ b/docs/models/components/CreateSlackUserEndpointDtoType.md @@ -2,6 +2,14 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.CreateSlackUserEndpointDtoType; + +CreateSlackUserEndpointDtoType value = CreateSlackUserEndpointDtoType.SLACK_USER; +``` + ## Values diff --git a/docs/models/components/CreateTranslationRequestDtoResourceType.md b/docs/models/components/CreateTranslationRequestDtoResourceType.md index 98aebd25..23778f66 100644 --- a/docs/models/components/CreateTranslationRequestDtoResourceType.md +++ b/docs/models/components/CreateTranslationRequestDtoResourceType.md @@ -2,6 +2,14 @@ The resource type to associate translation with +## Example Usage + +```java +import co.novu.models.components.CreateTranslationRequestDtoResourceType; + +CreateTranslationRequestDtoResourceType value = CreateTranslationRequestDtoResourceType.WORKFLOW; +``` + ## Values diff --git a/docs/models/components/CreateWebhookEndpointDtoType.md b/docs/models/components/CreateWebhookEndpointDtoType.md index 02e75536..94e96604 100644 --- a/docs/models/components/CreateWebhookEndpointDtoType.md +++ b/docs/models/components/CreateWebhookEndpointDtoType.md @@ -2,6 +2,14 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.CreateWebhookEndpointDtoType; + +CreateWebhookEndpointDtoType value = CreateWebhookEndpointDtoType.WEBHOOK; +``` + ## Values diff --git a/docs/models/components/CustomStepResponseDto.md b/docs/models/components/CustomStepResponseDto.md index b38ccbc6..2184feb1 100644 --- a/docs/models/components/CustomStepResponseDto.md +++ b/docs/models/components/CustomStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/DelayControlDtoType.md b/docs/models/components/DelayControlDtoType.md index 823c5264..5607d116 100644 --- a/docs/models/components/DelayControlDtoType.md +++ b/docs/models/components/DelayControlDtoType.md @@ -2,6 +2,17 @@ Type of the delay. Currently only 'regular' is supported by the schema. +## Example Usage + +```java +import co.novu.models.components.DelayControlDtoType; + +DelayControlDtoType value = DelayControlDtoType.REGULAR; + +// Open enum: use .of() to create instances from custom string values +DelayControlDtoType custom = DelayControlDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DelayControlDtoUnit.md b/docs/models/components/DelayControlDtoUnit.md index 617ab1be..d3919e3b 100644 --- a/docs/models/components/DelayControlDtoUnit.md +++ b/docs/models/components/DelayControlDtoUnit.md @@ -2,6 +2,17 @@ Unit of time for the delay amount. +## Example Usage + +```java +import co.novu.models.components.DelayControlDtoUnit; + +DelayControlDtoUnit value = DelayControlDtoUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DelayControlDtoUnit custom = DelayControlDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DelayRegularMetadataType.md b/docs/models/components/DelayRegularMetadataType.md index 666be677..d75572aa 100644 --- a/docs/models/components/DelayRegularMetadataType.md +++ b/docs/models/components/DelayRegularMetadataType.md @@ -1,5 +1,13 @@ # DelayRegularMetadataType +## Example Usage + +```java +import co.novu.models.components.DelayRegularMetadataType; + +DelayRegularMetadataType value = DelayRegularMetadataType.REGULAR; +``` + ## Values diff --git a/docs/models/components/DelayRegularMetadataUnit.md b/docs/models/components/DelayRegularMetadataUnit.md index c7ab8cd2..ce0e9136 100644 --- a/docs/models/components/DelayRegularMetadataUnit.md +++ b/docs/models/components/DelayRegularMetadataUnit.md @@ -1,5 +1,16 @@ # DelayRegularMetadataUnit +## Example Usage + +```java +import co.novu.models.components.DelayRegularMetadataUnit; + +DelayRegularMetadataUnit value = DelayRegularMetadataUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DelayRegularMetadataUnit custom = DelayRegularMetadataUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DelayScheduledMetadataType.md b/docs/models/components/DelayScheduledMetadataType.md index 0f1472d0..8beed7d6 100644 --- a/docs/models/components/DelayScheduledMetadataType.md +++ b/docs/models/components/DelayScheduledMetadataType.md @@ -1,5 +1,13 @@ # DelayScheduledMetadataType +## Example Usage + +```java +import co.novu.models.components.DelayScheduledMetadataType; + +DelayScheduledMetadataType value = DelayScheduledMetadataType.SCHEDULED; +``` + ## Values diff --git a/docs/models/components/DelayStepResponseDto.md b/docs/models/components/DelayStepResponseDto.md index 457d7eb8..2ba498a4 100644 --- a/docs/models/components/DelayStepResponseDto.md +++ b/docs/models/components/DelayStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/DelayStepResponseDtoType.md b/docs/models/components/DelayStepResponseDtoType.md index cb032264..9441a48f 100644 --- a/docs/models/components/DelayStepResponseDtoType.md +++ b/docs/models/components/DelayStepResponseDtoType.md @@ -2,6 +2,17 @@ Type of the delay. Currently only 'regular' is supported by the schema. +## Example Usage + +```java +import co.novu.models.components.DelayStepResponseDtoType; + +DelayStepResponseDtoType value = DelayStepResponseDtoType.REGULAR; + +// Open enum: use .of() to create instances from custom string values +DelayStepResponseDtoType custom = DelayStepResponseDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DelayStepResponseDtoUnit.md b/docs/models/components/DelayStepResponseDtoUnit.md index 6d8fdb7a..912ff7d1 100644 --- a/docs/models/components/DelayStepResponseDtoUnit.md +++ b/docs/models/components/DelayStepResponseDtoUnit.md @@ -2,6 +2,17 @@ Unit of time for the delay amount. +## Example Usage + +```java +import co.novu.models.components.DelayStepResponseDtoUnit; + +DelayStepResponseDtoUnit value = DelayStepResponseDtoUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DelayStepResponseDtoUnit custom = DelayStepResponseDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DeleteMessageResponseDtoStatus.md b/docs/models/components/DeleteMessageResponseDtoStatus.md index 99f80392..6079850d 100644 --- a/docs/models/components/DeleteMessageResponseDtoStatus.md +++ b/docs/models/components/DeleteMessageResponseDtoStatus.md @@ -2,6 +2,14 @@ The status enum for the performed action +## Example Usage + +```java +import co.novu.models.components.DeleteMessageResponseDtoStatus; + +DeleteMessageResponseDtoStatus value = DeleteMessageResponseDtoStatus.DELETED; +``` + ## Values diff --git a/docs/models/components/DependencyReasonEnum.md b/docs/models/components/DependencyReasonEnum.md new file mode 100644 index 00000000..3f7731d4 --- /dev/null +++ b/docs/models/components/DependencyReasonEnum.md @@ -0,0 +1,22 @@ +# DependencyReasonEnum + +Reason for the dependency + +## Example Usage + +```java +import co.novu.models.components.DependencyReasonEnum; + +DependencyReasonEnum value = DependencyReasonEnum.LAYOUT_REQUIRED_FOR_WORKFLOW; + +// Open enum: use .of() to create instances from custom string values +DependencyReasonEnum custom = DependencyReasonEnum.of("custom_value"); +``` + + +## Values + +| Name | Value | +| ------------------------------ | ------------------------------ | +| `LAYOUT_REQUIRED_FOR_WORKFLOW` | LAYOUT_REQUIRED_FOR_WORKFLOW | +| `LAYOUT_EXISTS_IN_TARGET` | LAYOUT_EXISTS_IN_TARGET | \ No newline at end of file diff --git a/docs/models/components/DiffActionEnum.md b/docs/models/components/DiffActionEnum.md new file mode 100644 index 00000000..b6254766 --- /dev/null +++ b/docs/models/components/DiffActionEnum.md @@ -0,0 +1,25 @@ +# DiffActionEnum + +Type of change + +## Example Usage + +```java +import co.novu.models.components.DiffActionEnum; + +DiffActionEnum value = DiffActionEnum.ADDED; + +// Open enum: use .of() to create instances from custom string values +DiffActionEnum custom = DiffActionEnum.of("custom_value"); +``` + + +## Values + +| Name | Value | +| ----------- | ----------- | +| `ADDED` | added | +| `MODIFIED` | modified | +| `DELETED` | deleted | +| `UNCHANGED` | unchanged | +| `MOVED` | moved | \ No newline at end of file diff --git a/docs/models/components/DiffEnvironmentRequestDto.md b/docs/models/components/DiffEnvironmentRequestDto.md new file mode 100644 index 00000000..6e34526e --- /dev/null +++ b/docs/models/components/DiffEnvironmentRequestDto.md @@ -0,0 +1,8 @@ +# DiffEnvironmentRequestDto + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | +| `sourceEnvironmentId` | *Optional\* | :heavy_minus_sign: | Source environment ID to compare from. Defaults to the Development environment if not provided. | 507f1f77bcf86cd799439011 | \ No newline at end of file diff --git a/docs/models/components/DiffEnvironmentResponseDto.md b/docs/models/components/DiffEnvironmentResponseDto.md new file mode 100644 index 00000000..9c09b50b --- /dev/null +++ b/docs/models/components/DiffEnvironmentResponseDto.md @@ -0,0 +1,11 @@ +# DiffEnvironmentResponseDto + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `sourceEnvironmentId` | *String* | :heavy_check_mark: | Source environment ID | +| `targetEnvironmentId` | *String* | :heavy_check_mark: | Target environment ID | +| `resources` | List\<[ResourceDiffResultDto](../../models/components/ResourceDiffResultDto.md)> | :heavy_check_mark: | Diff resources by resource type | +| `summary` | [EnvironmentDiffSummaryDto](../../models/components/EnvironmentDiffSummaryDto.md) | :heavy_check_mark: | Overall summary | \ No newline at end of file diff --git a/docs/models/components/DiffSummaryDto.md b/docs/models/components/DiffSummaryDto.md new file mode 100644 index 00000000..9d8e8d39 --- /dev/null +++ b/docs/models/components/DiffSummaryDto.md @@ -0,0 +1,11 @@ +# DiffSummaryDto + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | +| `added` | *double* | :heavy_check_mark: | Number of added resources (workflows and steps) | +| `modified` | *double* | :heavy_check_mark: | Number of modified resources (workflows and steps) | +| `deleted` | *double* | :heavy_check_mark: | Number of deleted resources (workflows and steps) | +| `unchanged` | *double* | :heavy_check_mark: | Number of unchanged resources (workflows and steps) | \ No newline at end of file diff --git a/docs/models/components/Diffs.md b/docs/models/components/Diffs.md new file mode 100644 index 00000000..ab1bb243 --- /dev/null +++ b/docs/models/components/Diffs.md @@ -0,0 +1,11 @@ +# Diffs + +Detailed changes (only for modified resources) + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | +| `previous` | Map\ | :heavy_minus_sign: | Previous state of the resource (null for added resources) | +| `new_` | Map\ | :heavy_minus_sign: | New state of the resource (null for deleted resources) | \ No newline at end of file diff --git a/docs/models/components/DigestControlDtoType.md b/docs/models/components/DigestControlDtoType.md index 521a77a1..96d54ed1 100644 --- a/docs/models/components/DigestControlDtoType.md +++ b/docs/models/components/DigestControlDtoType.md @@ -2,6 +2,17 @@ The type of digest strategy. Determines which fields are applicable. +## Example Usage + +```java +import co.novu.models.components.DigestControlDtoType; + +DigestControlDtoType value = DigestControlDtoType.REGULAR; + +// Open enum: use .of() to create instances from custom string values +DigestControlDtoType custom = DigestControlDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestControlDtoUnit.md b/docs/models/components/DigestControlDtoUnit.md index 34e0a306..d598b514 100644 --- a/docs/models/components/DigestControlDtoUnit.md +++ b/docs/models/components/DigestControlDtoUnit.md @@ -2,6 +2,17 @@ The unit of time for the digest interval (for REGULAR type). +## Example Usage + +```java +import co.novu.models.components.DigestControlDtoUnit; + +DigestControlDtoUnit value = DigestControlDtoUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DigestControlDtoUnit custom = DigestControlDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestMetadataDtoUnit.md b/docs/models/components/DigestMetadataDtoUnit.md index 45270c39..27aba19e 100644 --- a/docs/models/components/DigestMetadataDtoUnit.md +++ b/docs/models/components/DigestMetadataDtoUnit.md @@ -2,6 +2,17 @@ Unit of the digest +## Example Usage + +```java +import co.novu.models.components.DigestMetadataDtoUnit; + +DigestMetadataDtoUnit value = DigestMetadataDtoUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DigestMetadataDtoUnit custom = DigestMetadataDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestRegularMetadataType.md b/docs/models/components/DigestRegularMetadataType.md index bf480269..60f0b180 100644 --- a/docs/models/components/DigestRegularMetadataType.md +++ b/docs/models/components/DigestRegularMetadataType.md @@ -1,5 +1,16 @@ # DigestRegularMetadataType +## Example Usage + +```java +import co.novu.models.components.DigestRegularMetadataType; + +DigestRegularMetadataType value = DigestRegularMetadataType.REGULAR; + +// Open enum: use .of() to create instances from custom string values +DigestRegularMetadataType custom = DigestRegularMetadataType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestRegularMetadataUnit.md b/docs/models/components/DigestRegularMetadataUnit.md index 89dc4f29..7b109ab7 100644 --- a/docs/models/components/DigestRegularMetadataUnit.md +++ b/docs/models/components/DigestRegularMetadataUnit.md @@ -1,5 +1,16 @@ # DigestRegularMetadataUnit +## Example Usage + +```java +import co.novu.models.components.DigestRegularMetadataUnit; + +DigestRegularMetadataUnit value = DigestRegularMetadataUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DigestRegularMetadataUnit custom = DigestRegularMetadataUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestStepResponseDto.md b/docs/models/components/DigestStepResponseDto.md index e78b9d69..7f003094 100644 --- a/docs/models/components/DigestStepResponseDto.md +++ b/docs/models/components/DigestStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/DigestStepResponseDtoType.md b/docs/models/components/DigestStepResponseDtoType.md index 56ac52d7..cc0156ef 100644 --- a/docs/models/components/DigestStepResponseDtoType.md +++ b/docs/models/components/DigestStepResponseDtoType.md @@ -2,6 +2,17 @@ The type of digest strategy. Determines which fields are applicable. +## Example Usage + +```java +import co.novu.models.components.DigestStepResponseDtoType; + +DigestStepResponseDtoType value = DigestStepResponseDtoType.REGULAR; + +// Open enum: use .of() to create instances from custom string values +DigestStepResponseDtoType custom = DigestStepResponseDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestStepResponseDtoUnit.md b/docs/models/components/DigestStepResponseDtoUnit.md index be32945a..70e5ed62 100644 --- a/docs/models/components/DigestStepResponseDtoUnit.md +++ b/docs/models/components/DigestStepResponseDtoUnit.md @@ -2,6 +2,17 @@ The unit of time for the digest interval (for REGULAR type). +## Example Usage + +```java +import co.novu.models.components.DigestStepResponseDtoUnit; + +DigestStepResponseDtoUnit value = DigestStepResponseDtoUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DigestStepResponseDtoUnit custom = DigestStepResponseDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestTimedConfigDtoWeekDay.md b/docs/models/components/DigestTimedConfigDtoWeekDay.md index 7adaa5a7..9e67f05d 100644 --- a/docs/models/components/DigestTimedConfigDtoWeekDay.md +++ b/docs/models/components/DigestTimedConfigDtoWeekDay.md @@ -1,5 +1,13 @@ # DigestTimedConfigDtoWeekDay +## Example Usage + +```java +import co.novu.models.components.DigestTimedConfigDtoWeekDay; + +DigestTimedConfigDtoWeekDay value = DigestTimedConfigDtoWeekDay.MONDAY; +``` + ## Values diff --git a/docs/models/components/DigestTimedMetadataType.md b/docs/models/components/DigestTimedMetadataType.md index 47d3b2c7..fc963e47 100644 --- a/docs/models/components/DigestTimedMetadataType.md +++ b/docs/models/components/DigestTimedMetadataType.md @@ -1,5 +1,13 @@ # DigestTimedMetadataType +## Example Usage + +```java +import co.novu.models.components.DigestTimedMetadataType; + +DigestTimedMetadataType value = DigestTimedMetadataType.TIMED; +``` + ## Values diff --git a/docs/models/components/DigestTimedMetadataUnit.md b/docs/models/components/DigestTimedMetadataUnit.md index f45daeb0..8b16b5f6 100644 --- a/docs/models/components/DigestTimedMetadataUnit.md +++ b/docs/models/components/DigestTimedMetadataUnit.md @@ -1,5 +1,16 @@ # DigestTimedMetadataUnit +## Example Usage + +```java +import co.novu.models.components.DigestTimedMetadataUnit; + +DigestTimedMetadataUnit value = DigestTimedMetadataUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DigestTimedMetadataUnit custom = DigestTimedMetadataUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestTypeEnum.md b/docs/models/components/DigestTypeEnum.md index b6062460..d568fb9c 100644 --- a/docs/models/components/DigestTypeEnum.md +++ b/docs/models/components/DigestTypeEnum.md @@ -2,6 +2,17 @@ The Digest Type +## Example Usage + +```java +import co.novu.models.components.DigestTypeEnum; + +DigestTypeEnum value = DigestTypeEnum.REGULAR; + +// Open enum: use .of() to create instances from custom string values +DigestTypeEnum custom = DigestTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DigestUnitEnum.md b/docs/models/components/DigestUnitEnum.md index 4ddc039e..688e7aec 100644 --- a/docs/models/components/DigestUnitEnum.md +++ b/docs/models/components/DigestUnitEnum.md @@ -2,6 +2,17 @@ Regular digest: Unit for backoff +## Example Usage + +```java +import co.novu.models.components.DigestUnitEnum; + +DigestUnitEnum value = DigestUnitEnum.SECONDS; + +// Open enum: use .of() to create instances from custom string values +DigestUnitEnum custom = DigestUnitEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/DirectionEnum.md b/docs/models/components/DirectionEnum.md index b8bad34a..06df34c7 100644 --- a/docs/models/components/DirectionEnum.md +++ b/docs/models/components/DirectionEnum.md @@ -1,5 +1,13 @@ # DirectionEnum +## Example Usage + +```java +import co.novu.models.components.DirectionEnum; + +DirectionEnum value = DirectionEnum.ASC; +``` + ## Values diff --git a/docs/models/components/EmailBlockTypeEnum.md b/docs/models/components/EmailBlockTypeEnum.md index 92e98ec0..44e9c3da 100644 --- a/docs/models/components/EmailBlockTypeEnum.md +++ b/docs/models/components/EmailBlockTypeEnum.md @@ -2,6 +2,17 @@ Type of the email block +## Example Usage + +```java +import co.novu.models.components.EmailBlockTypeEnum; + +EmailBlockTypeEnum value = EmailBlockTypeEnum.BUTTON; + +// Open enum: use .of() to create instances from custom string values +EmailBlockTypeEnum custom = EmailBlockTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EmailControlDtoEditorType.md b/docs/models/components/EmailControlDtoEditorType.md index 4394a126..fac1b841 100644 --- a/docs/models/components/EmailControlDtoEditorType.md +++ b/docs/models/components/EmailControlDtoEditorType.md @@ -2,6 +2,17 @@ Type of editor to use for the body. +## Example Usage + +```java +import co.novu.models.components.EmailControlDtoEditorType; + +EmailControlDtoEditorType value = EmailControlDtoEditorType.BLOCK; + +// Open enum: use .of() to create instances from custom string values +EmailControlDtoEditorType custom = EmailControlDtoEditorType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EmailControlDtoRendererType.md b/docs/models/components/EmailControlDtoRendererType.md index 8821efdf..3a17459a 100644 --- a/docs/models/components/EmailControlDtoRendererType.md +++ b/docs/models/components/EmailControlDtoRendererType.md @@ -2,6 +2,17 @@ Type of renderer to use (raw HTML or React Email step resolver) +## Example Usage + +```java +import co.novu.models.components.EmailControlDtoRendererType; + +EmailControlDtoRendererType value = EmailControlDtoRendererType.HTML; + +// Open enum: use .of() to create instances from custom string values +EmailControlDtoRendererType custom = EmailControlDtoRendererType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EmailControlsDtoEditorType.md b/docs/models/components/EmailControlsDtoEditorType.md index ef56f6c8..b9104bce 100644 --- a/docs/models/components/EmailControlsDtoEditorType.md +++ b/docs/models/components/EmailControlsDtoEditorType.md @@ -2,6 +2,17 @@ Editor type of the layout. +## Example Usage + +```java +import co.novu.models.components.EmailControlsDtoEditorType; + +EmailControlsDtoEditorType value = EmailControlsDtoEditorType.HTML; + +// Open enum: use .of() to create instances from custom string values +EmailControlsDtoEditorType custom = EmailControlsDtoEditorType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EmailStepResponseDto.md b/docs/models/components/EmailStepResponseDto.md index 440fa2c9..5d3ea944 100644 --- a/docs/models/components/EmailStepResponseDto.md +++ b/docs/models/components/EmailStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/EmailStepResponseDtoEditorType.md b/docs/models/components/EmailStepResponseDtoEditorType.md index b36c7e9d..5ce6d3da 100644 --- a/docs/models/components/EmailStepResponseDtoEditorType.md +++ b/docs/models/components/EmailStepResponseDtoEditorType.md @@ -2,6 +2,17 @@ Type of editor to use for the body. +## Example Usage + +```java +import co.novu.models.components.EmailStepResponseDtoEditorType; + +EmailStepResponseDtoEditorType value = EmailStepResponseDtoEditorType.BLOCK; + +// Open enum: use .of() to create instances from custom string values +EmailStepResponseDtoEditorType custom = EmailStepResponseDtoEditorType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EmailStepResponseDtoRendererType.md b/docs/models/components/EmailStepResponseDtoRendererType.md index 7e2b6312..38ec1c22 100644 --- a/docs/models/components/EmailStepResponseDtoRendererType.md +++ b/docs/models/components/EmailStepResponseDtoRendererType.md @@ -2,6 +2,17 @@ Type of renderer to use (raw HTML or React Email step resolver) +## Example Usage + +```java +import co.novu.models.components.EmailStepResponseDtoRendererType; + +EmailStepResponseDtoRendererType value = EmailStepResponseDtoRendererType.HTML; + +// Open enum: use .of() to create instances from custom string values +EmailStepResponseDtoRendererType custom = EmailStepResponseDtoRendererType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EnvironmentDiffSummaryDto.md b/docs/models/components/EnvironmentDiffSummaryDto.md new file mode 100644 index 00000000..d4619ba0 --- /dev/null +++ b/docs/models/components/EnvironmentDiffSummaryDto.md @@ -0,0 +1,10 @@ +# EnvironmentDiffSummaryDto + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------- | --------------------------------- | --------------------------------- | --------------------------------- | +| `totalEntities` | *double* | :heavy_check_mark: | Total number of entities compared | +| `totalChanges` | *double* | :heavy_check_mark: | Total number of changes detected | +| `hasChanges` | *boolean* | :heavy_check_mark: | Whether any changes were detected | \ No newline at end of file diff --git a/docs/models/components/EnvironmentResponseDtoType.md b/docs/models/components/EnvironmentResponseDtoType.md index 8a0a5918..f986dd5a 100644 --- a/docs/models/components/EnvironmentResponseDtoType.md +++ b/docs/models/components/EnvironmentResponseDtoType.md @@ -2,6 +2,17 @@ Type of the environment +## Example Usage + +```java +import co.novu.models.components.EnvironmentResponseDtoType; + +EnvironmentResponseDtoType value = EnvironmentResponseDtoType.DEV; + +// Open enum: use .of() to create instances from custom string values +EnvironmentResponseDtoType custom = EnvironmentResponseDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/EventBodyStatus.md b/docs/models/components/EventBodyStatus.md index 68c14004..379af4b1 100644 --- a/docs/models/components/EventBodyStatus.md +++ b/docs/models/components/EventBodyStatus.md @@ -2,6 +2,17 @@ Status of the event +## Example Usage + +```java +import co.novu.models.components.EventBodyStatus; + +EventBodyStatus value = EventBodyStatus.OPENED; + +// Open enum: use .of() to create instances from custom string values +EventBodyStatus custom = EventBodyStatus.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ExecutionDetailsSourceEnum.md b/docs/models/components/ExecutionDetailsSourceEnum.md index 91540db4..233b5392 100644 --- a/docs/models/components/ExecutionDetailsSourceEnum.md +++ b/docs/models/components/ExecutionDetailsSourceEnum.md @@ -2,6 +2,17 @@ Source of the execution detail +## Example Usage + +```java +import co.novu.models.components.ExecutionDetailsSourceEnum; + +ExecutionDetailsSourceEnum value = ExecutionDetailsSourceEnum.CREDENTIALS; + +// Open enum: use .of() to create instances from custom string values +ExecutionDetailsSourceEnum custom = ExecutionDetailsSourceEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ExecutionDetailsStatusEnum.md b/docs/models/components/ExecutionDetailsStatusEnum.md index 924bebab..39adfbfb 100644 --- a/docs/models/components/ExecutionDetailsStatusEnum.md +++ b/docs/models/components/ExecutionDetailsStatusEnum.md @@ -2,6 +2,17 @@ Status of the execution detail +## Example Usage + +```java +import co.novu.models.components.ExecutionDetailsStatusEnum; + +ExecutionDetailsStatusEnum value = ExecutionDetailsStatusEnum.SUCCESS; + +// Open enum: use .of() to create instances from custom string values +ExecutionDetailsStatusEnum custom = ExecutionDetailsStatusEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/FailedWorkflowDto.md b/docs/models/components/FailedWorkflowDto.md new file mode 100644 index 00000000..4aa4cbc0 --- /dev/null +++ b/docs/models/components/FailedWorkflowDto.md @@ -0,0 +1,12 @@ +# FailedWorkflowDto + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `resourceId` | *String* | :heavy_check_mark: | Resource ID | +| `resourceName` | *String* | :heavy_check_mark: | Resource name | +| `error` | *String* | :heavy_check_mark: | Error message | +| `stack` | *Optional\* | :heavy_minus_sign: | Error stack trace | \ No newline at end of file diff --git a/docs/models/components/GenerateLayoutPreviewResponseDtoType.md b/docs/models/components/GenerateLayoutPreviewResponseDtoType.md index 386efc3e..d5f479e1 100644 --- a/docs/models/components/GenerateLayoutPreviewResponseDtoType.md +++ b/docs/models/components/GenerateLayoutPreviewResponseDtoType.md @@ -1,5 +1,13 @@ # GenerateLayoutPreviewResponseDtoType +## Example Usage + +```java +import co.novu.models.components.GenerateLayoutPreviewResponseDtoType; + +GenerateLayoutPreviewResponseDtoType value = GenerateLayoutPreviewResponseDtoType.EMAIL; +``` + ## Values diff --git a/docs/models/components/GetChannelConnectionResponseDtoChannel.md b/docs/models/components/GetChannelConnectionResponseDtoChannel.md index 6c63cb15..d9bf8ab7 100644 --- a/docs/models/components/GetChannelConnectionResponseDtoChannel.md +++ b/docs/models/components/GetChannelConnectionResponseDtoChannel.md @@ -2,6 +2,17 @@ The channel type (email, sms, push, chat, etc.). +## Example Usage + +```java +import co.novu.models.components.GetChannelConnectionResponseDtoChannel; + +GetChannelConnectionResponseDtoChannel value = GetChannelConnectionResponseDtoChannel.IN_APP; + +// Open enum: use .of() to create instances from custom string values +GetChannelConnectionResponseDtoChannel custom = GetChannelConnectionResponseDtoChannel.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/GetChannelConnectionResponseDtoProviderId.md b/docs/models/components/GetChannelConnectionResponseDtoProviderId.md index 72edf5ca..8612d7f4 100644 --- a/docs/models/components/GetChannelConnectionResponseDtoProviderId.md +++ b/docs/models/components/GetChannelConnectionResponseDtoProviderId.md @@ -2,6 +2,17 @@ The provider identifier (e.g., sendgrid, twilio, slack, etc.). +## Example Usage + +```java +import co.novu.models.components.GetChannelConnectionResponseDtoProviderId; + +GetChannelConnectionResponseDtoProviderId value = GetChannelConnectionResponseDtoProviderId.EMAILJS; + +// Open enum: use .of() to create instances from custom string values +GetChannelConnectionResponseDtoProviderId custom = GetChannelConnectionResponseDtoProviderId.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/GetChannelEndpointResponseDtoChannel.md b/docs/models/components/GetChannelEndpointResponseDtoChannel.md index 4cac0681..e81d3fd5 100644 --- a/docs/models/components/GetChannelEndpointResponseDtoChannel.md +++ b/docs/models/components/GetChannelEndpointResponseDtoChannel.md @@ -2,6 +2,17 @@ The channel type (email, sms, push, chat, etc.). +## Example Usage + +```java +import co.novu.models.components.GetChannelEndpointResponseDtoChannel; + +GetChannelEndpointResponseDtoChannel value = GetChannelEndpointResponseDtoChannel.IN_APP; + +// Open enum: use .of() to create instances from custom string values +GetChannelEndpointResponseDtoChannel custom = GetChannelEndpointResponseDtoChannel.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/GetChannelEndpointResponseDtoProviderId.md b/docs/models/components/GetChannelEndpointResponseDtoProviderId.md index c940c5f5..3c2fa51e 100644 --- a/docs/models/components/GetChannelEndpointResponseDtoProviderId.md +++ b/docs/models/components/GetChannelEndpointResponseDtoProviderId.md @@ -2,6 +2,17 @@ The provider identifier (e.g., sendgrid, twilio, slack, etc.). +## Example Usage + +```java +import co.novu.models.components.GetChannelEndpointResponseDtoProviderId; + +GetChannelEndpointResponseDtoProviderId value = GetChannelEndpointResponseDtoProviderId.EMAILJS; + +// Open enum: use .of() to create instances from custom string values +GetChannelEndpointResponseDtoProviderId custom = GetChannelEndpointResponseDtoProviderId.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/GetChannelEndpointResponseDtoType.md b/docs/models/components/GetChannelEndpointResponseDtoType.md index 171d3115..4d4cd706 100644 --- a/docs/models/components/GetChannelEndpointResponseDtoType.md +++ b/docs/models/components/GetChannelEndpointResponseDtoType.md @@ -2,6 +2,17 @@ Type of channel endpoint +## Example Usage + +```java +import co.novu.models.components.GetChannelEndpointResponseDtoType; + +GetChannelEndpointResponseDtoType value = GetChannelEndpointResponseDtoType.SLACK_CHANNEL; + +// Open enum: use .of() to create instances from custom string values +GetChannelEndpointResponseDtoType custom = GetChannelEndpointResponseDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/InAppStepResponseDto.md b/docs/models/components/InAppStepResponseDto.md index 71dadfa0..58334681 100644 --- a/docs/models/components/InAppStepResponseDto.md +++ b/docs/models/components/InAppStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/IntegrationIssueEnum.md b/docs/models/components/IntegrationIssueEnum.md index 3148ce51..04e7ec7f 100644 --- a/docs/models/components/IntegrationIssueEnum.md +++ b/docs/models/components/IntegrationIssueEnum.md @@ -2,6 +2,17 @@ Type of integration issue +## Example Usage + +```java +import co.novu.models.components.IntegrationIssueEnum; + +IntegrationIssueEnum value = IntegrationIssueEnum.MISSING_INTEGRATION; + +// Open enum: use .of() to create instances from custom string values +IntegrationIssueEnum custom = IntegrationIssueEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/IntegrationResponseDtoChannel.md b/docs/models/components/IntegrationResponseDtoChannel.md index 25e24d23..a307da32 100644 --- a/docs/models/components/IntegrationResponseDtoChannel.md +++ b/docs/models/components/IntegrationResponseDtoChannel.md @@ -2,6 +2,17 @@ The channel type for the integration, which defines how the integration communicates (e.g., email, SMS). +## Example Usage + +```java +import co.novu.models.components.IntegrationResponseDtoChannel; + +IntegrationResponseDtoChannel value = IntegrationResponseDtoChannel.IN_APP; + +// Open enum: use .of() to create instances from custom string values +IntegrationResponseDtoChannel custom = IntegrationResponseDtoChannel.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/IssueType.md b/docs/models/components/IssueType.md index 40c79175..d98bf562 100644 --- a/docs/models/components/IssueType.md +++ b/docs/models/components/IssueType.md @@ -1,5 +1,16 @@ # IssueType +## Example Usage + +```java +import co.novu.models.components.IssueType; + +IssueType value = IssueType.MISSING_VALUE; + +// Open enum: use .of() to create instances from custom string values +IssueType custom = IssueType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/LayoutCreationSourceEnum.md b/docs/models/components/LayoutCreationSourceEnum.md index e00f6ca6..5d7b5ac7 100644 --- a/docs/models/components/LayoutCreationSourceEnum.md +++ b/docs/models/components/LayoutCreationSourceEnum.md @@ -2,6 +2,14 @@ Source of layout creation +## Example Usage + +```java +import co.novu.models.components.LayoutCreationSourceEnum; + +LayoutCreationSourceEnum value = LayoutCreationSourceEnum.DASHBOARD; +``` + ## Values diff --git a/docs/models/components/LayoutResponseDtoSortField.md b/docs/models/components/LayoutResponseDtoSortField.md index bf7c7b78..ba3b0338 100644 --- a/docs/models/components/LayoutResponseDtoSortField.md +++ b/docs/models/components/LayoutResponseDtoSortField.md @@ -1,5 +1,13 @@ # LayoutResponseDtoSortField +## Example Usage + +```java +import co.novu.models.components.LayoutResponseDtoSortField; + +LayoutResponseDtoSortField value = LayoutResponseDtoSortField.CREATED_AT; +``` + ## Values diff --git a/docs/models/components/LookBackWindowDtoUnit.md b/docs/models/components/LookBackWindowDtoUnit.md index 8c87e1c1..7b2fb3cc 100644 --- a/docs/models/components/LookBackWindowDtoUnit.md +++ b/docs/models/components/LookBackWindowDtoUnit.md @@ -2,6 +2,17 @@ Unit of time for the look-back window. +## Example Usage + +```java +import co.novu.models.components.LookBackWindowDtoUnit; + +LookBackWindowDtoUnit value = LookBackWindowDtoUnit.SECONDS; + +// Open enum: use .of() to create instances from custom string values +LookBackWindowDtoUnit custom = LookBackWindowDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/MarkAllMessageAsRequestDtoMarkAs.md b/docs/models/components/MarkAllMessageAsRequestDtoMarkAs.md index 5f3ec2f4..fa6007ab 100644 --- a/docs/models/components/MarkAllMessageAsRequestDtoMarkAs.md +++ b/docs/models/components/MarkAllMessageAsRequestDtoMarkAs.md @@ -2,6 +2,14 @@ Mark all subscriber messages as read, unread, seen or unseen +## Example Usage + +```java +import co.novu.models.components.MarkAllMessageAsRequestDtoMarkAs; + +MarkAllMessageAsRequestDtoMarkAs value = MarkAllMessageAsRequestDtoMarkAs.READ; +``` + ## Values diff --git a/docs/models/components/MarkMessageActionAsSeenDtoStatus.md b/docs/models/components/MarkMessageActionAsSeenDtoStatus.md index 0178991e..c72a1d80 100644 --- a/docs/models/components/MarkMessageActionAsSeenDtoStatus.md +++ b/docs/models/components/MarkMessageActionAsSeenDtoStatus.md @@ -2,6 +2,14 @@ Message action status +## Example Usage + +```java +import co.novu.models.components.MarkMessageActionAsSeenDtoStatus; + +MarkMessageActionAsSeenDtoStatus value = MarkMessageActionAsSeenDtoStatus.PENDING; +``` + ## Values diff --git a/docs/models/components/MessageActionStatusEnum.md b/docs/models/components/MessageActionStatusEnum.md index 5836499c..5d4ebf35 100644 --- a/docs/models/components/MessageActionStatusEnum.md +++ b/docs/models/components/MessageActionStatusEnum.md @@ -2,6 +2,17 @@ Status of the message action +## Example Usage + +```java +import co.novu.models.components.MessageActionStatusEnum; + +MessageActionStatusEnum value = MessageActionStatusEnum.PENDING; + +// Open enum: use .of() to create instances from custom string values +MessageActionStatusEnum custom = MessageActionStatusEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/MessageMarkAsRequestDtoMarkAs.md b/docs/models/components/MessageMarkAsRequestDtoMarkAs.md index 13c5a1df..38c2d026 100644 --- a/docs/models/components/MessageMarkAsRequestDtoMarkAs.md +++ b/docs/models/components/MessageMarkAsRequestDtoMarkAs.md @@ -1,5 +1,13 @@ # MessageMarkAsRequestDtoMarkAs +## Example Usage + +```java +import co.novu.models.components.MessageMarkAsRequestDtoMarkAs; + +MessageMarkAsRequestDtoMarkAs value = MessageMarkAsRequestDtoMarkAs.READ; +``` + ## Values diff --git a/docs/models/components/MessageStatusEnum.md b/docs/models/components/MessageStatusEnum.md index 8aa4778a..f816ae97 100644 --- a/docs/models/components/MessageStatusEnum.md +++ b/docs/models/components/MessageStatusEnum.md @@ -2,6 +2,17 @@ Status of the message +## Example Usage + +```java +import co.novu.models.components.MessageStatusEnum; + +MessageStatusEnum value = MessageStatusEnum.SENT; + +// Open enum: use .of() to create instances from custom string values +MessageStatusEnum custom = MessageStatusEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/MonthlyType.md b/docs/models/components/MonthlyType.md index 2f4c06e0..80120b52 100644 --- a/docs/models/components/MonthlyType.md +++ b/docs/models/components/MonthlyType.md @@ -1,5 +1,16 @@ # MonthlyType +## Example Usage + +```java +import co.novu.models.components.MonthlyType; + +MonthlyType value = MonthlyType.EACH; + +// Open enum: use .of() to create instances from custom string values +MonthlyType custom = MonthlyType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/MonthlyTypeEnum.md b/docs/models/components/MonthlyTypeEnum.md index f70026fc..d8d592dc 100644 --- a/docs/models/components/MonthlyTypeEnum.md +++ b/docs/models/components/MonthlyTypeEnum.md @@ -2,6 +2,17 @@ Type of monthly schedule +## Example Usage + +```java +import co.novu.models.components.MonthlyTypeEnum; + +MonthlyTypeEnum value = MonthlyTypeEnum.EACH; + +// Open enum: use .of() to create instances from custom string values +MonthlyTypeEnum custom = MonthlyTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/NotificationFeedItemDtoStatus.md b/docs/models/components/NotificationFeedItemDtoStatus.md index 6d53216c..c98bcf62 100644 --- a/docs/models/components/NotificationFeedItemDtoStatus.md +++ b/docs/models/components/NotificationFeedItemDtoStatus.md @@ -2,6 +2,17 @@ Current status of the notification. +## Example Usage + +```java +import co.novu.models.components.NotificationFeedItemDtoStatus; + +NotificationFeedItemDtoStatus value = NotificationFeedItemDtoStatus.SENT; + +// Open enum: use .of() to create instances from custom string values +NotificationFeedItemDtoStatus custom = NotificationFeedItemDtoStatus.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/NotificationTriggerDtoType.md b/docs/models/components/NotificationTriggerDtoType.md index c4dc40bb..a7a5c3ea 100644 --- a/docs/models/components/NotificationTriggerDtoType.md +++ b/docs/models/components/NotificationTriggerDtoType.md @@ -2,6 +2,14 @@ Type of the trigger +## Example Usage + +```java +import co.novu.models.components.NotificationTriggerDtoType; + +NotificationTriggerDtoType value = NotificationTriggerDtoType.EVENT; +``` + ## Values diff --git a/docs/models/components/NotificationTriggerType.md b/docs/models/components/NotificationTriggerType.md index 39c83667..9e834870 100644 --- a/docs/models/components/NotificationTriggerType.md +++ b/docs/models/components/NotificationTriggerType.md @@ -1,5 +1,13 @@ # NotificationTriggerType +## Example Usage + +```java +import co.novu.models.components.NotificationTriggerType; + +NotificationTriggerType value = NotificationTriggerType.EVENT; +``` + ## Values diff --git a/docs/models/components/On.md b/docs/models/components/On.md index 3efe5278..6b843d27 100644 --- a/docs/models/components/On.md +++ b/docs/models/components/On.md @@ -1,5 +1,16 @@ # On +## Example Usage + +```java +import co.novu.models.components.On; + +On value = On.SUBSCRIBER; + +// Open enum: use .of() to create instances from custom string values +On custom = On.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/Operator.md b/docs/models/components/Operator.md index f6e85862..9e9442f6 100644 --- a/docs/models/components/Operator.md +++ b/docs/models/components/Operator.md @@ -1,5 +1,16 @@ # Operator +## Example Usage + +```java +import co.novu.models.components.Operator; + +Operator value = Operator.LARGER; + +// Open enum: use .of() to create instances from custom string values +Operator custom = Operator.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/Ordinal.md b/docs/models/components/Ordinal.md index aa626726..1a4cb798 100644 --- a/docs/models/components/Ordinal.md +++ b/docs/models/components/Ordinal.md @@ -1,5 +1,16 @@ # Ordinal +## Example Usage + +```java +import co.novu.models.components.Ordinal; + +Ordinal value = Ordinal.ONE; + +// Open enum: use .of() to create instances from custom string values +Ordinal custom = Ordinal.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/OrdinalEnum.md b/docs/models/components/OrdinalEnum.md index 55025aac..48f18e0f 100644 --- a/docs/models/components/OrdinalEnum.md +++ b/docs/models/components/OrdinalEnum.md @@ -2,6 +2,17 @@ Ordinal position for the digest +## Example Usage + +```java +import co.novu.models.components.OrdinalEnum; + +OrdinalEnum value = OrdinalEnum.ONE; + +// Open enum: use .of() to create instances from custom string values +OrdinalEnum custom = OrdinalEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/OrdinalValue.md b/docs/models/components/OrdinalValue.md index 06729367..d6b3eabb 100644 --- a/docs/models/components/OrdinalValue.md +++ b/docs/models/components/OrdinalValue.md @@ -1,5 +1,16 @@ # OrdinalValue +## Example Usage + +```java +import co.novu.models.components.OrdinalValue; + +OrdinalValue value = OrdinalValue.DAY; + +// Open enum: use .of() to create instances from custom string values +OrdinalValue custom = OrdinalValue.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/OrdinalValueEnum.md b/docs/models/components/OrdinalValueEnum.md index 514d50a1..44a4355d 100644 --- a/docs/models/components/OrdinalValueEnum.md +++ b/docs/models/components/OrdinalValueEnum.md @@ -2,6 +2,17 @@ Value of the ordinal +## Example Usage + +```java +import co.novu.models.components.OrdinalValueEnum; + +OrdinalValueEnum value = OrdinalValueEnum.DAY; + +// Open enum: use .of() to create instances from custom string values +OrdinalValueEnum custom = OrdinalValueEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/PreferenceLevelEnum.md b/docs/models/components/PreferenceLevelEnum.md index 5d81dc2b..fd308fe8 100644 --- a/docs/models/components/PreferenceLevelEnum.md +++ b/docs/models/components/PreferenceLevelEnum.md @@ -2,6 +2,17 @@ The level of the preference (global or template) +## Example Usage + +```java +import co.novu.models.components.PreferenceLevelEnum; + +PreferenceLevelEnum value = PreferenceLevelEnum.GLOBAL; + +// Open enum: use .of() to create instances from custom string values +PreferenceLevelEnum custom = PreferenceLevelEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/PreferenceOverrideSourceEnum.md b/docs/models/components/PreferenceOverrideSourceEnum.md index 679580b3..25c2f40e 100644 --- a/docs/models/components/PreferenceOverrideSourceEnum.md +++ b/docs/models/components/PreferenceOverrideSourceEnum.md @@ -2,6 +2,17 @@ The source of overrides +## Example Usage + +```java +import co.novu.models.components.PreferenceOverrideSourceEnum; + +PreferenceOverrideSourceEnum value = PreferenceOverrideSourceEnum.SUBSCRIBER; + +// Open enum: use .of() to create instances from custom string values +PreferenceOverrideSourceEnum custom = PreferenceOverrideSourceEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ProvidersIdEnum.md b/docs/models/components/ProvidersIdEnum.md index 552acd8c..c6f76286 100644 --- a/docs/models/components/ProvidersIdEnum.md +++ b/docs/models/components/ProvidersIdEnum.md @@ -2,6 +2,17 @@ Provider ID of the job +## Example Usage + +```java +import co.novu.models.components.ProvidersIdEnum; + +ProvidersIdEnum value = ProvidersIdEnum.EMAILJS; + +// Open enum: use .of() to create instances from custom string values +ProvidersIdEnum custom = ProvidersIdEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/PublishEnvironmentRequestDto.md b/docs/models/components/PublishEnvironmentRequestDto.md new file mode 100644 index 00000000..4f8f3af4 --- /dev/null +++ b/docs/models/components/PublishEnvironmentRequestDto.md @@ -0,0 +1,10 @@ +# PublishEnvironmentRequestDto + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | +| `sourceEnvironmentId` | *Optional\* | :heavy_minus_sign: | Source environment ID to sync from. Defaults to the Development environment if not provided. | 507f1f77bcf86cd799439011 | +| `dryRun` | *Optional\* | :heavy_minus_sign: | Perform a dry run without making actual changes | | +| `resources` | List\<[ResourceToPublishDto](../../models/components/ResourceToPublishDto.md)> | :heavy_minus_sign: | Array of specific resources to publish. If not provided, all resources will be published. | | \ No newline at end of file diff --git a/docs/models/components/PublishEnvironmentResponseDto.md b/docs/models/components/PublishEnvironmentResponseDto.md new file mode 100644 index 00000000..0cb4cff3 --- /dev/null +++ b/docs/models/components/PublishEnvironmentResponseDto.md @@ -0,0 +1,9 @@ +# PublishEnvironmentResponseDto + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | +| `results` | List\<[SyncResultDto](../../models/components/SyncResultDto.md)> | :heavy_check_mark: | Sync results by resource type | +| `summary` | [PublishSummaryDto](../../models/components/PublishSummaryDto.md) | :heavy_check_mark: | Summary of the sync operation | \ No newline at end of file diff --git a/docs/models/components/PublishSummaryDto.md b/docs/models/components/PublishSummaryDto.md new file mode 100644 index 00000000..9a1976ac --- /dev/null +++ b/docs/models/components/PublishSummaryDto.md @@ -0,0 +1,11 @@ +# PublishSummaryDto + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------- | ----------------------------- | ----------------------------- | ----------------------------- | +| `resources` | *double* | :heavy_check_mark: | Number of resources processed | +| `successful` | *double* | :heavy_check_mark: | Number of successful syncs | +| `failed` | *double* | :heavy_check_mark: | Number of failed syncs | +| `skipped` | *double* | :heavy_check_mark: | Number of skipped resources | \ No newline at end of file diff --git a/docs/models/components/PushStepResponseDto.md b/docs/models/components/PushStepResponseDto.md index 57502828..67898d0e 100644 --- a/docs/models/components/PushStepResponseDto.md +++ b/docs/models/components/PushStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/ResourceDependencyDto.md b/docs/models/components/ResourceDependencyDto.md new file mode 100644 index 00000000..45ca1583 --- /dev/null +++ b/docs/models/components/ResourceDependencyDto.md @@ -0,0 +1,12 @@ +# ResourceDependencyDto + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `resourceId` | *String* | :heavy_check_mark: | ID of the dependent resource | +| `resourceName` | *String* | :heavy_check_mark: | Name of the dependent resource | +| `isBlocking` | *boolean* | :heavy_check_mark: | Whether this dependency blocks the operation | +| `reason` | [DependencyReasonEnum](../../models/components/DependencyReasonEnum.md) | :heavy_check_mark: | Reason for the dependency | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffDto.md b/docs/models/components/ResourceDiffDto.md new file mode 100644 index 00000000..8c1838ac --- /dev/null +++ b/docs/models/components/ResourceDiffDto.md @@ -0,0 +1,15 @@ +# ResourceDiffDto + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | +| `sourceResource` | [JsonNullable\](../../models/components/ResourceDiffDtoSourceResource.md) | :heavy_minus_sign: | Source resource information | +| `targetResource` | [JsonNullable\](../../models/components/ResourceDiffDtoTargetResource.md) | :heavy_minus_sign: | Target resource information | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `action` | [DiffActionEnum](../../models/components/DiffActionEnum.md) | :heavy_check_mark: | Type of change | +| `diffs` | [Optional\](../../models/components/Diffs.md) | :heavy_minus_sign: | Detailed changes (only for modified resources) | +| `stepType` | *Optional\* | :heavy_minus_sign: | Step type (only for step resources) | +| `previousIndex` | *Optional\* | :heavy_minus_sign: | Previous index in steps array (for moved/deleted steps) | +| `newIndex` | *Optional\* | :heavy_minus_sign: | New index in steps array (for moved/added steps) | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffDtoSourceResource.md b/docs/models/components/ResourceDiffDtoSourceResource.md new file mode 100644 index 00000000..c434b7b8 --- /dev/null +++ b/docs/models/components/ResourceDiffDtoSourceResource.md @@ -0,0 +1,13 @@ +# ResourceDiffDtoSourceResource + +Source resource information + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *JsonNullable\* | :heavy_minus_sign: | Resource ID (workflow ID or step ID) | | +| `name` | *JsonNullable\* | :heavy_minus_sign: | Resource name (workflow name or step name) | | +| `updatedBy` | [JsonNullable\](../../models/components/ResourceDiffDtoSourceResourceUpdatedBy.md) | :heavy_minus_sign: | User who last updated the resource | | +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | When the resource was last updated | 2024-01-15T10:30:00.000Z | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffDtoSourceResourceUpdatedBy.md b/docs/models/components/ResourceDiffDtoSourceResourceUpdatedBy.md new file mode 100644 index 00000000..50585bc1 --- /dev/null +++ b/docs/models/components/ResourceDiffDtoSourceResourceUpdatedBy.md @@ -0,0 +1,13 @@ +# ResourceDiffDtoSourceResourceUpdatedBy + +User who last updated the resource + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `id` | *String* | :heavy_check_mark: | User ID | +| `firstName` | *String* | :heavy_check_mark: | User first name | +| `lastName` | *JsonNullable\* | :heavy_minus_sign: | User last name | +| `externalId` | *Optional\* | :heavy_minus_sign: | User external ID | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffDtoTargetResource.md b/docs/models/components/ResourceDiffDtoTargetResource.md new file mode 100644 index 00000000..e0f00800 --- /dev/null +++ b/docs/models/components/ResourceDiffDtoTargetResource.md @@ -0,0 +1,13 @@ +# ResourceDiffDtoTargetResource + +Target resource information + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `id` | *JsonNullable\* | :heavy_minus_sign: | Resource ID (workflow ID or step ID) | | +| `name` | *JsonNullable\* | :heavy_minus_sign: | Resource name (workflow name or step name) | | +| `updatedBy` | [JsonNullable\](../../models/components/ResourceDiffDtoTargetResourceUpdatedBy.md) | :heavy_minus_sign: | User who last updated the resource | | +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | When the resource was last updated | 2024-01-15T10:30:00.000Z | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffDtoTargetResourceUpdatedBy.md b/docs/models/components/ResourceDiffDtoTargetResourceUpdatedBy.md new file mode 100644 index 00000000..3fa5c91d --- /dev/null +++ b/docs/models/components/ResourceDiffDtoTargetResourceUpdatedBy.md @@ -0,0 +1,13 @@ +# ResourceDiffDtoTargetResourceUpdatedBy + +User who last updated the resource + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `id` | *String* | :heavy_check_mark: | User ID | +| `firstName` | *String* | :heavy_check_mark: | User first name | +| `lastName` | *JsonNullable\* | :heavy_minus_sign: | User last name | +| `externalId` | *Optional\* | :heavy_minus_sign: | User external ID | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffResultDto.md b/docs/models/components/ResourceDiffResultDto.md new file mode 100644 index 00000000..ab2cbdf6 --- /dev/null +++ b/docs/models/components/ResourceDiffResultDto.md @@ -0,0 +1,13 @@ +# ResourceDiffResultDto + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `sourceResource` | [JsonNullable\](../../models/components/ResourceDiffResultDtoSourceResource.md) | :heavy_minus_sign: | Source resource information | +| `targetResource` | [JsonNullable\](../../models/components/ResourceDiffResultDtoTargetResource.md) | :heavy_minus_sign: | Target resource information | +| `changes` | List\<[ResourceDiffDto](../../models/components/ResourceDiffDto.md)> | :heavy_check_mark: | List of specific changes for this resource | +| `summary` | [DiffSummaryDto](../../models/components/DiffSummaryDto.md) | :heavy_check_mark: | Summary of changes for this resource | +| `dependencies` | List\<[ResourceDependencyDto](../../models/components/ResourceDependencyDto.md)> | :heavy_minus_sign: | Dependencies that affect this resource | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffResultDtoSourceResource.md b/docs/models/components/ResourceDiffResultDtoSourceResource.md new file mode 100644 index 00000000..5eb0d32a --- /dev/null +++ b/docs/models/components/ResourceDiffResultDtoSourceResource.md @@ -0,0 +1,13 @@ +# ResourceDiffResultDtoSourceResource + +Source resource information + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *JsonNullable\* | :heavy_minus_sign: | Resource ID (workflow ID or step ID) | | +| `name` | *JsonNullable\* | :heavy_minus_sign: | Resource name (workflow name or step name) | | +| `updatedBy` | [JsonNullable\](../../models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.md) | :heavy_minus_sign: | User who last updated the resource | | +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | When the resource was last updated | 2024-01-15T10:30:00.000Z | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.md b/docs/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.md new file mode 100644 index 00000000..715b8626 --- /dev/null +++ b/docs/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.md @@ -0,0 +1,13 @@ +# ResourceDiffResultDtoSourceResourceUpdatedBy + +User who last updated the resource + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `id` | *String* | :heavy_check_mark: | User ID | +| `firstName` | *String* | :heavy_check_mark: | User first name | +| `lastName` | *JsonNullable\* | :heavy_minus_sign: | User last name | +| `externalId` | *Optional\* | :heavy_minus_sign: | User external ID | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffResultDtoTargetResource.md b/docs/models/components/ResourceDiffResultDtoTargetResource.md new file mode 100644 index 00000000..facc6e3c --- /dev/null +++ b/docs/models/components/ResourceDiffResultDtoTargetResource.md @@ -0,0 +1,13 @@ +# ResourceDiffResultDtoTargetResource + +Target resource information + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *JsonNullable\* | :heavy_minus_sign: | Resource ID (workflow ID or step ID) | | +| `name` | *JsonNullable\* | :heavy_minus_sign: | Resource name (workflow name or step name) | | +| `updatedBy` | [JsonNullable\](../../models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.md) | :heavy_minus_sign: | User who last updated the resource | | +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | When the resource was last updated | 2024-01-15T10:30:00.000Z | \ No newline at end of file diff --git a/docs/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.md b/docs/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.md new file mode 100644 index 00000000..0cac739c --- /dev/null +++ b/docs/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.md @@ -0,0 +1,13 @@ +# ResourceDiffResultDtoTargetResourceUpdatedBy + +User who last updated the resource + + +## Fields + +| Field | Type | Required | Description | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `id` | *String* | :heavy_check_mark: | User ID | +| `firstName` | *String* | :heavy_check_mark: | User first name | +| `lastName` | *JsonNullable\* | :heavy_minus_sign: | User last name | +| `externalId` | *Optional\* | :heavy_minus_sign: | User external ID | \ No newline at end of file diff --git a/docs/models/components/ResourceOriginEnum.md b/docs/models/components/ResourceOriginEnum.md index d13caba5..eddc819a 100644 --- a/docs/models/components/ResourceOriginEnum.md +++ b/docs/models/components/ResourceOriginEnum.md @@ -2,6 +2,17 @@ Origin of the layout +## Example Usage + +```java +import co.novu.models.components.ResourceOriginEnum; + +ResourceOriginEnum value = ResourceOriginEnum.NOVU_CLOUD; + +// Open enum: use .of() to create instances from custom string values +ResourceOriginEnum custom = ResourceOriginEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ResourceToPublishDto.md b/docs/models/components/ResourceToPublishDto.md new file mode 100644 index 00000000..b7def35e --- /dev/null +++ b/docs/models/components/ResourceToPublishDto.md @@ -0,0 +1,9 @@ +# ResourceToPublishDto + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | | +| `resourceId` | *String* | :heavy_check_mark: | Unique identifier of the resource to publish | workflow-id-1 | \ No newline at end of file diff --git a/docs/models/components/ResourceTypeEnum.md b/docs/models/components/ResourceTypeEnum.md index f512fb04..905c66f0 100644 --- a/docs/models/components/ResourceTypeEnum.md +++ b/docs/models/components/ResourceTypeEnum.md @@ -2,6 +2,17 @@ Type of the layout +## Example Usage + +```java +import co.novu.models.components.ResourceTypeEnum; + +ResourceTypeEnum value = ResourceTypeEnum.REGULAR; + +// Open enum: use .of() to create instances from custom string values +ResourceTypeEnum custom = ResourceTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/SeverityLevelEnum.md b/docs/models/components/SeverityLevelEnum.md index 833bae2f..7f52615e 100644 --- a/docs/models/components/SeverityLevelEnum.md +++ b/docs/models/components/SeverityLevelEnum.md @@ -2,6 +2,17 @@ Severity of the workflow +## Example Usage + +```java +import co.novu.models.components.SeverityLevelEnum; + +SeverityLevelEnum value = SeverityLevelEnum.HIGH; + +// Open enum: use .of() to create instances from custom string values +SeverityLevelEnum custom = SeverityLevelEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/SkippedWorkflowDto.md b/docs/models/components/SkippedWorkflowDto.md new file mode 100644 index 00000000..e5b156c6 --- /dev/null +++ b/docs/models/components/SkippedWorkflowDto.md @@ -0,0 +1,11 @@ +# SkippedWorkflowDto + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `resourceId` | *String* | :heavy_check_mark: | Resource ID | +| `resourceName` | *String* | :heavy_check_mark: | Resource name | +| `reason` | *String* | :heavy_check_mark: | Reason for skipping | \ No newline at end of file diff --git a/docs/models/components/SmsStepResponseDto.md b/docs/models/components/SmsStepResponseDto.md index ecf5ad71..756f5a91 100644 --- a/docs/models/components/SmsStepResponseDto.md +++ b/docs/models/components/SmsStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/StepResponseDto.md b/docs/models/components/StepResponseDto.md index d8dfda71..f7bc441e 100644 --- a/docs/models/components/StepResponseDto.md +++ b/docs/models/components/StepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/StepTypeEnum.md b/docs/models/components/StepTypeEnum.md index e789781e..0a4eb2c6 100644 --- a/docs/models/components/StepTypeEnum.md +++ b/docs/models/components/StepTypeEnum.md @@ -2,6 +2,17 @@ Type of the step +## Example Usage + +```java +import co.novu.models.components.StepTypeEnum; + +StepTypeEnum value = StepTypeEnum.IN_APP; + +// Open enum: use .of() to create instances from custom string values +StepTypeEnum custom = StepTypeEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/SubscriberChannelDtoProviderId.md b/docs/models/components/SubscriberChannelDtoProviderId.md index c80ebd8b..6b9961a4 100644 --- a/docs/models/components/SubscriberChannelDtoProviderId.md +++ b/docs/models/components/SubscriberChannelDtoProviderId.md @@ -2,6 +2,14 @@ The ID of the chat or push provider. +## Example Usage + +```java +import co.novu.models.components.SubscriberChannelDtoProviderId; + +SubscriberChannelDtoProviderId value = SubscriberChannelDtoProviderId.SLACK; +``` + ## Values diff --git a/docs/models/components/SyncActionEnum.md b/docs/models/components/SyncActionEnum.md new file mode 100644 index 00000000..d29ea6eb --- /dev/null +++ b/docs/models/components/SyncActionEnum.md @@ -0,0 +1,24 @@ +# SyncActionEnum + +Sync action performed + +## Example Usage + +```java +import co.novu.models.components.SyncActionEnum; + +SyncActionEnum value = SyncActionEnum.CREATED; + +// Open enum: use .of() to create instances from custom string values +SyncActionEnum custom = SyncActionEnum.of("custom_value"); +``` + + +## Values + +| Name | Value | +| --------- | --------- | +| `CREATED` | created | +| `UPDATED` | updated | +| `SKIPPED` | skipped | +| `DELETED` | deleted | \ No newline at end of file diff --git a/docs/models/components/SyncResultDto.md b/docs/models/components/SyncResultDto.md new file mode 100644 index 00000000..fc7c15e1 --- /dev/null +++ b/docs/models/components/SyncResultDto.md @@ -0,0 +1,12 @@ +# SyncResultDto + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `successful` | List\<[SyncedWorkflowDto](../../models/components/SyncedWorkflowDto.md)> | :heavy_check_mark: | Successfully synced resources | +| `failed` | List\<[FailedWorkflowDto](../../models/components/FailedWorkflowDto.md)> | :heavy_check_mark: | Failed resource syncs | +| `skipped` | List\<[SkippedWorkflowDto](../../models/components/SkippedWorkflowDto.md)> | :heavy_check_mark: | Skipped resources | +| `totalProcessed` | *double* | :heavy_check_mark: | Total number of resources processed | \ No newline at end of file diff --git a/docs/models/components/SyncedWorkflowDto.md b/docs/models/components/SyncedWorkflowDto.md new file mode 100644 index 00000000..81ae88b5 --- /dev/null +++ b/docs/models/components/SyncedWorkflowDto.md @@ -0,0 +1,11 @@ +# SyncedWorkflowDto + + +## Fields + +| Field | Type | Required | Description | +| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | +| `resourceType` | [ResourceTypeEnum](../../models/components/ResourceTypeEnum.md) | :heavy_check_mark: | Type of the layout | +| `resourceId` | *String* | :heavy_check_mark: | Resource ID | +| `resourceName` | *String* | :heavy_check_mark: | Resource name | +| `action` | [SyncActionEnum](../../models/components/SyncActionEnum.md) | :heavy_check_mark: | Sync action performed | \ No newline at end of file diff --git a/docs/models/components/Target.md b/docs/models/components/Target.md index f287baf5..f28070c4 100644 --- a/docs/models/components/Target.md +++ b/docs/models/components/Target.md @@ -2,6 +2,17 @@ Target window for the redirection. +## Example Usage + +```java +import co.novu.models.components.Target; + +Target value = Target.SELF; + +// Open enum: use .of() to create instances from custom string values +Target custom = Target.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/TextAlignEnum.md b/docs/models/components/TextAlignEnum.md index b1c901a7..f5bc3491 100644 --- a/docs/models/components/TextAlignEnum.md +++ b/docs/models/components/TextAlignEnum.md @@ -2,6 +2,17 @@ Text alignment for the email block +## Example Usage + +```java +import co.novu.models.components.TextAlignEnum; + +TextAlignEnum value = TextAlignEnum.CENTER; + +// Open enum: use .of() to create instances from custom string values +TextAlignEnum custom = TextAlignEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ThrottleControlDtoType.md b/docs/models/components/ThrottleControlDtoType.md index 82ae3296..f753a7e0 100644 --- a/docs/models/components/ThrottleControlDtoType.md +++ b/docs/models/components/ThrottleControlDtoType.md @@ -2,6 +2,17 @@ The type of throttle window. +## Example Usage + +```java +import co.novu.models.components.ThrottleControlDtoType; + +ThrottleControlDtoType value = ThrottleControlDtoType.FIXED; + +// Open enum: use .of() to create instances from custom string values +ThrottleControlDtoType custom = ThrottleControlDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ThrottleControlDtoUnit.md b/docs/models/components/ThrottleControlDtoUnit.md index 83b05cef..3ac5786a 100644 --- a/docs/models/components/ThrottleControlDtoUnit.md +++ b/docs/models/components/ThrottleControlDtoUnit.md @@ -2,6 +2,17 @@ The unit of time for the throttle window (required for fixed type). +## Example Usage + +```java +import co.novu.models.components.ThrottleControlDtoUnit; + +ThrottleControlDtoUnit value = ThrottleControlDtoUnit.MINUTES; + +// Open enum: use .of() to create instances from custom string values +ThrottleControlDtoUnit custom = ThrottleControlDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ThrottleStepResponseDto.md b/docs/models/components/ThrottleStepResponseDto.md index dbb2a018..0b39a4c9 100644 --- a/docs/models/components/ThrottleStepResponseDto.md +++ b/docs/models/components/ThrottleStepResponseDto.md @@ -16,4 +16,5 @@ | `origin` | [ResourceOriginEnum](../../models/components/ResourceOriginEnum.md) | :heavy_check_mark: | Origin of the layout | | `workflowId` | *String* | :heavy_check_mark: | Workflow identifier | | `workflowDatabaseId` | *String* | :heavy_check_mark: | Workflow database identifier | -| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | \ No newline at end of file +| `issues` | [Optional\](../../models/components/StepIssuesDto.md) | :heavy_minus_sign: | Issues associated with the step | +| `stepResolverHash` | *Optional\* | :heavy_minus_sign: | Hash identifying the deployed Cloudflare Worker for this step | \ No newline at end of file diff --git a/docs/models/components/ThrottleStepResponseDtoType.md b/docs/models/components/ThrottleStepResponseDtoType.md index 6cd98260..7b672d51 100644 --- a/docs/models/components/ThrottleStepResponseDtoType.md +++ b/docs/models/components/ThrottleStepResponseDtoType.md @@ -2,6 +2,17 @@ The type of throttle window. +## Example Usage + +```java +import co.novu.models.components.ThrottleStepResponseDtoType; + +ThrottleStepResponseDtoType value = ThrottleStepResponseDtoType.FIXED; + +// Open enum: use .of() to create instances from custom string values +ThrottleStepResponseDtoType custom = ThrottleStepResponseDtoType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ThrottleStepResponseDtoUnit.md b/docs/models/components/ThrottleStepResponseDtoUnit.md index 4dbf78b7..bd2cd84b 100644 --- a/docs/models/components/ThrottleStepResponseDtoUnit.md +++ b/docs/models/components/ThrottleStepResponseDtoUnit.md @@ -2,6 +2,17 @@ The unit of time for the throttle window (required for fixed type). +## Example Usage + +```java +import co.novu.models.components.ThrottleStepResponseDtoUnit; + +ThrottleStepResponseDtoUnit value = ThrottleStepResponseDtoUnit.MINUTES; + +// Open enum: use .of() to create instances from custom string values +ThrottleStepResponseDtoUnit custom = ThrottleStepResponseDtoUnit.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/TimedConfigWeekDay.md b/docs/models/components/TimedConfigWeekDay.md index 48ddd5d3..8f6e0db4 100644 --- a/docs/models/components/TimedConfigWeekDay.md +++ b/docs/models/components/TimedConfigWeekDay.md @@ -1,5 +1,13 @@ # TimedConfigWeekDay +## Example Usage + +```java +import co.novu.models.components.TimedConfigWeekDay; + +TimedConfigWeekDay value = TimedConfigWeekDay.MONDAY; +``` + ## Values diff --git a/docs/models/components/TranslationGroupDtoResourceType.md b/docs/models/components/TranslationGroupDtoResourceType.md index c54b21d9..6a5221e0 100644 --- a/docs/models/components/TranslationGroupDtoResourceType.md +++ b/docs/models/components/TranslationGroupDtoResourceType.md @@ -2,6 +2,17 @@ Resource type +## Example Usage + +```java +import co.novu.models.components.TranslationGroupDtoResourceType; + +TranslationGroupDtoResourceType value = TranslationGroupDtoResourceType.WORKFLOW; + +// Open enum: use .of() to create instances from custom string values +TranslationGroupDtoResourceType custom = TranslationGroupDtoResourceType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/TranslationResponseDtoResourceType.md b/docs/models/components/TranslationResponseDtoResourceType.md index ce1a7f35..a8803a41 100644 --- a/docs/models/components/TranslationResponseDtoResourceType.md +++ b/docs/models/components/TranslationResponseDtoResourceType.md @@ -2,6 +2,17 @@ Resource type +## Example Usage + +```java +import co.novu.models.components.TranslationResponseDtoResourceType; + +TranslationResponseDtoResourceType value = TranslationResponseDtoResourceType.WORKFLOW; + +// Open enum: use .of() to create instances from custom string values +TranslationResponseDtoResourceType custom = TranslationResponseDtoResourceType.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/TriggerEventResponseDtoStatus.md b/docs/models/components/TriggerEventResponseDtoStatus.md index 92140d74..1654d4e5 100644 --- a/docs/models/components/TriggerEventResponseDtoStatus.md +++ b/docs/models/components/TriggerEventResponseDtoStatus.md @@ -2,6 +2,17 @@ Status of the trigger +## Example Usage + +```java +import co.novu.models.components.TriggerEventResponseDtoStatus; + +TriggerEventResponseDtoStatus value = TriggerEventResponseDtoStatus.ERROR; + +// Open enum: use .of() to create instances from custom string values +TriggerEventResponseDtoStatus custom = TriggerEventResponseDtoStatus.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/TriggerRecipientsTypeEnum.md b/docs/models/components/TriggerRecipientsTypeEnum.md index 3e2f1d58..d6273c0b 100644 --- a/docs/models/components/TriggerRecipientsTypeEnum.md +++ b/docs/models/components/TriggerRecipientsTypeEnum.md @@ -1,5 +1,13 @@ # TriggerRecipientsTypeEnum +## Example Usage + +```java +import co.novu.models.components.TriggerRecipientsTypeEnum; + +TriggerRecipientsTypeEnum value = TriggerRecipientsTypeEnum.SUBSCRIBER; +``` + ## Values diff --git a/docs/models/components/UiComponentEnum.md b/docs/models/components/UiComponentEnum.md index cb80dce5..2ecd4f3b 100644 --- a/docs/models/components/UiComponentEnum.md +++ b/docs/models/components/UiComponentEnum.md @@ -2,6 +2,17 @@ Component type for the UI Schema Property +## Example Usage + +```java +import co.novu.models.components.UiComponentEnum; + +UiComponentEnum value = UiComponentEnum.EMAIL_EDITOR_SELECT; + +// Open enum: use .of() to create instances from custom string values +UiComponentEnum custom = UiComponentEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/UiSchemaGroupEnum.md b/docs/models/components/UiSchemaGroupEnum.md index 1106a519..83dfa630 100644 --- a/docs/models/components/UiSchemaGroupEnum.md +++ b/docs/models/components/UiSchemaGroupEnum.md @@ -2,6 +2,17 @@ Group of the UI Schema +## Example Usage + +```java +import co.novu.models.components.UiSchemaGroupEnum; + +UiSchemaGroupEnum value = UiSchemaGroupEnum.IN_APP; + +// Open enum: use .of() to create instances from custom string values +UiSchemaGroupEnum custom = UiSchemaGroupEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/ValueEnum.md b/docs/models/components/ValueEnum.md index 4f50a66d..8544099f 100644 --- a/docs/models/components/ValueEnum.md +++ b/docs/models/components/ValueEnum.md @@ -1,5 +1,16 @@ # ValueEnum +## Example Usage + +```java +import co.novu.models.components.ValueEnum; + +ValueEnum value = ValueEnum.AND; + +// Open enum: use .of() to create instances from custom string values +ValueEnum custom = ValueEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/components/WorkflowCreationSourceEnum.md b/docs/models/components/WorkflowCreationSourceEnum.md index 4bbff52a..d102e2df 100644 --- a/docs/models/components/WorkflowCreationSourceEnum.md +++ b/docs/models/components/WorkflowCreationSourceEnum.md @@ -2,6 +2,14 @@ Source of workflow creation +## Example Usage + +```java +import co.novu.models.components.WorkflowCreationSourceEnum; + +WorkflowCreationSourceEnum value = WorkflowCreationSourceEnum.TEMPLATE_STORE; +``` + ## Values diff --git a/docs/models/components/WorkflowResponseDtoSortField.md b/docs/models/components/WorkflowResponseDtoSortField.md index 322ef0dc..8809ee79 100644 --- a/docs/models/components/WorkflowResponseDtoSortField.md +++ b/docs/models/components/WorkflowResponseDtoSortField.md @@ -1,5 +1,13 @@ # WorkflowResponseDtoSortField +## Example Usage + +```java +import co.novu.models.components.WorkflowResponseDtoSortField; + +WorkflowResponseDtoSortField value = WorkflowResponseDtoSortField.CREATED_AT; +``` + ## Values diff --git a/docs/models/components/WorkflowStatusEnum.md b/docs/models/components/WorkflowStatusEnum.md index 9f790b32..f6e39f2e 100644 --- a/docs/models/components/WorkflowStatusEnum.md +++ b/docs/models/components/WorkflowStatusEnum.md @@ -2,6 +2,17 @@ Status of the workflow +## Example Usage + +```java +import co.novu.models.components.WorkflowStatusEnum; + +WorkflowStatusEnum value = WorkflowStatusEnum.ACTIVE; + +// Open enum: use .of() to create instances from custom string values +WorkflowStatusEnum custom = WorkflowStatusEnum.of("custom_value"); +``` + ## Values diff --git a/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsChannel.md b/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsChannel.md index 5cfae6ea..7004e698 100644 --- a/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsChannel.md +++ b/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsChannel.md @@ -2,6 +2,14 @@ Filter by channel type (email, sms, push, chat, etc.). +## Example Usage + +```java +import co.novu.models.operations.ChannelConnectionsControllerListChannelConnectionsChannel; + +ChannelConnectionsControllerListChannelConnectionsChannel value = ChannelConnectionsControllerListChannelConnectionsChannel.IN_APP; +``` + ## Values diff --git a/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsOrderDirection.md b/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsOrderDirection.md index 5d5ba4b7..c7d4fe2f 100644 --- a/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsOrderDirection.md +++ b/docs/models/operations/ChannelConnectionsControllerListChannelConnectionsOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.ChannelConnectionsControllerListChannelConnectionsOrderDirection; + +ChannelConnectionsControllerListChannelConnectionsOrderDirection value = ChannelConnectionsControllerListChannelConnectionsOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsChannel.md b/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsChannel.md index ed8e0371..e77a38a8 100644 --- a/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsChannel.md +++ b/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsChannel.md @@ -2,6 +2,14 @@ Channel type to filter results. +## Example Usage + +```java +import co.novu.models.operations.ChannelEndpointsControllerListChannelEndpointsChannel; + +ChannelEndpointsControllerListChannelEndpointsChannel value = ChannelEndpointsControllerListChannelEndpointsChannel.IN_APP; +``` + ## Values diff --git a/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsOrderDirection.md b/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsOrderDirection.md index 36ca608c..1dfcc292 100644 --- a/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsOrderDirection.md +++ b/docs/models/operations/ChannelEndpointsControllerListChannelEndpointsOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.ChannelEndpointsControllerListChannelEndpointsOrderDirection; + +ChannelEndpointsControllerListChannelEndpointsOrderDirection value = ChannelEndpointsControllerListChannelEndpointsOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/ContextsControllerListContextsOrderDirection.md b/docs/models/operations/ContextsControllerListContextsOrderDirection.md index da2e510b..29a98d9b 100644 --- a/docs/models/operations/ContextsControllerListContextsOrderDirection.md +++ b/docs/models/operations/ContextsControllerListContextsOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.ContextsControllerListContextsOrderDirection; + +ContextsControllerListContextsOrderDirection value = ContextsControllerListContextsOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/Criticality.md b/docs/models/operations/Criticality.md index d4bc23b3..b7a367b7 100644 --- a/docs/models/operations/Criticality.md +++ b/docs/models/operations/Criticality.md @@ -1,5 +1,13 @@ # Criticality +## Example Usage + +```java +import co.novu.models.operations.Criticality; + +Criticality value = Criticality.CRITICAL; +``` + ## Values diff --git a/docs/models/operations/EnvironmentsControllerDiffEnvironmentRequest.md b/docs/models/operations/EnvironmentsControllerDiffEnvironmentRequest.md new file mode 100644 index 00000000..9fdf9b45 --- /dev/null +++ b/docs/models/operations/EnvironmentsControllerDiffEnvironmentRequest.md @@ -0,0 +1,10 @@ +# EnvironmentsControllerDiffEnvironmentRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `targetEnvironmentId` | *String* | :heavy_check_mark: | Target environment ID (MongoDB ObjectId) to compare against | 6615943e7ace93b0540ae377 | +| `idempotencyKey` | *Optional\* | :heavy_minus_sign: | A header for idempotency purposes | | +| `body` | [DiffEnvironmentRequestDto](../../models/components/DiffEnvironmentRequestDto.md) | :heavy_check_mark: | Diff request configuration | | \ No newline at end of file diff --git a/docs/models/operations/EnvironmentsControllerDiffEnvironmentResponse.md b/docs/models/operations/EnvironmentsControllerDiffEnvironmentResponse.md new file mode 100644 index 00000000..85739e6c --- /dev/null +++ b/docs/models/operations/EnvironmentsControllerDiffEnvironmentResponse.md @@ -0,0 +1,12 @@ +# EnvironmentsControllerDiffEnvironmentResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `diffEnvironmentResponseDto` | [Optional\](../../models/components/DiffEnvironmentResponseDto.md) | :heavy_minus_sign: | OK | +| `headers` | Map\> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/EnvironmentsControllerPublishEnvironmentRequest.md b/docs/models/operations/EnvironmentsControllerPublishEnvironmentRequest.md new file mode 100644 index 00000000..99b8c6a1 --- /dev/null +++ b/docs/models/operations/EnvironmentsControllerPublishEnvironmentRequest.md @@ -0,0 +1,10 @@ +# EnvironmentsControllerPublishEnvironmentRequest + + +## Fields + +| Field | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `targetEnvironmentId` | *String* | :heavy_check_mark: | Target environment ID (MongoDB ObjectId) to publish resources to | 6615943e7ace93b0540ae377 | +| `idempotencyKey` | *Optional\* | :heavy_minus_sign: | A header for idempotency purposes | | +| `body` | [PublishEnvironmentRequestDto](../../models/components/PublishEnvironmentRequestDto.md) | :heavy_check_mark: | Publish request configuration | | \ No newline at end of file diff --git a/docs/models/operations/EnvironmentsControllerPublishEnvironmentResponse.md b/docs/models/operations/EnvironmentsControllerPublishEnvironmentResponse.md new file mode 100644 index 00000000..8872788b --- /dev/null +++ b/docs/models/operations/EnvironmentsControllerPublishEnvironmentResponse.md @@ -0,0 +1,12 @@ +# EnvironmentsControllerPublishEnvironmentResponse + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | +| `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | +| `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `publishEnvironmentResponseDto` | [Optional\](../../models/components/PublishEnvironmentResponseDto.md) | :heavy_minus_sign: | OK | +| `headers` | Map\> | :heavy_check_mark: | N/A | \ No newline at end of file diff --git a/docs/models/operations/MessagesControllerDeleteMessagesByTransactionIdChannel.md b/docs/models/operations/MessagesControllerDeleteMessagesByTransactionIdChannel.md index 00d90934..4b7ddc26 100644 --- a/docs/models/operations/MessagesControllerDeleteMessagesByTransactionIdChannel.md +++ b/docs/models/operations/MessagesControllerDeleteMessagesByTransactionIdChannel.md @@ -2,6 +2,14 @@ The channel of the message to be deleted +## Example Usage + +```java +import co.novu.models.operations.MessagesControllerDeleteMessagesByTransactionIdChannel; + +MessagesControllerDeleteMessagesByTransactionIdChannel value = MessagesControllerDeleteMessagesByTransactionIdChannel.IN_APP; +``` + ## Values diff --git a/docs/models/operations/SubscribersControllerListSubscriberTopicsOrderDirection.md b/docs/models/operations/SubscribersControllerListSubscriberTopicsOrderDirection.md index a580c024..f1970b22 100644 --- a/docs/models/operations/SubscribersControllerListSubscriberTopicsOrderDirection.md +++ b/docs/models/operations/SubscribersControllerListSubscriberTopicsOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.SubscribersControllerListSubscriberTopicsOrderDirection; + +SubscribersControllerListSubscriberTopicsOrderDirection value = SubscribersControllerListSubscriberTopicsOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/SubscribersControllerSearchSubscribersOrderDirection.md b/docs/models/operations/SubscribersControllerSearchSubscribersOrderDirection.md index 9ef024ba..bb3fd8eb 100644 --- a/docs/models/operations/SubscribersControllerSearchSubscribersOrderDirection.md +++ b/docs/models/operations/SubscribersControllerSearchSubscribersOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.SubscribersControllerSearchSubscribersOrderDirection; + +SubscribersControllerSearchSubscribersOrderDirection value = SubscribersControllerSearchSubscribersOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/TopicsControllerListTopicSubscriptionsOrderDirection.md b/docs/models/operations/TopicsControllerListTopicSubscriptionsOrderDirection.md index 429636ac..c16dd600 100644 --- a/docs/models/operations/TopicsControllerListTopicSubscriptionsOrderDirection.md +++ b/docs/models/operations/TopicsControllerListTopicSubscriptionsOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.TopicsControllerListTopicSubscriptionsOrderDirection; + +TopicsControllerListTopicSubscriptionsOrderDirection value = TopicsControllerListTopicSubscriptionsOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/TopicsControllerListTopicsOrderDirection.md b/docs/models/operations/TopicsControllerListTopicsOrderDirection.md index bd5d5251..68035429 100644 --- a/docs/models/operations/TopicsControllerListTopicsOrderDirection.md +++ b/docs/models/operations/TopicsControllerListTopicsOrderDirection.md @@ -2,6 +2,14 @@ Direction of sorting +## Example Usage + +```java +import co.novu.models.operations.TopicsControllerListTopicsOrderDirection; + +TopicsControllerListTopicsOrderDirection value = TopicsControllerListTopicsOrderDirection.ASC; +``` + ## Values diff --git a/docs/models/operations/TranslationControllerDeleteTranslationEndpointResourceType.md b/docs/models/operations/TranslationControllerDeleteTranslationEndpointResourceType.md index a89d7b2b..f32d428e 100644 --- a/docs/models/operations/TranslationControllerDeleteTranslationEndpointResourceType.md +++ b/docs/models/operations/TranslationControllerDeleteTranslationEndpointResourceType.md @@ -2,6 +2,14 @@ Resource type +## Example Usage + +```java +import co.novu.models.operations.TranslationControllerDeleteTranslationEndpointResourceType; + +TranslationControllerDeleteTranslationEndpointResourceType value = TranslationControllerDeleteTranslationEndpointResourceType.WORKFLOW; +``` + ## Values diff --git a/docs/models/operations/TranslationControllerDeleteTranslationGroupEndpointResourceType.md b/docs/models/operations/TranslationControllerDeleteTranslationGroupEndpointResourceType.md index 81d0e79a..98ebe21f 100644 --- a/docs/models/operations/TranslationControllerDeleteTranslationGroupEndpointResourceType.md +++ b/docs/models/operations/TranslationControllerDeleteTranslationGroupEndpointResourceType.md @@ -2,6 +2,14 @@ Resource type +## Example Usage + +```java +import co.novu.models.operations.TranslationControllerDeleteTranslationGroupEndpointResourceType; + +TranslationControllerDeleteTranslationGroupEndpointResourceType value = TranslationControllerDeleteTranslationGroupEndpointResourceType.WORKFLOW; +``` + ## Values diff --git a/docs/models/operations/TranslationControllerGetSingleTranslationResourceType.md b/docs/models/operations/TranslationControllerGetSingleTranslationResourceType.md index 2601386f..b5715011 100644 --- a/docs/models/operations/TranslationControllerGetSingleTranslationResourceType.md +++ b/docs/models/operations/TranslationControllerGetSingleTranslationResourceType.md @@ -2,6 +2,14 @@ Resource type +## Example Usage + +```java +import co.novu.models.operations.TranslationControllerGetSingleTranslationResourceType; + +TranslationControllerGetSingleTranslationResourceType value = TranslationControllerGetSingleTranslationResourceType.WORKFLOW; +``` + ## Values diff --git a/docs/models/operations/TranslationControllerGetTranslationGroupEndpointResourceType.md b/docs/models/operations/TranslationControllerGetTranslationGroupEndpointResourceType.md index 15d8bca7..ea22aac9 100644 --- a/docs/models/operations/TranslationControllerGetTranslationGroupEndpointResourceType.md +++ b/docs/models/operations/TranslationControllerGetTranslationGroupEndpointResourceType.md @@ -2,6 +2,14 @@ Resource type +## Example Usage + +```java +import co.novu.models.operations.TranslationControllerGetTranslationGroupEndpointResourceType; + +TranslationControllerGetTranslationGroupEndpointResourceType value = TranslationControllerGetTranslationGroupEndpointResourceType.WORKFLOW; +``` + ## Values diff --git a/docs/models/operations/TranslationControllerUploadTranslationFilesResourceType.md b/docs/models/operations/TranslationControllerUploadTranslationFilesResourceType.md index bf6ad52b..4ad783f8 100644 --- a/docs/models/operations/TranslationControllerUploadTranslationFilesResourceType.md +++ b/docs/models/operations/TranslationControllerUploadTranslationFilesResourceType.md @@ -2,6 +2,14 @@ The resource type to associate localizations with +## Example Usage + +```java +import co.novu.models.operations.TranslationControllerUploadTranslationFilesResourceType; + +TranslationControllerUploadTranslationFilesResourceType value = TranslationControllerUploadTranslationFilesResourceType.WORKFLOW; +``` + ## Values diff --git a/docs/sdks/environments/README.md b/docs/sdks/environments/README.md index 8e079dfd..c2e14ddd 100644 --- a/docs/sdks/environments/README.md +++ b/docs/sdks/environments/README.md @@ -7,11 +7,141 @@ Environments allow you to manage different stages of your application developmen ### Available Operations +* [diff](#diff) - Compare resources between environments +* [publish](#publish) - Publish resources to target environment * [create](#create) - Create an environment * [list](#list) - List all environments * [update](#update) - Update an environment * [delete](#delete) - Delete an environment +## diff + +Compares workflows and other resources between the source and target environments, returning detailed diff information including additions, modifications, and deletions. + +### Example Usage + + +```java +package hello.world; + +import co.novu.Novu; +import co.novu.models.components.DiffEnvironmentRequestDto; +import co.novu.models.errors.ErrorDto; +import co.novu.models.errors.ValidationErrorDto; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentResponse; +import java.lang.Exception; + +public class Application { + + public static void main(String[] args) throws ErrorDto, ValidationErrorDto, Exception { + + Novu sdk = Novu.builder() + .secretKey("YOUR_SECRET_KEY_HERE") + .build(); + + EnvironmentsControllerDiffEnvironmentResponse res = sdk.environments().diff() + .targetEnvironmentId("6615943e7ace93b0540ae377") + .body(DiffEnvironmentRequestDto.builder() + .sourceEnvironmentId("507f1f77bcf86cd799439011") + .build()) + .call(); + + if (res.diffEnvironmentResponseDto().isPresent()) { + // handle response + } + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| `targetEnvironmentId` | *String* | :heavy_check_mark: | Target environment ID (MongoDB ObjectId) to compare against | 6615943e7ace93b0540ae377 | +| `idempotencyKey` | *Optional\* | :heavy_minus_sign: | A header for idempotency purposes | | +| `body` | [DiffEnvironmentRequestDto](../../models/components/DiffEnvironmentRequestDto.md) | :heavy_check_mark: | Diff request configuration | | + +### Response + +**[EnvironmentsControllerDiffEnvironmentResponse](../../models/operations/EnvironmentsControllerDiffEnvironmentResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| models/errors/ErrorDto | 414 | application/json | +| models/errors/ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json | +| models/errors/ValidationErrorDto | 422 | application/json | +| models/errors/ErrorDto | 500 | application/json | +| models/errors/APIException | 4XX, 5XX | \*/\* | + +## publish + +Publishes all workflows and resources from the source environment to the target environment. Optionally specify specific resources to publish or use dryRun mode to preview changes. + +### Example Usage + + +```java +package hello.world; + +import co.novu.Novu; +import co.novu.models.components.*; +import co.novu.models.errors.ErrorDto; +import co.novu.models.errors.ValidationErrorDto; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentResponse; +import java.lang.Exception; +import java.util.List; + +public class Application { + + public static void main(String[] args) throws ErrorDto, ValidationErrorDto, Exception { + + Novu sdk = Novu.builder() + .secretKey("YOUR_SECRET_KEY_HERE") + .build(); + + EnvironmentsControllerPublishEnvironmentResponse res = sdk.environments().publish() + .targetEnvironmentId("6615943e7ace93b0540ae377") + .body(PublishEnvironmentRequestDto.builder() + .sourceEnvironmentId("507f1f77bcf86cd799439011") + .resources(List.of( + ResourceToPublishDto.builder() + .resourceType(ResourceTypeEnum.REGULAR) + .resourceId("workflow-id-1") + .build())) + .build()) + .call(); + + if (res.publishEnvironmentResponseDto().isPresent()) { + // handle response + } + } +} +``` + +### Parameters + +| Parameter | Type | Required | Description | Example | +| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| `targetEnvironmentId` | *String* | :heavy_check_mark: | Target environment ID (MongoDB ObjectId) to publish resources to | 6615943e7ace93b0540ae377 | +| `idempotencyKey` | *Optional\* | :heavy_minus_sign: | A header for idempotency purposes | | +| `body` | [PublishEnvironmentRequestDto](../../models/components/PublishEnvironmentRequestDto.md) | :heavy_check_mark: | Publish request configuration | | + +### Response + +**[EnvironmentsControllerPublishEnvironmentResponse](../../models/operations/EnvironmentsControllerPublishEnvironmentResponse.md)** + +### Errors + +| Error Type | Status Code | Content Type | +| -------------------------------------- | -------------------------------------- | -------------------------------------- | +| models/errors/ErrorDto | 414 | application/json | +| models/errors/ErrorDto | 400, 401, 403, 404, 405, 409, 413, 415 | application/json | +| models/errors/ValidationErrorDto | 422 | application/json | +| models/errors/ErrorDto | 500 | application/json | +| models/errors/APIException | 4XX, 5XX | \*/\* | + ## create Creates a new environment within the current organization. diff --git a/gradle.properties b/gradle.properties index 7b03c511..4939300f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ groupId=co.novu artifactId=novu-java -version=3.14.0 +version=3.14.1 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g diff --git a/src/main/java/co/novu/AsyncEnvironments.java b/src/main/java/co/novu/AsyncEnvironments.java index db1f1f0f..f3afdef6 100644 --- a/src/main/java/co/novu/AsyncEnvironments.java +++ b/src/main/java/co/novu/AsyncEnvironments.java @@ -6,11 +6,19 @@ import static co.novu.operations.Operations.AsyncRequestOperation; import co.novu.models.components.CreateEnvironmentRequestDto; +import co.novu.models.components.DiffEnvironmentRequestDto; +import co.novu.models.components.PublishEnvironmentRequestDto; import co.novu.models.components.UpdateEnvironmentRequestDto; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentRequest; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentRequest; import co.novu.models.operations.EnvironmentsControllerV1CreateEnvironmentRequest; import co.novu.models.operations.EnvironmentsControllerV1DeleteEnvironmentRequest; import co.novu.models.operations.EnvironmentsControllerV1ListMyEnvironmentsRequest; import co.novu.models.operations.EnvironmentsControllerV1UpdateMyEnvironmentRequest; +import co.novu.models.operations.async.EnvironmentsControllerDiffEnvironmentRequestBuilder; +import co.novu.models.operations.async.EnvironmentsControllerDiffEnvironmentResponse; +import co.novu.models.operations.async.EnvironmentsControllerPublishEnvironmentRequestBuilder; +import co.novu.models.operations.async.EnvironmentsControllerPublishEnvironmentResponse; import co.novu.models.operations.async.EnvironmentsControllerV1CreateEnvironmentRequestBuilder; import co.novu.models.operations.async.EnvironmentsControllerV1CreateEnvironmentResponse; import co.novu.models.operations.async.EnvironmentsControllerV1DeleteEnvironmentRequestBuilder; @@ -19,6 +27,8 @@ import co.novu.models.operations.async.EnvironmentsControllerV1ListMyEnvironmentsResponse; import co.novu.models.operations.async.EnvironmentsControllerV1UpdateMyEnvironmentRequestBuilder; import co.novu.models.operations.async.EnvironmentsControllerV1UpdateMyEnvironmentResponse; +import co.novu.operations.EnvironmentsControllerDiffEnvironment; +import co.novu.operations.EnvironmentsControllerPublishEnvironment; import co.novu.operations.EnvironmentsControllerV1CreateEnvironment; import co.novu.operations.EnvironmentsControllerV1DeleteEnvironment; import co.novu.operations.EnvironmentsControllerV1ListMyEnvironments; @@ -63,6 +73,112 @@ public Environments sync() { } + /** + * Compare resources between environments + * + *

Compares workflows and other resources between the source and target environments, returning + * detailed diff information including additions, modifications, and deletions. + * + * @return The async call builder + */ + public EnvironmentsControllerDiffEnvironmentRequestBuilder diff() { + return new EnvironmentsControllerDiffEnvironmentRequestBuilder(sdkConfiguration); + } + + /** + * Compare resources between environments + * + *

Compares workflows and other resources between the source and target environments, returning + * detailed diff information including additions, modifications, and deletions. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to compare against + * @param body + * @return {@code CompletableFuture} - The async response + */ + public CompletableFuture diff(@Nonnull String targetEnvironmentId, @Nonnull DiffEnvironmentRequestDto body) { + return diff( + targetEnvironmentId, null, body, + null); + } + + /** + * Compare resources between environments + * + *

Compares workflows and other resources between the source and target environments, returning + * detailed diff information including additions, modifications, and deletions. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to compare against + * @param idempotencyKey A header for idempotency purposes + * @param body + * @param options additional options + * @return {@code CompletableFuture} - The async response + */ + public CompletableFuture diff( + @Nonnull String targetEnvironmentId, @Nullable String idempotencyKey, + @Nonnull DiffEnvironmentRequestDto body, @Nullable Options options) { + EnvironmentsControllerDiffEnvironmentRequest request = new EnvironmentsControllerDiffEnvironmentRequest(targetEnvironmentId, idempotencyKey, body); + AsyncRequestOperation operation + = new EnvironmentsControllerDiffEnvironment.Async( + sdkConfiguration, options, sdkConfiguration.retryScheduler(), + _headers); + return operation.doRequest(request) + .thenCompose(operation::handleResponse); + } + + + /** + * Publish resources to target environment + * + *

Publishes all workflows and resources from the source environment to the target environment. + * Optionally specify specific resources to publish or use dryRun mode to preview changes. + * + * @return The async call builder + */ + public EnvironmentsControllerPublishEnvironmentRequestBuilder publish() { + return new EnvironmentsControllerPublishEnvironmentRequestBuilder(sdkConfiguration); + } + + /** + * Publish resources to target environment + * + *

Publishes all workflows and resources from the source environment to the target environment. + * Optionally specify specific resources to publish or use dryRun mode to preview changes. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to publish resources to + * @param body + * @return {@code CompletableFuture} - The async response + */ + public CompletableFuture publish(@Nonnull String targetEnvironmentId, @Nonnull PublishEnvironmentRequestDto body) { + return publish( + targetEnvironmentId, null, body, + null); + } + + /** + * Publish resources to target environment + * + *

Publishes all workflows and resources from the source environment to the target environment. + * Optionally specify specific resources to publish or use dryRun mode to preview changes. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to publish resources to + * @param idempotencyKey A header for idempotency purposes + * @param body + * @param options additional options + * @return {@code CompletableFuture} - The async response + */ + public CompletableFuture publish( + @Nonnull String targetEnvironmentId, @Nullable String idempotencyKey, + @Nonnull PublishEnvironmentRequestDto body, @Nullable Options options) { + EnvironmentsControllerPublishEnvironmentRequest request = new EnvironmentsControllerPublishEnvironmentRequest(targetEnvironmentId, idempotencyKey, body); + AsyncRequestOperation operation + = new EnvironmentsControllerPublishEnvironment.Async( + sdkConfiguration, options, sdkConfiguration.retryScheduler(), + _headers); + return operation.doRequest(request) + .thenCompose(operation::handleResponse); + } + + /** * Create an environment * diff --git a/src/main/java/co/novu/Environments.java b/src/main/java/co/novu/Environments.java index 6ee468d5..af39c704 100644 --- a/src/main/java/co/novu/Environments.java +++ b/src/main/java/co/novu/Environments.java @@ -6,7 +6,15 @@ import static co.novu.operations.Operations.RequestOperation; import co.novu.models.components.CreateEnvironmentRequestDto; +import co.novu.models.components.DiffEnvironmentRequestDto; +import co.novu.models.components.PublishEnvironmentRequestDto; import co.novu.models.components.UpdateEnvironmentRequestDto; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentRequest; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentRequestBuilder; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentResponse; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentRequest; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentRequestBuilder; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentResponse; import co.novu.models.operations.EnvironmentsControllerV1CreateEnvironmentRequest; import co.novu.models.operations.EnvironmentsControllerV1CreateEnvironmentRequestBuilder; import co.novu.models.operations.EnvironmentsControllerV1CreateEnvironmentResponse; @@ -19,6 +27,8 @@ import co.novu.models.operations.EnvironmentsControllerV1UpdateMyEnvironmentRequest; import co.novu.models.operations.EnvironmentsControllerV1UpdateMyEnvironmentRequestBuilder; import co.novu.models.operations.EnvironmentsControllerV1UpdateMyEnvironmentResponse; +import co.novu.operations.EnvironmentsControllerDiffEnvironment; +import co.novu.operations.EnvironmentsControllerPublishEnvironment; import co.novu.operations.EnvironmentsControllerV1CreateEnvironment; import co.novu.operations.EnvironmentsControllerV1DeleteEnvironment; import co.novu.operations.EnvironmentsControllerV1ListMyEnvironments; @@ -61,6 +71,106 @@ public AsyncEnvironments async() { return asyncSDK; } + /** + * Compare resources between environments + * + *

Compares workflows and other resources between the source and target environments, returning + * detailed diff information including additions, modifications, and deletions. + * + * @return The call builder + */ + public EnvironmentsControllerDiffEnvironmentRequestBuilder diff() { + return new EnvironmentsControllerDiffEnvironmentRequestBuilder(sdkConfiguration); + } + + /** + * Compare resources between environments + * + *

Compares workflows and other resources between the source and target environments, returning + * detailed diff information including additions, modifications, and deletions. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to compare against + * @param body + * @return The response from the API call + * @throws RuntimeException subclass if the API call fails + */ + public EnvironmentsControllerDiffEnvironmentResponse diff(@Nonnull String targetEnvironmentId, @Nonnull DiffEnvironmentRequestDto body) { + return diff(targetEnvironmentId, null, body, + null); + } + + /** + * Compare resources between environments + * + *

Compares workflows and other resources between the source and target environments, returning + * detailed diff information including additions, modifications, and deletions. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to compare against + * @param idempotencyKey A header for idempotency purposes + * @param body + * @param options additional options + * @return The response from the API call + * @throws RuntimeException subclass if the API call fails + */ + public EnvironmentsControllerDiffEnvironmentResponse diff( + @Nonnull String targetEnvironmentId, @Nullable String idempotencyKey, + @Nonnull DiffEnvironmentRequestDto body, @Nullable Options options) { + EnvironmentsControllerDiffEnvironmentRequest request = new EnvironmentsControllerDiffEnvironmentRequest(targetEnvironmentId, idempotencyKey, body); + RequestOperation operation + = new EnvironmentsControllerDiffEnvironment.Sync(sdkConfiguration, options, _headers); + return operation.handleResponse(operation.doRequest(request)); + } + + /** + * Publish resources to target environment + * + *

Publishes all workflows and resources from the source environment to the target environment. + * Optionally specify specific resources to publish or use dryRun mode to preview changes. + * + * @return The call builder + */ + public EnvironmentsControllerPublishEnvironmentRequestBuilder publish() { + return new EnvironmentsControllerPublishEnvironmentRequestBuilder(sdkConfiguration); + } + + /** + * Publish resources to target environment + * + *

Publishes all workflows and resources from the source environment to the target environment. + * Optionally specify specific resources to publish or use dryRun mode to preview changes. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to publish resources to + * @param body + * @return The response from the API call + * @throws RuntimeException subclass if the API call fails + */ + public EnvironmentsControllerPublishEnvironmentResponse publish(@Nonnull String targetEnvironmentId, @Nonnull PublishEnvironmentRequestDto body) { + return publish(targetEnvironmentId, null, body, + null); + } + + /** + * Publish resources to target environment + * + *

Publishes all workflows and resources from the source environment to the target environment. + * Optionally specify specific resources to publish or use dryRun mode to preview changes. + * + * @param targetEnvironmentId Target environment ID (MongoDB ObjectId) to publish resources to + * @param idempotencyKey A header for idempotency purposes + * @param body + * @param options additional options + * @return The response from the API call + * @throws RuntimeException subclass if the API call fails + */ + public EnvironmentsControllerPublishEnvironmentResponse publish( + @Nonnull String targetEnvironmentId, @Nullable String idempotencyKey, + @Nonnull PublishEnvironmentRequestDto body, @Nullable Options options) { + EnvironmentsControllerPublishEnvironmentRequest request = new EnvironmentsControllerPublishEnvironmentRequest(targetEnvironmentId, idempotencyKey, body); + RequestOperation operation + = new EnvironmentsControllerPublishEnvironment.Sync(sdkConfiguration, options, _headers); + return operation.handleResponse(operation.doRequest(request)); + } + /** * Create an environment * diff --git a/src/main/java/co/novu/SDKConfiguration.java b/src/main/java/co/novu/SDKConfiguration.java index 992ece48..b952124d 100644 --- a/src/main/java/co/novu/SDKConfiguration.java +++ b/src/main/java/co/novu/SDKConfiguration.java @@ -19,8 +19,8 @@ public class SDKConfiguration { private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "3.14.0"; - public static final String SDK_VERSION = "3.14.0"; - public static final String GEN_VERSION = "2.845.10"; + public static final String SDK_VERSION = "3.14.1"; + public static final String GEN_VERSION = "2.849.6"; private static final String BASE_PACKAGE = "co.novu"; public static final String USER_AGENT = String.format("speakeasy-sdk/%s %s %s %s %s", diff --git a/src/main/java/co/novu/models/components/ChatStepResponseDto.java b/src/main/java/co/novu/models/components/ChatStepResponseDto.java index 7dad35d2..bc41099f 100644 --- a/src/main/java/co/novu/models/components/ChatStepResponseDto.java +++ b/src/main/java/co/novu/models/components/ChatStepResponseDto.java @@ -92,6 +92,13 @@ public class ChatStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public ChatStepResponseDto( @JsonProperty("controls") @Nonnull ChatControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public ChatStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public ChatStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public ChatStepResponseDto( @@ -145,7 +154,8 @@ public ChatStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public ChatStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public ChatStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public ChatStepResponseDto build() { return new ChatStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/CustomStepResponseDto.java b/src/main/java/co/novu/models/components/CustomStepResponseDto.java index 8223618c..410c26a2 100644 --- a/src/main/java/co/novu/models/components/CustomStepResponseDto.java +++ b/src/main/java/co/novu/models/components/CustomStepResponseDto.java @@ -92,6 +92,13 @@ public class CustomStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public CustomStepResponseDto( @JsonProperty("controls") @Nonnull CustomControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public CustomStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public CustomStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public CustomStepResponseDto( @@ -145,7 +154,8 @@ public CustomStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public CustomStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public CustomStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public CustomStepResponseDto build() { return new CustomStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/DelayStepResponseDto.java b/src/main/java/co/novu/models/components/DelayStepResponseDto.java index ff75e120..8581e27b 100644 --- a/src/main/java/co/novu/models/components/DelayStepResponseDto.java +++ b/src/main/java/co/novu/models/components/DelayStepResponseDto.java @@ -92,6 +92,13 @@ public class DelayStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public DelayStepResponseDto( @JsonProperty("controls") @Nonnull DelayControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public DelayStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public DelayStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public DelayStepResponseDto( @@ -145,7 +154,8 @@ public DelayStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public DelayStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public DelayStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public DelayStepResponseDto build() { return new DelayStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/DependencyReasonEnum.java b/src/main/java/co/novu/models/components/DependencyReasonEnum.java new file mode 100644 index 00000000..c55cbb21 --- /dev/null +++ b/src/main/java/co/novu/models/components/DependencyReasonEnum.java @@ -0,0 +1,132 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +/** + * DependencyReasonEnum + * + *

Reason for the dependency + */ +public class DependencyReasonEnum { + + public static final DependencyReasonEnum LAYOUT_REQUIRED_FOR_WORKFLOW = new DependencyReasonEnum("LAYOUT_REQUIRED_FOR_WORKFLOW"); + public static final DependencyReasonEnum LAYOUT_EXISTS_IN_TARGET = new DependencyReasonEnum("LAYOUT_EXISTS_IN_TARGET"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private DependencyReasonEnum(String value) { + this.value = value; + } + + /** + * Returns a DependencyReasonEnum with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as DependencyReasonEnum + */ + @JsonCreator + public static DependencyReasonEnum of(String value) { + synchronized (DependencyReasonEnum.class) { + return values.computeIfAbsent(value, v -> new DependencyReasonEnum(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + DependencyReasonEnum other = (DependencyReasonEnum) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "DependencyReasonEnum [value=" + value + "]"; + } + + // return an array just like an enum + public static DependencyReasonEnum[] values() { + synchronized (DependencyReasonEnum.class) { + return values.values().toArray(new DependencyReasonEnum[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("LAYOUT_REQUIRED_FOR_WORKFLOW", LAYOUT_REQUIRED_FOR_WORKFLOW); + map.put("LAYOUT_EXISTS_IN_TARGET", LAYOUT_EXISTS_IN_TARGET); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("LAYOUT_REQUIRED_FOR_WORKFLOW", DependencyReasonEnumEnum.LAYOUT_REQUIRED_FOR_WORKFLOW); + map.put("LAYOUT_EXISTS_IN_TARGET", DependencyReasonEnumEnum.LAYOUT_EXISTS_IN_TARGET); + return map; + } + + + public enum DependencyReasonEnumEnum { + + LAYOUT_REQUIRED_FOR_WORKFLOW("LAYOUT_REQUIRED_FOR_WORKFLOW"), + LAYOUT_EXISTS_IN_TARGET("LAYOUT_EXISTS_IN_TARGET"),; + + private final String value; + + private DependencyReasonEnumEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/co/novu/models/components/DiffActionEnum.java b/src/main/java/co/novu/models/components/DiffActionEnum.java new file mode 100644 index 00000000..a6a5ab00 --- /dev/null +++ b/src/main/java/co/novu/models/components/DiffActionEnum.java @@ -0,0 +1,144 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +/** + * DiffActionEnum + * + *

Type of change + */ +public class DiffActionEnum { + + public static final DiffActionEnum ADDED = new DiffActionEnum("added"); + public static final DiffActionEnum MODIFIED = new DiffActionEnum("modified"); + public static final DiffActionEnum DELETED = new DiffActionEnum("deleted"); + public static final DiffActionEnum UNCHANGED = new DiffActionEnum("unchanged"); + public static final DiffActionEnum MOVED = new DiffActionEnum("moved"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private DiffActionEnum(String value) { + this.value = value; + } + + /** + * Returns a DiffActionEnum with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as DiffActionEnum + */ + @JsonCreator + public static DiffActionEnum of(String value) { + synchronized (DiffActionEnum.class) { + return values.computeIfAbsent(value, v -> new DiffActionEnum(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + DiffActionEnum other = (DiffActionEnum) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "DiffActionEnum [value=" + value + "]"; + } + + // return an array just like an enum + public static DiffActionEnum[] values() { + synchronized (DiffActionEnum.class) { + return values.values().toArray(new DiffActionEnum[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("added", ADDED); + map.put("modified", MODIFIED); + map.put("deleted", DELETED); + map.put("unchanged", UNCHANGED); + map.put("moved", MOVED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("added", DiffActionEnumEnum.ADDED); + map.put("modified", DiffActionEnumEnum.MODIFIED); + map.put("deleted", DiffActionEnumEnum.DELETED); + map.put("unchanged", DiffActionEnumEnum.UNCHANGED); + map.put("moved", DiffActionEnumEnum.MOVED); + return map; + } + + + public enum DiffActionEnumEnum { + + ADDED("added"), + MODIFIED("modified"), + DELETED("deleted"), + UNCHANGED("unchanged"), + MOVED("moved"),; + + private final String value; + + private DiffActionEnumEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/co/novu/models/components/DiffEnvironmentRequestDto.java b/src/main/java/co/novu/models/components/DiffEnvironmentRequestDto.java new file mode 100644 index 00000000..e3b13030 --- /dev/null +++ b/src/main/java/co/novu/models/components/DiffEnvironmentRequestDto.java @@ -0,0 +1,104 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class DiffEnvironmentRequestDto { + /** + * Source environment ID to compare from. Defaults to the Development environment if not provided. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceEnvironmentId") + private String sourceEnvironmentId; + + @JsonCreator + public DiffEnvironmentRequestDto( + @JsonProperty("sourceEnvironmentId") @Nullable String sourceEnvironmentId) { + this.sourceEnvironmentId = sourceEnvironmentId; + } + + public DiffEnvironmentRequestDto() { + this(null); + } + + /** + * Source environment ID to compare from. Defaults to the Development environment if not provided. + */ + public Optional sourceEnvironmentId() { + return Optional.ofNullable(this.sourceEnvironmentId); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Source environment ID to compare from. Defaults to the Development environment if not provided. + */ + public DiffEnvironmentRequestDto withSourceEnvironmentId(@Nullable String sourceEnvironmentId) { + this.sourceEnvironmentId = sourceEnvironmentId; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DiffEnvironmentRequestDto other = (DiffEnvironmentRequestDto) o; + return + Utils.enhancedDeepEquals(this.sourceEnvironmentId, other.sourceEnvironmentId); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + sourceEnvironmentId); + } + + @Override + public String toString() { + return Utils.toString(DiffEnvironmentRequestDto.class, + "sourceEnvironmentId", sourceEnvironmentId); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String sourceEnvironmentId; + + private Builder() { + // force use of static builder() method + } + + /** + * Source environment ID to compare from. Defaults to the Development environment if not provided. + */ + public Builder sourceEnvironmentId(@Nullable String sourceEnvironmentId) { + this.sourceEnvironmentId = sourceEnvironmentId; + return this; + } + + public DiffEnvironmentRequestDto build() { + return new DiffEnvironmentRequestDto( + sourceEnvironmentId); + } + + } +} diff --git a/src/main/java/co/novu/models/components/DiffEnvironmentResponseDto.java b/src/main/java/co/novu/models/components/DiffEnvironmentResponseDto.java new file mode 100644 index 00000000..584590fb --- /dev/null +++ b/src/main/java/co/novu/models/components/DiffEnvironmentResponseDto.java @@ -0,0 +1,212 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Optional; + + +public class DiffEnvironmentResponseDto { + /** + * Source environment ID + */ + @JsonProperty("sourceEnvironmentId") + private String sourceEnvironmentId; + + /** + * Target environment ID + */ + @JsonProperty("targetEnvironmentId") + private String targetEnvironmentId; + + /** + * Diff resources by resource type + */ + @JsonProperty("resources") + private List resources; + + /** + * Overall summary + */ + @JsonProperty("summary") + private EnvironmentDiffSummaryDto summary; + + @JsonCreator + public DiffEnvironmentResponseDto( + @JsonProperty("sourceEnvironmentId") @Nonnull String sourceEnvironmentId, + @JsonProperty("targetEnvironmentId") @Nonnull String targetEnvironmentId, + @JsonProperty("resources") @Nonnull List resources, + @JsonProperty("summary") @Nonnull EnvironmentDiffSummaryDto summary) { + this.sourceEnvironmentId = Optional.ofNullable(sourceEnvironmentId) + .orElseThrow(() -> new IllegalArgumentException("sourceEnvironmentId cannot be null")); + this.targetEnvironmentId = Optional.ofNullable(targetEnvironmentId) + .orElseThrow(() -> new IllegalArgumentException("targetEnvironmentId cannot be null")); + this.resources = Optional.ofNullable(resources) + .orElseThrow(() -> new IllegalArgumentException("resources cannot be null")); + this.summary = Optional.ofNullable(summary) + .orElseThrow(() -> new IllegalArgumentException("summary cannot be null")); + } + + /** + * Source environment ID + */ + public String sourceEnvironmentId() { + return this.sourceEnvironmentId; + } + + /** + * Target environment ID + */ + public String targetEnvironmentId() { + return this.targetEnvironmentId; + } + + /** + * Diff resources by resource type + */ + public List resources() { + return this.resources; + } + + /** + * Overall summary + */ + public EnvironmentDiffSummaryDto summary() { + return this.summary; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Source environment ID + */ + public DiffEnvironmentResponseDto withSourceEnvironmentId(@Nonnull String sourceEnvironmentId) { + this.sourceEnvironmentId = Utils.checkNotNull(sourceEnvironmentId, "sourceEnvironmentId"); + return this; + } + + + /** + * Target environment ID + */ + public DiffEnvironmentResponseDto withTargetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.targetEnvironmentId = Utils.checkNotNull(targetEnvironmentId, "targetEnvironmentId"); + return this; + } + + + /** + * Diff resources by resource type + */ + public DiffEnvironmentResponseDto withResources(@Nonnull List resources) { + this.resources = Utils.checkNotNull(resources, "resources"); + return this; + } + + + /** + * Overall summary + */ + public DiffEnvironmentResponseDto withSummary(@Nonnull EnvironmentDiffSummaryDto summary) { + this.summary = Utils.checkNotNull(summary, "summary"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DiffEnvironmentResponseDto other = (DiffEnvironmentResponseDto) o; + return + Utils.enhancedDeepEquals(this.sourceEnvironmentId, other.sourceEnvironmentId) && + Utils.enhancedDeepEquals(this.targetEnvironmentId, other.targetEnvironmentId) && + Utils.enhancedDeepEquals(this.resources, other.resources) && + Utils.enhancedDeepEquals(this.summary, other.summary); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + sourceEnvironmentId, targetEnvironmentId, resources, + summary); + } + + @Override + public String toString() { + return Utils.toString(DiffEnvironmentResponseDto.class, + "sourceEnvironmentId", sourceEnvironmentId, + "targetEnvironmentId", targetEnvironmentId, + "resources", resources, + "summary", summary); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String sourceEnvironmentId; + + private String targetEnvironmentId; + + private List resources; + + private EnvironmentDiffSummaryDto summary; + + private Builder() { + // force use of static builder() method + } + + /** + * Source environment ID + */ + public Builder sourceEnvironmentId(@Nonnull String sourceEnvironmentId) { + this.sourceEnvironmentId = Utils.checkNotNull(sourceEnvironmentId, "sourceEnvironmentId"); + return this; + } + + /** + * Target environment ID + */ + public Builder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.targetEnvironmentId = Utils.checkNotNull(targetEnvironmentId, "targetEnvironmentId"); + return this; + } + + /** + * Diff resources by resource type + */ + public Builder resources(@Nonnull List resources) { + this.resources = Utils.checkNotNull(resources, "resources"); + return this; + } + + /** + * Overall summary + */ + public Builder summary(@Nonnull EnvironmentDiffSummaryDto summary) { + this.summary = Utils.checkNotNull(summary, "summary"); + return this; + } + + public DiffEnvironmentResponseDto build() { + return new DiffEnvironmentResponseDto( + sourceEnvironmentId, targetEnvironmentId, resources, + summary); + } + + } +} diff --git a/src/main/java/co/novu/models/components/DiffSummaryDto.java b/src/main/java/co/novu/models/components/DiffSummaryDto.java new file mode 100644 index 00000000..caf12ed3 --- /dev/null +++ b/src/main/java/co/novu/models/components/DiffSummaryDto.java @@ -0,0 +1,205 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Override; +import java.lang.String; + + +public class DiffSummaryDto { + /** + * Number of added resources (workflows and steps) + */ + @JsonProperty("added") + private double added; + + /** + * Number of modified resources (workflows and steps) + */ + @JsonProperty("modified") + private double modified; + + /** + * Number of deleted resources (workflows and steps) + */ + @JsonProperty("deleted") + private double deleted; + + /** + * Number of unchanged resources (workflows and steps) + */ + @JsonProperty("unchanged") + private double unchanged; + + @JsonCreator + public DiffSummaryDto( + @JsonProperty("added") double added, + @JsonProperty("modified") double modified, + @JsonProperty("deleted") double deleted, + @JsonProperty("unchanged") double unchanged) { + this.added = added; + this.modified = modified; + this.deleted = deleted; + this.unchanged = unchanged; + } + + /** + * Number of added resources (workflows and steps) + */ + public double added() { + return this.added; + } + + /** + * Number of modified resources (workflows and steps) + */ + public double modified() { + return this.modified; + } + + /** + * Number of deleted resources (workflows and steps) + */ + public double deleted() { + return this.deleted; + } + + /** + * Number of unchanged resources (workflows and steps) + */ + public double unchanged() { + return this.unchanged; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Number of added resources (workflows and steps) + */ + public DiffSummaryDto withAdded(double added) { + this.added = added; + return this; + } + + + /** + * Number of modified resources (workflows and steps) + */ + public DiffSummaryDto withModified(double modified) { + this.modified = modified; + return this; + } + + + /** + * Number of deleted resources (workflows and steps) + */ + public DiffSummaryDto withDeleted(double deleted) { + this.deleted = deleted; + return this; + } + + + /** + * Number of unchanged resources (workflows and steps) + */ + public DiffSummaryDto withUnchanged(double unchanged) { + this.unchanged = unchanged; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + DiffSummaryDto other = (DiffSummaryDto) o; + return + Utils.enhancedDeepEquals(this.added, other.added) && + Utils.enhancedDeepEquals(this.modified, other.modified) && + Utils.enhancedDeepEquals(this.deleted, other.deleted) && + Utils.enhancedDeepEquals(this.unchanged, other.unchanged); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + added, modified, deleted, + unchanged); + } + + @Override + public String toString() { + return Utils.toString(DiffSummaryDto.class, + "added", added, + "modified", modified, + "deleted", deleted, + "unchanged", unchanged); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private double added; + + private double modified; + + private double deleted; + + private double unchanged; + + private Builder() { + // force use of static builder() method + } + + /** + * Number of added resources (workflows and steps) + */ + public Builder added(double added) { + this.added = added; + return this; + } + + /** + * Number of modified resources (workflows and steps) + */ + public Builder modified(double modified) { + this.modified = modified; + return this; + } + + /** + * Number of deleted resources (workflows and steps) + */ + public Builder deleted(double deleted) { + this.deleted = deleted; + return this; + } + + /** + * Number of unchanged resources (workflows and steps) + */ + public Builder unchanged(double unchanged) { + this.unchanged = unchanged; + return this; + } + + public DiffSummaryDto build() { + return new DiffSummaryDto( + added, modified, deleted, + unchanged); + } + + } +} diff --git a/src/main/java/co/novu/models/components/Diffs.java b/src/main/java/co/novu/models/components/Diffs.java new file mode 100644 index 00000000..2bf096cc --- /dev/null +++ b/src/main/java/co/novu/models/components/Diffs.java @@ -0,0 +1,150 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.lang.Object; +import java.lang.Override; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * Diffs + * + *

Detailed changes (only for modified resources) + */ +public class Diffs { + /** + * Previous state of the resource (null for added resources) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previous") + private JsonNullable> previous; + + /** + * New state of the resource (null for deleted resources) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("new") + private JsonNullable> new_; + + @JsonCreator + public Diffs( + @JsonProperty("previous") @Nullable JsonNullable> previous, + @JsonProperty("new") @Nullable JsonNullable> new_) { + this.previous = Optional.ofNullable(previous) + .orElse(JsonNullable.undefined()); + this.new_ = Optional.ofNullable(new_) + .orElse(JsonNullable.undefined()); + } + + public Diffs() { + this(null, null); + } + + /** + * Previous state of the resource (null for added resources) + */ + public JsonNullable> previous() { + return this.previous; + } + + /** + * New state of the resource (null for deleted resources) + */ + public JsonNullable> new_() { + return this.new_; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Previous state of the resource (null for added resources) + */ + public Diffs withPrevious(@Nullable Map previous) { + this.previous = JsonNullable.of(previous); + return this; + } + + + /** + * New state of the resource (null for deleted resources) + */ + public Diffs withNew(@Nullable Map new_) { + this.new_ = JsonNullable.of(new_); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Diffs other = (Diffs) o; + return + Utils.enhancedDeepEquals(this.previous, other.previous) && + Utils.enhancedDeepEquals(this.new_, other.new_); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + previous, new_); + } + + @Override + public String toString() { + return Utils.toString(Diffs.class, + "previous", previous, + "new_", new_); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable> previous; + + private JsonNullable> new_; + + private Builder() { + // force use of static builder() method + } + + /** + * Previous state of the resource (null for added resources) + */ + public Builder previous(@Nullable Map previous) { + this.previous = JsonNullable.of(previous); + return this; + } + + /** + * New state of the resource (null for deleted resources) + */ + public Builder new_(@Nullable Map new_) { + this.new_ = JsonNullable.of(new_); + return this; + } + + public Diffs build() { + return new Diffs( + previous, new_); + } + + } +} diff --git a/src/main/java/co/novu/models/components/DigestStepResponseDto.java b/src/main/java/co/novu/models/components/DigestStepResponseDto.java index 69c402db..bab562a0 100644 --- a/src/main/java/co/novu/models/components/DigestStepResponseDto.java +++ b/src/main/java/co/novu/models/components/DigestStepResponseDto.java @@ -92,6 +92,13 @@ public class DigestStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public DigestStepResponseDto( @JsonProperty("controls") @Nonnull DigestControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public DigestStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public DigestStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public DigestStepResponseDto( @@ -145,7 +154,8 @@ public DigestStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public DigestStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public DigestStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public DigestStepResponseDto build() { return new DigestStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/EmailStepResponseDto.java b/src/main/java/co/novu/models/components/EmailStepResponseDto.java index 4cfb2bd8..8eb41665 100644 --- a/src/main/java/co/novu/models/components/EmailStepResponseDto.java +++ b/src/main/java/co/novu/models/components/EmailStepResponseDto.java @@ -92,6 +92,13 @@ public class EmailStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public EmailStepResponseDto( @JsonProperty("controls") @Nonnull EmailControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public EmailStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public EmailStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public EmailStepResponseDto( @@ -145,7 +154,8 @@ public EmailStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public EmailStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public EmailStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public EmailStepResponseDto build() { return new EmailStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/EnvironmentDiffSummaryDto.java b/src/main/java/co/novu/models/components/EnvironmentDiffSummaryDto.java new file mode 100644 index 00000000..2acb79cc --- /dev/null +++ b/src/main/java/co/novu/models/components/EnvironmentDiffSummaryDto.java @@ -0,0 +1,167 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Override; +import java.lang.String; + + +public class EnvironmentDiffSummaryDto { + /** + * Total number of entities compared + */ + @JsonProperty("totalEntities") + private double totalEntities; + + /** + * Total number of changes detected + */ + @JsonProperty("totalChanges") + private double totalChanges; + + /** + * Whether any changes were detected + */ + @JsonProperty("hasChanges") + private boolean hasChanges; + + @JsonCreator + public EnvironmentDiffSummaryDto( + @JsonProperty("totalEntities") double totalEntities, + @JsonProperty("totalChanges") double totalChanges, + @JsonProperty("hasChanges") boolean hasChanges) { + this.totalEntities = totalEntities; + this.totalChanges = totalChanges; + this.hasChanges = hasChanges; + } + + /** + * Total number of entities compared + */ + public double totalEntities() { + return this.totalEntities; + } + + /** + * Total number of changes detected + */ + public double totalChanges() { + return this.totalChanges; + } + + /** + * Whether any changes were detected + */ + public boolean hasChanges() { + return this.hasChanges; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Total number of entities compared + */ + public EnvironmentDiffSummaryDto withTotalEntities(double totalEntities) { + this.totalEntities = totalEntities; + return this; + } + + + /** + * Total number of changes detected + */ + public EnvironmentDiffSummaryDto withTotalChanges(double totalChanges) { + this.totalChanges = totalChanges; + return this; + } + + + /** + * Whether any changes were detected + */ + public EnvironmentDiffSummaryDto withHasChanges(boolean hasChanges) { + this.hasChanges = hasChanges; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentDiffSummaryDto other = (EnvironmentDiffSummaryDto) o; + return + Utils.enhancedDeepEquals(this.totalEntities, other.totalEntities) && + Utils.enhancedDeepEquals(this.totalChanges, other.totalChanges) && + Utils.enhancedDeepEquals(this.hasChanges, other.hasChanges); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + totalEntities, totalChanges, hasChanges); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentDiffSummaryDto.class, + "totalEntities", totalEntities, + "totalChanges", totalChanges, + "hasChanges", hasChanges); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private double totalEntities; + + private double totalChanges; + + private boolean hasChanges; + + private Builder() { + // force use of static builder() method + } + + /** + * Total number of entities compared + */ + public Builder totalEntities(double totalEntities) { + this.totalEntities = totalEntities; + return this; + } + + /** + * Total number of changes detected + */ + public Builder totalChanges(double totalChanges) { + this.totalChanges = totalChanges; + return this; + } + + /** + * Whether any changes were detected + */ + public Builder hasChanges(boolean hasChanges) { + this.hasChanges = hasChanges; + return this; + } + + public EnvironmentDiffSummaryDto build() { + return new EnvironmentDiffSummaryDto( + totalEntities, totalChanges, hasChanges); + } + + } +} diff --git a/src/main/java/co/novu/models/components/FailedWorkflowDto.java b/src/main/java/co/novu/models/components/FailedWorkflowDto.java new file mode 100644 index 00000000..4f7af9cf --- /dev/null +++ b/src/main/java/co/novu/models/components/FailedWorkflowDto.java @@ -0,0 +1,260 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class FailedWorkflowDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Resource ID + */ + @JsonProperty("resourceId") + private String resourceId; + + /** + * Resource name + */ + @JsonProperty("resourceName") + private String resourceName; + + /** + * Error message + */ + @JsonProperty("error") + private String error; + + /** + * Error stack trace + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stack") + private String stack; + + @JsonCreator + public FailedWorkflowDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("resourceId") @Nonnull String resourceId, + @JsonProperty("resourceName") @Nonnull String resourceName, + @JsonProperty("error") @Nonnull String error, + @JsonProperty("stack") @Nullable String stack) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.resourceId = Optional.ofNullable(resourceId) + .orElseThrow(() -> new IllegalArgumentException("resourceId cannot be null")); + this.resourceName = Optional.ofNullable(resourceName) + .orElseThrow(() -> new IllegalArgumentException("resourceName cannot be null")); + this.error = Optional.ofNullable(error) + .orElseThrow(() -> new IllegalArgumentException("error cannot be null")); + this.stack = stack; + } + + public FailedWorkflowDto( + @Nonnull ResourceTypeEnum resourceType, + @Nonnull String resourceId, + @Nonnull String resourceName, + @Nonnull String error) { + this(resourceType, resourceId, resourceName, + error, null); + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Resource ID + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Resource name + */ + public String resourceName() { + return this.resourceName; + } + + /** + * Error message + */ + public String error() { + return this.error; + } + + /** + * Error stack trace + */ + public Optional stack() { + return Optional.ofNullable(this.stack); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public FailedWorkflowDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Resource ID + */ + public FailedWorkflowDto withResourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + + /** + * Resource name + */ + public FailedWorkflowDto withResourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + + /** + * Error message + */ + public FailedWorkflowDto withError(@Nonnull String error) { + this.error = Utils.checkNotNull(error, "error"); + return this; + } + + + /** + * Error stack trace + */ + public FailedWorkflowDto withStack(@Nullable String stack) { + this.stack = stack; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FailedWorkflowDto other = (FailedWorkflowDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.resourceId, other.resourceId) && + Utils.enhancedDeepEquals(this.resourceName, other.resourceName) && + Utils.enhancedDeepEquals(this.error, other.error) && + Utils.enhancedDeepEquals(this.stack, other.stack); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, resourceId, resourceName, + error, stack); + } + + @Override + public String toString() { + return Utils.toString(FailedWorkflowDto.class, + "resourceType", resourceType, + "resourceId", resourceId, + "resourceName", resourceName, + "error", error, + "stack", stack); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private String resourceId; + + private String resourceName; + + private String error; + + private String stack; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Resource ID + */ + public Builder resourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + /** + * Resource name + */ + public Builder resourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + /** + * Error message + */ + public Builder error(@Nonnull String error) { + this.error = Utils.checkNotNull(error, "error"); + return this; + } + + /** + * Error stack trace + */ + public Builder stack(@Nullable String stack) { + this.stack = stack; + return this; + } + + public FailedWorkflowDto build() { + return new FailedWorkflowDto( + resourceType, resourceId, resourceName, + error, stack); + } + + } +} diff --git a/src/main/java/co/novu/models/components/InAppStepResponseDto.java b/src/main/java/co/novu/models/components/InAppStepResponseDto.java index acccaa2c..8c2dcafe 100644 --- a/src/main/java/co/novu/models/components/InAppStepResponseDto.java +++ b/src/main/java/co/novu/models/components/InAppStepResponseDto.java @@ -92,6 +92,13 @@ public class InAppStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public InAppStepResponseDto( @JsonProperty("controls") @Nonnull InAppControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public InAppStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public InAppStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public InAppStepResponseDto( @@ -145,7 +154,8 @@ public InAppStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public InAppStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public InAppStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public InAppStepResponseDto build() { return new InAppStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/PublishEnvironmentRequestDto.java b/src/main/java/co/novu/models/components/PublishEnvironmentRequestDto.java new file mode 100644 index 00000000..3c26d510 --- /dev/null +++ b/src/main/java/co/novu/models/components/PublishEnvironmentRequestDto.java @@ -0,0 +1,189 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.LazySingletonValue; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.core.type.TypeReference; +import jakarta.annotation.Nullable; +import java.lang.Boolean; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Optional; + + +public class PublishEnvironmentRequestDto { + /** + * Source environment ID to sync from. Defaults to the Development environment if not provided. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceEnvironmentId") + private String sourceEnvironmentId; + + /** + * Perform a dry run without making actual changes + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dryRun") + private Boolean dryRun; + + /** + * Array of specific resources to publish. If not provided, all resources will be published. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("resources") + private List resources; + + @JsonCreator + public PublishEnvironmentRequestDto( + @JsonProperty("sourceEnvironmentId") @Nullable String sourceEnvironmentId, + @JsonProperty("dryRun") @Nullable Boolean dryRun, + @JsonProperty("resources") @Nullable List resources) { + this.sourceEnvironmentId = sourceEnvironmentId; + this.dryRun = Optional.ofNullable(dryRun) + .orElse(Builder._SINGLETON_VALUE_DryRun.value()); + this.resources = resources; + } + + public PublishEnvironmentRequestDto() { + this(null, null, null); + } + + /** + * Source environment ID to sync from. Defaults to the Development environment if not provided. + */ + public Optional sourceEnvironmentId() { + return Optional.ofNullable(this.sourceEnvironmentId); + } + + /** + * Perform a dry run without making actual changes + */ + public Optional dryRun() { + return Optional.ofNullable(this.dryRun); + } + + /** + * Array of specific resources to publish. If not provided, all resources will be published. + */ + public Optional> resources() { + return Optional.ofNullable(this.resources); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Source environment ID to sync from. Defaults to the Development environment if not provided. + */ + public PublishEnvironmentRequestDto withSourceEnvironmentId(@Nullable String sourceEnvironmentId) { + this.sourceEnvironmentId = sourceEnvironmentId; + return this; + } + + + /** + * Perform a dry run without making actual changes + */ + public PublishEnvironmentRequestDto withDryRun(@Nullable Boolean dryRun) { + this.dryRun = dryRun; + return this; + } + + + /** + * Array of specific resources to publish. If not provided, all resources will be published. + */ + public PublishEnvironmentRequestDto withResources(@Nullable List resources) { + this.resources = resources; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PublishEnvironmentRequestDto other = (PublishEnvironmentRequestDto) o; + return + Utils.enhancedDeepEquals(this.sourceEnvironmentId, other.sourceEnvironmentId) && + Utils.enhancedDeepEquals(this.dryRun, other.dryRun) && + Utils.enhancedDeepEquals(this.resources, other.resources); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + sourceEnvironmentId, dryRun, resources); + } + + @Override + public String toString() { + return Utils.toString(PublishEnvironmentRequestDto.class, + "sourceEnvironmentId", sourceEnvironmentId, + "dryRun", dryRun, + "resources", resources); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String sourceEnvironmentId; + + private Boolean dryRun; + + private List resources; + + private Builder() { + // force use of static builder() method + } + + /** + * Source environment ID to sync from. Defaults to the Development environment if not provided. + */ + public Builder sourceEnvironmentId(@Nullable String sourceEnvironmentId) { + this.sourceEnvironmentId = sourceEnvironmentId; + return this; + } + + /** + * Perform a dry run without making actual changes + */ + public Builder dryRun(@Nullable Boolean dryRun) { + this.dryRun = dryRun; + return this; + } + + /** + * Array of specific resources to publish. If not provided, all resources will be published. + */ + public Builder resources(@Nullable List resources) { + this.resources = resources; + return this; + } + + public PublishEnvironmentRequestDto build() { + return new PublishEnvironmentRequestDto( + sourceEnvironmentId, dryRun, resources); + } + + + private static final LazySingletonValue _SINGLETON_VALUE_DryRun = + new LazySingletonValue<>( + "dryRun", + "false", + new TypeReference() {}); + } +} diff --git a/src/main/java/co/novu/models/components/PublishEnvironmentResponseDto.java b/src/main/java/co/novu/models/components/PublishEnvironmentResponseDto.java new file mode 100644 index 00000000..a048fd3a --- /dev/null +++ b/src/main/java/co/novu/models/components/PublishEnvironmentResponseDto.java @@ -0,0 +1,136 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Optional; + + +public class PublishEnvironmentResponseDto { + /** + * Sync results by resource type + */ + @JsonProperty("results") + private List results; + + /** + * Summary of the sync operation + */ + @JsonProperty("summary") + private PublishSummaryDto summary; + + @JsonCreator + public PublishEnvironmentResponseDto( + @JsonProperty("results") @Nonnull List results, + @JsonProperty("summary") @Nonnull PublishSummaryDto summary) { + this.results = Optional.ofNullable(results) + .orElseThrow(() -> new IllegalArgumentException("results cannot be null")); + this.summary = Optional.ofNullable(summary) + .orElseThrow(() -> new IllegalArgumentException("summary cannot be null")); + } + + /** + * Sync results by resource type + */ + public List results() { + return this.results; + } + + /** + * Summary of the sync operation + */ + public PublishSummaryDto summary() { + return this.summary; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Sync results by resource type + */ + public PublishEnvironmentResponseDto withResults(@Nonnull List results) { + this.results = Utils.checkNotNull(results, "results"); + return this; + } + + + /** + * Summary of the sync operation + */ + public PublishEnvironmentResponseDto withSummary(@Nonnull PublishSummaryDto summary) { + this.summary = Utils.checkNotNull(summary, "summary"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PublishEnvironmentResponseDto other = (PublishEnvironmentResponseDto) o; + return + Utils.enhancedDeepEquals(this.results, other.results) && + Utils.enhancedDeepEquals(this.summary, other.summary); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + results, summary); + } + + @Override + public String toString() { + return Utils.toString(PublishEnvironmentResponseDto.class, + "results", results, + "summary", summary); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private List results; + + private PublishSummaryDto summary; + + private Builder() { + // force use of static builder() method + } + + /** + * Sync results by resource type + */ + public Builder results(@Nonnull List results) { + this.results = Utils.checkNotNull(results, "results"); + return this; + } + + /** + * Summary of the sync operation + */ + public Builder summary(@Nonnull PublishSummaryDto summary) { + this.summary = Utils.checkNotNull(summary, "summary"); + return this; + } + + public PublishEnvironmentResponseDto build() { + return new PublishEnvironmentResponseDto( + results, summary); + } + + } +} diff --git a/src/main/java/co/novu/models/components/PublishSummaryDto.java b/src/main/java/co/novu/models/components/PublishSummaryDto.java new file mode 100644 index 00000000..e4067f38 --- /dev/null +++ b/src/main/java/co/novu/models/components/PublishSummaryDto.java @@ -0,0 +1,205 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import java.lang.Override; +import java.lang.String; + + +public class PublishSummaryDto { + /** + * Number of resources processed + */ + @JsonProperty("resources") + private double resources; + + /** + * Number of successful syncs + */ + @JsonProperty("successful") + private double successful; + + /** + * Number of failed syncs + */ + @JsonProperty("failed") + private double failed; + + /** + * Number of skipped resources + */ + @JsonProperty("skipped") + private double skipped; + + @JsonCreator + public PublishSummaryDto( + @JsonProperty("resources") double resources, + @JsonProperty("successful") double successful, + @JsonProperty("failed") double failed, + @JsonProperty("skipped") double skipped) { + this.resources = resources; + this.successful = successful; + this.failed = failed; + this.skipped = skipped; + } + + /** + * Number of resources processed + */ + public double resources() { + return this.resources; + } + + /** + * Number of successful syncs + */ + public double successful() { + return this.successful; + } + + /** + * Number of failed syncs + */ + public double failed() { + return this.failed; + } + + /** + * Number of skipped resources + */ + public double skipped() { + return this.skipped; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Number of resources processed + */ + public PublishSummaryDto withResources(double resources) { + this.resources = resources; + return this; + } + + + /** + * Number of successful syncs + */ + public PublishSummaryDto withSuccessful(double successful) { + this.successful = successful; + return this; + } + + + /** + * Number of failed syncs + */ + public PublishSummaryDto withFailed(double failed) { + this.failed = failed; + return this; + } + + + /** + * Number of skipped resources + */ + public PublishSummaryDto withSkipped(double skipped) { + this.skipped = skipped; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + PublishSummaryDto other = (PublishSummaryDto) o; + return + Utils.enhancedDeepEquals(this.resources, other.resources) && + Utils.enhancedDeepEquals(this.successful, other.successful) && + Utils.enhancedDeepEquals(this.failed, other.failed) && + Utils.enhancedDeepEquals(this.skipped, other.skipped); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resources, successful, failed, + skipped); + } + + @Override + public String toString() { + return Utils.toString(PublishSummaryDto.class, + "resources", resources, + "successful", successful, + "failed", failed, + "skipped", skipped); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private double resources; + + private double successful; + + private double failed; + + private double skipped; + + private Builder() { + // force use of static builder() method + } + + /** + * Number of resources processed + */ + public Builder resources(double resources) { + this.resources = resources; + return this; + } + + /** + * Number of successful syncs + */ + public Builder successful(double successful) { + this.successful = successful; + return this; + } + + /** + * Number of failed syncs + */ + public Builder failed(double failed) { + this.failed = failed; + return this; + } + + /** + * Number of skipped resources + */ + public Builder skipped(double skipped) { + this.skipped = skipped; + return this; + } + + public PublishSummaryDto build() { + return new PublishSummaryDto( + resources, successful, failed, + skipped); + } + + } +} diff --git a/src/main/java/co/novu/models/components/PushStepResponseDto.java b/src/main/java/co/novu/models/components/PushStepResponseDto.java index a7430e65..6a9c8367 100644 --- a/src/main/java/co/novu/models/components/PushStepResponseDto.java +++ b/src/main/java/co/novu/models/components/PushStepResponseDto.java @@ -92,6 +92,13 @@ public class PushStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public PushStepResponseDto( @JsonProperty("controls") @Nonnull PushControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public PushStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public PushStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public PushStepResponseDto( @@ -145,7 +154,8 @@ public PushStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public PushStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public PushStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public PushStepResponseDto build() { return new PushStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/ResourceDependencyDto.java b/src/main/java/co/novu/models/components/ResourceDependencyDto.java new file mode 100644 index 00000000..e526ae2b --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDependencyDto.java @@ -0,0 +1,247 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class ResourceDependencyDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * ID of the dependent resource + */ + @JsonProperty("resourceId") + private String resourceId; + + /** + * Name of the dependent resource + */ + @JsonProperty("resourceName") + private String resourceName; + + /** + * Whether this dependency blocks the operation + */ + @JsonProperty("isBlocking") + private boolean isBlocking; + + /** + * Reason for the dependency + */ + @JsonProperty("reason") + private DependencyReasonEnum reason; + + @JsonCreator + public ResourceDependencyDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("resourceId") @Nonnull String resourceId, + @JsonProperty("resourceName") @Nonnull String resourceName, + @JsonProperty("isBlocking") boolean isBlocking, + @JsonProperty("reason") @Nonnull DependencyReasonEnum reason) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.resourceId = Optional.ofNullable(resourceId) + .orElseThrow(() -> new IllegalArgumentException("resourceId cannot be null")); + this.resourceName = Optional.ofNullable(resourceName) + .orElseThrow(() -> new IllegalArgumentException("resourceName cannot be null")); + this.isBlocking = isBlocking; + this.reason = Optional.ofNullable(reason) + .orElseThrow(() -> new IllegalArgumentException("reason cannot be null")); + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * ID of the dependent resource + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Name of the dependent resource + */ + public String resourceName() { + return this.resourceName; + } + + /** + * Whether this dependency blocks the operation + */ + public boolean isBlocking() { + return this.isBlocking; + } + + /** + * Reason for the dependency + */ + public DependencyReasonEnum reason() { + return this.reason; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public ResourceDependencyDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * ID of the dependent resource + */ + public ResourceDependencyDto withResourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + + /** + * Name of the dependent resource + */ + public ResourceDependencyDto withResourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + + /** + * Whether this dependency blocks the operation + */ + public ResourceDependencyDto withIsBlocking(boolean isBlocking) { + this.isBlocking = isBlocking; + return this; + } + + + /** + * Reason for the dependency + */ + public ResourceDependencyDto withReason(@Nonnull DependencyReasonEnum reason) { + this.reason = Utils.checkNotNull(reason, "reason"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDependencyDto other = (ResourceDependencyDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.resourceId, other.resourceId) && + Utils.enhancedDeepEquals(this.resourceName, other.resourceName) && + Utils.enhancedDeepEquals(this.isBlocking, other.isBlocking) && + Utils.enhancedDeepEquals(this.reason, other.reason); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, resourceId, resourceName, + isBlocking, reason); + } + + @Override + public String toString() { + return Utils.toString(ResourceDependencyDto.class, + "resourceType", resourceType, + "resourceId", resourceId, + "resourceName", resourceName, + "isBlocking", isBlocking, + "reason", reason); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private String resourceId; + + private String resourceName; + + private boolean isBlocking; + + private DependencyReasonEnum reason; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * ID of the dependent resource + */ + public Builder resourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + /** + * Name of the dependent resource + */ + public Builder resourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + /** + * Whether this dependency blocks the operation + */ + public Builder isBlocking(boolean isBlocking) { + this.isBlocking = isBlocking; + return this; + } + + /** + * Reason for the dependency + */ + public Builder reason(@Nonnull DependencyReasonEnum reason) { + this.reason = Utils.checkNotNull(reason, "reason"); + return this; + } + + public ResourceDependencyDto build() { + return new ResourceDependencyDto( + resourceType, resourceId, resourceName, + isBlocking, reason); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffDto.java b/src/main/java/co/novu/models/components/ResourceDiffDto.java new file mode 100644 index 00000000..3d69907d --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffDto.java @@ -0,0 +1,376 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Double; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ResourceDiffDto { + /** + * Source resource information + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceResource") + private JsonNullable sourceResource; + + /** + * Target resource information + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("targetResource") + private JsonNullable targetResource; + + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Type of change + */ + @JsonProperty("action") + private DiffActionEnum action; + + /** + * Detailed changes (only for modified resources) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("diffs") + private Diffs diffs; + + /** + * Step type (only for step resources) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepType") + private String stepType; + + /** + * Previous index in steps array (for moved/deleted steps) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("previousIndex") + private Double previousIndex; + + /** + * New index in steps array (for moved/added steps) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("newIndex") + private Double newIndex; + + @JsonCreator + public ResourceDiffDto( + @JsonProperty("sourceResource") @Nullable JsonNullable sourceResource, + @JsonProperty("targetResource") @Nullable JsonNullable targetResource, + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("action") @Nonnull DiffActionEnum action, + @JsonProperty("diffs") @Nullable Diffs diffs, + @JsonProperty("stepType") @Nullable String stepType, + @JsonProperty("previousIndex") @Nullable Double previousIndex, + @JsonProperty("newIndex") @Nullable Double newIndex) { + this.sourceResource = Optional.ofNullable(sourceResource) + .orElse(JsonNullable.undefined()); + this.targetResource = Optional.ofNullable(targetResource) + .orElse(JsonNullable.undefined()); + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.action = Optional.ofNullable(action) + .orElseThrow(() -> new IllegalArgumentException("action cannot be null")); + this.diffs = diffs; + this.stepType = stepType; + this.previousIndex = previousIndex; + this.newIndex = newIndex; + } + + public ResourceDiffDto( + @Nonnull ResourceTypeEnum resourceType, + @Nonnull DiffActionEnum action) { + this(null, null, resourceType, + action, null, null, + null, null); + } + + /** + * Source resource information + */ + public JsonNullable sourceResource() { + return this.sourceResource; + } + + /** + * Target resource information + */ + public JsonNullable targetResource() { + return this.targetResource; + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Type of change + */ + public DiffActionEnum action() { + return this.action; + } + + /** + * Detailed changes (only for modified resources) + */ + public Optional diffs() { + return Optional.ofNullable(this.diffs); + } + + /** + * Step type (only for step resources) + */ + public Optional stepType() { + return Optional.ofNullable(this.stepType); + } + + /** + * Previous index in steps array (for moved/deleted steps) + */ + public Optional previousIndex() { + return Optional.ofNullable(this.previousIndex); + } + + /** + * New index in steps array (for moved/added steps) + */ + public Optional newIndex() { + return Optional.ofNullable(this.newIndex); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Source resource information + */ + public ResourceDiffDto withSourceResource(@Nullable ResourceDiffDtoSourceResource sourceResource) { + this.sourceResource = JsonNullable.of(sourceResource); + return this; + } + + + /** + * Target resource information + */ + public ResourceDiffDto withTargetResource(@Nullable ResourceDiffDtoTargetResource targetResource) { + this.targetResource = JsonNullable.of(targetResource); + return this; + } + + + /** + * Type of the layout + */ + public ResourceDiffDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Type of change + */ + public ResourceDiffDto withAction(@Nonnull DiffActionEnum action) { + this.action = Utils.checkNotNull(action, "action"); + return this; + } + + + /** + * Detailed changes (only for modified resources) + */ + public ResourceDiffDto withDiffs(@Nullable Diffs diffs) { + this.diffs = diffs; + return this; + } + + + /** + * Step type (only for step resources) + */ + public ResourceDiffDto withStepType(@Nullable String stepType) { + this.stepType = stepType; + return this; + } + + + /** + * Previous index in steps array (for moved/deleted steps) + */ + public ResourceDiffDto withPreviousIndex(@Nullable Double previousIndex) { + this.previousIndex = previousIndex; + return this; + } + + + /** + * New index in steps array (for moved/added steps) + */ + public ResourceDiffDto withNewIndex(@Nullable Double newIndex) { + this.newIndex = newIndex; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffDto other = (ResourceDiffDto) o; + return + Utils.enhancedDeepEquals(this.sourceResource, other.sourceResource) && + Utils.enhancedDeepEquals(this.targetResource, other.targetResource) && + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.action, other.action) && + Utils.enhancedDeepEquals(this.diffs, other.diffs) && + Utils.enhancedDeepEquals(this.stepType, other.stepType) && + Utils.enhancedDeepEquals(this.previousIndex, other.previousIndex) && + Utils.enhancedDeepEquals(this.newIndex, other.newIndex); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + sourceResource, targetResource, resourceType, + action, diffs, stepType, + previousIndex, newIndex); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffDto.class, + "sourceResource", sourceResource, + "targetResource", targetResource, + "resourceType", resourceType, + "action", action, + "diffs", diffs, + "stepType", stepType, + "previousIndex", previousIndex, + "newIndex", newIndex); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable sourceResource; + + private JsonNullable targetResource; + + private ResourceTypeEnum resourceType; + + private DiffActionEnum action; + + private Diffs diffs; + + private String stepType; + + private Double previousIndex; + + private Double newIndex; + + private Builder() { + // force use of static builder() method + } + + /** + * Source resource information + */ + public Builder sourceResource(@Nullable ResourceDiffDtoSourceResource sourceResource) { + this.sourceResource = JsonNullable.of(sourceResource); + return this; + } + + /** + * Target resource information + */ + public Builder targetResource(@Nullable ResourceDiffDtoTargetResource targetResource) { + this.targetResource = JsonNullable.of(targetResource); + return this; + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Type of change + */ + public Builder action(@Nonnull DiffActionEnum action) { + this.action = Utils.checkNotNull(action, "action"); + return this; + } + + /** + * Detailed changes (only for modified resources) + */ + public Builder diffs(@Nullable Diffs diffs) { + this.diffs = diffs; + return this; + } + + /** + * Step type (only for step resources) + */ + public Builder stepType(@Nullable String stepType) { + this.stepType = stepType; + return this; + } + + /** + * Previous index in steps array (for moved/deleted steps) + */ + public Builder previousIndex(@Nullable Double previousIndex) { + this.previousIndex = previousIndex; + return this; + } + + /** + * New index in steps array (for moved/added steps) + */ + public Builder newIndex(@Nullable Double newIndex) { + this.newIndex = newIndex; + return this; + } + + public ResourceDiffDto build() { + return new ResourceDiffDto( + sourceResource, targetResource, resourceType, + action, diffs, stepType, + previousIndex, newIndex); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffDtoSourceResource.java b/src/main/java/co/novu/models/components/ResourceDiffDtoSourceResource.java new file mode 100644 index 00000000..25dc704d --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffDtoSourceResource.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffDtoSourceResource + * + *

Source resource information + */ +public class ResourceDiffDtoSourceResource { + /** + * Resource ID (workflow ID or step ID) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("id") + private JsonNullable id; + + /** + * Resource name (workflow name or step name) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private JsonNullable name; + + /** + * User who last updated the resource + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedBy") + private JsonNullable updatedBy; + + /** + * When the resource was last updated + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedAt") + private JsonNullable updatedAt; + + @JsonCreator + public ResourceDiffDtoSourceResource( + @JsonProperty("id") @Nullable JsonNullable id, + @JsonProperty("name") @Nullable JsonNullable name, + @JsonProperty("updatedBy") @Nullable JsonNullable updatedBy, + @JsonProperty("updatedAt") @Nullable JsonNullable updatedAt) { + this.id = Optional.ofNullable(id) + .orElse(JsonNullable.undefined()); + this.name = Optional.ofNullable(name) + .orElse(JsonNullable.undefined()); + this.updatedBy = Optional.ofNullable(updatedBy) + .orElse(JsonNullable.undefined()); + this.updatedAt = Optional.ofNullable(updatedAt) + .orElse(JsonNullable.undefined()); + } + + public ResourceDiffDtoSourceResource() { + this(null, null, null, + null); + } + + /** + * Resource ID (workflow ID or step ID) + */ + public JsonNullable id() { + return this.id; + } + + /** + * Resource name (workflow name or step name) + */ + public JsonNullable name() { + return this.name; + } + + /** + * User who last updated the resource + */ + public JsonNullable updatedBy() { + return this.updatedBy; + } + + /** + * When the resource was last updated + */ + public JsonNullable updatedAt() { + return this.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Resource ID (workflow ID or step ID) + */ + public ResourceDiffDtoSourceResource withId(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + + /** + * Resource name (workflow name or step name) + */ + public ResourceDiffDtoSourceResource withName(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + + /** + * User who last updated the resource + */ + public ResourceDiffDtoSourceResource withUpdatedBy(@Nullable ResourceDiffDtoSourceResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + + /** + * When the resource was last updated + */ + public ResourceDiffDtoSourceResource withUpdatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffDtoSourceResource other = (ResourceDiffDtoSourceResource) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.name, other.name) && + Utils.enhancedDeepEquals(this.updatedBy, other.updatedBy) && + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, name, updatedBy, + updatedAt); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffDtoSourceResource.class, + "id", id, + "name", name, + "updatedBy", updatedBy, + "updatedAt", updatedAt); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable id; + + private JsonNullable name; + + private JsonNullable updatedBy; + + private JsonNullable updatedAt; + + private Builder() { + // force use of static builder() method + } + + /** + * Resource ID (workflow ID or step ID) + */ + public Builder id(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + /** + * Resource name (workflow name or step name) + */ + public Builder name(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + /** + * User who last updated the resource + */ + public Builder updatedBy(@Nullable ResourceDiffDtoSourceResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + /** + * When the resource was last updated + */ + public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + public ResourceDiffDtoSourceResource build() { + return new ResourceDiffDtoSourceResource( + id, name, updatedBy, + updatedAt); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffDtoSourceResourceUpdatedBy.java b/src/main/java/co/novu/models/components/ResourceDiffDtoSourceResourceUpdatedBy.java new file mode 100644 index 00000000..02318184 --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffDtoSourceResourceUpdatedBy.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffDtoSourceResourceUpdatedBy + * + *

User who last updated the resource + */ +public class ResourceDiffDtoSourceResourceUpdatedBy { + /** + * User ID + */ + @JsonProperty("_id") + private String id; + + /** + * User first name + */ + @JsonProperty("firstName") + private String firstName; + + /** + * User last name + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lastName") + private JsonNullable lastName; + + /** + * User external ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("externalId") + private String externalId; + + @JsonCreator + public ResourceDiffDtoSourceResourceUpdatedBy( + @JsonProperty("_id") @Nonnull String id, + @JsonProperty("firstName") @Nonnull String firstName, + @JsonProperty("lastName") @Nullable JsonNullable lastName, + @JsonProperty("externalId") @Nullable String externalId) { + this.id = Optional.ofNullable(id) + .orElseThrow(() -> new IllegalArgumentException("id cannot be null")); + this.firstName = Optional.ofNullable(firstName) + .orElseThrow(() -> new IllegalArgumentException("firstName cannot be null")); + this.lastName = Optional.ofNullable(lastName) + .orElse(JsonNullable.undefined()); + this.externalId = externalId; + } + + public ResourceDiffDtoSourceResourceUpdatedBy( + @Nonnull String id, + @Nonnull String firstName) { + this(id, firstName, null, + null); + } + + /** + * User ID + */ + public String id() { + return this.id; + } + + /** + * User first name + */ + public String firstName() { + return this.firstName; + } + + /** + * User last name + */ + public JsonNullable lastName() { + return this.lastName; + } + + /** + * User external ID + */ + public Optional externalId() { + return Optional.ofNullable(this.externalId); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * User ID + */ + public ResourceDiffDtoSourceResourceUpdatedBy withId(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + + /** + * User first name + */ + public ResourceDiffDtoSourceResourceUpdatedBy withFirstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + + /** + * User last name + */ + public ResourceDiffDtoSourceResourceUpdatedBy withLastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + + /** + * User external ID + */ + public ResourceDiffDtoSourceResourceUpdatedBy withExternalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffDtoSourceResourceUpdatedBy other = (ResourceDiffDtoSourceResourceUpdatedBy) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.firstName, other.firstName) && + Utils.enhancedDeepEquals(this.lastName, other.lastName) && + Utils.enhancedDeepEquals(this.externalId, other.externalId); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, firstName, lastName, + externalId); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffDtoSourceResourceUpdatedBy.class, + "id", id, + "firstName", firstName, + "lastName", lastName, + "externalId", externalId); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String id; + + private String firstName; + + private JsonNullable lastName; + + private String externalId; + + private Builder() { + // force use of static builder() method + } + + /** + * User ID + */ + public Builder id(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + /** + * User first name + */ + public Builder firstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + /** + * User last name + */ + public Builder lastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + /** + * User external ID + */ + public Builder externalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + public ResourceDiffDtoSourceResourceUpdatedBy build() { + return new ResourceDiffDtoSourceResourceUpdatedBy( + id, firstName, lastName, + externalId); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffDtoTargetResource.java b/src/main/java/co/novu/models/components/ResourceDiffDtoTargetResource.java new file mode 100644 index 00000000..1603d37c --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffDtoTargetResource.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffDtoTargetResource + * + *

Target resource information + */ +public class ResourceDiffDtoTargetResource { + /** + * Resource ID (workflow ID or step ID) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("id") + private JsonNullable id; + + /** + * Resource name (workflow name or step name) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private JsonNullable name; + + /** + * User who last updated the resource + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedBy") + private JsonNullable updatedBy; + + /** + * When the resource was last updated + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedAt") + private JsonNullable updatedAt; + + @JsonCreator + public ResourceDiffDtoTargetResource( + @JsonProperty("id") @Nullable JsonNullable id, + @JsonProperty("name") @Nullable JsonNullable name, + @JsonProperty("updatedBy") @Nullable JsonNullable updatedBy, + @JsonProperty("updatedAt") @Nullable JsonNullable updatedAt) { + this.id = Optional.ofNullable(id) + .orElse(JsonNullable.undefined()); + this.name = Optional.ofNullable(name) + .orElse(JsonNullable.undefined()); + this.updatedBy = Optional.ofNullable(updatedBy) + .orElse(JsonNullable.undefined()); + this.updatedAt = Optional.ofNullable(updatedAt) + .orElse(JsonNullable.undefined()); + } + + public ResourceDiffDtoTargetResource() { + this(null, null, null, + null); + } + + /** + * Resource ID (workflow ID or step ID) + */ + public JsonNullable id() { + return this.id; + } + + /** + * Resource name (workflow name or step name) + */ + public JsonNullable name() { + return this.name; + } + + /** + * User who last updated the resource + */ + public JsonNullable updatedBy() { + return this.updatedBy; + } + + /** + * When the resource was last updated + */ + public JsonNullable updatedAt() { + return this.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Resource ID (workflow ID or step ID) + */ + public ResourceDiffDtoTargetResource withId(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + + /** + * Resource name (workflow name or step name) + */ + public ResourceDiffDtoTargetResource withName(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + + /** + * User who last updated the resource + */ + public ResourceDiffDtoTargetResource withUpdatedBy(@Nullable ResourceDiffDtoTargetResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + + /** + * When the resource was last updated + */ + public ResourceDiffDtoTargetResource withUpdatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffDtoTargetResource other = (ResourceDiffDtoTargetResource) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.name, other.name) && + Utils.enhancedDeepEquals(this.updatedBy, other.updatedBy) && + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, name, updatedBy, + updatedAt); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffDtoTargetResource.class, + "id", id, + "name", name, + "updatedBy", updatedBy, + "updatedAt", updatedAt); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable id; + + private JsonNullable name; + + private JsonNullable updatedBy; + + private JsonNullable updatedAt; + + private Builder() { + // force use of static builder() method + } + + /** + * Resource ID (workflow ID or step ID) + */ + public Builder id(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + /** + * Resource name (workflow name or step name) + */ + public Builder name(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + /** + * User who last updated the resource + */ + public Builder updatedBy(@Nullable ResourceDiffDtoTargetResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + /** + * When the resource was last updated + */ + public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + public ResourceDiffDtoTargetResource build() { + return new ResourceDiffDtoTargetResource( + id, name, updatedBy, + updatedAt); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffDtoTargetResourceUpdatedBy.java b/src/main/java/co/novu/models/components/ResourceDiffDtoTargetResourceUpdatedBy.java new file mode 100644 index 00000000..a825637c --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffDtoTargetResourceUpdatedBy.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffDtoTargetResourceUpdatedBy + * + *

User who last updated the resource + */ +public class ResourceDiffDtoTargetResourceUpdatedBy { + /** + * User ID + */ + @JsonProperty("_id") + private String id; + + /** + * User first name + */ + @JsonProperty("firstName") + private String firstName; + + /** + * User last name + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lastName") + private JsonNullable lastName; + + /** + * User external ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("externalId") + private String externalId; + + @JsonCreator + public ResourceDiffDtoTargetResourceUpdatedBy( + @JsonProperty("_id") @Nonnull String id, + @JsonProperty("firstName") @Nonnull String firstName, + @JsonProperty("lastName") @Nullable JsonNullable lastName, + @JsonProperty("externalId") @Nullable String externalId) { + this.id = Optional.ofNullable(id) + .orElseThrow(() -> new IllegalArgumentException("id cannot be null")); + this.firstName = Optional.ofNullable(firstName) + .orElseThrow(() -> new IllegalArgumentException("firstName cannot be null")); + this.lastName = Optional.ofNullable(lastName) + .orElse(JsonNullable.undefined()); + this.externalId = externalId; + } + + public ResourceDiffDtoTargetResourceUpdatedBy( + @Nonnull String id, + @Nonnull String firstName) { + this(id, firstName, null, + null); + } + + /** + * User ID + */ + public String id() { + return this.id; + } + + /** + * User first name + */ + public String firstName() { + return this.firstName; + } + + /** + * User last name + */ + public JsonNullable lastName() { + return this.lastName; + } + + /** + * User external ID + */ + public Optional externalId() { + return Optional.ofNullable(this.externalId); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * User ID + */ + public ResourceDiffDtoTargetResourceUpdatedBy withId(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + + /** + * User first name + */ + public ResourceDiffDtoTargetResourceUpdatedBy withFirstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + + /** + * User last name + */ + public ResourceDiffDtoTargetResourceUpdatedBy withLastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + + /** + * User external ID + */ + public ResourceDiffDtoTargetResourceUpdatedBy withExternalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffDtoTargetResourceUpdatedBy other = (ResourceDiffDtoTargetResourceUpdatedBy) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.firstName, other.firstName) && + Utils.enhancedDeepEquals(this.lastName, other.lastName) && + Utils.enhancedDeepEquals(this.externalId, other.externalId); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, firstName, lastName, + externalId); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffDtoTargetResourceUpdatedBy.class, + "id", id, + "firstName", firstName, + "lastName", lastName, + "externalId", externalId); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String id; + + private String firstName; + + private JsonNullable lastName; + + private String externalId; + + private Builder() { + // force use of static builder() method + } + + /** + * User ID + */ + public Builder id(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + /** + * User first name + */ + public Builder firstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + /** + * User last name + */ + public Builder lastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + /** + * User external ID + */ + public Builder externalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + public ResourceDiffDtoTargetResourceUpdatedBy build() { + return new ResourceDiffDtoTargetResourceUpdatedBy( + id, firstName, lastName, + externalId); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffResultDto.java b/src/main/java/co/novu/models/components/ResourceDiffResultDto.java new file mode 100644 index 00000000..0a17c66d --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffResultDto.java @@ -0,0 +1,300 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + + +public class ResourceDiffResultDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Source resource information + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("sourceResource") + private JsonNullable sourceResource; + + /** + * Target resource information + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("targetResource") + private JsonNullable targetResource; + + /** + * List of specific changes for this resource + */ + @JsonProperty("changes") + private List changes; + + /** + * Summary of changes for this resource + */ + @JsonProperty("summary") + private DiffSummaryDto summary; + + /** + * Dependencies that affect this resource + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("dependencies") + private List dependencies; + + @JsonCreator + public ResourceDiffResultDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("sourceResource") @Nullable JsonNullable sourceResource, + @JsonProperty("targetResource") @Nullable JsonNullable targetResource, + @JsonProperty("changes") @Nonnull List changes, + @JsonProperty("summary") @Nonnull DiffSummaryDto summary, + @JsonProperty("dependencies") @Nullable List dependencies) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.sourceResource = Optional.ofNullable(sourceResource) + .orElse(JsonNullable.undefined()); + this.targetResource = Optional.ofNullable(targetResource) + .orElse(JsonNullable.undefined()); + this.changes = Optional.ofNullable(changes) + .orElseThrow(() -> new IllegalArgumentException("changes cannot be null")); + this.summary = Optional.ofNullable(summary) + .orElseThrow(() -> new IllegalArgumentException("summary cannot be null")); + this.dependencies = dependencies; + } + + public ResourceDiffResultDto( + @Nonnull ResourceTypeEnum resourceType, + @Nonnull List changes, + @Nonnull DiffSummaryDto summary) { + this(resourceType, null, null, + changes, summary, null); + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Source resource information + */ + public JsonNullable sourceResource() { + return this.sourceResource; + } + + /** + * Target resource information + */ + public JsonNullable targetResource() { + return this.targetResource; + } + + /** + * List of specific changes for this resource + */ + public List changes() { + return this.changes; + } + + /** + * Summary of changes for this resource + */ + public DiffSummaryDto summary() { + return this.summary; + } + + /** + * Dependencies that affect this resource + */ + public Optional> dependencies() { + return Optional.ofNullable(this.dependencies); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public ResourceDiffResultDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Source resource information + */ + public ResourceDiffResultDto withSourceResource(@Nullable ResourceDiffResultDtoSourceResource sourceResource) { + this.sourceResource = JsonNullable.of(sourceResource); + return this; + } + + + /** + * Target resource information + */ + public ResourceDiffResultDto withTargetResource(@Nullable ResourceDiffResultDtoTargetResource targetResource) { + this.targetResource = JsonNullable.of(targetResource); + return this; + } + + + /** + * List of specific changes for this resource + */ + public ResourceDiffResultDto withChanges(@Nonnull List changes) { + this.changes = Utils.checkNotNull(changes, "changes"); + return this; + } + + + /** + * Summary of changes for this resource + */ + public ResourceDiffResultDto withSummary(@Nonnull DiffSummaryDto summary) { + this.summary = Utils.checkNotNull(summary, "summary"); + return this; + } + + + /** + * Dependencies that affect this resource + */ + public ResourceDiffResultDto withDependencies(@Nullable List dependencies) { + this.dependencies = dependencies; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffResultDto other = (ResourceDiffResultDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.sourceResource, other.sourceResource) && + Utils.enhancedDeepEquals(this.targetResource, other.targetResource) && + Utils.enhancedDeepEquals(this.changes, other.changes) && + Utils.enhancedDeepEquals(this.summary, other.summary) && + Utils.enhancedDeepEquals(this.dependencies, other.dependencies); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, sourceResource, targetResource, + changes, summary, dependencies); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffResultDto.class, + "resourceType", resourceType, + "sourceResource", sourceResource, + "targetResource", targetResource, + "changes", changes, + "summary", summary, + "dependencies", dependencies); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private JsonNullable sourceResource; + + private JsonNullable targetResource; + + private List changes; + + private DiffSummaryDto summary; + + private List dependencies; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Source resource information + */ + public Builder sourceResource(@Nullable ResourceDiffResultDtoSourceResource sourceResource) { + this.sourceResource = JsonNullable.of(sourceResource); + return this; + } + + /** + * Target resource information + */ + public Builder targetResource(@Nullable ResourceDiffResultDtoTargetResource targetResource) { + this.targetResource = JsonNullable.of(targetResource); + return this; + } + + /** + * List of specific changes for this resource + */ + public Builder changes(@Nonnull List changes) { + this.changes = Utils.checkNotNull(changes, "changes"); + return this; + } + + /** + * Summary of changes for this resource + */ + public Builder summary(@Nonnull DiffSummaryDto summary) { + this.summary = Utils.checkNotNull(summary, "summary"); + return this; + } + + /** + * Dependencies that affect this resource + */ + public Builder dependencies(@Nullable List dependencies) { + this.dependencies = dependencies; + return this; + } + + public ResourceDiffResultDto build() { + return new ResourceDiffResultDto( + resourceType, sourceResource, targetResource, + changes, summary, dependencies); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResource.java b/src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResource.java new file mode 100644 index 00000000..99d431ad --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResource.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffResultDtoSourceResource + * + *

Source resource information + */ +public class ResourceDiffResultDtoSourceResource { + /** + * Resource ID (workflow ID or step ID) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("id") + private JsonNullable id; + + /** + * Resource name (workflow name or step name) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private JsonNullable name; + + /** + * User who last updated the resource + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedBy") + private JsonNullable updatedBy; + + /** + * When the resource was last updated + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedAt") + private JsonNullable updatedAt; + + @JsonCreator + public ResourceDiffResultDtoSourceResource( + @JsonProperty("id") @Nullable JsonNullable id, + @JsonProperty("name") @Nullable JsonNullable name, + @JsonProperty("updatedBy") @Nullable JsonNullable updatedBy, + @JsonProperty("updatedAt") @Nullable JsonNullable updatedAt) { + this.id = Optional.ofNullable(id) + .orElse(JsonNullable.undefined()); + this.name = Optional.ofNullable(name) + .orElse(JsonNullable.undefined()); + this.updatedBy = Optional.ofNullable(updatedBy) + .orElse(JsonNullable.undefined()); + this.updatedAt = Optional.ofNullable(updatedAt) + .orElse(JsonNullable.undefined()); + } + + public ResourceDiffResultDtoSourceResource() { + this(null, null, null, + null); + } + + /** + * Resource ID (workflow ID or step ID) + */ + public JsonNullable id() { + return this.id; + } + + /** + * Resource name (workflow name or step name) + */ + public JsonNullable name() { + return this.name; + } + + /** + * User who last updated the resource + */ + public JsonNullable updatedBy() { + return this.updatedBy; + } + + /** + * When the resource was last updated + */ + public JsonNullable updatedAt() { + return this.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Resource ID (workflow ID or step ID) + */ + public ResourceDiffResultDtoSourceResource withId(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + + /** + * Resource name (workflow name or step name) + */ + public ResourceDiffResultDtoSourceResource withName(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + + /** + * User who last updated the resource + */ + public ResourceDiffResultDtoSourceResource withUpdatedBy(@Nullable ResourceDiffResultDtoSourceResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + + /** + * When the resource was last updated + */ + public ResourceDiffResultDtoSourceResource withUpdatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffResultDtoSourceResource other = (ResourceDiffResultDtoSourceResource) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.name, other.name) && + Utils.enhancedDeepEquals(this.updatedBy, other.updatedBy) && + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, name, updatedBy, + updatedAt); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffResultDtoSourceResource.class, + "id", id, + "name", name, + "updatedBy", updatedBy, + "updatedAt", updatedAt); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable id; + + private JsonNullable name; + + private JsonNullable updatedBy; + + private JsonNullable updatedAt; + + private Builder() { + // force use of static builder() method + } + + /** + * Resource ID (workflow ID or step ID) + */ + public Builder id(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + /** + * Resource name (workflow name or step name) + */ + public Builder name(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + /** + * User who last updated the resource + */ + public Builder updatedBy(@Nullable ResourceDiffResultDtoSourceResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + /** + * When the resource was last updated + */ + public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + public ResourceDiffResultDtoSourceResource build() { + return new ResourceDiffResultDtoSourceResource( + id, name, updatedBy, + updatedAt); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.java b/src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.java new file mode 100644 index 00000000..3379fe25 --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffResultDtoSourceResourceUpdatedBy.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffResultDtoSourceResourceUpdatedBy + * + *

User who last updated the resource + */ +public class ResourceDiffResultDtoSourceResourceUpdatedBy { + /** + * User ID + */ + @JsonProperty("_id") + private String id; + + /** + * User first name + */ + @JsonProperty("firstName") + private String firstName; + + /** + * User last name + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lastName") + private JsonNullable lastName; + + /** + * User external ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("externalId") + private String externalId; + + @JsonCreator + public ResourceDiffResultDtoSourceResourceUpdatedBy( + @JsonProperty("_id") @Nonnull String id, + @JsonProperty("firstName") @Nonnull String firstName, + @JsonProperty("lastName") @Nullable JsonNullable lastName, + @JsonProperty("externalId") @Nullable String externalId) { + this.id = Optional.ofNullable(id) + .orElseThrow(() -> new IllegalArgumentException("id cannot be null")); + this.firstName = Optional.ofNullable(firstName) + .orElseThrow(() -> new IllegalArgumentException("firstName cannot be null")); + this.lastName = Optional.ofNullable(lastName) + .orElse(JsonNullable.undefined()); + this.externalId = externalId; + } + + public ResourceDiffResultDtoSourceResourceUpdatedBy( + @Nonnull String id, + @Nonnull String firstName) { + this(id, firstName, null, + null); + } + + /** + * User ID + */ + public String id() { + return this.id; + } + + /** + * User first name + */ + public String firstName() { + return this.firstName; + } + + /** + * User last name + */ + public JsonNullable lastName() { + return this.lastName; + } + + /** + * User external ID + */ + public Optional externalId() { + return Optional.ofNullable(this.externalId); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * User ID + */ + public ResourceDiffResultDtoSourceResourceUpdatedBy withId(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + + /** + * User first name + */ + public ResourceDiffResultDtoSourceResourceUpdatedBy withFirstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + + /** + * User last name + */ + public ResourceDiffResultDtoSourceResourceUpdatedBy withLastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + + /** + * User external ID + */ + public ResourceDiffResultDtoSourceResourceUpdatedBy withExternalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffResultDtoSourceResourceUpdatedBy other = (ResourceDiffResultDtoSourceResourceUpdatedBy) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.firstName, other.firstName) && + Utils.enhancedDeepEquals(this.lastName, other.lastName) && + Utils.enhancedDeepEquals(this.externalId, other.externalId); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, firstName, lastName, + externalId); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffResultDtoSourceResourceUpdatedBy.class, + "id", id, + "firstName", firstName, + "lastName", lastName, + "externalId", externalId); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String id; + + private String firstName; + + private JsonNullable lastName; + + private String externalId; + + private Builder() { + // force use of static builder() method + } + + /** + * User ID + */ + public Builder id(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + /** + * User first name + */ + public Builder firstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + /** + * User last name + */ + public Builder lastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + /** + * User external ID + */ + public Builder externalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + public ResourceDiffResultDtoSourceResourceUpdatedBy build() { + return new ResourceDiffResultDtoSourceResourceUpdatedBy( + id, firstName, lastName, + externalId); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResource.java b/src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResource.java new file mode 100644 index 00000000..abe8f6f4 --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResource.java @@ -0,0 +1,228 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.time.OffsetDateTime; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffResultDtoTargetResource + * + *

Target resource information + */ +public class ResourceDiffResultDtoTargetResource { + /** + * Resource ID (workflow ID or step ID) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("id") + private JsonNullable id; + + /** + * Resource name (workflow name or step name) + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("name") + private JsonNullable name; + + /** + * User who last updated the resource + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedBy") + private JsonNullable updatedBy; + + /** + * When the resource was last updated + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("updatedAt") + private JsonNullable updatedAt; + + @JsonCreator + public ResourceDiffResultDtoTargetResource( + @JsonProperty("id") @Nullable JsonNullable id, + @JsonProperty("name") @Nullable JsonNullable name, + @JsonProperty("updatedBy") @Nullable JsonNullable updatedBy, + @JsonProperty("updatedAt") @Nullable JsonNullable updatedAt) { + this.id = Optional.ofNullable(id) + .orElse(JsonNullable.undefined()); + this.name = Optional.ofNullable(name) + .orElse(JsonNullable.undefined()); + this.updatedBy = Optional.ofNullable(updatedBy) + .orElse(JsonNullable.undefined()); + this.updatedAt = Optional.ofNullable(updatedAt) + .orElse(JsonNullable.undefined()); + } + + public ResourceDiffResultDtoTargetResource() { + this(null, null, null, + null); + } + + /** + * Resource ID (workflow ID or step ID) + */ + public JsonNullable id() { + return this.id; + } + + /** + * Resource name (workflow name or step name) + */ + public JsonNullable name() { + return this.name; + } + + /** + * User who last updated the resource + */ + public JsonNullable updatedBy() { + return this.updatedBy; + } + + /** + * When the resource was last updated + */ + public JsonNullable updatedAt() { + return this.updatedAt; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Resource ID (workflow ID or step ID) + */ + public ResourceDiffResultDtoTargetResource withId(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + + /** + * Resource name (workflow name or step name) + */ + public ResourceDiffResultDtoTargetResource withName(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + + /** + * User who last updated the resource + */ + public ResourceDiffResultDtoTargetResource withUpdatedBy(@Nullable ResourceDiffResultDtoTargetResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + + /** + * When the resource was last updated + */ + public ResourceDiffResultDtoTargetResource withUpdatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffResultDtoTargetResource other = (ResourceDiffResultDtoTargetResource) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.name, other.name) && + Utils.enhancedDeepEquals(this.updatedBy, other.updatedBy) && + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, name, updatedBy, + updatedAt); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffResultDtoTargetResource.class, + "id", id, + "name", name, + "updatedBy", updatedBy, + "updatedAt", updatedAt); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private JsonNullable id; + + private JsonNullable name; + + private JsonNullable updatedBy; + + private JsonNullable updatedAt; + + private Builder() { + // force use of static builder() method + } + + /** + * Resource ID (workflow ID or step ID) + */ + public Builder id(@Nullable String id) { + this.id = JsonNullable.of(id); + return this; + } + + /** + * Resource name (workflow name or step name) + */ + public Builder name(@Nullable String name) { + this.name = JsonNullable.of(name); + return this; + } + + /** + * User who last updated the resource + */ + public Builder updatedBy(@Nullable ResourceDiffResultDtoTargetResourceUpdatedBy updatedBy) { + this.updatedBy = JsonNullable.of(updatedBy); + return this; + } + + /** + * When the resource was last updated + */ + public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { + this.updatedAt = JsonNullable.of(updatedAt); + return this; + } + + public ResourceDiffResultDtoTargetResource build() { + return new ResourceDiffResultDtoTargetResource( + id, name, updatedBy, + updatedAt); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.java b/src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.java new file mode 100644 index 00000000..637ba43a --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceDiffResultDtoTargetResourceUpdatedBy.java @@ -0,0 +1,227 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; +import org.openapitools.jackson.nullable.JsonNullable; + +/** + * ResourceDiffResultDtoTargetResourceUpdatedBy + * + *

User who last updated the resource + */ +public class ResourceDiffResultDtoTargetResourceUpdatedBy { + /** + * User ID + */ + @JsonProperty("_id") + private String id; + + /** + * User first name + */ + @JsonProperty("firstName") + private String firstName; + + /** + * User last name + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("lastName") + private JsonNullable lastName; + + /** + * User external ID + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("externalId") + private String externalId; + + @JsonCreator + public ResourceDiffResultDtoTargetResourceUpdatedBy( + @JsonProperty("_id") @Nonnull String id, + @JsonProperty("firstName") @Nonnull String firstName, + @JsonProperty("lastName") @Nullable JsonNullable lastName, + @JsonProperty("externalId") @Nullable String externalId) { + this.id = Optional.ofNullable(id) + .orElseThrow(() -> new IllegalArgumentException("id cannot be null")); + this.firstName = Optional.ofNullable(firstName) + .orElseThrow(() -> new IllegalArgumentException("firstName cannot be null")); + this.lastName = Optional.ofNullable(lastName) + .orElse(JsonNullable.undefined()); + this.externalId = externalId; + } + + public ResourceDiffResultDtoTargetResourceUpdatedBy( + @Nonnull String id, + @Nonnull String firstName) { + this(id, firstName, null, + null); + } + + /** + * User ID + */ + public String id() { + return this.id; + } + + /** + * User first name + */ + public String firstName() { + return this.firstName; + } + + /** + * User last name + */ + public JsonNullable lastName() { + return this.lastName; + } + + /** + * User external ID + */ + public Optional externalId() { + return Optional.ofNullable(this.externalId); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * User ID + */ + public ResourceDiffResultDtoTargetResourceUpdatedBy withId(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + + /** + * User first name + */ + public ResourceDiffResultDtoTargetResourceUpdatedBy withFirstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + + /** + * User last name + */ + public ResourceDiffResultDtoTargetResourceUpdatedBy withLastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + + /** + * User external ID + */ + public ResourceDiffResultDtoTargetResourceUpdatedBy withExternalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceDiffResultDtoTargetResourceUpdatedBy other = (ResourceDiffResultDtoTargetResourceUpdatedBy) o; + return + Utils.enhancedDeepEquals(this.id, other.id) && + Utils.enhancedDeepEquals(this.firstName, other.firstName) && + Utils.enhancedDeepEquals(this.lastName, other.lastName) && + Utils.enhancedDeepEquals(this.externalId, other.externalId); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + id, firstName, lastName, + externalId); + } + + @Override + public String toString() { + return Utils.toString(ResourceDiffResultDtoTargetResourceUpdatedBy.class, + "id", id, + "firstName", firstName, + "lastName", lastName, + "externalId", externalId); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String id; + + private String firstName; + + private JsonNullable lastName; + + private String externalId; + + private Builder() { + // force use of static builder() method + } + + /** + * User ID + */ + public Builder id(@Nonnull String id) { + this.id = Utils.checkNotNull(id, "id"); + return this; + } + + /** + * User first name + */ + public Builder firstName(@Nonnull String firstName) { + this.firstName = Utils.checkNotNull(firstName, "firstName"); + return this; + } + + /** + * User last name + */ + public Builder lastName(@Nullable String lastName) { + this.lastName = JsonNullable.of(lastName); + return this; + } + + /** + * User external ID + */ + public Builder externalId(@Nullable String externalId) { + this.externalId = externalId; + return this; + } + + public ResourceDiffResultDtoTargetResourceUpdatedBy build() { + return new ResourceDiffResultDtoTargetResourceUpdatedBy( + id, firstName, lastName, + externalId); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ResourceToPublishDto.java b/src/main/java/co/novu/models/components/ResourceToPublishDto.java new file mode 100644 index 00000000..bb6caadc --- /dev/null +++ b/src/main/java/co/novu/models/components/ResourceToPublishDto.java @@ -0,0 +1,135 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class ResourceToPublishDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Unique identifier of the resource to publish + */ + @JsonProperty("resourceId") + private String resourceId; + + @JsonCreator + public ResourceToPublishDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("resourceId") @Nonnull String resourceId) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.resourceId = Optional.ofNullable(resourceId) + .orElseThrow(() -> new IllegalArgumentException("resourceId cannot be null")); + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Unique identifier of the resource to publish + */ + public String resourceId() { + return this.resourceId; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public ResourceToPublishDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Unique identifier of the resource to publish + */ + public ResourceToPublishDto withResourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + ResourceToPublishDto other = (ResourceToPublishDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.resourceId, other.resourceId); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, resourceId); + } + + @Override + public String toString() { + return Utils.toString(ResourceToPublishDto.class, + "resourceType", resourceType, + "resourceId", resourceId); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private String resourceId; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Unique identifier of the resource to publish + */ + public Builder resourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + public ResourceToPublishDto build() { + return new ResourceToPublishDto( + resourceType, resourceId); + } + + } +} diff --git a/src/main/java/co/novu/models/components/SkippedWorkflowDto.java b/src/main/java/co/novu/models/components/SkippedWorkflowDto.java new file mode 100644 index 00000000..830555c4 --- /dev/null +++ b/src/main/java/co/novu/models/components/SkippedWorkflowDto.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class SkippedWorkflowDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Resource ID + */ + @JsonProperty("resourceId") + private String resourceId; + + /** + * Resource name + */ + @JsonProperty("resourceName") + private String resourceName; + + /** + * Reason for skipping + */ + @JsonProperty("reason") + private String reason; + + @JsonCreator + public SkippedWorkflowDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("resourceId") @Nonnull String resourceId, + @JsonProperty("resourceName") @Nonnull String resourceName, + @JsonProperty("reason") @Nonnull String reason) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.resourceId = Optional.ofNullable(resourceId) + .orElseThrow(() -> new IllegalArgumentException("resourceId cannot be null")); + this.resourceName = Optional.ofNullable(resourceName) + .orElseThrow(() -> new IllegalArgumentException("resourceName cannot be null")); + this.reason = Optional.ofNullable(reason) + .orElseThrow(() -> new IllegalArgumentException("reason cannot be null")); + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Resource ID + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Resource name + */ + public String resourceName() { + return this.resourceName; + } + + /** + * Reason for skipping + */ + public String reason() { + return this.reason; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public SkippedWorkflowDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Resource ID + */ + public SkippedWorkflowDto withResourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + + /** + * Resource name + */ + public SkippedWorkflowDto withResourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + + /** + * Reason for skipping + */ + public SkippedWorkflowDto withReason(@Nonnull String reason) { + this.reason = Utils.checkNotNull(reason, "reason"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SkippedWorkflowDto other = (SkippedWorkflowDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.resourceId, other.resourceId) && + Utils.enhancedDeepEquals(this.resourceName, other.resourceName) && + Utils.enhancedDeepEquals(this.reason, other.reason); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, resourceId, resourceName, + reason); + } + + @Override + public String toString() { + return Utils.toString(SkippedWorkflowDto.class, + "resourceType", resourceType, + "resourceId", resourceId, + "resourceName", resourceName, + "reason", reason); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private String resourceId; + + private String resourceName; + + private String reason; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Resource ID + */ + public Builder resourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + /** + * Resource name + */ + public Builder resourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + /** + * Reason for skipping + */ + public Builder reason(@Nonnull String reason) { + this.reason = Utils.checkNotNull(reason, "reason"); + return this; + } + + public SkippedWorkflowDto build() { + return new SkippedWorkflowDto( + resourceType, resourceId, resourceName, + reason); + } + + } +} diff --git a/src/main/java/co/novu/models/components/SmsStepResponseDto.java b/src/main/java/co/novu/models/components/SmsStepResponseDto.java index d48a6dc8..dd449d2e 100644 --- a/src/main/java/co/novu/models/components/SmsStepResponseDto.java +++ b/src/main/java/co/novu/models/components/SmsStepResponseDto.java @@ -92,6 +92,13 @@ public class SmsStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public SmsStepResponseDto( @JsonProperty("controls") @Nonnull SmsControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public SmsStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public SmsStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public SmsStepResponseDto( @@ -145,7 +154,8 @@ public SmsStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public SmsStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public SmsStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public SmsStepResponseDto build() { return new SmsStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/StepResponseDto.java b/src/main/java/co/novu/models/components/StepResponseDto.java index e8d5490e..4054c342 100644 --- a/src/main/java/co/novu/models/components/StepResponseDto.java +++ b/src/main/java/co/novu/models/components/StepResponseDto.java @@ -92,6 +92,13 @@ public class StepResponseDto { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public StepResponseDto( @JsonProperty("controls") @Nonnull ControlsMetadataDto controls, @@ -105,7 +112,8 @@ public StepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public StepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public StepResponseDto( @@ -145,7 +154,8 @@ public StepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -232,6 +242,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -345,6 +362,15 @@ public StepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public StepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -366,7 +392,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -375,7 +402,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -392,7 +420,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -422,6 +451,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -522,12 +553,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public StepResponseDto build() { return new StepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/components/SyncActionEnum.java b/src/main/java/co/novu/models/components/SyncActionEnum.java new file mode 100644 index 00000000..5976614c --- /dev/null +++ b/src/main/java/co/novu/models/components/SyncActionEnum.java @@ -0,0 +1,140 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +/** + * SyncActionEnum + * + *

Sync action performed + */ +public class SyncActionEnum { + + public static final SyncActionEnum CREATED = new SyncActionEnum("created"); + public static final SyncActionEnum UPDATED = new SyncActionEnum("updated"); + public static final SyncActionEnum SKIPPED = new SyncActionEnum("skipped"); + public static final SyncActionEnum DELETED = new SyncActionEnum("deleted"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private SyncActionEnum(String value) { + this.value = value; + } + + /** + * Returns a SyncActionEnum with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as SyncActionEnum + */ + @JsonCreator + public static SyncActionEnum of(String value) { + synchronized (SyncActionEnum.class) { + return values.computeIfAbsent(value, v -> new SyncActionEnum(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SyncActionEnum other = (SyncActionEnum) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "SyncActionEnum [value=" + value + "]"; + } + + // return an array just like an enum + public static SyncActionEnum[] values() { + synchronized (SyncActionEnum.class) { + return values.values().toArray(new SyncActionEnum[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("created", CREATED); + map.put("updated", UPDATED); + map.put("skipped", SKIPPED); + map.put("deleted", DELETED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("created", SyncActionEnumEnum.CREATED); + map.put("updated", SyncActionEnumEnum.UPDATED); + map.put("skipped", SyncActionEnumEnum.SKIPPED); + map.put("deleted", SyncActionEnumEnum.DELETED); + return map; + } + + + public enum SyncActionEnumEnum { + + CREATED("created"), + UPDATED("updated"), + SKIPPED("skipped"), + DELETED("deleted"),; + + private final String value; + + private SyncActionEnumEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/co/novu/models/components/SyncResultDto.java b/src/main/java/co/novu/models/components/SyncResultDto.java new file mode 100644 index 00000000..9ba4e948 --- /dev/null +++ b/src/main/java/co/novu/models/components/SyncResultDto.java @@ -0,0 +1,248 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.List; +import java.util.Optional; + + +public class SyncResultDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Successfully synced resources + */ + @JsonProperty("successful") + private List successful; + + /** + * Failed resource syncs + */ + @JsonProperty("failed") + private List failed; + + /** + * Skipped resources + */ + @JsonProperty("skipped") + private List skipped; + + /** + * Total number of resources processed + */ + @JsonProperty("totalProcessed") + private double totalProcessed; + + @JsonCreator + public SyncResultDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("successful") @Nonnull List successful, + @JsonProperty("failed") @Nonnull List failed, + @JsonProperty("skipped") @Nonnull List skipped, + @JsonProperty("totalProcessed") double totalProcessed) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.successful = Optional.ofNullable(successful) + .orElseThrow(() -> new IllegalArgumentException("successful cannot be null")); + this.failed = Optional.ofNullable(failed) + .orElseThrow(() -> new IllegalArgumentException("failed cannot be null")); + this.skipped = Optional.ofNullable(skipped) + .orElseThrow(() -> new IllegalArgumentException("skipped cannot be null")); + this.totalProcessed = totalProcessed; + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Successfully synced resources + */ + public List successful() { + return this.successful; + } + + /** + * Failed resource syncs + */ + public List failed() { + return this.failed; + } + + /** + * Skipped resources + */ + public List skipped() { + return this.skipped; + } + + /** + * Total number of resources processed + */ + public double totalProcessed() { + return this.totalProcessed; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public SyncResultDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Successfully synced resources + */ + public SyncResultDto withSuccessful(@Nonnull List successful) { + this.successful = Utils.checkNotNull(successful, "successful"); + return this; + } + + + /** + * Failed resource syncs + */ + public SyncResultDto withFailed(@Nonnull List failed) { + this.failed = Utils.checkNotNull(failed, "failed"); + return this; + } + + + /** + * Skipped resources + */ + public SyncResultDto withSkipped(@Nonnull List skipped) { + this.skipped = Utils.checkNotNull(skipped, "skipped"); + return this; + } + + + /** + * Total number of resources processed + */ + public SyncResultDto withTotalProcessed(double totalProcessed) { + this.totalProcessed = totalProcessed; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyncResultDto other = (SyncResultDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.successful, other.successful) && + Utils.enhancedDeepEquals(this.failed, other.failed) && + Utils.enhancedDeepEquals(this.skipped, other.skipped) && + Utils.enhancedDeepEquals(this.totalProcessed, other.totalProcessed); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, successful, failed, + skipped, totalProcessed); + } + + @Override + public String toString() { + return Utils.toString(SyncResultDto.class, + "resourceType", resourceType, + "successful", successful, + "failed", failed, + "skipped", skipped, + "totalProcessed", totalProcessed); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private List successful; + + private List failed; + + private List skipped; + + private double totalProcessed; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Successfully synced resources + */ + public Builder successful(@Nonnull List successful) { + this.successful = Utils.checkNotNull(successful, "successful"); + return this; + } + + /** + * Failed resource syncs + */ + public Builder failed(@Nonnull List failed) { + this.failed = Utils.checkNotNull(failed, "failed"); + return this; + } + + /** + * Skipped resources + */ + public Builder skipped(@Nonnull List skipped) { + this.skipped = Utils.checkNotNull(skipped, "skipped"); + return this; + } + + /** + * Total number of resources processed + */ + public Builder totalProcessed(double totalProcessed) { + this.totalProcessed = totalProcessed; + return this; + } + + public SyncResultDto build() { + return new SyncResultDto( + resourceType, successful, failed, + skipped, totalProcessed); + } + + } +} diff --git a/src/main/java/co/novu/models/components/SyncedWorkflowDto.java b/src/main/java/co/novu/models/components/SyncedWorkflowDto.java new file mode 100644 index 00000000..e41d810d --- /dev/null +++ b/src/main/java/co/novu/models/components/SyncedWorkflowDto.java @@ -0,0 +1,211 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.components; + +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nonnull; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class SyncedWorkflowDto { + /** + * Type of the layout + */ + @JsonProperty("resourceType") + private ResourceTypeEnum resourceType; + + /** + * Resource ID + */ + @JsonProperty("resourceId") + private String resourceId; + + /** + * Resource name + */ + @JsonProperty("resourceName") + private String resourceName; + + /** + * Sync action performed + */ + @JsonProperty("action") + private SyncActionEnum action; + + @JsonCreator + public SyncedWorkflowDto( + @JsonProperty("resourceType") @Nonnull ResourceTypeEnum resourceType, + @JsonProperty("resourceId") @Nonnull String resourceId, + @JsonProperty("resourceName") @Nonnull String resourceName, + @JsonProperty("action") @Nonnull SyncActionEnum action) { + this.resourceType = Optional.ofNullable(resourceType) + .orElseThrow(() -> new IllegalArgumentException("resourceType cannot be null")); + this.resourceId = Optional.ofNullable(resourceId) + .orElseThrow(() -> new IllegalArgumentException("resourceId cannot be null")); + this.resourceName = Optional.ofNullable(resourceName) + .orElseThrow(() -> new IllegalArgumentException("resourceName cannot be null")); + this.action = Optional.ofNullable(action) + .orElseThrow(() -> new IllegalArgumentException("action cannot be null")); + } + + /** + * Type of the layout + */ + public ResourceTypeEnum resourceType() { + return this.resourceType; + } + + /** + * Resource ID + */ + public String resourceId() { + return this.resourceId; + } + + /** + * Resource name + */ + public String resourceName() { + return this.resourceName; + } + + /** + * Sync action performed + */ + public SyncActionEnum action() { + return this.action; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Type of the layout + */ + public SyncedWorkflowDto withResourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + + /** + * Resource ID + */ + public SyncedWorkflowDto withResourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + + /** + * Resource name + */ + public SyncedWorkflowDto withResourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + + /** + * Sync action performed + */ + public SyncedWorkflowDto withAction(@Nonnull SyncActionEnum action) { + this.action = Utils.checkNotNull(action, "action"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SyncedWorkflowDto other = (SyncedWorkflowDto) o; + return + Utils.enhancedDeepEquals(this.resourceType, other.resourceType) && + Utils.enhancedDeepEquals(this.resourceId, other.resourceId) && + Utils.enhancedDeepEquals(this.resourceName, other.resourceName) && + Utils.enhancedDeepEquals(this.action, other.action); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + resourceType, resourceId, resourceName, + action); + } + + @Override + public String toString() { + return Utils.toString(SyncedWorkflowDto.class, + "resourceType", resourceType, + "resourceId", resourceId, + "resourceName", resourceName, + "action", action); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private ResourceTypeEnum resourceType; + + private String resourceId; + + private String resourceName; + + private SyncActionEnum action; + + private Builder() { + // force use of static builder() method + } + + /** + * Type of the layout + */ + public Builder resourceType(@Nonnull ResourceTypeEnum resourceType) { + this.resourceType = Utils.checkNotNull(resourceType, "resourceType"); + return this; + } + + /** + * Resource ID + */ + public Builder resourceId(@Nonnull String resourceId) { + this.resourceId = Utils.checkNotNull(resourceId, "resourceId"); + return this; + } + + /** + * Resource name + */ + public Builder resourceName(@Nonnull String resourceName) { + this.resourceName = Utils.checkNotNull(resourceName, "resourceName"); + return this; + } + + /** + * Sync action performed + */ + public Builder action(@Nonnull SyncActionEnum action) { + this.action = Utils.checkNotNull(action, "action"); + return this; + } + + public SyncedWorkflowDto build() { + return new SyncedWorkflowDto( + resourceType, resourceId, resourceName, + action); + } + + } +} diff --git a/src/main/java/co/novu/models/components/ThrottleStepResponseDto.java b/src/main/java/co/novu/models/components/ThrottleStepResponseDto.java index 2af063c7..4d4c564b 100644 --- a/src/main/java/co/novu/models/components/ThrottleStepResponseDto.java +++ b/src/main/java/co/novu/models/components/ThrottleStepResponseDto.java @@ -92,6 +92,13 @@ public class ThrottleStepResponseDto implements WorkflowResponseDtoStep { @JsonProperty("issues") private StepIssuesDto issues; + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("stepResolverHash") + private String stepResolverHash; + @JsonCreator public ThrottleStepResponseDto( @JsonProperty("controls") @Nonnull ThrottleControlsMetadataResponseDto controls, @@ -105,7 +112,8 @@ public ThrottleStepResponseDto( @JsonProperty("origin") @Nonnull ResourceOriginEnum origin, @JsonProperty("workflowId") @Nonnull String workflowId, @JsonProperty("workflowDatabaseId") @Nonnull String workflowDatabaseId, - @JsonProperty("issues") @Nullable StepIssuesDto issues) { + @JsonProperty("issues") @Nullable StepIssuesDto issues, + @JsonProperty("stepResolverHash") @Nullable String stepResolverHash) { variables = Utils.emptyMapIfNull(variables); this.controls = Optional.ofNullable(controls) .orElseThrow(() -> new IllegalArgumentException("controls cannot be null")); @@ -129,6 +137,7 @@ public ThrottleStepResponseDto( this.workflowDatabaseId = Optional.ofNullable(workflowDatabaseId) .orElseThrow(() -> new IllegalArgumentException("workflowDatabaseId cannot be null")); this.issues = issues; + this.stepResolverHash = stepResolverHash; } public ThrottleStepResponseDto( @@ -145,7 +154,8 @@ public ThrottleStepResponseDto( this(controls, null, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, null); + workflowId, workflowDatabaseId, null, + null); } /** @@ -233,6 +243,13 @@ public Optional issues() { return Optional.ofNullable(this.issues); } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Optional stepResolverHash() { + return Optional.ofNullable(this.stepResolverHash); + } + public static Builder builder() { return new Builder(); } @@ -346,6 +363,15 @@ public ThrottleStepResponseDto withIssues(@Nullable StepIssuesDto issues) { } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public ThrottleStepResponseDto withStepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -367,7 +393,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.origin, other.origin) && Utils.enhancedDeepEquals(this.workflowId, other.workflowId) && Utils.enhancedDeepEquals(this.workflowDatabaseId, other.workflowDatabaseId) && - Utils.enhancedDeepEquals(this.issues, other.issues); + Utils.enhancedDeepEquals(this.issues, other.issues) && + Utils.enhancedDeepEquals(this.stepResolverHash, other.stepResolverHash); } @Override @@ -376,7 +403,8 @@ public int hashCode() { controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } @Override @@ -393,7 +421,8 @@ public String toString() { "origin", origin, "workflowId", workflowId, "workflowDatabaseId", workflowDatabaseId, - "issues", issues); + "issues", issues, + "stepResolverHash", stepResolverHash); } @SuppressWarnings("UnusedReturnValue") @@ -423,6 +452,8 @@ public final static class Builder { private StepIssuesDto issues; + private String stepResolverHash; + private Builder() { // force use of static builder() method } @@ -523,12 +554,21 @@ public Builder issues(@Nullable StepIssuesDto issues) { return this; } + /** + * Hash identifying the deployed Cloudflare Worker for this step + */ + public Builder stepResolverHash(@Nullable String stepResolverHash) { + this.stepResolverHash = stepResolverHash; + return this; + } + public ThrottleStepResponseDto build() { return new ThrottleStepResponseDto( controls, controlValues, variables, stepId, id, name, slug, type, origin, - workflowId, workflowDatabaseId, issues); + workflowId, workflowDatabaseId, issues, + stepResolverHash); } } diff --git a/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequest.java b/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequest.java new file mode 100644 index 00000000..70954de9 --- /dev/null +++ b/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequest.java @@ -0,0 +1,179 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations; + +import co.novu.models.components.DiffEnvironmentRequestDto; +import co.novu.utils.SpeakeasyMetadata; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class EnvironmentsControllerDiffEnvironmentRequest { + /** + * Target environment ID (MongoDB ObjectId) to compare against + */ + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=targetEnvironmentId") + private String targetEnvironmentId; + + /** + * A header for idempotency purposes + */ + @SpeakeasyMetadata("header:style=simple,explode=false,name=idempotency-key") + private String idempotencyKey; + + /** + * Diff request configuration + */ + @SpeakeasyMetadata("request:mediaType=application/json") + private DiffEnvironmentRequestDto body; + + @JsonCreator + public EnvironmentsControllerDiffEnvironmentRequest( + @Nonnull String targetEnvironmentId, + @Nullable String idempotencyKey, + @Nonnull DiffEnvironmentRequestDto body) { + this.targetEnvironmentId = Optional.ofNullable(targetEnvironmentId) + .orElseThrow(() -> new IllegalArgumentException("targetEnvironmentId cannot be null")); + this.idempotencyKey = idempotencyKey; + this.body = Optional.ofNullable(body) + .orElseThrow(() -> new IllegalArgumentException("body cannot be null")); + } + + public EnvironmentsControllerDiffEnvironmentRequest( + @Nonnull String targetEnvironmentId, + @Nonnull DiffEnvironmentRequestDto body) { + this(targetEnvironmentId, null, body); + } + + /** + * Target environment ID (MongoDB ObjectId) to compare against + */ + public String targetEnvironmentId() { + return this.targetEnvironmentId; + } + + /** + * A header for idempotency purposes + */ + public Optional idempotencyKey() { + return Optional.ofNullable(this.idempotencyKey); + } + + /** + * Diff request configuration + */ + public DiffEnvironmentRequestDto body() { + return this.body; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Target environment ID (MongoDB ObjectId) to compare against + */ + public EnvironmentsControllerDiffEnvironmentRequest withTargetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.targetEnvironmentId = Utils.checkNotNull(targetEnvironmentId, "targetEnvironmentId"); + return this; + } + + + /** + * A header for idempotency purposes + */ + public EnvironmentsControllerDiffEnvironmentRequest withIdempotencyKey(@Nullable String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + + + /** + * Diff request configuration + */ + public EnvironmentsControllerDiffEnvironmentRequest withBody(@Nonnull DiffEnvironmentRequestDto body) { + this.body = Utils.checkNotNull(body, "body"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentsControllerDiffEnvironmentRequest other = (EnvironmentsControllerDiffEnvironmentRequest) o; + return + Utils.enhancedDeepEquals(this.targetEnvironmentId, other.targetEnvironmentId) && + Utils.enhancedDeepEquals(this.idempotencyKey, other.idempotencyKey) && + Utils.enhancedDeepEquals(this.body, other.body); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + targetEnvironmentId, idempotencyKey, body); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentsControllerDiffEnvironmentRequest.class, + "targetEnvironmentId", targetEnvironmentId, + "idempotencyKey", idempotencyKey, + "body", body); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String targetEnvironmentId; + + private String idempotencyKey; + + private DiffEnvironmentRequestDto body; + + private Builder() { + // force use of static builder() method + } + + /** + * Target environment ID (MongoDB ObjectId) to compare against + */ + public Builder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.targetEnvironmentId = Utils.checkNotNull(targetEnvironmentId, "targetEnvironmentId"); + return this; + } + + /** + * A header for idempotency purposes + */ + public Builder idempotencyKey(@Nullable String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * Diff request configuration + */ + public Builder body(@Nonnull DiffEnvironmentRequestDto body) { + this.body = Utils.checkNotNull(body, "body"); + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequest build() { + return new EnvironmentsControllerDiffEnvironmentRequest( + targetEnvironmentId, idempotencyKey, body); + } + + } +} diff --git a/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequestBuilder.java b/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequestBuilder.java new file mode 100644 index 00000000..c208be2b --- /dev/null +++ b/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentRequestBuilder.java @@ -0,0 +1,81 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations; + +import static co.novu.operations.Operations.RequestOperation; + +import co.novu.SDKConfiguration; +import co.novu.models.components.DiffEnvironmentRequestDto; +import co.novu.operations.EnvironmentsControllerDiffEnvironment; +import co.novu.utils.Headers; +import co.novu.utils.Options; +import co.novu.utils.RetryConfig; +import co.novu.utils.Utils; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.String; + +public class EnvironmentsControllerDiffEnvironmentRequestBuilder { + private final SDKConfiguration sdkConfiguration; + private final Headers _headers = new Headers(); + private final EnvironmentsControllerDiffEnvironmentRequest.Builder pojoBuilder; + private EnvironmentsControllerDiffEnvironmentRequest request; + private final Options.Builder optionsBuilder; + private boolean _setterCalled; + + public EnvironmentsControllerDiffEnvironmentRequestBuilder(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + this.pojoBuilder = EnvironmentsControllerDiffEnvironmentRequest.builder(); + this.optionsBuilder = Options.builder(); + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.pojoBuilder.targetEnvironmentId(targetEnvironmentId); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder idempotencyKey(@Nullable String idempotencyKey) { + this.pojoBuilder.idempotencyKey(idempotencyKey); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder body(@Nonnull DiffEnvironmentRequestDto body) { + this.pojoBuilder.body(body); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder retryConfig(RetryConfig retryConfig) { + this.optionsBuilder.retryConfig(retryConfig); + return this; + } + + private EnvironmentsControllerDiffEnvironmentRequest _buildRequest() { + if (this._setterCalled) { + this.request = this.pojoBuilder.build(); + } + return this.request; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder header(String name, String value) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(value, "value"); + this._headers.add(name, value); + return this; + } + + /** + * Executes the request and returns the response. + * + * @return The response from the server. + */ + public EnvironmentsControllerDiffEnvironmentResponse call() { + Options options = optionsBuilder.build(); + RequestOperation operation + = new EnvironmentsControllerDiffEnvironment.Sync(sdkConfiguration, options, _headers); + return operation.handleResponse(operation.doRequest(this._buildRequest())); + } +} diff --git a/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentResponse.java b/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentResponse.java new file mode 100644 index 00000000..0543c63e --- /dev/null +++ b/src/main/java/co/novu/models/operations/EnvironmentsControllerDiffEnvironmentResponse.java @@ -0,0 +1,246 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations; + +import co.novu.models.components.DiffEnvironmentResponseDto; +import co.novu.utils.Response; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.io.InputStream; +import java.lang.Override; +import java.lang.String; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +public class EnvironmentsControllerDiffEnvironmentResponse implements Response { + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * OK + */ + private DiffEnvironmentResponseDto diffEnvironmentResponseDto; + + + private Map> headers; + + @JsonCreator + public EnvironmentsControllerDiffEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nullable DiffEnvironmentResponseDto diffEnvironmentResponseDto, + @Nonnull Map> headers) { + headers = Utils.emptyMapIfNull(headers); + this.contentType = Optional.ofNullable(contentType) + .orElseThrow(() -> new IllegalArgumentException("contentType cannot be null")); + this.statusCode = statusCode; + this.rawResponse = Optional.ofNullable(rawResponse) + .orElseThrow(() -> new IllegalArgumentException("rawResponse cannot be null")); + this.diffEnvironmentResponseDto = diffEnvironmentResponseDto; + this.headers = Optional.ofNullable(headers) + .orElseThrow(() -> new IllegalArgumentException("headers cannot be null")); + } + + public EnvironmentsControllerDiffEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nonnull Map> headers) { + this(contentType, statusCode, rawResponse, + null, headers); + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return this.contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return this.statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return this.rawResponse; + } + + /** + * OK + */ + public Optional diffEnvironmentResponseDto() { + return Optional.ofNullable(this.diffEnvironmentResponseDto); + } + + public Map> headers() { + return this.headers; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * HTTP response content type for this operation + */ + public EnvironmentsControllerDiffEnvironmentResponse withContentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + + /** + * HTTP response status code for this operation + */ + public EnvironmentsControllerDiffEnvironmentResponse withStatusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public EnvironmentsControllerDiffEnvironmentResponse withRawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + + /** + * OK + */ + public EnvironmentsControllerDiffEnvironmentResponse withDiffEnvironmentResponseDto(@Nullable DiffEnvironmentResponseDto diffEnvironmentResponseDto) { + this.diffEnvironmentResponseDto = diffEnvironmentResponseDto; + return this; + } + + + public EnvironmentsControllerDiffEnvironmentResponse withHeaders(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentsControllerDiffEnvironmentResponse other = (EnvironmentsControllerDiffEnvironmentResponse) o; + return + Utils.enhancedDeepEquals(this.contentType, other.contentType) && + Utils.enhancedDeepEquals(this.statusCode, other.statusCode) && + Utils.enhancedDeepEquals(this.rawResponse, other.rawResponse) && + Utils.enhancedDeepEquals(this.diffEnvironmentResponseDto, other.diffEnvironmentResponseDto) && + Utils.enhancedDeepEquals(this.headers, other.headers); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + contentType, statusCode, rawResponse, + diffEnvironmentResponseDto, headers); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentsControllerDiffEnvironmentResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "diffEnvironmentResponseDto", diffEnvironmentResponseDto, + "headers", headers); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String contentType; + + private int statusCode; + + private HttpResponse rawResponse; + + private DiffEnvironmentResponseDto diffEnvironmentResponseDto; + + private Map> headers; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + /** + * OK + */ + public Builder diffEnvironmentResponseDto(@Nullable DiffEnvironmentResponseDto diffEnvironmentResponseDto) { + this.diffEnvironmentResponseDto = diffEnvironmentResponseDto; + return this; + } + + public Builder headers(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + public EnvironmentsControllerDiffEnvironmentResponse build() { + return new EnvironmentsControllerDiffEnvironmentResponse( + contentType, statusCode, rawResponse, + diffEnvironmentResponseDto, headers); + } + + } +} diff --git a/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequest.java b/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequest.java new file mode 100644 index 00000000..0fab2aa5 --- /dev/null +++ b/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequest.java @@ -0,0 +1,179 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations; + +import co.novu.models.components.PublishEnvironmentRequestDto; +import co.novu.utils.SpeakeasyMetadata; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.Override; +import java.lang.String; +import java.util.Optional; + + +public class EnvironmentsControllerPublishEnvironmentRequest { + /** + * Target environment ID (MongoDB ObjectId) to publish resources to + */ + @SpeakeasyMetadata("pathParam:style=simple,explode=false,name=targetEnvironmentId") + private String targetEnvironmentId; + + /** + * A header for idempotency purposes + */ + @SpeakeasyMetadata("header:style=simple,explode=false,name=idempotency-key") + private String idempotencyKey; + + /** + * Publish request configuration + */ + @SpeakeasyMetadata("request:mediaType=application/json") + private PublishEnvironmentRequestDto body; + + @JsonCreator + public EnvironmentsControllerPublishEnvironmentRequest( + @Nonnull String targetEnvironmentId, + @Nullable String idempotencyKey, + @Nonnull PublishEnvironmentRequestDto body) { + this.targetEnvironmentId = Optional.ofNullable(targetEnvironmentId) + .orElseThrow(() -> new IllegalArgumentException("targetEnvironmentId cannot be null")); + this.idempotencyKey = idempotencyKey; + this.body = Optional.ofNullable(body) + .orElseThrow(() -> new IllegalArgumentException("body cannot be null")); + } + + public EnvironmentsControllerPublishEnvironmentRequest( + @Nonnull String targetEnvironmentId, + @Nonnull PublishEnvironmentRequestDto body) { + this(targetEnvironmentId, null, body); + } + + /** + * Target environment ID (MongoDB ObjectId) to publish resources to + */ + public String targetEnvironmentId() { + return this.targetEnvironmentId; + } + + /** + * A header for idempotency purposes + */ + public Optional idempotencyKey() { + return Optional.ofNullable(this.idempotencyKey); + } + + /** + * Publish request configuration + */ + public PublishEnvironmentRequestDto body() { + return this.body; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * Target environment ID (MongoDB ObjectId) to publish resources to + */ + public EnvironmentsControllerPublishEnvironmentRequest withTargetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.targetEnvironmentId = Utils.checkNotNull(targetEnvironmentId, "targetEnvironmentId"); + return this; + } + + + /** + * A header for idempotency purposes + */ + public EnvironmentsControllerPublishEnvironmentRequest withIdempotencyKey(@Nullable String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + + + /** + * Publish request configuration + */ + public EnvironmentsControllerPublishEnvironmentRequest withBody(@Nonnull PublishEnvironmentRequestDto body) { + this.body = Utils.checkNotNull(body, "body"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentsControllerPublishEnvironmentRequest other = (EnvironmentsControllerPublishEnvironmentRequest) o; + return + Utils.enhancedDeepEquals(this.targetEnvironmentId, other.targetEnvironmentId) && + Utils.enhancedDeepEquals(this.idempotencyKey, other.idempotencyKey) && + Utils.enhancedDeepEquals(this.body, other.body); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + targetEnvironmentId, idempotencyKey, body); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentsControllerPublishEnvironmentRequest.class, + "targetEnvironmentId", targetEnvironmentId, + "idempotencyKey", idempotencyKey, + "body", body); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String targetEnvironmentId; + + private String idempotencyKey; + + private PublishEnvironmentRequestDto body; + + private Builder() { + // force use of static builder() method + } + + /** + * Target environment ID (MongoDB ObjectId) to publish resources to + */ + public Builder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.targetEnvironmentId = Utils.checkNotNull(targetEnvironmentId, "targetEnvironmentId"); + return this; + } + + /** + * A header for idempotency purposes + */ + public Builder idempotencyKey(@Nullable String idempotencyKey) { + this.idempotencyKey = idempotencyKey; + return this; + } + + /** + * Publish request configuration + */ + public Builder body(@Nonnull PublishEnvironmentRequestDto body) { + this.body = Utils.checkNotNull(body, "body"); + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequest build() { + return new EnvironmentsControllerPublishEnvironmentRequest( + targetEnvironmentId, idempotencyKey, body); + } + + } +} diff --git a/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequestBuilder.java b/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequestBuilder.java new file mode 100644 index 00000000..b903d2f5 --- /dev/null +++ b/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentRequestBuilder.java @@ -0,0 +1,81 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations; + +import static co.novu.operations.Operations.RequestOperation; + +import co.novu.SDKConfiguration; +import co.novu.models.components.PublishEnvironmentRequestDto; +import co.novu.operations.EnvironmentsControllerPublishEnvironment; +import co.novu.utils.Headers; +import co.novu.utils.Options; +import co.novu.utils.RetryConfig; +import co.novu.utils.Utils; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.String; + +public class EnvironmentsControllerPublishEnvironmentRequestBuilder { + private final SDKConfiguration sdkConfiguration; + private final Headers _headers = new Headers(); + private final EnvironmentsControllerPublishEnvironmentRequest.Builder pojoBuilder; + private EnvironmentsControllerPublishEnvironmentRequest request; + private final Options.Builder optionsBuilder; + private boolean _setterCalled; + + public EnvironmentsControllerPublishEnvironmentRequestBuilder(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + this.pojoBuilder = EnvironmentsControllerPublishEnvironmentRequest.builder(); + this.optionsBuilder = Options.builder(); + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.pojoBuilder.targetEnvironmentId(targetEnvironmentId); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder idempotencyKey(@Nullable String idempotencyKey) { + this.pojoBuilder.idempotencyKey(idempotencyKey); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder body(@Nonnull PublishEnvironmentRequestDto body) { + this.pojoBuilder.body(body); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder retryConfig(RetryConfig retryConfig) { + this.optionsBuilder.retryConfig(retryConfig); + return this; + } + + private EnvironmentsControllerPublishEnvironmentRequest _buildRequest() { + if (this._setterCalled) { + this.request = this.pojoBuilder.build(); + } + return this.request; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder header(String name, String value) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(value, "value"); + this._headers.add(name, value); + return this; + } + + /** + * Executes the request and returns the response. + * + * @return The response from the server. + */ + public EnvironmentsControllerPublishEnvironmentResponse call() { + Options options = optionsBuilder.build(); + RequestOperation operation + = new EnvironmentsControllerPublishEnvironment.Sync(sdkConfiguration, options, _headers); + return operation.handleResponse(operation.doRequest(this._buildRequest())); + } +} diff --git a/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentResponse.java b/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentResponse.java new file mode 100644 index 00000000..64d5bb53 --- /dev/null +++ b/src/main/java/co/novu/models/operations/EnvironmentsControllerPublishEnvironmentResponse.java @@ -0,0 +1,246 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations; + +import co.novu.models.components.PublishEnvironmentResponseDto; +import co.novu.utils.Response; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.io.InputStream; +import java.lang.Override; +import java.lang.String; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +public class EnvironmentsControllerPublishEnvironmentResponse implements Response { + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * OK + */ + private PublishEnvironmentResponseDto publishEnvironmentResponseDto; + + + private Map> headers; + + @JsonCreator + public EnvironmentsControllerPublishEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nullable PublishEnvironmentResponseDto publishEnvironmentResponseDto, + @Nonnull Map> headers) { + headers = Utils.emptyMapIfNull(headers); + this.contentType = Optional.ofNullable(contentType) + .orElseThrow(() -> new IllegalArgumentException("contentType cannot be null")); + this.statusCode = statusCode; + this.rawResponse = Optional.ofNullable(rawResponse) + .orElseThrow(() -> new IllegalArgumentException("rawResponse cannot be null")); + this.publishEnvironmentResponseDto = publishEnvironmentResponseDto; + this.headers = Optional.ofNullable(headers) + .orElseThrow(() -> new IllegalArgumentException("headers cannot be null")); + } + + public EnvironmentsControllerPublishEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nonnull Map> headers) { + this(contentType, statusCode, rawResponse, + null, headers); + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return this.contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return this.statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return this.rawResponse; + } + + /** + * OK + */ + public Optional publishEnvironmentResponseDto() { + return Optional.ofNullable(this.publishEnvironmentResponseDto); + } + + public Map> headers() { + return this.headers; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * HTTP response content type for this operation + */ + public EnvironmentsControllerPublishEnvironmentResponse withContentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + + /** + * HTTP response status code for this operation + */ + public EnvironmentsControllerPublishEnvironmentResponse withStatusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public EnvironmentsControllerPublishEnvironmentResponse withRawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + + /** + * OK + */ + public EnvironmentsControllerPublishEnvironmentResponse withPublishEnvironmentResponseDto(@Nullable PublishEnvironmentResponseDto publishEnvironmentResponseDto) { + this.publishEnvironmentResponseDto = publishEnvironmentResponseDto; + return this; + } + + + public EnvironmentsControllerPublishEnvironmentResponse withHeaders(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentsControllerPublishEnvironmentResponse other = (EnvironmentsControllerPublishEnvironmentResponse) o; + return + Utils.enhancedDeepEquals(this.contentType, other.contentType) && + Utils.enhancedDeepEquals(this.statusCode, other.statusCode) && + Utils.enhancedDeepEquals(this.rawResponse, other.rawResponse) && + Utils.enhancedDeepEquals(this.publishEnvironmentResponseDto, other.publishEnvironmentResponseDto) && + Utils.enhancedDeepEquals(this.headers, other.headers); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + contentType, statusCode, rawResponse, + publishEnvironmentResponseDto, headers); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentsControllerPublishEnvironmentResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "publishEnvironmentResponseDto", publishEnvironmentResponseDto, + "headers", headers); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String contentType; + + private int statusCode; + + private HttpResponse rawResponse; + + private PublishEnvironmentResponseDto publishEnvironmentResponseDto; + + private Map> headers; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + /** + * OK + */ + public Builder publishEnvironmentResponseDto(@Nullable PublishEnvironmentResponseDto publishEnvironmentResponseDto) { + this.publishEnvironmentResponseDto = publishEnvironmentResponseDto; + return this; + } + + public Builder headers(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + public EnvironmentsControllerPublishEnvironmentResponse build() { + return new EnvironmentsControllerPublishEnvironmentResponse( + contentType, statusCode, rawResponse, + publishEnvironmentResponseDto, headers); + } + + } +} diff --git a/src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentRequestBuilder.java b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentRequestBuilder.java new file mode 100644 index 00000000..0fd48f0e --- /dev/null +++ b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentRequestBuilder.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations.async; + +import static co.novu.operations.Operations.AsyncRequestOperation; + +import co.novu.SDKConfiguration; +import co.novu.models.components.DiffEnvironmentRequestDto; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentRequest; +import co.novu.operations.EnvironmentsControllerDiffEnvironment; +import co.novu.utils.Headers; +import co.novu.utils.Options; +import co.novu.utils.RetryConfig; +import co.novu.utils.Utils; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.String; +import java.util.concurrent.CompletableFuture; + +public class EnvironmentsControllerDiffEnvironmentRequestBuilder { + private final SDKConfiguration sdkConfiguration; + private final Headers _headers = new Headers(); + private final EnvironmentsControllerDiffEnvironmentRequest.Builder pojoBuilder; + private EnvironmentsControllerDiffEnvironmentRequest request; + private final Options.Builder optionsBuilder; + private boolean _setterCalled; + + public EnvironmentsControllerDiffEnvironmentRequestBuilder(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + this.pojoBuilder = EnvironmentsControllerDiffEnvironmentRequest.builder(); + this.optionsBuilder = Options.builder(); + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.pojoBuilder.targetEnvironmentId(targetEnvironmentId); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder idempotencyKey(@Nullable String idempotencyKey) { + this.pojoBuilder.idempotencyKey(idempotencyKey); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder body(@Nonnull DiffEnvironmentRequestDto body) { + this.pojoBuilder.body(body); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder retryConfig(RetryConfig retryConfig) { + this.optionsBuilder.retryConfig(retryConfig); + return this; + } + + private EnvironmentsControllerDiffEnvironmentRequest _buildRequest() { + if (this._setterCalled) { + this.request = this.pojoBuilder.build(); + } + return this.request; + } + + public EnvironmentsControllerDiffEnvironmentRequestBuilder header(String name, String value) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(value, "value"); + this._headers.add(name, value); + return this; + } + + /** + * Executes the request and returns the response. + * + * @return The response from the server. + */ + public CompletableFuture call() { + Options options = optionsBuilder.build(); + AsyncRequestOperation operation + = new EnvironmentsControllerDiffEnvironment.Async( + sdkConfiguration, options, sdkConfiguration.retryScheduler(), + _headers); + return operation.doRequest(this._buildRequest()) + .thenCompose(operation::handleResponse); + } +} diff --git a/src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentResponse.java b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentResponse.java new file mode 100644 index 00000000..d8f3dd5d --- /dev/null +++ b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerDiffEnvironmentResponse.java @@ -0,0 +1,247 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations.async; + +import co.novu.models.components.DiffEnvironmentResponseDto; +import co.novu.utils.AsyncResponse; +import co.novu.utils.Blob; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.io.InputStream; +import java.lang.Override; +import java.lang.String; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +public class EnvironmentsControllerDiffEnvironmentResponse implements AsyncResponse { + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * OK + */ + private DiffEnvironmentResponseDto diffEnvironmentResponseDto; + + + private Map> headers; + + @JsonCreator + public EnvironmentsControllerDiffEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nullable DiffEnvironmentResponseDto diffEnvironmentResponseDto, + @Nonnull Map> headers) { + headers = Utils.emptyMapIfNull(headers); + this.contentType = Optional.ofNullable(contentType) + .orElseThrow(() -> new IllegalArgumentException("contentType cannot be null")); + this.statusCode = statusCode; + this.rawResponse = Optional.ofNullable(rawResponse) + .orElseThrow(() -> new IllegalArgumentException("rawResponse cannot be null")); + this.diffEnvironmentResponseDto = diffEnvironmentResponseDto; + this.headers = Optional.ofNullable(headers) + .orElseThrow(() -> new IllegalArgumentException("headers cannot be null")); + } + + public EnvironmentsControllerDiffEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nonnull Map> headers) { + this(contentType, statusCode, rawResponse, + null, headers); + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return this.contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return this.statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return this.rawResponse; + } + + /** + * OK + */ + public Optional diffEnvironmentResponseDto() { + return Optional.ofNullable(this.diffEnvironmentResponseDto); + } + + public Map> headers() { + return this.headers; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * HTTP response content type for this operation + */ + public EnvironmentsControllerDiffEnvironmentResponse withContentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + + /** + * HTTP response status code for this operation + */ + public EnvironmentsControllerDiffEnvironmentResponse withStatusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public EnvironmentsControllerDiffEnvironmentResponse withRawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + + /** + * OK + */ + public EnvironmentsControllerDiffEnvironmentResponse withDiffEnvironmentResponseDto(@Nullable DiffEnvironmentResponseDto diffEnvironmentResponseDto) { + this.diffEnvironmentResponseDto = diffEnvironmentResponseDto; + return this; + } + + + public EnvironmentsControllerDiffEnvironmentResponse withHeaders(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentsControllerDiffEnvironmentResponse other = (EnvironmentsControllerDiffEnvironmentResponse) o; + return + Utils.enhancedDeepEquals(this.contentType, other.contentType) && + Utils.enhancedDeepEquals(this.statusCode, other.statusCode) && + Utils.enhancedDeepEquals(this.rawResponse, other.rawResponse) && + Utils.enhancedDeepEquals(this.diffEnvironmentResponseDto, other.diffEnvironmentResponseDto) && + Utils.enhancedDeepEquals(this.headers, other.headers); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + contentType, statusCode, rawResponse, + diffEnvironmentResponseDto, headers); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentsControllerDiffEnvironmentResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "diffEnvironmentResponseDto", diffEnvironmentResponseDto, + "headers", headers); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String contentType; + + private int statusCode; + + private HttpResponse rawResponse; + + private DiffEnvironmentResponseDto diffEnvironmentResponseDto; + + private Map> headers; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + /** + * OK + */ + public Builder diffEnvironmentResponseDto(@Nullable DiffEnvironmentResponseDto diffEnvironmentResponseDto) { + this.diffEnvironmentResponseDto = diffEnvironmentResponseDto; + return this; + } + + public Builder headers(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + public EnvironmentsControllerDiffEnvironmentResponse build() { + return new EnvironmentsControllerDiffEnvironmentResponse( + contentType, statusCode, rawResponse, + diffEnvironmentResponseDto, headers); + } + + } +} diff --git a/src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentRequestBuilder.java b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentRequestBuilder.java new file mode 100644 index 00000000..d02a51c9 --- /dev/null +++ b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentRequestBuilder.java @@ -0,0 +1,86 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations.async; + +import static co.novu.operations.Operations.AsyncRequestOperation; + +import co.novu.SDKConfiguration; +import co.novu.models.components.PublishEnvironmentRequestDto; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentRequest; +import co.novu.operations.EnvironmentsControllerPublishEnvironment; +import co.novu.utils.Headers; +import co.novu.utils.Options; +import co.novu.utils.RetryConfig; +import co.novu.utils.Utils; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.lang.String; +import java.util.concurrent.CompletableFuture; + +public class EnvironmentsControllerPublishEnvironmentRequestBuilder { + private final SDKConfiguration sdkConfiguration; + private final Headers _headers = new Headers(); + private final EnvironmentsControllerPublishEnvironmentRequest.Builder pojoBuilder; + private EnvironmentsControllerPublishEnvironmentRequest request; + private final Options.Builder optionsBuilder; + private boolean _setterCalled; + + public EnvironmentsControllerPublishEnvironmentRequestBuilder(SDKConfiguration sdkConfiguration) { + this.sdkConfiguration = sdkConfiguration; + this.pojoBuilder = EnvironmentsControllerPublishEnvironmentRequest.builder(); + this.optionsBuilder = Options.builder(); + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder targetEnvironmentId(@Nonnull String targetEnvironmentId) { + this.pojoBuilder.targetEnvironmentId(targetEnvironmentId); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder idempotencyKey(@Nullable String idempotencyKey) { + this.pojoBuilder.idempotencyKey(idempotencyKey); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder body(@Nonnull PublishEnvironmentRequestDto body) { + this.pojoBuilder.body(body); + this._setterCalled = true; + return this; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder retryConfig(RetryConfig retryConfig) { + this.optionsBuilder.retryConfig(retryConfig); + return this; + } + + private EnvironmentsControllerPublishEnvironmentRequest _buildRequest() { + if (this._setterCalled) { + this.request = this.pojoBuilder.build(); + } + return this.request; + } + + public EnvironmentsControllerPublishEnvironmentRequestBuilder header(String name, String value) { + Utils.checkNotNull(name, "name"); + Utils.checkNotNull(value, "value"); + this._headers.add(name, value); + return this; + } + + /** + * Executes the request and returns the response. + * + * @return The response from the server. + */ + public CompletableFuture call() { + Options options = optionsBuilder.build(); + AsyncRequestOperation operation + = new EnvironmentsControllerPublishEnvironment.Async( + sdkConfiguration, options, sdkConfiguration.retryScheduler(), + _headers); + return operation.doRequest(this._buildRequest()) + .thenCompose(operation::handleResponse); + } +} diff --git a/src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentResponse.java b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentResponse.java new file mode 100644 index 00000000..100fede9 --- /dev/null +++ b/src/main/java/co/novu/models/operations/async/EnvironmentsControllerPublishEnvironmentResponse.java @@ -0,0 +1,247 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.models.operations.async; + +import co.novu.models.components.PublishEnvironmentResponseDto; +import co.novu.utils.AsyncResponse; +import co.novu.utils.Blob; +import co.novu.utils.Utils; +import com.fasterxml.jackson.annotation.JsonCreator; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.io.InputStream; +import java.lang.Override; +import java.lang.String; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Map; +import java.util.Optional; + + +public class EnvironmentsControllerPublishEnvironmentResponse implements AsyncResponse { + /** + * HTTP response content type for this operation + */ + private String contentType; + + /** + * HTTP response status code for this operation + */ + private int statusCode; + + /** + * Raw HTTP response; suitable for custom response parsing + */ + private HttpResponse rawResponse; + + /** + * OK + */ + private PublishEnvironmentResponseDto publishEnvironmentResponseDto; + + + private Map> headers; + + @JsonCreator + public EnvironmentsControllerPublishEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nullable PublishEnvironmentResponseDto publishEnvironmentResponseDto, + @Nonnull Map> headers) { + headers = Utils.emptyMapIfNull(headers); + this.contentType = Optional.ofNullable(contentType) + .orElseThrow(() -> new IllegalArgumentException("contentType cannot be null")); + this.statusCode = statusCode; + this.rawResponse = Optional.ofNullable(rawResponse) + .orElseThrow(() -> new IllegalArgumentException("rawResponse cannot be null")); + this.publishEnvironmentResponseDto = publishEnvironmentResponseDto; + this.headers = Optional.ofNullable(headers) + .orElseThrow(() -> new IllegalArgumentException("headers cannot be null")); + } + + public EnvironmentsControllerPublishEnvironmentResponse( + @Nonnull String contentType, + int statusCode, + @Nonnull HttpResponse rawResponse, + @Nonnull Map> headers) { + this(contentType, statusCode, rawResponse, + null, headers); + } + + /** + * HTTP response content type for this operation + */ + public String contentType() { + return this.contentType; + } + + /** + * HTTP response status code for this operation + */ + public int statusCode() { + return this.statusCode; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public HttpResponse rawResponse() { + return this.rawResponse; + } + + /** + * OK + */ + public Optional publishEnvironmentResponseDto() { + return Optional.ofNullable(this.publishEnvironmentResponseDto); + } + + public Map> headers() { + return this.headers; + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * HTTP response content type for this operation + */ + public EnvironmentsControllerPublishEnvironmentResponse withContentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + + /** + * HTTP response status code for this operation + */ + public EnvironmentsControllerPublishEnvironmentResponse withStatusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public EnvironmentsControllerPublishEnvironmentResponse withRawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + + /** + * OK + */ + public EnvironmentsControllerPublishEnvironmentResponse withPublishEnvironmentResponseDto(@Nullable PublishEnvironmentResponseDto publishEnvironmentResponseDto) { + this.publishEnvironmentResponseDto = publishEnvironmentResponseDto; + return this; + } + + + public EnvironmentsControllerPublishEnvironmentResponse withHeaders(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + EnvironmentsControllerPublishEnvironmentResponse other = (EnvironmentsControllerPublishEnvironmentResponse) o; + return + Utils.enhancedDeepEquals(this.contentType, other.contentType) && + Utils.enhancedDeepEquals(this.statusCode, other.statusCode) && + Utils.enhancedDeepEquals(this.rawResponse, other.rawResponse) && + Utils.enhancedDeepEquals(this.publishEnvironmentResponseDto, other.publishEnvironmentResponseDto) && + Utils.enhancedDeepEquals(this.headers, other.headers); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + contentType, statusCode, rawResponse, + publishEnvironmentResponseDto, headers); + } + + @Override + public String toString() { + return Utils.toString(EnvironmentsControllerPublishEnvironmentResponse.class, + "contentType", contentType, + "statusCode", statusCode, + "rawResponse", rawResponse, + "publishEnvironmentResponseDto", publishEnvironmentResponseDto, + "headers", headers); + } + + @SuppressWarnings("UnusedReturnValue") + public final static class Builder { + + private String contentType; + + private int statusCode; + + private HttpResponse rawResponse; + + private PublishEnvironmentResponseDto publishEnvironmentResponseDto; + + private Map> headers; + + private Builder() { + // force use of static builder() method + } + + /** + * HTTP response content type for this operation + */ + public Builder contentType(@Nonnull String contentType) { + this.contentType = Utils.checkNotNull(contentType, "contentType"); + return this; + } + + /** + * HTTP response status code for this operation + */ + public Builder statusCode(int statusCode) { + this.statusCode = statusCode; + return this; + } + + /** + * Raw HTTP response; suitable for custom response parsing + */ + public Builder rawResponse(@Nonnull HttpResponse rawResponse) { + this.rawResponse = Utils.checkNotNull(rawResponse, "rawResponse"); + return this; + } + + /** + * OK + */ + public Builder publishEnvironmentResponseDto(@Nullable PublishEnvironmentResponseDto publishEnvironmentResponseDto) { + this.publishEnvironmentResponseDto = publishEnvironmentResponseDto; + return this; + } + + public Builder headers(@Nonnull Map> headers) { + this.headers = Utils.checkNotNull(headers, "headers"); + return this; + } + + public EnvironmentsControllerPublishEnvironmentResponse build() { + return new EnvironmentsControllerPublishEnvironmentResponse( + contentType, statusCode, rawResponse, + publishEnvironmentResponseDto, headers); + } + + } +} diff --git a/src/main/java/co/novu/operations/EnvironmentsControllerDiffEnvironment.java b/src/main/java/co/novu/operations/EnvironmentsControllerDiffEnvironment.java new file mode 100644 index 00000000..72f73aed --- /dev/null +++ b/src/main/java/co/novu/operations/EnvironmentsControllerDiffEnvironment.java @@ -0,0 +1,404 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.operations; + +import static co.novu.operations.Operations.RequestOperation; +import static co.novu.utils.Exceptions.unchecked; +import static co.novu.operations.Operations.AsyncRequestOperation; + +import co.novu.SDKConfiguration; +import co.novu.SecuritySource; +import co.novu.models.components.DiffEnvironmentResponseDto; +import co.novu.models.errors.APIException; +import co.novu.models.errors.ErrorDto; +import co.novu.models.errors.ValidationErrorDto; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentRequest; +import co.novu.models.operations.EnvironmentsControllerDiffEnvironmentResponse; +import co.novu.utils.AsyncRetries; +import co.novu.utils.BackoffStrategy; +import co.novu.utils.Blob; +import co.novu.utils.HTTPClient; +import co.novu.utils.HTTPRequest; +import co.novu.utils.Headers; +import co.novu.utils.Hook.AfterErrorContextImpl; +import co.novu.utils.Hook.AfterSuccessContextImpl; +import co.novu.utils.Hook.BeforeRequestContextImpl; +import co.novu.utils.NonRetryableException; +import co.novu.utils.Options; +import co.novu.utils.Retries; +import co.novu.utils.RetryConfig; +import co.novu.utils.SerializedBody; +import co.novu.utils.Utils.JsonShape; +import co.novu.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.io.InputStream; +import java.lang.Exception; +import java.lang.IllegalArgumentException; +import java.lang.Object; +import java.lang.String; +import java.lang.Throwable; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; + + +public class EnvironmentsControllerDiffEnvironment { + + static abstract class Base { + final SDKConfiguration sdkConfiguration; + final String baseUrl; + final SecuritySource securitySource; + final List retryStatusCodes; + final RetryConfig retryConfig; + final HTTPClient client; + final Headers _headers; + + public Base( + @Nonnull SDKConfiguration sdkConfiguration, @Nullable Options options, + Headers _headers) { + this.sdkConfiguration = sdkConfiguration; + this._headers =_headers; + this.baseUrl = this.sdkConfiguration.serverUrl(); + this.securitySource = this.sdkConfiguration.securitySource(); + Optional.ofNullable(options) + .ifPresent(o -> o.validate(List.of(Options.Option.RETRY_CONFIG))); + this.retryStatusCodes = List.of("408", "409", "429", "5XX"); + this.retryConfig = Optional.ofNullable(options) + .flatMap(Options::retryConfig) + .or(sdkConfiguration::retryConfig) + .orElse(RetryConfig.builder().backoff(BackoffStrategy.builder() + .initialInterval(1000, TimeUnit.MILLISECONDS) + .maxInterval(30000, TimeUnit.MILLISECONDS) + .baseFactor((double) (1.5)) + .maxElapsedTime(3600000, TimeUnit.MILLISECONDS) + .retryConnectError(true) + .build()) + .build()); + this.client = this.sdkConfiguration.client(); + } + + Optional securitySource() { + return Optional.ofNullable(this.securitySource); + } + + BeforeRequestContextImpl createBeforeRequestContext() { + return new BeforeRequestContextImpl( + this.sdkConfiguration, + this.baseUrl, + "EnvironmentsController_diffEnvironment", + java.util.Optional.empty(), + securitySource()); + } + + AfterSuccessContextImpl createAfterSuccessContext() { + return new AfterSuccessContextImpl( + this.sdkConfiguration, + this.baseUrl, + "EnvironmentsController_diffEnvironment", + java.util.Optional.empty(), + securitySource()); + } + + AfterErrorContextImpl createAfterErrorContext() { + return new AfterErrorContextImpl( + this.sdkConfiguration, + this.baseUrl, + "EnvironmentsController_diffEnvironment", + java.util.Optional.empty(), + securitySource()); + } + HttpRequest buildRequest(T request, Class klass, TypeReference typeReference) throws Exception { + String url = Utils.generateURL( + klass, + this.baseUrl, + "/v2/environments/{targetEnvironmentId}/diff", + request, null); + HTTPRequest req = new HTTPRequest(url, "POST"); + Object convertedRequest = Utils.convertToShape( + request, + JsonShape.DEFAULT, + typeReference); + SerializedBody serializedRequestBody = Utils.serializeRequestBody( + convertedRequest, + "body", + "json", + false); + if (serializedRequestBody == null) { + throw new IllegalArgumentException("Request body is required"); + } + req.setBody(Optional.ofNullable(serializedRequestBody)); + req.addHeader("Accept", "application/json") + .addHeader("user-agent", SDKConfiguration.USER_AGENT); + _headers.forEach((k, list) -> list.forEach(v -> req.addHeader(k, v))); + req.addHeaders(Utils.getHeadersFromMetadata(request, null)); + Utils.configureSecurity(req, this.sdkConfiguration.securitySource().getSecurity()); + + return req.build(); + } + } + + public static class Sync extends Base + implements RequestOperation { + public Sync( + @Nonnull SDKConfiguration sdkConfiguration, @Nullable Options options, + Headers _headers) { + super( + sdkConfiguration, options, + _headers); + } + + private HttpRequest onBuildRequest(EnvironmentsControllerDiffEnvironmentRequest request) throws Exception { + HttpRequest req = buildRequest(request, EnvironmentsControllerDiffEnvironmentRequest.class, new TypeReference() {}); + return sdkConfiguration.hooks().beforeRequest(createBeforeRequestContext(), req); + } + + private HttpResponse onError(HttpResponse response, Exception error) throws Exception { + return sdkConfiguration.hooks().afterError( + createAfterErrorContext(), + Optional.ofNullable(response), + Optional.ofNullable(error)); + } + + private HttpResponse onSuccess(HttpResponse response) throws Exception { + return sdkConfiguration.hooks().afterSuccess(createAfterSuccessContext(), response); + } + + @Override + public HttpResponse doRequest(EnvironmentsControllerDiffEnvironmentRequest request) { + Retries retries = Retries.builder() + .action(() -> { + HttpRequest r; + try { + r = onBuildRequest(request); + } catch (Exception e) { + throw new NonRetryableException(e); + } + try { + HttpResponse httpRes = client.send(r); + if (Utils.statusCodeMatches(httpRes.statusCode(), "400", "401", "403", "404", "405", "409", "413", "414", "415", "422", "429", "4XX", "500", "503", "5XX")) { + return onError(httpRes, null); + } + return httpRes; + } catch (Exception e) { + return onError(null, e); + } + }) + .retryConfig(retryConfig) + .statusCodes(retryStatusCodes) + .build(); + return unchecked(() -> onSuccess(retries.run())).get(); + } + + + @Override + public EnvironmentsControllerDiffEnvironmentResponse handleResponse(HttpResponse response) { + String contentType = response + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + EnvironmentsControllerDiffEnvironmentResponse.Builder resBuilder = + EnvironmentsControllerDiffEnvironmentResponse + .builder() + .contentType(contentType) + .statusCode(response.statusCode()) + .rawResponse(response); + + EnvironmentsControllerDiffEnvironmentResponse res = resBuilder.build(); + + if (Utils.statusCodeMatches(response.statusCode(), "200")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return res.withDiffEnvironmentResponseDto(Utils.unmarshal(response, new TypeReference() {})); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "414")) { + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "400", "401", "403", "404", "405", "409", "413", "415")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "422")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ValidationErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "429")) { + res.withHeaders(response.headers().map()); + // no content + throw APIException.from("API error occurred", response); + } + if (Utils.statusCodeMatches(response.statusCode(), "500")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "503")) { + res.withHeaders(response.headers().map()); + // no content + throw APIException.from("API error occurred", response); + } + if (Utils.statusCodeMatches(response.statusCode(), "4XX")) { + // no content + throw APIException.from("API error occurred", response); + } + if (Utils.statusCodeMatches(response.statusCode(), "5XX")) { + // no content + throw APIException.from("API error occurred", response); + } + throw APIException.from("Unexpected status code received: " + response.statusCode(), response); + } + } + public static class Async extends Base + implements AsyncRequestOperation { + private final ScheduledExecutorService retryScheduler; + + public Async( + @Nonnull SDKConfiguration sdkConfiguration, @Nullable Options options, + @Nullable ScheduledExecutorService retryScheduler, Headers _headers) { + super( + sdkConfiguration, options, + _headers); + this.retryScheduler = retryScheduler; + } + + private CompletableFuture onBuildRequest(EnvironmentsControllerDiffEnvironmentRequest request) throws Exception { + HttpRequest req = buildRequest(request, EnvironmentsControllerDiffEnvironmentRequest.class, new TypeReference() {}); + return this.sdkConfiguration.asyncHooks().beforeRequest(createBeforeRequestContext(), req); + } + + private CompletableFuture> onError(HttpResponse response, Throwable error) { + return this.sdkConfiguration.asyncHooks().afterError(createAfterErrorContext(), response, error); + } + + private CompletableFuture> onSuccess(HttpResponse response) { + return this.sdkConfiguration.asyncHooks().afterSuccess(createAfterSuccessContext(), response); + } + + @Override + public CompletableFuture> doRequest(EnvironmentsControllerDiffEnvironmentRequest request) { + AsyncRetries retries = AsyncRetries.builder() + .retryConfig(retryConfig) + .statusCodes(retryStatusCodes) + .scheduler(retryScheduler) + .build(); + return retries.retry(() -> unchecked(() -> onBuildRequest(request)).get().thenCompose(client::sendAsync) + .handle((resp, err) -> { + if (err != null) { + return onError(null, err); + } + if (Utils.statusCodeMatches(resp.statusCode(), "400", "401", "403", "404", "405", "409", "413", "414", "415", "422", "429", "4XX", "500", "503", "5XX")) { + return onError(resp, null); + } + return CompletableFuture.completedFuture(resp); + }) + .thenCompose(Function.identity())) + .thenCompose(this::onSuccess); + } + + @Override + public CompletableFuture handleResponse( + HttpResponse response) { + String contentType = response + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + co.novu.models.operations.async.EnvironmentsControllerDiffEnvironmentResponse.Builder resBuilder = + co.novu.models.operations.async.EnvironmentsControllerDiffEnvironmentResponse + .builder() + .contentType(contentType) + .statusCode(response.statusCode()) + .rawResponse(response); + + co.novu.models.operations.async.EnvironmentsControllerDiffEnvironmentResponse res = resBuilder.build(); + + if (Utils.statusCodeMatches(response.statusCode(), "200")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return Utils.unmarshalAsync(response, new TypeReference() {}) + .thenApply(res::withDiffEnvironmentResponseDto); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "414")) { + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "400", "401", "403", "404", "405", "409", "413", "415")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "422")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ValidationErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "429")) { + res.withHeaders(response.headers().map()); + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + if (Utils.statusCodeMatches(response.statusCode(), "500")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "503")) { + res.withHeaders(response.headers().map()); + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + if (Utils.statusCodeMatches(response.statusCode(), "4XX")) { + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + if (Utils.statusCodeMatches(response.statusCode(), "5XX")) { + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + return Utils.createAsyncApiError(response, "Unexpected status code received: " + response.statusCode()); + } + } +} diff --git a/src/main/java/co/novu/operations/EnvironmentsControllerPublishEnvironment.java b/src/main/java/co/novu/operations/EnvironmentsControllerPublishEnvironment.java new file mode 100644 index 00000000..467d0140 --- /dev/null +++ b/src/main/java/co/novu/operations/EnvironmentsControllerPublishEnvironment.java @@ -0,0 +1,404 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package co.novu.operations; + +import static co.novu.operations.Operations.RequestOperation; +import static co.novu.utils.Exceptions.unchecked; +import static co.novu.operations.Operations.AsyncRequestOperation; + +import co.novu.SDKConfiguration; +import co.novu.SecuritySource; +import co.novu.models.components.PublishEnvironmentResponseDto; +import co.novu.models.errors.APIException; +import co.novu.models.errors.ErrorDto; +import co.novu.models.errors.ValidationErrorDto; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentRequest; +import co.novu.models.operations.EnvironmentsControllerPublishEnvironmentResponse; +import co.novu.utils.AsyncRetries; +import co.novu.utils.BackoffStrategy; +import co.novu.utils.Blob; +import co.novu.utils.HTTPClient; +import co.novu.utils.HTTPRequest; +import co.novu.utils.Headers; +import co.novu.utils.Hook.AfterErrorContextImpl; +import co.novu.utils.Hook.AfterSuccessContextImpl; +import co.novu.utils.Hook.BeforeRequestContextImpl; +import co.novu.utils.NonRetryableException; +import co.novu.utils.Options; +import co.novu.utils.Retries; +import co.novu.utils.RetryConfig; +import co.novu.utils.SerializedBody; +import co.novu.utils.Utils.JsonShape; +import co.novu.utils.Utils; +import com.fasterxml.jackson.core.type.TypeReference; +import jakarta.annotation.Nonnull; +import jakarta.annotation.Nullable; +import java.io.InputStream; +import java.lang.Exception; +import java.lang.IllegalArgumentException; +import java.lang.Object; +import java.lang.String; +import java.lang.Throwable; +import java.net.http.HttpRequest; +import java.net.http.HttpResponse; +import java.util.List; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; +import java.util.function.Function; + + +public class EnvironmentsControllerPublishEnvironment { + + static abstract class Base { + final SDKConfiguration sdkConfiguration; + final String baseUrl; + final SecuritySource securitySource; + final List retryStatusCodes; + final RetryConfig retryConfig; + final HTTPClient client; + final Headers _headers; + + public Base( + @Nonnull SDKConfiguration sdkConfiguration, @Nullable Options options, + Headers _headers) { + this.sdkConfiguration = sdkConfiguration; + this._headers =_headers; + this.baseUrl = this.sdkConfiguration.serverUrl(); + this.securitySource = this.sdkConfiguration.securitySource(); + Optional.ofNullable(options) + .ifPresent(o -> o.validate(List.of(Options.Option.RETRY_CONFIG))); + this.retryStatusCodes = List.of("408", "409", "429", "5XX"); + this.retryConfig = Optional.ofNullable(options) + .flatMap(Options::retryConfig) + .or(sdkConfiguration::retryConfig) + .orElse(RetryConfig.builder().backoff(BackoffStrategy.builder() + .initialInterval(1000, TimeUnit.MILLISECONDS) + .maxInterval(30000, TimeUnit.MILLISECONDS) + .baseFactor((double) (1.5)) + .maxElapsedTime(3600000, TimeUnit.MILLISECONDS) + .retryConnectError(true) + .build()) + .build()); + this.client = this.sdkConfiguration.client(); + } + + Optional securitySource() { + return Optional.ofNullable(this.securitySource); + } + + BeforeRequestContextImpl createBeforeRequestContext() { + return new BeforeRequestContextImpl( + this.sdkConfiguration, + this.baseUrl, + "EnvironmentsController_publishEnvironment", + java.util.Optional.empty(), + securitySource()); + } + + AfterSuccessContextImpl createAfterSuccessContext() { + return new AfterSuccessContextImpl( + this.sdkConfiguration, + this.baseUrl, + "EnvironmentsController_publishEnvironment", + java.util.Optional.empty(), + securitySource()); + } + + AfterErrorContextImpl createAfterErrorContext() { + return new AfterErrorContextImpl( + this.sdkConfiguration, + this.baseUrl, + "EnvironmentsController_publishEnvironment", + java.util.Optional.empty(), + securitySource()); + } + HttpRequest buildRequest(T request, Class klass, TypeReference typeReference) throws Exception { + String url = Utils.generateURL( + klass, + this.baseUrl, + "/v2/environments/{targetEnvironmentId}/publish", + request, null); + HTTPRequest req = new HTTPRequest(url, "POST"); + Object convertedRequest = Utils.convertToShape( + request, + JsonShape.DEFAULT, + typeReference); + SerializedBody serializedRequestBody = Utils.serializeRequestBody( + convertedRequest, + "body", + "json", + false); + if (serializedRequestBody == null) { + throw new IllegalArgumentException("Request body is required"); + } + req.setBody(Optional.ofNullable(serializedRequestBody)); + req.addHeader("Accept", "application/json") + .addHeader("user-agent", SDKConfiguration.USER_AGENT); + _headers.forEach((k, list) -> list.forEach(v -> req.addHeader(k, v))); + req.addHeaders(Utils.getHeadersFromMetadata(request, null)); + Utils.configureSecurity(req, this.sdkConfiguration.securitySource().getSecurity()); + + return req.build(); + } + } + + public static class Sync extends Base + implements RequestOperation { + public Sync( + @Nonnull SDKConfiguration sdkConfiguration, @Nullable Options options, + Headers _headers) { + super( + sdkConfiguration, options, + _headers); + } + + private HttpRequest onBuildRequest(EnvironmentsControllerPublishEnvironmentRequest request) throws Exception { + HttpRequest req = buildRequest(request, EnvironmentsControllerPublishEnvironmentRequest.class, new TypeReference() {}); + return sdkConfiguration.hooks().beforeRequest(createBeforeRequestContext(), req); + } + + private HttpResponse onError(HttpResponse response, Exception error) throws Exception { + return sdkConfiguration.hooks().afterError( + createAfterErrorContext(), + Optional.ofNullable(response), + Optional.ofNullable(error)); + } + + private HttpResponse onSuccess(HttpResponse response) throws Exception { + return sdkConfiguration.hooks().afterSuccess(createAfterSuccessContext(), response); + } + + @Override + public HttpResponse doRequest(EnvironmentsControllerPublishEnvironmentRequest request) { + Retries retries = Retries.builder() + .action(() -> { + HttpRequest r; + try { + r = onBuildRequest(request); + } catch (Exception e) { + throw new NonRetryableException(e); + } + try { + HttpResponse httpRes = client.send(r); + if (Utils.statusCodeMatches(httpRes.statusCode(), "400", "401", "403", "404", "405", "409", "413", "414", "415", "422", "429", "4XX", "500", "503", "5XX")) { + return onError(httpRes, null); + } + return httpRes; + } catch (Exception e) { + return onError(null, e); + } + }) + .retryConfig(retryConfig) + .statusCodes(retryStatusCodes) + .build(); + return unchecked(() -> onSuccess(retries.run())).get(); + } + + + @Override + public EnvironmentsControllerPublishEnvironmentResponse handleResponse(HttpResponse response) { + String contentType = response + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + EnvironmentsControllerPublishEnvironmentResponse.Builder resBuilder = + EnvironmentsControllerPublishEnvironmentResponse + .builder() + .contentType(contentType) + .statusCode(response.statusCode()) + .rawResponse(response); + + EnvironmentsControllerPublishEnvironmentResponse res = resBuilder.build(); + + if (Utils.statusCodeMatches(response.statusCode(), "200")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return res.withPublishEnvironmentResponseDto(Utils.unmarshal(response, new TypeReference() {})); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "414")) { + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "400", "401", "403", "404", "405", "409", "413", "415")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "422")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ValidationErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "429")) { + res.withHeaders(response.headers().map()); + // no content + throw APIException.from("API error occurred", response); + } + if (Utils.statusCodeMatches(response.statusCode(), "500")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + throw ErrorDto.from(response); + } else { + throw APIException.from("Unexpected content-type received: " + contentType, response); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "503")) { + res.withHeaders(response.headers().map()); + // no content + throw APIException.from("API error occurred", response); + } + if (Utils.statusCodeMatches(response.statusCode(), "4XX")) { + // no content + throw APIException.from("API error occurred", response); + } + if (Utils.statusCodeMatches(response.statusCode(), "5XX")) { + // no content + throw APIException.from("API error occurred", response); + } + throw APIException.from("Unexpected status code received: " + response.statusCode(), response); + } + } + public static class Async extends Base + implements AsyncRequestOperation { + private final ScheduledExecutorService retryScheduler; + + public Async( + @Nonnull SDKConfiguration sdkConfiguration, @Nullable Options options, + @Nullable ScheduledExecutorService retryScheduler, Headers _headers) { + super( + sdkConfiguration, options, + _headers); + this.retryScheduler = retryScheduler; + } + + private CompletableFuture onBuildRequest(EnvironmentsControllerPublishEnvironmentRequest request) throws Exception { + HttpRequest req = buildRequest(request, EnvironmentsControllerPublishEnvironmentRequest.class, new TypeReference() {}); + return this.sdkConfiguration.asyncHooks().beforeRequest(createBeforeRequestContext(), req); + } + + private CompletableFuture> onError(HttpResponse response, Throwable error) { + return this.sdkConfiguration.asyncHooks().afterError(createAfterErrorContext(), response, error); + } + + private CompletableFuture> onSuccess(HttpResponse response) { + return this.sdkConfiguration.asyncHooks().afterSuccess(createAfterSuccessContext(), response); + } + + @Override + public CompletableFuture> doRequest(EnvironmentsControllerPublishEnvironmentRequest request) { + AsyncRetries retries = AsyncRetries.builder() + .retryConfig(retryConfig) + .statusCodes(retryStatusCodes) + .scheduler(retryScheduler) + .build(); + return retries.retry(() -> unchecked(() -> onBuildRequest(request)).get().thenCompose(client::sendAsync) + .handle((resp, err) -> { + if (err != null) { + return onError(null, err); + } + if (Utils.statusCodeMatches(resp.statusCode(), "400", "401", "403", "404", "405", "409", "413", "414", "415", "422", "429", "4XX", "500", "503", "5XX")) { + return onError(resp, null); + } + return CompletableFuture.completedFuture(resp); + }) + .thenCompose(Function.identity())) + .thenCompose(this::onSuccess); + } + + @Override + public CompletableFuture handleResponse( + HttpResponse response) { + String contentType = response + .headers() + .firstValue("Content-Type") + .orElse("application/octet-stream"); + co.novu.models.operations.async.EnvironmentsControllerPublishEnvironmentResponse.Builder resBuilder = + co.novu.models.operations.async.EnvironmentsControllerPublishEnvironmentResponse + .builder() + .contentType(contentType) + .statusCode(response.statusCode()) + .rawResponse(response); + + co.novu.models.operations.async.EnvironmentsControllerPublishEnvironmentResponse res = resBuilder.build(); + + if (Utils.statusCodeMatches(response.statusCode(), "200")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return Utils.unmarshalAsync(response, new TypeReference() {}) + .thenApply(res::withPublishEnvironmentResponseDto); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "414")) { + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "400", "401", "403", "404", "405", "409", "413", "415")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "422")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ValidationErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "429")) { + res.withHeaders(response.headers().map()); + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + if (Utils.statusCodeMatches(response.statusCode(), "500")) { + res.withHeaders(response.headers().map()); + if (Utils.contentTypeMatches(contentType, "application/json")) { + return ErrorDto.fromAsync(response) + .thenCompose(CompletableFuture::failedFuture); + } else { + return Utils.createAsyncApiError(response, "Unexpected content-type received: " + contentType); + } + } + if (Utils.statusCodeMatches(response.statusCode(), "503")) { + res.withHeaders(response.headers().map()); + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + if (Utils.statusCodeMatches(response.statusCode(), "4XX")) { + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + if (Utils.statusCodeMatches(response.statusCode(), "5XX")) { + // no content + return Utils.createAsyncApiError(response, "API error occurred"); + } + return Utils.createAsyncApiError(response, "Unexpected status code received: " + response.statusCode()); + } + } +} From 5ddb9a4f64c28f871313fbc707facc1d442b79d3 Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Thu, 5 Mar 2026 00:10:15 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow