diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs index 102331af1..ab41f8aa1 100644 --- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs @@ -209,6 +209,7 @@ public interface IWorkflowDefinitionsApi /// The definition ID of the workflow definition to revert. /// The version to revert to. /// An optional cancellation token. + /// A summary view of the newly created workflow definition version. [Post("/workflow-definitions/{definitionId}/revert/{version}")] - Task RevertVersionAsync(string definitionId, int version, CancellationToken cancellationToken = default); + Task RevertVersionAsync(string definitionId, int version, CancellationToken cancellationToken = default); } \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetById/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetById/Endpoint.cs index 0ca279e93..6d62ad993 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetById/Endpoint.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/GetById/Endpoint.cs @@ -2,6 +2,7 @@ using Elsa.Abstractions; using Elsa.Workflows.Management.Contracts; using Elsa.Workflows.Management.Filters; using JetBrains.Annotations; +using Microsoft.AspNetCore.Builder; namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.GetById; @@ -12,6 +13,7 @@ internal class GetById(IWorkflowDefinitionStore store, IWorkflowDefinitionLinker { Get("/workflow-definitions/by-id/{id}"); ConfigurePermissions("read:workflow-definitions"); + Options(x => x.WithName("GetWorkflowDefinitionById")); } public override async Task HandleAsync(Request request, CancellationToken cancellationToken) diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/Revert.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/Revert.cs index 707efee28..4c0ffc4ea 100644 --- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/Revert.cs +++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/Version/Revert.cs @@ -4,6 +4,7 @@ using Elsa.Workflows.Api.Constants; using Elsa.Workflows.Api.Requirements; using Elsa.Workflows.Management.Contracts; using Elsa.Workflows.Management.Filters; +using Elsa.Workflows.Management.Models; using JetBrains.Annotations; using Microsoft.AspNetCore.Authorization; @@ -46,8 +47,12 @@ internal class RevertVersion(IWorkflowDefinitionManager workflowDefinitionManage return; } - await workflowDefinitionManager.RevertVersionAsync(definitionId, version, cancellationToken); + var newDefinition = await workflowDefinitionManager.RevertVersionAsync(definitionId, version, cancellationToken); + var newDefinitionSummary = WorkflowDefinitionSummary.FromDefinition(newDefinition); - await SendOkAsync(cancellationToken); + await SendCreatedAtAsync("GetWorkflowDefinitionById", new + { + id = newDefinition.Id + }, newDefinitionSummary, cancellation: cancellationToken); } } \ No newline at end of file