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 9813c9a79..66ec28614 100644
--- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Contracts/IWorkflowDefinitionsApi.cs
@@ -68,7 +68,15 @@ public interface IWorkflowDefinitionsApi
/// 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);
+ Task BulkDeleteAsync(BulkDeleteWorkflowDefinitionsRequest request, CancellationToken cancellationToken = default);
+
+ ///
+ /// Publishes many workflow definitions.
+ ///
+ /// The request containing the IDs of the workflow definitions to publish.
+ /// The cancellation token.
+ [Post("/bulk-actions/publish/workflow-definitions/by-definition-ids")]
+ Task BulkPublishAsync(BulkPublishWorkflowDefinitionsRequest request, CancellationToken cancellationToken = default);
///
/// Exports a workflow definition.
diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkDeleteWorkflowDefinitionsRequest.cs
similarity index 75%
rename from src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs
rename to src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkDeleteWorkflowDefinitionsRequest.cs
index 78de30900..ada15c150 100644
--- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsRequest.cs
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkDeleteWorkflowDefinitionsRequest.cs
@@ -3,13 +3,13 @@ namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
///
/// A request to delete many workflow definitions.
///
-public class DeleteManyWorkflowDefinitionsRequest
+public class BulkDeleteWorkflowDefinitionsRequest
{
///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The IDs of the workflow definitions to delete.
- public DeleteManyWorkflowDefinitionsRequest(IEnumerable definitionIds)
+ public BulkDeleteWorkflowDefinitionsRequest(IEnumerable definitionIds)
{
DefinitionIds = definitionIds.ToArray();
}
diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkDeleteWorkflowDefinitionsResponse.cs
similarity index 78%
rename from src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs
rename to src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkDeleteWorkflowDefinitionsResponse.cs
index 64dced1d4..d6b31ddf4 100644
--- a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/DeleteManyWorkflowDefinitionsResponse.cs
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkDeleteWorkflowDefinitionsResponse.cs
@@ -4,4 +4,4 @@ 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
+public record BulkDeleteWorkflowDefinitionsResponse(long Deleted);
\ No newline at end of file
diff --git a/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkPublishWorkflowDefinitionsRequest.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkPublishWorkflowDefinitionsRequest.cs
new file mode 100644
index 000000000..fef97abe9
--- /dev/null
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkPublishWorkflowDefinitionsRequest.cs
@@ -0,0 +1,21 @@
+namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
+
+///
+/// A request to publish many workflow definitions.
+///
+public class BulkPublishWorkflowDefinitionsRequest
+{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The IDs of the workflow definitions to delete.
+ public BulkPublishWorkflowDefinitionsRequest(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/BulkPublishWorkflowDefinitionsResponse.cs b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkPublishWorkflowDefinitionsResponse.cs
new file mode 100644
index 000000000..e52d7eccb
--- /dev/null
+++ b/src/clients/Elsa.Api.Client/Resources/WorkflowDefinitions/Models/BulkPublishWorkflowDefinitionsResponse.cs
@@ -0,0 +1,9 @@
+namespace Elsa.Api.Client.Resources.WorkflowDefinitions.Models;
+
+///
+/// The response from a request to publish workflow definitions.
+///
+public record BulkPublishWorkflowDefinitionsResponse(
+ ICollection Published,
+ ICollection AlreadyPublished,
+ ICollection NotFound);
\ No newline at end of file
diff --git a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts
index 74826ea3c..a529fc309 100644
--- a/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts
+++ b/src/designer/designer_packages/elsa-workflows-designer/src/modules/workflow-definitions/services/api.ts
@@ -162,7 +162,7 @@ export class WorkflowDefinitionsApi {
async publishMany(request: PublishManyWorkflowDefinitionRequest): Promise {
const httpClient = await this.getHttpClient();
- const response = await httpClient.post(`/bulk-actions/publish/workflow-definitions/by-definition-id`, {
+ const response = await httpClient.post(`/bulk-actions/publish/workflow-definitions/by-definition-ids`, {
definitionIds: request.definitionIds,
});
return response.data;
@@ -170,7 +170,7 @@ export class WorkflowDefinitionsApi {
async unpublishMany(request: UnpublishManyWorkflowDefinitionRequest): Promise {
const httpClient = await this.getHttpClient();
- const response = await httpClient.post(`/bulk-actions/retract/workflow-definitions/by-definition-id`, {
+ const response = await httpClient.post(`/bulk-actions/retract/workflow-definitions/by-definition-ids`, {
definitionIds: request.definitionIds,
});
return response.data;
diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Endpoint.cs
index 82d598a9e..af605dda1 100644
--- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Endpoint.cs
+++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Endpoint.cs
@@ -20,7 +20,7 @@ internal class BulkPublish : ElsaEndpoint
public override void Configure()
{
- Post("/bulk-actions/publish/workflow-definitions/by-definition-id");
+ Post("/bulk-actions/publish/workflow-definitions/by-definition-ids");
ConfigurePermissions("publish:workflow-definitions");
}
diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Models.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Models.cs
index 4f53f6e1c..8ffa665e5 100644
--- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Models.cs
+++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkPublish/Models.cs
@@ -1,11 +1,11 @@
namespace Elsa.Workflows.Api.Endpoints.WorkflowDefinitions.BulkPublish;
-public class Request
+internal class Request
{
public ICollection DefinitionIds { get; set; } = default!;
}
-public class Response
+internal class Response
{
public Response(ICollection published, ICollection alreadyPublished, ICollection notFound)
{
diff --git a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkRetract/Endpoint.cs b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkRetract/Endpoint.cs
index 70089a894..602351878 100644
--- a/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkRetract/Endpoint.cs
+++ b/src/modules/Elsa.Workflows.Api/Endpoints/WorkflowDefinitions/BulkRetract/Endpoint.cs
@@ -20,7 +20,7 @@ internal class BulkRetract : ElsaEndpoint
public override void Configure()
{
- Post("/bulk-actions/retract/workflow-definitions/by-definition-id");
+ Post("/bulk-actions/retract/workflow-definitions/by-definition-ids");
ConfigurePermissions("retract:workflow-definitions");
}