From d65e23b347e22585c3c9bf8224ae9ae0cfa83585 Mon Sep 17 00:00:00 2001 From: Filippa Wallden Date: Fri, 27 Jun 2025 13:00:02 +0200 Subject: [PATCH 1/2] start, thumbnail --- src/Controllers/Storage/DataController.cs | 14 ++++++++------ src/Helpers/Storage/DataElementHelper.cs | 3 ++- .../Storage/Implementation/InstanceService.cs | 3 ++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Controllers/Storage/DataController.cs b/src/Controllers/Storage/DataController.cs index 284ad954..3040a3a2 100644 --- a/src/Controllers/Storage/DataController.cs +++ b/src/Controllers/Storage/DataController.cs @@ -232,6 +232,7 @@ public async Task> GetMany(int instanceOwnerPartyI /// The data type identifier for the data being uploaded. /// An optional array of data element references. /// An optional id of the task the data element was generated from + /// An optional id of the task the data element was generated from /// The metadata of the new data element. [Authorize(Policy = AuthzConstants.POLICY_INSTANCE_WRITE)] [HttpPost("data")] @@ -245,7 +246,8 @@ public async Task> CreateAndUploadData( [FromRoute] Guid instanceGuid, [FromQuery] string dataType, [FromQuery(Name = "refs")] List refs = null, - [FromQuery(Name = "generatedFromTask")] string generatedFromTask = null) + [FromQuery(Name = "generatedFromTask")] string generatedFromTask = null, + [FromQuery(Name = "MetaData")] List metaData = null) { if (instanceOwnerPartyId == 0 || string.IsNullOrEmpty(dataType) || Request.Body == null) { @@ -271,7 +273,7 @@ public async Task> CreateAndUploadData( return BadRequest("Requested element type is not declared in application metadata"); } - var streamAndDataElement = await ReadRequestAndCreateDataElementAsync(Request, dataType, refs, generatedFromTask, instance); + var streamAndDataElement = await ReadRequestAndCreateDataElementAsync(Request, dataType, refs, generatedFromTask, metaData, instance); Stream theStream = streamAndDataElement.Stream; DataElement newData = streamAndDataElement.DataElement; @@ -379,8 +381,8 @@ public async Task> OverwriteData( { return StatusCode(500, "Storage url does not match with instance metadata"); } - - var streamAndDataElement = await ReadRequestAndCreateDataElementAsync(Request, dataElement.DataType, refs, generatedFromTask, instance); + + var streamAndDataElement = await ReadRequestAndCreateDataElementAsync(Request, dataElement.DataType, refs, generatedFromTask, null, instance); Stream theStream = streamAndDataElement.Stream; DataElement updatedData = streamAndDataElement.DataElement; @@ -502,7 +504,7 @@ public async Task SetFileScanStatus( /// /// Creates a data element by reading the first multipart element or body of the request. /// - private async Task<(Stream Stream, DataElement DataElement)> ReadRequestAndCreateDataElementAsync(HttpRequest request, string elementType, List refs, string generatedFromTask, Instance instance) + private async Task<(Stream Stream, DataElement DataElement)> ReadRequestAndCreateDataElementAsync(HttpRequest request, string elementType, List refs, string generatedFromTask, List metaData, Instance instance) { DateTime creationTime = DateTime.UtcNow; Stream theStream; @@ -550,7 +552,7 @@ public async Task SetFileScanStatus( string user = User.GetUserOrOrgNo(); - DataElement newData = DataElementHelper.CreateDataElement(elementType, refs, instance, creationTime, contentType, contentFileName, fileSize, user, generatedFromTask); + DataElement newData = DataElementHelper.CreateDataElement(elementType, refs, instance, creationTime, contentType, contentFileName, fileSize, user, generatedFromTask, metaData); return (theStream, newData); } diff --git a/src/Helpers/Storage/DataElementHelper.cs b/src/Helpers/Storage/DataElementHelper.cs index f895eb7d..d8c0c93c 100644 --- a/src/Helpers/Storage/DataElementHelper.cs +++ b/src/Helpers/Storage/DataElementHelper.cs @@ -11,7 +11,7 @@ public static class DataElementHelper /// Creates a data element based on element type, instance id, content type, content file name and file size. /// /// DataElement - public static DataElement CreateDataElement(string dataType, List refs, Instance instance, DateTime creationTime, string contentType, string contentFileName, long fileSize, string user, string generatedFromTask) + public static DataElement CreateDataElement(string dataType, List refs, Instance instance, DateTime creationTime, string contentType, string contentFileName, long fileSize, string user, string generatedFromTask, List metaData) { string dataId = Guid.NewGuid().ToString(); @@ -36,6 +36,7 @@ public static DataElement CreateDataElement(string dataType, List refs, In LastChanged = creationTime, Size = fileSize, Refs = refs, + Metadata = metaData, }; if (!String.IsNullOrEmpty(generatedFromTask)) diff --git a/src/Services/Storage/Implementation/InstanceService.cs b/src/Services/Storage/Implementation/InstanceService.cs index 3e42e379..e8b6890a 100644 --- a/src/Services/Storage/Implementation/InstanceService.cs +++ b/src/Services/Storage/Implementation/InstanceService.cs @@ -75,7 +75,8 @@ public InstanceService(IInstanceRepository instanceRepository, IDataService data $"{signRequest.SignatureDocumentDataType}.json", 0, performedBy, - signRequest.GeneratedFromTask); + signRequest.GeneratedFromTask, + null); signDocument.Id = dataElement.Id; From 32e3c44bf1c4b402f8a6cbf6cf4e84bbb60d993c Mon Sep 17 00:00:00 2001 From: Filippa Wallden Date: Wed, 29 Oct 2025 15:18:04 +0100 Subject: [PATCH 2/2] change from upper case to lower case in "metadata" --- src/Controllers/Storage/DataController.cs | 10 +++++----- src/Helpers/Storage/DataElementHelper.cs | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Controllers/Storage/DataController.cs b/src/Controllers/Storage/DataController.cs index 078b0047..8d632dbe 100644 --- a/src/Controllers/Storage/DataController.cs +++ b/src/Controllers/Storage/DataController.cs @@ -260,7 +260,7 @@ public async Task> GetMany(int instanceOwnerPartyI /// The data type identifier for the data being uploaded. /// An optional array of data element references. /// An optional id of the task the data element was generated from - /// An optional id of the task the data element was generated from + /// An optional id of the task the data element was generated from /// The metadata of the new data element. [Authorize(Policy = AuthzConstants.POLICY_INSTANCE_WRITE)] [HttpPost("data")] @@ -275,7 +275,7 @@ public async Task> CreateAndUploadData( [FromQuery] string dataType, [FromQuery(Name = "refs")] List refs = null, [FromQuery(Name = "generatedFromTask")] string generatedFromTask = null, - [FromQuery(Name = "MetaData")] List metaData = null) + [FromQuery(Name = "Metadata")] List metadata = null) { if (instanceOwnerPartyId == 0 || string.IsNullOrEmpty(dataType) || Request.Body == null) { @@ -299,7 +299,7 @@ public async Task> CreateAndUploadData( return Forbid(); } - var streamAndDataElement = await ReadRequestAndCreateDataElementAsync(Request, dataType, refs, generatedFromTask, metaData, instance); + var streamAndDataElement = await ReadRequestAndCreateDataElementAsync(Request, dataType, refs, generatedFromTask, metadata, instance); Stream theStream = streamAndDataElement.Stream; DataElement newData = streamAndDataElement.DataElement; @@ -545,7 +545,7 @@ public async Task SetFileScanStatus( /// /// Creates a data element by reading the first multipart element or body of the request. /// - private async Task<(Stream Stream, DataElement DataElement)> ReadRequestAndCreateDataElementAsync(HttpRequest request, string elementType, List refs, string generatedFromTask, List metaData, Instance instance) + private async Task<(Stream Stream, DataElement DataElement)> ReadRequestAndCreateDataElementAsync(HttpRequest request, string elementType, List refs, string generatedFromTask, List metadata, Instance instance) { DateTime creationTime = DateTime.UtcNow; Stream theStream; @@ -593,7 +593,7 @@ public async Task SetFileScanStatus( string user = User.GetUserOrOrgNo(); - DataElement newData = DataElementHelper.CreateDataElement(elementType, refs, instance, creationTime, contentType, contentFileName, fileSize, user, generatedFromTask, metaData); + DataElement newData = DataElementHelper.CreateDataElement(elementType, refs, instance, creationTime, contentType, contentFileName, fileSize, user, generatedFromTask, metadata); return (theStream, newData); } diff --git a/src/Helpers/Storage/DataElementHelper.cs b/src/Helpers/Storage/DataElementHelper.cs index d8c0c93c..de06b7da 100644 --- a/src/Helpers/Storage/DataElementHelper.cs +++ b/src/Helpers/Storage/DataElementHelper.cs @@ -11,7 +11,7 @@ public static class DataElementHelper /// Creates a data element based on element type, instance id, content type, content file name and file size. /// /// DataElement - public static DataElement CreateDataElement(string dataType, List refs, Instance instance, DateTime creationTime, string contentType, string contentFileName, long fileSize, string user, string generatedFromTask, List metaData) + public static DataElement CreateDataElement(string dataType, List refs, Instance instance, DateTime creationTime, string contentType, string contentFileName, long fileSize, string user, string generatedFromTask, List metadata) { string dataId = Guid.NewGuid().ToString(); @@ -36,7 +36,7 @@ public static DataElement CreateDataElement(string dataType, List refs, In LastChanged = creationTime, Size = fileSize, Refs = refs, - Metadata = metaData, + Metadata = metadata, }; if (!String.IsNullOrEmpty(generatedFromTask))