From dca822c8b2c454cc5351f3e7684548f52e43070c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eivind=20Bergst=C3=B8l?= Date: Tue, 12 Mar 2024 15:50:28 +0100 Subject: [PATCH] Specify allowed organisation numbers for document sharing --- ...post.Api.Client.DataTypes.Core.Internal.cs | 30 +++++++++++++++++++ .../Resources/XML/datatypes-examples.xml | 1 + .../Resources/XSD/datatypes.xsd | 1 + .../ShareDocumentsRequest.cs | 20 ++++++++++++- .../DataTypesTests.cs | 3 +- 5 files changed, 53 insertions(+), 2 deletions(-) diff --git a/Digipost.Api.Client.DataTypes.Core/Internal/Digipost.Api.Client.DataTypes.Core.Internal.cs b/Digipost.Api.Client.DataTypes.Core/Internal/Digipost.Api.Client.DataTypes.Core.Internal.cs index 0475586..f6b5656 100644 --- a/Digipost.Api.Client.DataTypes.Core/Internal/Digipost.Api.Client.DataTypes.Core.Internal.cs +++ b/Digipost.Api.Client.DataTypes.Core/Internal/Digipost.Api.Client.DataTypes.Core.Internal.cs @@ -2418,6 +2418,36 @@ public partial class ShareDocumentsRequest [System.ComponentModel.DataAnnotations.RequiredAttribute()] [System.Xml.Serialization.XmlElementAttribute("purpose")] public string Purpose { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _allowedOriginOrganisationNumbers; + + [System.Xml.Serialization.XmlElementAttribute("allowed-origin-organisation-numbers")] + public System.Collections.ObjectModel.Collection AllowedOriginOrganisationNumbers + { + get + { + return _allowedOriginOrganisationNumbers; + } + private set + { + _allowedOriginOrganisationNumbers = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AllowedOriginOrganisationNumbersSpecified + { + get + { + return (this.AllowedOriginOrganisationNumbers.Count != 0); + } + } + + public ShareDocumentsRequest() + { + this._allowedOriginOrganisationNumbers = new System.Collections.ObjectModel.Collection(); + } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.963.0")] diff --git a/Digipost.Api.Client.DataTypes.Core/Resources/XML/datatypes-examples.xml b/Digipost.Api.Client.DataTypes.Core/Resources/XML/datatypes-examples.xml index 7a67d4f..47def29 100644 --- a/Digipost.Api.Client.DataTypes.Core/Resources/XML/datatypes-examples.xml +++ b/Digipost.Api.Client.DataTypes.Core/Resources/XML/datatypes-examples.xml @@ -394,6 +394,7 @@ 1209600 We require to see your latest pay slip in order to grant you a loan. + 984661185 diff --git a/Digipost.Api.Client.DataTypes.Core/Resources/XSD/datatypes.xsd b/Digipost.Api.Client.DataTypes.Core/Resources/XSD/datatypes.xsd index 0803619..d25fa3b 100644 --- a/Digipost.Api.Client.DataTypes.Core/Resources/XSD/datatypes.xsd +++ b/Digipost.Api.Client.DataTypes.Core/Resources/XSD/datatypes.xsd @@ -490,6 +490,7 @@ + diff --git a/Digipost.Api.Client.DataTypes.Core/ShareDocumentsRequest.cs b/Digipost.Api.Client.DataTypes.Core/ShareDocumentsRequest.cs index 6a695d0..aaa573a 100644 --- a/Digipost.Api.Client.DataTypes.Core/ShareDocumentsRequest.cs +++ b/Digipost.Api.Client.DataTypes.Core/ShareDocumentsRequest.cs @@ -1,3 +1,5 @@ +using System.Collections.ObjectModel; + namespace Digipost.Api.Client.DataTypes.Core { public class ShareDocumentsRequest : BaseDataType @@ -6,18 +8,34 @@ public ShareDocumentsRequest(long maxShareDurationSeconds, string purpose) { MaxShareDurationSeconds = maxShareDurationSeconds; Purpose = purpose; + AllowedOriginOrganisationNumbers = new Collection(); + } + + public ShareDocumentsRequest(long maxShareDurationSeconds, string purpose, Collection allowedOriginOrganisationNumbers) + { + MaxShareDurationSeconds = maxShareDurationSeconds; + Purpose = purpose; + AllowedOriginOrganisationNumbers = allowedOriginOrganisationNumbers; } public long MaxShareDurationSeconds { get; } public string Purpose { get; } + public Collection AllowedOriginOrganisationNumbers { get; } internal override Internal.ShareDocumentsRequest ToDto() { - return new Internal.ShareDocumentsRequest() + var shareDocumentsRequest = new Internal.ShareDocumentsRequest() { MaxShareDurationSeconds = MaxShareDurationSeconds, Purpose = Purpose }; + + foreach (var allowedOriginOrganisationNumber in AllowedOriginOrganisationNumbers) + { + shareDocumentsRequest.AllowedOriginOrganisationNumbers.Add(allowedOriginOrganisationNumber); + } + + return shareDocumentsRequest; } } } diff --git a/Digipost.Api.Client.DataTypes.Tests/DataTypesTests.cs b/Digipost.Api.Client.DataTypes.Tests/DataTypesTests.cs index 14cdbba..ffa189e 100644 --- a/Digipost.Api.Client.DataTypes.Tests/DataTypesTests.cs +++ b/Digipost.Api.Client.DataTypes.Tests/DataTypesTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.IO; using System.Linq; using System.Reflection; @@ -70,7 +71,7 @@ public void ExternalLink() [Fact] public void ShareDocumentRequest() { - var shareDocumentsRequest = new ShareDocumentsRequest(1209600L, "We require to see your latest pay slip in order to grant you a loan."); + var shareDocumentsRequest = new ShareDocumentsRequest(1209600L, "We require to see your latest pay slip in order to grant you a loan.", ["984661185"]); Assert.Contains(shareDocumentsRequest.ToXmlString(), _xmlExamples); }