Added support for put operations for editing a workflow template version

This commit is contained in:
Colin Dawson 2026-03-02 22:42:44 +00:00
parent a3531e9a3e
commit 839062db74
5 changed files with 8 additions and 26 deletions

View File

@ -51,22 +51,6 @@ public class GetWorkflowTemplateVersion : IGeneralId
public Guid Guid { get; set; } public Guid Guid { get; set; }
} }
public class EditWorkflowTemplateVersion : IGeneralId
{
public long Id { get; set; }
public Guid Guid { get; set; }
public long Version { get; set; }
public GeneralIdRef? DomainId { get; set; }
public string Description { get; set; } = String.Empty;
public string ActivityNameTemplate { get; set; } = String.Empty;
public List<TaskDefinition> Tasks { get; set; } = [];
}
public class PatchWorkflowTemplateVersion public class PatchWorkflowTemplateVersion
{ {
@ -105,7 +89,7 @@ public interface IWorkflowTemplateManager
Task<PaginatedData<GetWorkflowTemplateVersion>> GetWorkflowTemplateVersionsAsync(Paging paging, CancellationToken cancellationToken); Task<PaginatedData<GetWorkflowTemplateVersion>> GetWorkflowTemplateVersionsAsync(Paging paging, CancellationToken cancellationToken);
Task<GetWorkflowTemplateVersion?> GetWorkflowTemplateAsync(GeneralIdRef generalIdRef, CancellationToken cancellationToken); Task<GetWorkflowTemplateVersion?> GetWorkflowTemplateAsync(GeneralIdRef generalIdRef, CancellationToken cancellationToken);
Task EditTemplateVersion(AuditUserDetails auditUserDetails, EditWorkflowTemplateVersion template, CancellationToken cancellationToken); Task EditTemplateVersion(AuditUserDetails auditUserDetails, GetWorkflowTemplateVersion template, CancellationToken cancellationToken);
Task PatchTemplateVersion(AuditUserDetails auditUserDetails, IGeneralIdRef templateId, PatchWorkflowTemplateVersion patchTemplate, CancellationToken cancellationToken); Task PatchTemplateVersion(AuditUserDetails auditUserDetails, IGeneralIdRef templateId, PatchWorkflowTemplateVersion patchTemplate, CancellationToken cancellationToken);
Task PostTemplateVersion(AuditUserDetails auditUserDetails, CreateWorkflowTemplateVersion template, CancellationToken cancellationToken); Task PostTemplateVersion(AuditUserDetails auditUserDetails, CreateWorkflowTemplateVersion template, CancellationToken cancellationToken);
Task DeleteTemplateVersion(AuditUserDetails auditUserDetails, IGeneralIdRef templateId, CancellationToken cancellationToken); Task DeleteTemplateVersion(AuditUserDetails auditUserDetails, IGeneralIdRef templateId, CancellationToken cancellationToken);

View File

@ -1,15 +1,10 @@
using e_suite.API.Common; using e_suite.API.Common;
using e_suite.API.Common.models;
using e_suite.Database.Core.Tables.UserManager;
using e_suite.Modules.SSOManager;
using e_suite.Utilities.Pagination; using e_suite.Utilities.Pagination;
using eSuite.API.Models;
using eSuite.API.security; using eSuite.API.security;
using eSuite.API.Utilities; using eSuite.API.Utilities;
using eSuite.Core.Miscellaneous; using eSuite.Core.Miscellaneous;
using eSuite.Core.Security; using eSuite.Core.Security;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Net.NetworkInformation;
namespace eSuite.API.Controllers; namespace eSuite.API.Controllers;
@ -92,7 +87,7 @@ public class WorkflowTemplateController : ESuiteControllerBase
[ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)] [ProducesResponseType(StatusCodes.Status400BadRequest)]
[AccessKey(SecurityAccess.EditWorkflowTemplate)] [AccessKey(SecurityAccess.EditWorkflowTemplate)]
public async Task<IActionResult> EditTemplateVersion(EditWorkflowTemplateVersion template, CancellationToken cancellationToken = default!) public async Task<IActionResult> EditTemplateVersion(GetWorkflowTemplateVersion template, CancellationToken cancellationToken = default!)
{ {
await _workflowTemplateManager.EditTemplateVersion(AuditUserDetails, template, cancellationToken); await _workflowTemplateManager.EditTemplateVersion(AuditUserDetails, template, cancellationToken);
return Ok(); return Ok();

View File

@ -165,7 +165,9 @@ public class WorkflowTemplateRepository : RepositoryBase, IWorkflowTemplateRepos
public IQueryable<e_suite.Database.Core.Tables.Workflow.WorkflowVersion> GetWorkflowVersions() public IQueryable<e_suite.Database.Core.Tables.Workflow.WorkflowVersion> GetWorkflowVersions()
{ {
return DatabaseDbContext.WorkflowVersions.Include( x => x.Domain); return DatabaseDbContext.WorkflowVersions
.Include( x => x.Domain)
.Include( x => x.Workflow);
} }
public async Task EditWorkflowVersionAsync(AuditUserDetails auditUserDetails, e_suite.Database.Core.Tables.Workflow.WorkflowVersion workflowVersion, CancellationToken cancellationToken) public async Task EditWorkflowVersionAsync(AuditUserDetails auditUserDetails, e_suite.Database.Core.Tables.Workflow.WorkflowVersion workflowVersion, CancellationToken cancellationToken)

View File

@ -92,7 +92,7 @@ public class WorkflowTemplateManager : IWorkflowTemplateManager
public async Task EditTemplateVersion( public async Task EditTemplateVersion(
AuditUserDetails auditUserDetails, AuditUserDetails auditUserDetails,
EditWorkflowTemplateVersion template, GetWorkflowTemplateVersion template,
CancellationToken cancellationToken CancellationToken cancellationToken
) )
{ {
@ -107,6 +107,7 @@ public class WorkflowTemplateManager : IWorkflowTemplateManager
version.Deleted = false; version.Deleted = false;
version.Version = template.Version+1; version.Version = template.Version+1;
version.Tasks = template.Tasks; version.Tasks = template.Tasks;
version.Workflow.Name = template.WorkflowName;
}, cancellationToken); }, cancellationToken);
} }