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 23fed1f70..468d8b614 100644 --- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs @@ -17,7 +17,6 @@ public interface IWorkflowDefinitionsApi /// The request containing options for listing workflow definitions. /// The version options. /// The cancellation token. - /// The response containing the workflow definitions. [Get("/workflow-definitions?versionOptions={versionOptions}")] Task ListAsync([Query]ListWorkflowDefinitionsRequest request, [Query]VersionOptions? versionOptions = default, CancellationToken cancellationToken = default); @@ -28,7 +27,6 @@ public interface IWorkflowDefinitionsApi /// The version options. /// Whether to include the root activity of composite activities. /// The cancellation token. - /// The workflow definition. [Get("/workflow-definitions/{definitionId}?versionOptions={versionOptions}&includeCompositeRoot={includeCompositeRoot}")] Task GetAsync(string definitionId, VersionOptions? versionOptions = default, bool includeCompositeRoot = false, CancellationToken cancellationToken = default); @@ -44,7 +42,6 @@ public interface IWorkflowDefinitionsApi /// /// The name to check. /// The cancellation token. - /// A response containing a value indicating whether the name is unique. [Get("/workflow-definitions/validation/is-name-unique?name={name}")] Task GetIsNameUniqueAsync(string name, CancellationToken cancellationToken = default); @@ -53,7 +50,6 @@ public interface IWorkflowDefinitionsApi /// /// The request containing the workflow definition to save. /// The cancellation token. - /// The workflow definition. [Post("/workflow-definitions")] Task SaveAsync(SaveWorkflowDefinitionRequest request, CancellationToken cancellationToken = default); @@ -62,7 +58,14 @@ public interface IWorkflowDefinitionsApi /// /// The ID of the workflow definition to delete. /// The cancellation token. - /// The response. [Delete("/workflow-definitions/{definitionId}")] Task DeleteAsync(string definitionId, CancellationToken cancellationToken = default); + + /// + /// Deletes many workflow definitions. + /// + /// The request containing the IDs of the workflow definitions to delete. + /// The cancellation token. + [Post("/bulk-actions/delete/workflow-definitions/by-definition-id")] + Task DeleteManyAsync(DeleteManyWorkflowDefinitionsRequest request, CancellationToken cancellationToken = default); } \ No newline at end of file diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs new file mode 100644 index 000000000..78de30900 --- /dev/null +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs @@ -0,0 +1,21 @@ +namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models; + +/// +/// A request to delete many workflow definitions. +/// +public class DeleteManyWorkflowDefinitionsRequest +{ + /// + /// Initializes a new instance of the class. + /// + /// The IDs of the workflow definitions to delete. + public DeleteManyWorkflowDefinitionsRequest(IEnumerable definitionIds) + { + DefinitionIds = definitionIds.ToArray(); + } + + /// + /// Gets or sets the IDs of the workflow definitions to delete. + /// + public string[] DefinitionIds { get; set; } +} \ No newline at end of file diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs new file mode 100644 index 000000000..64dced1d4 --- /dev/null +++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs @@ -0,0 +1,7 @@ +namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models; + +/// +/// The response from a request to delete workflow definitions. +/// +/// The number of workflow definitions deleted. +public record DeleteManyWorkflowDefinitionsResponse(long Deleted); \ No newline at end of file