diff --git a/Src/Witsml/Data/WitsmlAttachment.cs b/Src/Witsml/Data/WitsmlAttachment.cs new file mode 100644 index 000000000..0314035ac --- /dev/null +++ b/Src/Witsml/Data/WitsmlAttachment.cs @@ -0,0 +1,38 @@ +using System.Collections.Generic; +using System.Xml.Serialization; + +using Witsml.Data.Measures; +using Witsml.Extensions; + +namespace Witsml.Data +{ + public class WitsmlAttachment : WitsmlObjectOnWellbore + { + public override WitsmlAttachments AsItemInWitsmlList() + { + return new WitsmlAttachments() + { + Attachments = this.AsItemInList() + }; + } + + [XmlElement("objectReference")] + public WitsmlObjectReference ObjectReference { get; set; } + + [XmlElement("fileName")] + public string FileName { get; set; } + + [XmlElement("description")] + public string Description { get; set; } + + [XmlElement("fileType")] + public string FileType { get; set; } + + [XmlElement("content")] + public string Content { get; set; } + + [XmlElement("commonData")] + public WitsmlCommonData CommonData { get; set; } + + } +} diff --git a/Src/Witsml/Data/WitsmlAttachments.cs b/Src/Witsml/Data/WitsmlAttachments.cs new file mode 100644 index 000000000..aa2bba561 --- /dev/null +++ b/Src/Witsml/Data/WitsmlAttachments.cs @@ -0,0 +1,26 @@ +using System.Collections.Generic; +using System.Linq; +using System.Net.Mail; +using System.Xml.Serialization; + +namespace Witsml.Data +{ + [XmlRoot("attachments", Namespace = "http://www.witsml.org/schemas/1series")] + public class WitsmlAttachments : IWitsmlObjectList + { + [XmlAttribute("version")] + public string Version = "1.4.1.1"; + + [XmlElement("attachment")] + public List Attachments { get; set; } = new (); + + public string TypeName => "attachment"; + + [XmlIgnore] + public IEnumerable Objects + { + get => Attachments; + set => Attachments = value.Select(obj => (WitsmlAttachment)obj).ToList(); + } + } +} diff --git a/Src/WitsmlExplorer.Api/Models/Attachment.cs b/Src/WitsmlExplorer.Api/Models/Attachment.cs new file mode 100644 index 000000000..5dfbb2c8e --- /dev/null +++ b/Src/WitsmlExplorer.Api/Models/Attachment.cs @@ -0,0 +1,35 @@ +using Witsml.Data; +using Witsml.Data.Measures; +using Witsml.Data.Rig; + +using WitsmlExplorer.Api.Models.Measure; +using WitsmlExplorer.Api.Services; + +namespace WitsmlExplorer.Api.Models +{ + public class Attachment : ObjectOnWellbore + { + public string FileName { get; set; } + public string Description { get; set; } + public string FileType { get; set; } + public string Content { get; set; } + public CommonData CommonData { get; set; } + public override WitsmlAttachments ToWitsml() + { + return new WitsmlAttachment + { + UidWell = WellUid, + NameWell = WellName, + UidWellbore = WellboreUid, + NameWellbore = WellboreName, + Uid = Uid, + Name = Name, + FileName = FileName, + Description = Description, + FileType = FileType, + Content = Content, + CommonData = CommonData?.ToWitsml() + }.AsItemInWitsmlList(); + } + } +} diff --git a/Src/WitsmlExplorer.Api/Models/EntityType.cs b/Src/WitsmlExplorer.Api/Models/EntityType.cs index abc8ef85c..395c59b7c 100644 --- a/Src/WitsmlExplorer.Api/Models/EntityType.cs +++ b/Src/WitsmlExplorer.Api/Models/EntityType.cs @@ -28,6 +28,7 @@ public enum EntityType Tubular, Trajectory, WbGeometry, + Attachment } public static class EntityTypeHelper @@ -62,6 +63,7 @@ public static WitsmlObjectOnWellbore ToObjectOnWellbore(EntityType type) EntityType.WbGeometry => new WitsmlWbGeometry(), EntityType.Well => null, EntityType.Wellbore => null, + EntityType.Attachment => new WitsmlAttachment(), _ => null, }; } diff --git a/Src/WitsmlExplorer.Api/Query/AttachmentQueries.cs b/Src/WitsmlExplorer.Api/Query/AttachmentQueries.cs new file mode 100644 index 000000000..6f4169ac2 --- /dev/null +++ b/Src/WitsmlExplorer.Api/Query/AttachmentQueries.cs @@ -0,0 +1,54 @@ +using Witsml.Data; +using Witsml.Data.Measures; +using Witsml.Extensions; + +using WitsmlExplorer.Api.Jobs.Common; + +namespace WitsmlExplorer.Api.Query +{ + public static class AttachmentQueries + { + public static WitsmlAttachments GetWitsmlAttachment(string wellUid, string wellboreUid, string attachmentUid = "") + { + return new WitsmlAttachments + { + Attachments = new WitsmlAttachment + { + Uid = attachmentUid, + UidWell = wellUid, + UidWellbore = wellboreUid, + NameWell = "", + NameWellbore = "", + Name = "", + FileName = "", + Description = "", + FileType = "", + Content = "", + CommonData = new WitsmlCommonData() + { + ItemState = "", + SourceName = "", + DTimLastChange = "", + DTimCreation = "", + ServiceCategory = "", + Comments = "", + DefaultDatum = "", + } + }.AsItemInList() + }; + } + + public static WitsmlAttachments QueryById(string wellUid, string wellboreUid, string attachmentUid) + { + return new WitsmlAttachments() + { + Attachments = new WitsmlAttachment + { + Uid = attachmentUid, + UidWell = wellUid, + UidWellbore = wellboreUid + }.AsItemInList() + }; + } + } +} diff --git a/Src/WitsmlExplorer.Api/Services/AttachmentService.cs b/Src/WitsmlExplorer.Api/Services/AttachmentService.cs new file mode 100644 index 000000000..d3f5ccae2 --- /dev/null +++ b/Src/WitsmlExplorer.Api/Services/AttachmentService.cs @@ -0,0 +1,64 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +using Witsml.Data; +using Witsml.ServiceReference; + +using WitsmlExplorer.Api.Models; +using WitsmlExplorer.Api.Models.Measure; +using WitsmlExplorer.Api.Query; + +namespace WitsmlExplorer.Api.Services +{ + public interface IAttachmentService + { + Task GetAttachment(string wellUid, string wellboreUid, string attachmentUid); + Task> GetAttachments(string wellUid, string wellboreUid); + } + + public class AttachmentService : WitsmlService, IAttachmentService + { + public AttachmentService(IWitsmlClientProvider witsmlClientProvider) : base(witsmlClientProvider) { } + + public async Task GetAttachment(string wellUid, string wellboreUid, string attachmentUid) + { + WitsmlAttachments query = AttachmentQueries.GetWitsmlAttachment(wellUid, wellboreUid, attachmentUid); + WitsmlAttachments result = await _witsmlClient.GetFromStoreAsync(query, new OptionsIn(ReturnElements.All)); + return WitsmlToAttachment(result.Attachments.FirstOrDefault()); + } + public async Task> GetAttachments(string wellUid, string wellboreUid) + { + WitsmlAttachments witsmlAttachments = AttachmentQueries.GetWitsmlAttachment(wellUid, wellboreUid); + WitsmlAttachments result = await _witsmlClient.GetFromStoreAsync(witsmlAttachments, new OptionsIn(ReturnElements.Requested)); + return result.Attachments.Select(WitsmlToAttachment).OrderBy(attachment => attachment.Name).ToList(); + } + + private static Attachment WitsmlToAttachment(WitsmlAttachment attachment) + { + return attachment == null ? null : new Attachment + { + Uid = attachment.Uid, + Name = attachment.Name, + WellUid = attachment.UidWell, + WellName = attachment.NameWell, + WellboreName = attachment.NameWellbore, + WellboreUid = attachment.UidWellbore, + FileName = attachment.FileName, + Description = attachment.Description, + FileType = attachment.FileType, + Content = attachment.Content, + CommonData = new CommonData() + { + ItemState = attachment.CommonData.ItemState, + SourceName = attachment.CommonData.SourceName, + DTimLastChange = attachment.CommonData.DTimLastChange, + DTimCreation = attachment.CommonData.DTimCreation, + ServiceCategory = attachment.CommonData.ServiceCategory, + Comments = attachment.CommonData.Comments, + DefaultDatum = attachment.CommonData.DefaultDatum, + } + }; + } + } +} diff --git a/Src/WitsmlExplorer.Api/Workers/Modify/ModifyUtils.cs b/Src/WitsmlExplorer.Api/Workers/Modify/ModifyUtils.cs index cfdff8622..b7bdfc769 100644 --- a/Src/WitsmlExplorer.Api/Workers/Modify/ModifyUtils.cs +++ b/Src/WitsmlExplorer.Api/Workers/Modify/ModifyUtils.cs @@ -214,6 +214,17 @@ public static void VerifyAllowedValues(string value, List allowedValues, nameof(WbGeometry.CommonData) } }, + { + EntityType.Attachment, new HashSet + { + nameof(Attachment.Name), + nameof(Attachment.FileName), + nameof(Attachment.Description), + nameof(Attachment.FileType), + nameof(Attachment.Content), + nameof(Attachment.CommonData) + } + }, }; public static void VerifyModificationProperties(ObjectOnWellbore obj, EntityType objectType, ILogger logger) diff --git a/Tests/WitsmlExplorer.Api.Tests/Models/EntityTypeTests.cs b/Tests/WitsmlExplorer.Api.Tests/Models/EntityTypeTests.cs index 78521d0e5..a6fecab05 100644 --- a/Tests/WitsmlExplorer.Api.Tests/Models/EntityTypeTests.cs +++ b/Tests/WitsmlExplorer.Api.Tests/Models/EntityTypeTests.cs @@ -40,6 +40,7 @@ public void EntityTypeToObjectOnWellbore_GetAllWellboreObjects_CorrectType() Assert.IsType(EntityTypeHelper.ToObjectOnWellbore(EntityType.Trajectory)); Assert.IsType(EntityTypeHelper.ToObjectOnWellbore(EntityType.Tubular)); Assert.IsType(EntityTypeHelper.ToObjectOnWellbore(EntityType.WbGeometry)); + Assert.IsType(EntityTypeHelper.ToObjectOnWellbore(EntityType.Attachment)); } [Fact] diff --git a/Tests/WitsmlExplorer.IntegrationTests/Resources/attachment.xml b/Tests/WitsmlExplorer.IntegrationTests/Resources/attachment.xml new file mode 100644 index 000000000..a1874b18c --- /dev/null +++ b/Tests/WitsmlExplorer.IntegrationTests/Resources/attachment.xml @@ -0,0 +1,17 @@ + + + my well + my wellbore + 1 + Rig 1 + fig1-Pacific-Santa-Ana.jpg + Rig 1 + image/jpeg + /9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAAeAAD/4QO+aHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MSA2NC4xNDA5NDksIDIwMTAvMTIvMDctMTA6NTc6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcFJpZ2h0cz0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3JpZ2h0cy8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBSaWdodHM6TWFya2VkPSJGYWxzZSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjJBNjlEQkNBNDZEMzExRTFBQjc0RTY3NjA5QjI3OTBBIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkIwMTcyQjA4QkU2MzExRTNBRjAyRDFENTQ3OEY1OUE3IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkIwMTcyQjA3QkU2MzExRTNBRjAyRDFENTQ3OEY1OUE3IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBXaW5kb3dzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6N0ZDNzMxNzg4MEJGRTMxMUJGMkJCQjM1REZCNzQ0NDMiIHN0UmVmOmRvY3VtZW50SUQ9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 + + 2023-05-17T20:24:07.064Z + 2023-05-17T20:24:07.064Z + 2020-06-11T10:10:19.506Z + + + diff --git a/Tests/WitsmlExplorer.IntegrationTests/Witsml/GetFromStore/AttachmentTests.cs b/Tests/WitsmlExplorer.IntegrationTests/Witsml/GetFromStore/AttachmentTests.cs new file mode 100644 index 000000000..469b05bfd --- /dev/null +++ b/Tests/WitsmlExplorer.IntegrationTests/Witsml/GetFromStore/AttachmentTests.cs @@ -0,0 +1,44 @@ +using System.Threading.Tasks; + +using Witsml; +using Witsml.Data; +using Witsml.ServiceReference; +using Witsml.Xml; + +using WitsmlExplorer.Api.Query; + +using Xunit; + +namespace WitsmlExplorer.IntegrationTests.Witsml.GetFromStore +{ + public partial class AttachmentTests + { + private readonly WitsmlClient _client; + + public AttachmentTests() + { + WitsmlConfiguration config = ConfigurationReader.GetWitsmlConfiguration(); + _client = new WitsmlClient(options => + { + options.Hostname = config.Hostname; + options.Credentials = new WitsmlCredentials(config.Username, config.Password); + }); + } + + [Fact(Skip = "Should only be run manually")] + public async Task GetAttachmentSerializesCorrectly() + { + // if the following attachment does not exit, add the file attachment to the server manually + // this affects wellUid, wellboreUid, nameWell, and nameWellbore values during comparison so adjust them here and in the file accordingly + string wellUid = "8c77de13-4fad-4b2e-ba3d-7e6b0e35a394"; + string wellboreUid = "ae75db48-5cef-4bd1-9ddf-6035b0d2cd49"; + string attachmentUid = "attachmentUid"; + WitsmlAttachments queryExisting = AttachmentQueries.GetWitsmlAttachment(wellUid, wellboreUid, attachmentUid); + WitsmlAttachments serverAttachment = await _client.GetFromStoreAsync(queryExisting, new OptionsIn(ReturnElements.All)); + string responseXml = XmlHelper.Serialize(serverAttachment); + string serverAttachmentXml = TestUtils.CleanResponse(responseXml); + string fileAttachmentXml = TestUtils.GetTestXml("Attachment"); + Assert.Equal(fileAttachmentXml, serverAttachmentXml); + } + } +}