diff --git a/src/ComDiadocApi.cs b/src/ComDiadocApi.cs index a119649d..d8010353 100644 --- a/src/ComDiadocApi.cs +++ b/src/ComDiadocApi.cs @@ -3,6 +3,7 @@ using System.Runtime.InteropServices; using System.Security; using Diadoc.Api.Com; +using Diadoc.Api.Constants; using Diadoc.Api.Cryptography; using Diadoc.Api.Http; using Diadoc.Api.Proto; @@ -56,18 +57,30 @@ public interface IComDiadocApi ReadonlyList GetOrganizationUsers(string authToken, string orgId); ReadonlyList GetOrganizationUsersV2(string authToken, string boxId); ReadonlyList GetMyOrganizations(string authToken, bool autoRegister = true); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] ReadonlyList GetOrganizationsByInnKpp(string inn, string kpp); + ReadonlyList GetOrganizationsByInnKpp(string authToken, string inn, string kpp); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationById(string orgId); + Organization GetOrganizationById(string authToken, string orgId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByInn(string inn); + Organization GetOrganizationByInn(string authToken, string inn); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] ReadonlyList GetOrganizationsByInnList([MarshalAs(UnmanagedType.IDispatch)] object innList); + ReadonlyList GetOrganizationsByInnList(string authToken, [MarshalAs(UnmanagedType.IDispatch)] object innList); ReadonlyList GetOrganizationsByInnList( string authToken, string myOrgId, [MarshalAs(UnmanagedType.IDispatch)] object innList); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByFnsParticipantId(string fnsParticipantId); + Organization GetOrganizationByFnsParticipantId(string authToken, string fnsParticipantId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Box GetBox(string boxId); + Box GetBox(string authToken, string boxId); Department GetDepartment(string authToken, string orgId, string departmentId); BoxEventList GetNewEvents( @@ -358,9 +371,15 @@ BoxCounteragentEventList GetCounteragentEvents( string UploadFileToShelf(string authToken, string fileName); void GetFileFromShelf(string authToken, string nameOnShelf, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] RussianAddress ParseRussianAddress(string address); + RussianAddress ParseRussianAddress(string authToken, string address); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] InvoiceInfo ParseInvoiceXml(byte[] invoiceXmlContent); + InvoiceInfo ParseInvoiceXml(string authToken, byte[] invoiceXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] InvoiceInfo ParseInvoiceXmlFromFile(string fileName); + InvoiceInfo ParseInvoiceXmlFromFile(string authToken, string fileName); [Obsolete("Use GenerateReceiptXmlV2()")] GeneratedFile GenerateDocumentReceiptXml( @@ -383,30 +402,78 @@ GeneratedFile GenerateReceiptXmlV2( string boxId, [MarshalAs(UnmanagedType.IDispatch)] object receiptGenerationRequest); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Torg12SellerTitleInfo ParseTorg12SellerTitleXml(byte[] torg12SellerTitleXmlContent); + Torg12SellerTitleInfo ParseTorg12SellerTitleXml(string authToken, byte[] torg12SellerTitleXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Torg12SellerTitleInfo ParseTorg12SellerTitleXmlFromFile(string fileName); + Torg12SellerTitleInfo ParseTorg12SellerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(byte[] content); + Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(string authToken, byte[] content); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Torg12BuyerTitleInfo ParseTorg12BuyerTitleXmlFromFile(string fileName); + Torg12BuyerTitleInfo ParseTorg12BuyerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(byte[] torg12SellerTitleXmlContent); + TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(string authToken, byte[] torg12SellerTitleXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXmlFromFile(string fileName); + TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(byte[] content); + TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(string authToken, byte[] content); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXmlFromFile(string fileName); + TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(byte[] xmlContent); + AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXmlFromFile(string fileName); + AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(byte[] xmlContent); + AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXmlFromFile(string fileName); + AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(byte[] xmlContent); + AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXmlFromFile(string fileName); + AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(byte[] xmlContent); + AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXmlFromFile(string fileName); + AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd); + UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXmlFromFile(string fileName, string documentVersion = DefaultDocumentVersions.Utd); + UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXmlFromFile(string authToken, string fileName, string documentVersion = DefaultDocumentVersions.Utd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(byte[] xmlContent); + UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXmlFromFile(string fileName); + UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd); + UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXmlFromFile(string fileName, string documentVersion = DefaultDocumentVersions.Ucd); + UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXmlFromFile(string authToken, string fileName, string documentVersion = DefaultDocumentVersions.Ucd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(byte[] xmlContent); + UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXmlFromFile(string fileName); + UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXmlFromFile(string authToken, string fileName); byte[] ParseTitleXml( string authToken, @@ -438,12 +505,24 @@ GeneratedFile GenerateSignatureRejectionXmlV2( string boxId, [MarshalAs(UnmanagedType.IDispatch)] object signatureRejectionGenerationRequest); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] RevocationRequestInfo ParseRevocationRequestXml(byte[] revocationRequestXmlContent); + RevocationRequestInfo ParseRevocationRequestXml(string authToken, byte[] revocationRequestXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] RevocationRequestInfo ParseRevocationRequestXmlFromFile(string fileName); + RevocationRequestInfo ParseRevocationRequestXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] SignatureRejectionInfo ParseSignatureRejectionXml(byte[] signatureRejectionXmlContent); + SignatureRejectionInfo ParseSignatureRejectionXml(string authToken, byte[] signatureRejectionXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] SignatureRejectionInfo ParseSignatureRejectionXmlFromFile(string fileName); + SignatureRejectionInfo ParseSignatureRejectionXmlFromFile(string authToken, string fileName); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByBoxId(string boxId); + Organization GetOrganizationByBoxId(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByInnKpp(string inn, string kpp); + Organization GetOrganizationByInnKpp(string authToken, string inn, string kpp); IDocumentProtocolResult GenerateDocumentProtocol(string authToken, string boxId, string messageId, string documentId); GetForwardedDocumentsResponse GetForwardedDocuments( @@ -714,31 +793,61 @@ public ReadonlyList GetOrganizationsByInnKpp(string inn, string kpp) return new ReadonlyList(diadoc.GetOrganizationsByInnKpp(inn, kpp).Organizations); } + public ReadonlyList GetOrganizationsByInnKpp(string authToken, string inn, string kpp) + { + return new ReadonlyList(diadoc.GetOrganizationsByInnKpp(authToken, inn, kpp).Organizations); + } + public Organization GetOrganizationById(string orgId) { return diadoc.GetOrganizationById(orgId); } + public Organization GetOrganizationById(string authToken, string orgId) + { + return diadoc.GetOrganizationById(authToken, orgId); + } + public Organization GetOrganizationByInn(string inn) { return diadoc.GetOrganizationByInnKpp(inn, kpp: null); } + public Organization GetOrganizationByInn(string authToken, string inn) + { + return diadoc.GetOrganizationByInnKpp(authToken, inn, kpp: null); + } + public Organization GetOrganizationByBoxId(string boxId) { return diadoc.GetOrganizationByBoxId(boxId); } + public Organization GetOrganizationByBoxId(string authToken, string boxId) + { + return diadoc.GetOrganizationByBoxId(authToken, boxId); + } + public Organization GetOrganizationByFnsParticipantId(string fnsParticipantId) { return diadoc.GetOrganizationByFnsParticipantId(fnsParticipantId); } + public Organization GetOrganizationByFnsParticipantId(string authToken, string fnsParticipantId) + { + return diadoc.GetOrganizationByFnsParticipantId(authToken, fnsParticipantId); + } + public Organization GetOrganizationByInnKpp(string inn, string kpp) { return diadoc.GetOrganizationByInnKpp(inn, kpp); } + public Organization GetOrganizationByInnKpp(string authToken, string inn, string kpp) + { + return diadoc.GetOrganizationByInnKpp(authToken, inn, kpp); + } + public IDocumentProtocolResult GenerateDocumentProtocol( string authToken, string boxId, @@ -753,6 +862,11 @@ public ReadonlyList GetOrganizationsByInnList(object innList) return new ReadonlyList(diadoc.GetOrganizationsByInnList((GetOrganizationsByInnListRequest) innList)); } + public ReadonlyList GetOrganizationsByInnList(string authToken, object innList) + { + return new ReadonlyList(diadoc.GetOrganizationsByInnList(authToken, (GetOrganizationsByInnListRequest) innList)); + } + public ReadonlyList GetOrganizationsByInnList(string authToken, string myOrgId, object innList) { return @@ -764,6 +878,11 @@ public Box GetBox(string boxId) return diadoc.GetBox(boxId); } + public Box GetBox(string authToken, string boxId) + { + return diadoc.GetBox(authToken, boxId); + } + public OrganizationFeatures GetOrganizationFeatures(string authToken, string boxId) { return diadoc.GetOrganizationFeatures(authToken, boxId); @@ -1091,21 +1210,41 @@ public RevocationRequestInfo ParseRevocationRequestXml(byte[] revocationRequestX return diadoc.ParseRevocationRequestXml(revocationRequestXmlContent); } + public RevocationRequestInfo ParseRevocationRequestXml(string authToken, byte[] revocationRequestXmlContent) + { + return diadoc.ParseRevocationRequestXml(authToken, revocationRequestXmlContent); + } + public RevocationRequestInfo ParseRevocationRequestXmlFromFile(string fileName) { return ParseRevocationRequestXml(File.ReadAllBytes(fileName)); } + public RevocationRequestInfo ParseRevocationRequestXmlFromFile(string authToken, string fileName) + { + return ParseRevocationRequestXml(authToken, File.ReadAllBytes(fileName)); + } + public SignatureRejectionInfo ParseSignatureRejectionXml(byte[] signatureRejectionXmlContent) { return diadoc.ParseSignatureRejectionXml(signatureRejectionXmlContent); } + public SignatureRejectionInfo ParseSignatureRejectionXml(string authToken, byte[] signatureRejectionXmlContent) + { + return diadoc.ParseSignatureRejectionXml(authToken, signatureRejectionXmlContent); + } + public SignatureRejectionInfo ParseSignatureRejectionXmlFromFile(string fileName) { return ParseSignatureRejectionXml(File.ReadAllBytes(fileName)); } + public SignatureRejectionInfo ParseSignatureRejectionXmlFromFile(string authToken, string fileName) + { + return ParseSignatureRejectionXml(authToken, File.ReadAllBytes(fileName)); + } + public GeneratedFile GenerateInvoiceXml(string authToken, object invoiceInfo, bool disableValidation = false) { return diadoc.GenerateInvoiceXml(authToken, (InvoiceInfo) invoiceInfo, disableValidation); @@ -1932,136 +2071,271 @@ public RussianAddress ParseRussianAddress(string address) return diadoc.ParseRussianAddress(address); } + public RussianAddress ParseRussianAddress(string authToken, string address) + { + return diadoc.ParseRussianAddress(authToken, address); + } + public InvoiceInfo ParseInvoiceXml(byte[] invoiceXmlContent) { return diadoc.ParseInvoiceXml(invoiceXmlContent); } + public InvoiceInfo ParseInvoiceXml(string authToken, byte[] invoiceXmlContent) + { + return diadoc.ParseInvoiceXml(authToken, invoiceXmlContent); + } + public InvoiceInfo ParseInvoiceXmlFromFile(string fileName) { return ParseInvoiceXml(File.ReadAllBytes(fileName)); } + public InvoiceInfo ParseInvoiceXmlFromFile(string authToken, string fileName) + { + return ParseInvoiceXml(authToken, File.ReadAllBytes(fileName)); + } + public Torg12SellerTitleInfo ParseTorg12SellerTitleXml(byte[] torg12SellerTitleXmlContent) { return diadoc.ParseTorg12SellerTitleXml(torg12SellerTitleXmlContent); } + public Torg12SellerTitleInfo ParseTorg12SellerTitleXml(string authToken, byte[] torg12SellerTitleXmlContent) + { + return diadoc.ParseTorg12SellerTitleXml(authToken, torg12SellerTitleXmlContent); + } + public Torg12SellerTitleInfo ParseTorg12SellerTitleXmlFromFile(string fileName) { return ParseTorg12SellerTitleXml(File.ReadAllBytes(fileName)); } + public Torg12SellerTitleInfo ParseTorg12SellerTitleXmlFromFile(string authToken, string fileName) + { + return ParseTorg12SellerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(byte[] content) { return diadoc.ParseTorg12BuyerTitleXml(content); } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(string authToken, byte[] content) + { + return diadoc.ParseTorg12BuyerTitleXml(authToken, content); + } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXmlFromFile(string fileName) { return ParseTorg12BuyerTitleXml(File.ReadAllBytes(fileName)); } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXmlFromFile(string authToken, string fileName) + { + return ParseTorg12BuyerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(byte[] torg12SellerTitleXmlContent) { return diadoc.ParseTovTorg551SellerTitleXml(torg12SellerTitleXmlContent); } + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(string authToken, byte[] torg12SellerTitleXmlContent) + { + return diadoc.ParseTovTorg551SellerTitleXml(authToken, torg12SellerTitleXmlContent); + } + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXmlFromFile(string fileName) { return ParseTovTorg551SellerTitleXml(File.ReadAllBytes(fileName)); } + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXmlFromFile(string authToken, string fileName) + { + return ParseTovTorg551SellerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(byte[] content) { return diadoc.ParseTovTorg551BuyerTitleXml(content); } + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(string authToken, byte[] content) + { + return diadoc.ParseTovTorg551BuyerTitleXml(authToken, content); + } + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXmlFromFile(string fileName) { return ParseTovTorg551BuyerTitleXml(File.ReadAllBytes(fileName)); } + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXmlFromFile(string authToken, string fileName) + { + return ParseTovTorg551BuyerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(byte[] xmlContent) { return diadoc.ParseAcceptanceCertificateSellerTitleXml(xmlContent); } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(string authToken, byte[] xmlContent) + { + return diadoc.ParseAcceptanceCertificateSellerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXmlFromFile(string fileName) { return ParseAcceptanceCertificateSellerTitleXml(File.ReadAllBytes(fileName)); } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXmlFromFile(string authToken, string fileName) + { + return ParseAcceptanceCertificateSellerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(byte[] xmlContent) { return diadoc.ParseAcceptanceCertificateBuyerTitleXml(xmlContent); } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(string authToken, byte[] xmlContent) + { + return diadoc.ParseAcceptanceCertificateBuyerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXmlFromFile(string fileName) { return ParseAcceptanceCertificateBuyerTitleXml(File.ReadAllBytes(fileName)); } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXmlFromFile(string authToken, string fileName) + { + return ParseAcceptanceCertificateBuyerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(byte[] xmlContent) { return diadoc.ParseAcceptanceCertificate552SellerTitleXml(xmlContent); } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(string authToken, byte[] xmlContent) + { + return diadoc.ParseAcceptanceCertificate552SellerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXmlFromFile(string fileName) { return ParseAcceptanceCertificate552SellerTitleXml(File.ReadAllBytes(fileName)); } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXmlFromFile(string authToken, string fileName) + { + return ParseAcceptanceCertificate552SellerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(byte[] xmlContent) { return diadoc.ParseAcceptanceCertificate552BuyerTitleXml(xmlContent); } + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(string authToken, byte[] xmlContent) + { + return diadoc.ParseAcceptanceCertificate552BuyerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXmlFromFile(string fileName) { return ParseAcceptanceCertificate552BuyerTitleXml(File.ReadAllBytes(fileName)); } + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXmlFromFile(string authToken, string fileName) + { + return ParseAcceptanceCertificate552BuyerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) { return diadoc.ParseUniversalTransferDocumentSellerTitleXml(xmlContent, documentVersion); } + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) + { + return diadoc.ParseUniversalTransferDocumentSellerTitleXml(authToken, xmlContent, documentVersion); + } + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXmlFromFile(string fileName, string documentVersion = DefaultDocumentVersions.Utd) { return ParseUniversalTransferDocumentSellerTitleXml(File.ReadAllBytes(fileName), documentVersion); } + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXmlFromFile(string authToken, string fileName, string documentVersion = DefaultDocumentVersions.Utd) + { + return ParseUniversalTransferDocumentSellerTitleXml(authToken, File.ReadAllBytes(fileName), documentVersion); + } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(byte[] xmlContent) { return diadoc.ParseUniversalTransferDocumentBuyerTitleXml(xmlContent); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(string authToken, byte[] xmlContent) + { + return diadoc.ParseUniversalTransferDocumentBuyerTitleXml(authToken, xmlContent); + } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXmlFromFile(string fileName) { return ParseUniversalTransferDocumentBuyerTitleXml(File.ReadAllBytes(fileName)); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXmlFromFile(string authToken, string fileName) + { + return ParseUniversalTransferDocumentBuyerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) { return diadoc.ParseUniversalCorrectionDocumentSellerTitleXml(xmlContent, documentVersion); } + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) + { + return diadoc.ParseUniversalCorrectionDocumentSellerTitleXml(authToken, xmlContent, documentVersion); + } + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXmlFromFile(string fileName, string documentVersion = DefaultDocumentVersions.Ucd) { return ParseUniversalCorrectionDocumentSellerTitleXml(File.ReadAllBytes(fileName), documentVersion); } + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXmlFromFile(string authToken, string fileName, string documentVersion = DefaultDocumentVersions.Ucd) + { + return ParseUniversalCorrectionDocumentSellerTitleXml(authToken, File.ReadAllBytes(fileName), documentVersion); + } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(byte[] xmlContent) { return diadoc.ParseUniversalCorrectionDocumentBuyerTitleXml(xmlContent); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(string authToken, byte[] xmlContent) + { + return diadoc.ParseUniversalCorrectionDocumentBuyerTitleXml(authToken, xmlContent); + } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXmlFromFile(string fileName) { return ParseUniversalCorrectionDocumentBuyerTitleXml(File.ReadAllBytes(fileName)); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXmlFromFile(string authToken, string fileName) + { + return ParseUniversalCorrectionDocumentBuyerTitleXml(authToken, File.ReadAllBytes(fileName)); + } + public byte[] ParseTitleXml( string authToken, string boxId, diff --git a/src/Constants/ObsoleteReasons.cs b/src/Constants/ObsoleteReasons.cs new file mode 100644 index 00000000..cf32a671 --- /dev/null +++ b/src/Constants/ObsoleteReasons.cs @@ -0,0 +1,7 @@ +namespace Diadoc.Api.Constants +{ + internal static class ObsoleteReasons + { + public const string UseAuthTokenOverload = "Use overload with authToken argument"; + } +} diff --git a/src/DiadocApi.Async.cs b/src/DiadocApi.Async.cs index 72fc21e5..5a0d536f 100644 --- a/src/DiadocApi.Async.cs +++ b/src/DiadocApi.Async.cs @@ -134,30 +134,65 @@ public Task GetOrganizationsByInnKppAsync(string inn, string k return diadocHttpApi.GetOrganizationsByInnKppAsync(inn, kpp, includeRelations); } + public Task GetOrganizationsByInnKppAsync(string authToken, string inn, string kpp, bool includeRelations = false) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (inn == null) throw new ArgumentNullException(nameof(inn)); + return diadocHttpApi.GetOrganizationsByInnKppAsync(authToken, inn, kpp, includeRelations); + } + public Task GetOrganizationByIdAsync(string orgId) { if (orgId == null) throw new ArgumentNullException("orgId"); return diadocHttpApi.GetOrganizationByIdAsync(orgId); } + public Task GetOrganizationByIdAsync(string authToken, string orgId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (orgId == null) throw new ArgumentNullException(nameof(orgId)); + return diadocHttpApi.GetOrganizationByIdAsync(authToken, orgId); + } + public Task GetOrganizationByBoxIdAsync(string boxId) { if (boxId == null) throw new ArgumentNullException("boxId"); return diadocHttpApi.GetOrganizationByBoxIdAsync(boxId); } + public Task GetOrganizationByBoxIdAsync(string authToken, string boxId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (boxId == null) throw new ArgumentNullException(nameof(boxId)); + return diadocHttpApi.GetOrganizationByBoxIdAsync(authToken, boxId); + } + public Task GetOrganizationByFnsParticipantIdAsync(string fnsParticipantId) { if (fnsParticipantId == null) throw new ArgumentException("fnsParticipantId"); return diadocHttpApi.GetOrganizationByFnsParticipantIdAsync(fnsParticipantId); } + public Task GetOrganizationByFnsParticipantIdAsync(string authToken, string fnsParticipantId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (fnsParticipantId == null) throw new ArgumentNullException(nameof(fnsParticipantId)); + return diadocHttpApi.GetOrganizationByFnsParticipantIdAsync(authToken, fnsParticipantId); + } + public Task GetOrganizationByInnKppAsync(string inn, string kpp) { if (inn == null) throw new ArgumentException("inn"); return diadocHttpApi.GetOrganizationByInnKppAsync(inn, kpp); } + public Task GetOrganizationByInnKppAsync(string authToken, string inn, string kpp) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (inn == null) throw new ArgumentNullException(nameof(inn)); + return diadocHttpApi.GetOrganizationByInnKppAsync(authToken, inn, kpp); + } + public Task GetRoamingOperatorsAsync(string authToken, string boxId) { return diadocHttpApi.GetRoamingOperatorsAsync(authToken, boxId); @@ -169,6 +204,13 @@ public Task GetBoxAsync(string boxId) return diadocHttpApi.GetBoxAsync(boxId); } + public Task GetBoxAsync(string authToken, string boxId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (boxId == null) throw new ArgumentNullException(nameof(boxId)); + return diadocHttpApi.GetBoxAsync(authToken, boxId); + } + public Task GetDepartmentAsync(string authToken, string orgId, string departmentId) { if (authToken == null) throw new ArgumentNullException("authToken"); @@ -839,71 +881,155 @@ public Task ParseRussianAddressAsync(string address) return diadocHttpApi.ParseRussianAddressAsync(address); } + public Task ParseRussianAddressAsync(string authToken, string address) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseRussianAddressAsync(authToken, address); + } + public Task ParseInvoiceXmlAsync(byte[] invoiceXmlContent) { return diadocHttpApi.ParseInvoiceXmlAsync(invoiceXmlContent); } + public Task ParseInvoiceXmlAsync(string authToken, byte[] invoiceXmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseInvoiceXmlAsync(authToken, invoiceXmlContent); + } + public Task ParseTorg12SellerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseTorg12SellerTitleXmlAsync(xmlContent); } + public Task ParseTorg12SellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTorg12SellerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseTorg12BuyerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseTorg12BuyerTitleXmlAsync(xmlContent); } + public Task ParseTorg12BuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTorg12BuyerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseTovTorg551SellerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseTovTorg551SellerTitleXmlAsync(xmlContent); } + public Task ParseTovTorg551SellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTovTorg551SellerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseTovTorg551BuyerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseTovTorg551BuyerTitleXmlAsync(xmlContent); } + public Task ParseTovTorg551BuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTovTorg551BuyerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseAcceptanceCertificateSellerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificateSellerTitleXmlAsync(xmlContent); } + public Task ParseAcceptanceCertificateSellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificateSellerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseAcceptanceCertificateBuyerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificateBuyerTitleXmlAsync(xmlContent); } + public Task ParseAcceptanceCertificateBuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificateBuyerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseAcceptanceCertificate552SellerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificate552SellerTitleXmlAsync(xmlContent); } + public Task ParseAcceptanceCertificate552SellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificate552SellerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseAcceptanceCertificate552BuyerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificate552BuyerTitleXmlAsync(xmlContent); } + public Task ParseAcceptanceCertificate552BuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificate552BuyerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseUniversalTransferDocumentSellerTitleXmlAsync(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) { return diadocHttpApi.ParseUniversalTransferDocumentSellerTitleXmlAsync(xmlContent, documentVersion); } + public Task ParseUniversalTransferDocumentSellerTitleXmlAsync(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalTransferDocumentSellerTitleXmlAsync(authToken, xmlContent, documentVersion); + } + public Task ParseUniversalTransferDocumentBuyerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseUniversalTransferDocumentBuyerTitleXmlAsync(xmlContent); } + public Task ParseUniversalTransferDocumentBuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalTransferDocumentBuyerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseUniversalCorrectionDocumentSellerTitleXmlAsync(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) { return diadocHttpApi.ParseUniversalCorrectionDocumentSellerTitleXmlAsync(xmlContent, documentVersion); } + public Task ParseUniversalCorrectionDocumentSellerTitleXmlAsync(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalCorrectionDocumentSellerTitleXmlAsync(authToken, xmlContent, documentVersion); + } + public Task ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(byte[] xmlContent) { return diadocHttpApi.ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(xmlContent); } + public Task ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(authToken, xmlContent); + } + public Task ParseTitleXmlAsync( string authToken, string boxId, @@ -952,6 +1078,13 @@ public Task> GetOrganizationsByInnListAsync(GetOrganizationsB return diadocHttpApi.GetOrganizationsByInnListAsync(innList); } + public Task> GetOrganizationsByInnListAsync(string authToken, GetOrganizationsByInnListRequest innList) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (innList == null) throw new ArgumentNullException(nameof(innList)); + return diadocHttpApi.GetOrganizationsByInnListAsync(authToken, innList); + } + public Task> GetOrganizationsByInnListAsync(string authToken, string myOrgId, GetOrganizationsByInnListRequest innList) { @@ -969,11 +1102,23 @@ public Task ParseRevocationRequestXmlAsync(byte[] revocat return diadocHttpApi.ParseRevocationRequestXmlAsync(revocationRequestXmlContent); } + public Task ParseRevocationRequestXmlAsync(string authToken, byte[] revocationRequestXmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseRevocationRequestXmlAsync(authToken, revocationRequestXmlContent); + } + public Task ParseSignatureRejectionXmlAsync(byte[] signatureRejectionXmlContent) { return diadocHttpApi.ParseSignatureRejectionXmlAsync(signatureRejectionXmlContent); } + public Task ParseSignatureRejectionXmlAsync(string authToken, byte[] signatureRejectionXmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseSignatureRejectionXmlAsync(authToken, signatureRejectionXmlContent); + } + public Task GenerateDocumentProtocolAsync(string authToken, string boxId, string messageId, string documentId) { diff --git a/src/DiadocApi.cs b/src/DiadocApi.cs index 974f52df..6a5f5590 100644 --- a/src/DiadocApi.cs +++ b/src/DiadocApi.cs @@ -99,6 +99,14 @@ public void SetSolutionInfo([NotNull] string solutionInfo) diadocHttpApi.SolutionInfo = solutionInfo; } + /// + /// Использовать аутентификацию по протоколу OpenID Connect + /// + public void UseOidc() + { + diadocHttpApi.UseOidc = true; + } + public string Authenticate(string login, string password, string key = null, string id = null) { return diadocHttpApi.Authenticate(login, password, key, id); @@ -200,30 +208,65 @@ public OrganizationList GetOrganizationsByInnKpp(string inn, string kpp, bool in return diadocHttpApi.GetOrganizationsByInnKpp(inn, kpp, includeRelations); } + public OrganizationList GetOrganizationsByInnKpp(string authToken, string inn, string kpp, bool includeRelations = false) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (inn == null) throw new ArgumentNullException(nameof(inn)); + return diadocHttpApi.GetOrganizationsByInnKpp(authToken, inn, kpp, includeRelations); + } + public Organization GetOrganizationById(string orgId) { if (orgId == null) throw new ArgumentNullException("orgId"); return diadocHttpApi.GetOrganizationById(orgId); } + public Organization GetOrganizationById(string authToken, string orgId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (orgId == null) throw new ArgumentNullException(nameof(orgId)); + return diadocHttpApi.GetOrganizationById(authToken, orgId); + } + public Organization GetOrganizationByBoxId(string boxId) { if (boxId == null) throw new ArgumentNullException("boxId"); return diadocHttpApi.GetOrganizationByBoxId(boxId); } + public Organization GetOrganizationByBoxId(string authToken, string boxId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (boxId == null) throw new ArgumentNullException(nameof(boxId)); + return diadocHttpApi.GetOrganizationByBoxId(authToken, boxId); + } + public Organization GetOrganizationByFnsParticipantId(string fnsParticipantId) { if (fnsParticipantId == null) throw new ArgumentException("fnsParticipantId"); return diadocHttpApi.GetOrganizationByFnsParticipantId(fnsParticipantId); } + public Organization GetOrganizationByFnsParticipantId(string authToken, string fnsParticipantId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (fnsParticipantId == null) throw new ArgumentNullException(nameof(fnsParticipantId)); + return diadocHttpApi.GetOrganizationByFnsParticipantId(authToken, fnsParticipantId); + } + public Organization GetOrganizationByInnKpp(string inn, string kpp) { if (inn == null) throw new ArgumentException("inn"); return diadocHttpApi.GetOrganizationByInnKpp(inn, kpp); } + public Organization GetOrganizationByInnKpp(string authToken, string inn, string kpp) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (inn == null) throw new ArgumentNullException(nameof(inn)); + return diadocHttpApi.GetOrganizationByInnKpp(authToken, inn, kpp); + } + public RoamingOperatorList GetRoamingOperators(string authToken, string boxId) { return diadocHttpApi.GetRoamingOperators(authToken, boxId); @@ -235,6 +278,13 @@ public Box GetBox(string boxId) return diadocHttpApi.GetBox(boxId); } + public Box GetBox(string authToken, string boxId) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (boxId == null) throw new ArgumentNullException(nameof(boxId)); + return diadocHttpApi.GetBox(authToken, boxId); + } + public Department GetDepartment(string authToken, string orgId, string departmentId) { if (authToken == null) throw new ArgumentNullException("authToken"); @@ -967,71 +1017,155 @@ public RussianAddress ParseRussianAddress(string address) return diadocHttpApi.ParseRussianAddress(address); } + public RussianAddress ParseRussianAddress(string authToken, string address) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseRussianAddress(authToken, address); + } + public InvoiceInfo ParseInvoiceXml(byte[] invoiceXmlContent) { return diadocHttpApi.ParseInvoiceXml(invoiceXmlContent); } + public InvoiceInfo ParseInvoiceXml(string authToken, byte[] invoiceXmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseInvoiceXml(authToken, invoiceXmlContent); + } + public Torg12SellerTitleInfo ParseTorg12SellerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseTorg12SellerTitleXml(xmlContent); } + public Torg12SellerTitleInfo ParseTorg12SellerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTorg12SellerTitleXml(authToken, xmlContent); + } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseTorg12BuyerTitleXml(xmlContent); } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTorg12BuyerTitleXml(authToken, xmlContent); + } + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseTovTorg551SellerTitleXml(xmlContent); } + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTovTorg551SellerTitleXml(authToken, xmlContent); + } + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseTovTorg551BuyerTitleXml(xmlContent); } + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseTovTorg551BuyerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificateSellerTitleXml(xmlContent); } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificateSellerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificateBuyerTitleXml(xmlContent); } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificateBuyerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificate552SellerTitleXml(xmlContent); } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificate552SellerTitleXml(authToken, xmlContent); + } + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseAcceptanceCertificate552BuyerTitleXml(xmlContent); } + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseAcceptanceCertificate552BuyerTitleXml(authToken, xmlContent); + } + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) { return diadocHttpApi.ParseUniversalTransferDocumentSellerTitleXml(xmlContent, documentVersion); } + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalTransferDocumentSellerTitleXml(authToken, xmlContent, documentVersion); + } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseUniversalTransferDocumentBuyerTitleXml(xmlContent); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalTransferDocumentBuyerTitleXml(authToken, xmlContent); + } + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) { return diadocHttpApi.ParseUniversalCorrectionDocumentSellerTitleXml(xmlContent, documentVersion); } + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalCorrectionDocumentSellerTitleXml(authToken, xmlContent, documentVersion); + } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(byte[] xmlContent) { return diadocHttpApi.ParseUniversalCorrectionDocumentBuyerTitleXml(xmlContent); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(string authToken, byte[] xmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseUniversalCorrectionDocumentBuyerTitleXml(authToken, xmlContent); + } + public byte[] ParseTitleXml( string authToken, string boxId, @@ -1080,6 +1214,13 @@ public List GetOrganizationsByInnList(GetOrganizationsByInnListReq return diadocHttpApi.GetOrganizationsByInnList(innList); } + public List GetOrganizationsByInnList(string authToken, GetOrganizationsByInnListRequest innList) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + if (innList == null) throw new ArgumentNullException(nameof(innList)); + return diadocHttpApi.GetOrganizationsByInnList(authToken, innList); + } + public List GetOrganizationsByInnList(string authToken, string myOrgId, GetOrganizationsByInnListRequest innList) @@ -1098,11 +1239,23 @@ public RevocationRequestInfo ParseRevocationRequestXml(byte[] revocationRequestX return diadocHttpApi.ParseRevocationRequestXml(revocationRequestXmlContent); } + public RevocationRequestInfo ParseRevocationRequestXml(string authToken, byte[] revocationRequestXmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseRevocationRequestXml(authToken, revocationRequestXmlContent); + } + public SignatureRejectionInfo ParseSignatureRejectionXml(byte[] signatureRejectionXmlContent) { return diadocHttpApi.ParseSignatureRejectionXml(signatureRejectionXmlContent); } + public SignatureRejectionInfo ParseSignatureRejectionXml(string authToken, byte[] signatureRejectionXmlContent) + { + if (authToken == null) throw new ArgumentNullException(nameof(authToken)); + return diadocHttpApi.ParseSignatureRejectionXml(authToken, signatureRejectionXmlContent); + } + public DocumentProtocolResult GenerateDocumentProtocol(string authToken, string boxId, string messageId, diff --git a/src/DiadocHttpApi.Invoicing.cs b/src/DiadocHttpApi.Invoicing.cs index 149baf49..b1a759f2 100644 --- a/src/DiadocHttpApi.Invoicing.cs +++ b/src/DiadocHttpApi.Invoicing.cs @@ -1,6 +1,7 @@ using System; using System.Net; using System.Security.Cryptography.X509Certificates; +using Diadoc.Api.Constants; using Diadoc.Api.Http; using Diadoc.Api.Proto.Events; using Diadoc.Api.Proto.Invoicing; @@ -248,14 +249,26 @@ public void SendFnsRegistrationMessage(string authToken, string boxId, FnsRegist HttpClient.PerformHttpRequest(request); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public RevocationRequestInfo ParseRevocationRequestXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseRevocationRequestXml", xmlContent); + return ParseRevocationRequestXml(null, xmlContent); } + public RevocationRequestInfo ParseRevocationRequestXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseRevocationRequestXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public SignatureRejectionInfo ParseSignatureRejectionXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseSignatureRejectionXml", xmlContent); + return ParseSignatureRejectionXml(null, xmlContent); + } + + public SignatureRejectionInfo ParseSignatureRejectionXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseSignatureRejectionXml", xmlContent); } [Obsolete("Use overload with DocumentTitleType parameter")] diff --git a/src/DiadocHttpApi.InvoicingAsync.cs b/src/DiadocHttpApi.InvoicingAsync.cs index 4576e924..832ec6c1 100644 --- a/src/DiadocHttpApi.InvoicingAsync.cs +++ b/src/DiadocHttpApi.InvoicingAsync.cs @@ -2,6 +2,7 @@ using System.Net; using System.Security.Cryptography.X509Certificates; using System.Threading.Tasks; +using Diadoc.Api.Constants; using Diadoc.Api.Http; using Diadoc.Api.Proto.Events; using Diadoc.Api.Proto.Invoicing; @@ -261,14 +262,26 @@ public Task SendFnsRegistrationMessageAsync(string authToken, string boxId, FnsR return HttpClient.PerformHttpRequestAsync(request); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseRevocationRequestXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseRevocationRequestXml", xmlContent); + return ParseRevocationRequestXmlAsync(null, xmlContent); } + public Task ParseRevocationRequestXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseRevocationRequestXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseSignatureRejectionXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseSignatureRejectionXml", xmlContent); + return ParseSignatureRejectionXmlAsync(null, xmlContent); + } + + public Task ParseSignatureRejectionXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseSignatureRejectionXml", xmlContent); } [Obsolete("Use overload with DocumentTitleType parameter")] diff --git a/src/DiadocHttpApi.Parse.cs b/src/DiadocHttpApi.Parse.cs index f84ff7f7..4aff1896 100644 --- a/src/DiadocHttpApi.Parse.cs +++ b/src/DiadocHttpApi.Parse.cs @@ -1,3 +1,5 @@ +using System; +using Diadoc.Api.Constants; using Diadoc.Api.Http; using Diadoc.Api.Proto.Invoicing; @@ -5,73 +7,151 @@ namespace Diadoc.Api { public partial class DiadocHttpApi { + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public InvoiceInfo ParseInvoiceXml(byte[] invoiceXmlContent) { - return PerformHttpRequest(null, "POST", "/ParseInvoiceXml", invoiceXmlContent); + return ParseInvoiceXml(null, invoiceXmlContent); } + public InvoiceInfo ParseInvoiceXml(string authToken, byte[] invoiceXmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseInvoiceXml", invoiceXmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Torg12SellerTitleInfo ParseTorg12SellerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseTorg12SellerTitleXml", xmlContent); + return ParseTorg12SellerTitleXml(null, xmlContent); + } + + public Torg12SellerTitleInfo ParseTorg12SellerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseTorg12SellerTitleXml", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseTorg12BuyerTitleXml", xmlContent); + return ParseTorg12BuyerTitleXml(null, xmlContent); } + public Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseTorg12BuyerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", $"/ParseTorg12SellerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); + return ParseTovTorg551SellerTitleXml(null, xmlContent); + } + + public TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", $"/ParseTorg12SellerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", $"/ParseTorg12BuyerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); + return ParseTovTorg551BuyerTitleXml(null, xmlContent); + } + + public TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", $"/ParseTorg12BuyerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseAcceptanceCertificateSellerTitleXml", xmlContent); + return ParseAcceptanceCertificateSellerTitleXml(null, xmlContent); } + public AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseAcceptanceCertificateSellerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseAcceptanceCertificateBuyerTitleXml", xmlContent); + return ParseAcceptanceCertificateBuyerTitleXml(null, xmlContent); } + public AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseAcceptanceCertificateBuyerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", $"/ParseAcceptanceCertificateSellerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); + return ParseAcceptanceCertificate552SellerTitleXml(null, xmlContent); } + public AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", $"/ParseAcceptanceCertificateSellerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", $"/ParseAcceptanceCertificateBuyerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); + return ParseAcceptanceCertificate552BuyerTitleXml(null, xmlContent); + } + + public AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", $"/ParseAcceptanceCertificateBuyerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) + { + return ParseUniversalTransferDocumentSellerTitleXml(null, xmlContent, documentVersion); + } + + public UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) { var query = new PathAndQueryBuilder("/ParseUniversalTransferDocumentSellerTitleXml"); query.AddParameter("documentVersion", documentVersion); - return PerformHttpRequest(null, "POST", query.BuildPathAndQuery(), xmlContent); + return PerformHttpRequest(authToken, "POST", query.BuildPathAndQuery(), xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseUniversalTransferDocumentBuyerTitleXml", xmlContent); + return ParseUniversalTransferDocumentBuyerTitleXml(null, xmlContent); } + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseUniversalTransferDocumentBuyerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) + { + return ParseUniversalCorrectionDocumentSellerTitleXml(null, xmlContent, documentVersion); + } + + public UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) { var query = new PathAndQueryBuilder("/ParseUniversalCorrectionDocumentSellerTitleXml"); query.AddParameter("documentVersion", documentVersion); - return PerformHttpRequest(null, "POST", query.BuildPathAndQuery(), xmlContent); + return PerformHttpRequest(authToken, "POST", query.BuildPathAndQuery(), xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(byte[] xmlContent) { - return PerformHttpRequest(null, "POST", "/ParseUniversalCorrectionDocumentBuyerTitleXml", xmlContent); + return ParseUniversalCorrectionDocumentBuyerTitleXml(null, xmlContent); + } + + public UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(string authToken, byte[] xmlContent) + { + return PerformHttpRequest(authToken, "POST", "/ParseUniversalCorrectionDocumentBuyerTitleXml", xmlContent); } public byte[] ParseTitleXml( @@ -93,4 +173,4 @@ public byte[] ParseTitleXml( return PerformHttpRequest(authToken, "POST", queryBuilder.BuildPathAndQuery(), content); } } -} \ No newline at end of file +} diff --git a/src/DiadocHttpApi.ParseAsync.cs b/src/DiadocHttpApi.ParseAsync.cs index ee6248ed..d471e47b 100644 --- a/src/DiadocHttpApi.ParseAsync.cs +++ b/src/DiadocHttpApi.ParseAsync.cs @@ -1,4 +1,6 @@ +using System; using System.Threading.Tasks; +using Diadoc.Api.Constants; using Diadoc.Api.Http; using Diadoc.Api.Proto.Invoicing; @@ -6,73 +8,151 @@ namespace Diadoc.Api { public partial class DiadocHttpApi { + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseInvoiceXmlAsync(byte[] invoiceXmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseInvoiceXml", invoiceXmlContent); + return ParseInvoiceXmlAsync(null, invoiceXmlContent); } + public Task ParseInvoiceXmlAsync(string authToken, byte[] invoiceXmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseInvoiceXml", invoiceXmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseTorg12SellerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseTorg12SellerTitleXml", xmlContent); + return ParseTorg12SellerTitleXmlAsync(null, xmlContent); + } + + public Task ParseTorg12SellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseTorg12SellerTitleXml", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseTorg12BuyerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseTorg12BuyerTitleXml", xmlContent); + return ParseTorg12BuyerTitleXmlAsync(null, xmlContent); } + public Task ParseTorg12BuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseTorg12BuyerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseTovTorg551SellerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", $"/ParseTorg12SellerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); + return ParseTovTorg551SellerTitleXmlAsync(null, xmlContent); + } + + public Task ParseTovTorg551SellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", $"/ParseTorg12SellerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseTovTorg551BuyerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", $"/ParseTorg12BuyerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); + return ParseTovTorg551BuyerTitleXmlAsync(null, xmlContent); + } + + public Task ParseTovTorg551BuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", $"/ParseTorg12BuyerTitleXml?documentVersion={DefaultDocumentVersions.TovTorg551}", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseAcceptanceCertificateSellerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseAcceptanceCertificateSellerTitleXml", xmlContent); + return ParseAcceptanceCertificateSellerTitleXmlAsync(null, xmlContent); } + public Task ParseAcceptanceCertificateSellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseAcceptanceCertificateSellerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseAcceptanceCertificateBuyerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseAcceptanceCertificateBuyerTitleXml", xmlContent); + return ParseAcceptanceCertificateBuyerTitleXmlAsync(null, xmlContent); } + public Task ParseAcceptanceCertificateBuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseAcceptanceCertificateBuyerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseAcceptanceCertificate552SellerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", $"/ParseAcceptanceCertificateSellerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); + return ParseAcceptanceCertificate552SellerTitleXmlAsync(null, xmlContent); } + public Task ParseAcceptanceCertificate552SellerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", $"/ParseAcceptanceCertificateSellerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseAcceptanceCertificate552BuyerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", $"/ParseAcceptanceCertificateBuyerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); + return ParseAcceptanceCertificate552BuyerTitleXmlAsync(null, xmlContent); + } + + public Task ParseAcceptanceCertificate552BuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", $"/ParseAcceptanceCertificateBuyerTitleXml?documentVersion={DefaultDocumentVersions.AcceptanceCerttificate552}", xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseUniversalTransferDocumentSellerTitleXmlAsync(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) + { + return ParseUniversalTransferDocumentSellerTitleXmlAsync(null, xmlContent, documentVersion); + } + + public Task ParseUniversalTransferDocumentSellerTitleXmlAsync(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd) { var query = new PathAndQueryBuilder("/ParseUniversalTransferDocumentSellerTitleXml"); query.AddParameter("documentVersion", documentVersion); - return PerformHttpRequestAsync(null, "POST", query.BuildPathAndQuery(), xmlContent); + return PerformHttpRequestAsync(authToken, "POST", query.BuildPathAndQuery(), xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseUniversalTransferDocumentBuyerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseUniversalTransferDocumentBuyerTitleXml", xmlContent); + return ParseUniversalTransferDocumentBuyerTitleXmlAsync(null, xmlContent); } + public Task ParseUniversalTransferDocumentBuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseUniversalTransferDocumentBuyerTitleXml", xmlContent); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseUniversalCorrectionDocumentSellerTitleXmlAsync(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) + { + return ParseUniversalCorrectionDocumentSellerTitleXmlAsync(null, xmlContent, documentVersion); + } + + public Task ParseUniversalCorrectionDocumentSellerTitleXmlAsync(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd) { var query = new PathAndQueryBuilder("/ParseUniversalCorrectionDocumentSellerTitleXml"); query.AddParameter("documentVersion", documentVersion); - return PerformHttpRequestAsync(null, "POST", query.BuildPathAndQuery(), xmlContent); + return PerformHttpRequestAsync(authToken, "POST", query.BuildPathAndQuery(), xmlContent); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(byte[] xmlContent) { - return PerformHttpRequestAsync(null, "POST", "/ParseUniversalCorrectionDocumentBuyerTitleXml", xmlContent); + return ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(null, xmlContent); + } + + public Task ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(string authToken, byte[] xmlContent) + { + return PerformHttpRequestAsync(authToken, "POST", "/ParseUniversalCorrectionDocumentBuyerTitleXml", xmlContent); } public Task ParseTitleXmlAsync( @@ -94,4 +174,4 @@ public Task ParseTitleXmlAsync( return PerformHttpRequestAsync(authToken, "POST", queryBuilder.BuildPathAndQuery(), content); } } -} \ No newline at end of file +} diff --git a/src/DiadocHttpApi.Recognize.cs b/src/DiadocHttpApi.Recognize.cs index d9697d17..3285994f 100644 --- a/src/DiadocHttpApi.Recognize.cs +++ b/src/DiadocHttpApi.Recognize.cs @@ -1,4 +1,6 @@ -using System.Text; +using System; +using System.Text; +using Diadoc.Api.Constants; using Diadoc.Api.Proto; using Diadoc.Api.Proto.Recognition; @@ -19,10 +21,16 @@ public Recognized GetRecognized(string recognitionId) return PerformHttpRequest(null, "GET", queryString); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public RussianAddress ParseRussianAddress(string address) + { + return ParseRussianAddress(null, address); + } + + public RussianAddress ParseRussianAddress(string authToken, string address) { var queryString = string.Format("/ParseRussianAddress?address={0}", address); - return PerformHttpRequest(null, "GET", queryString); + return PerformHttpRequest(authToken, "GET", queryString); } } } diff --git a/src/DiadocHttpApi.RecognizeAsync.cs b/src/DiadocHttpApi.RecognizeAsync.cs index 548df2c4..68625d81 100644 --- a/src/DiadocHttpApi.RecognizeAsync.cs +++ b/src/DiadocHttpApi.RecognizeAsync.cs @@ -1,5 +1,7 @@ -using System.Text; +using System; +using System.Text; using System.Threading.Tasks; +using Diadoc.Api.Constants; using Diadoc.Api.Proto; using Diadoc.Api.Proto.Recognition; @@ -20,10 +22,16 @@ public Task GetRecognizedAsync(string recognitionId) return PerformHttpRequestAsync(null, "GET", queryString); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task ParseRussianAddressAsync(string address) + { + return ParseRussianAddressAsync(null, address); + } + + public Task ParseRussianAddressAsync(string authToken, string address) { var queryString = $"/ParseRussianAddress?address={address}"; - return PerformHttpRequestAsync(null, "GET", queryString); + return PerformHttpRequestAsync(authToken, "GET", queryString); } } } diff --git a/src/DiadocHttpApi.References.cs b/src/DiadocHttpApi.References.cs index 10a1f0b8..382a3e19 100644 --- a/src/DiadocHttpApi.References.cs +++ b/src/DiadocHttpApi.References.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using Diadoc.Api.Constants; using Diadoc.Api.Http; using Diadoc.Api.Proto; using Diadoc.Api.Proto.Certificates; @@ -47,50 +48,86 @@ public CertificateList GetMyCertificates(string authToken, string boxId) return PerformHttpRequest(authToken, "GET", queryBuilder.BuildPathAndQuery()); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public OrganizationList GetOrganizationsByInnKpp(string inn, string kpp, bool includeRelations = false) + { + return GetOrganizationsByInnKpp(null, inn, kpp, includeRelations); + } + + public OrganizationList GetOrganizationsByInnKpp(string authToken, string inn, string kpp, bool includeRelations = false) { var qsb = new PathAndQueryBuilder("/GetOrganizationsByInnKpp"); qsb.AddParameter("inn", inn); if (!string.IsNullOrEmpty(kpp)) qsb.AddParameter("kpp", kpp); if (includeRelations) qsb.AddParameter("includeRelations", "true"); - return PerformHttpRequest(null, "GET", qsb.BuildPathAndQuery()); + return PerformHttpRequest(authToken, "GET", qsb.BuildPathAndQuery()); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Organization GetOrganizationById(string orgId) { - return GetOrganization(string.Format("/GetOrganization?orgId={0}", orgId)); + return GetOrganizationById(null, orgId); + } + + public Organization GetOrganizationById(string authToken, string orgId) + { + return GetOrganization(authToken, string.Format("/GetOrganization?orgId={0}", orgId)); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Organization GetOrganizationByBoxId(string boxId) { - return GetOrganization(string.Format("/GetOrganization?boxId={0}", boxId)); + return GetOrganizationByBoxId(null, boxId); } + public Organization GetOrganizationByBoxId(string authToken, string boxId) + { + return GetOrganization(authToken, string.Format("/GetOrganization?boxId={0}", boxId)); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Organization GetOrganizationByFnsParticipantId(string fnsParticipantId) { - return GetOrganization(string.Format("/GetOrganization?fnsParticipantId={0}", fnsParticipantId)); + return GetOrganizationByFnsParticipantId(null, fnsParticipantId); + } + + public Organization GetOrganizationByFnsParticipantId(string authToken, string fnsParticipantId) + { + return GetOrganization(authToken, string.Format("/GetOrganization?fnsParticipantId={0}", fnsParticipantId)); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Organization GetOrganizationByInnKpp(string inn, string kpp) + { + return GetOrganizationByInnKpp(null, inn, kpp); + } + + public Organization GetOrganizationByInnKpp(string authToken, string inn, string kpp) { var qsb = new PathAndQueryBuilder("/GetOrganization"); qsb.AddParameter("inn", inn); if (!string.IsNullOrEmpty(kpp)) qsb.AddParameter("kpp", kpp); var queryString = qsb.BuildPathAndQuery(); - return GetOrganization(queryString); + return GetOrganization(authToken, queryString); } - private Organization GetOrganization(string queryString) + private Organization GetOrganization(string authToken, string queryString) { - return PerformHttpRequest(null, "GET", queryString); + return PerformHttpRequest(authToken, "GET", queryString); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Box GetBox(string boxId) + { + return GetBox(null, boxId); + } + + public Box GetBox(string authToken, string boxId) { var queryString = string.Format("/GetBox?boxId={0}", boxId); - return PerformHttpRequest(null, "GET", queryString); + return PerformHttpRequest(authToken, "GET", queryString); } public Department GetDepartment(string authToken, string orgId, string departmentId) @@ -119,10 +156,16 @@ public OrganizationUsersList GetOrganizationUsersV2(string authToken, string box return PerformHttpRequest(authToken, "GET", queryString); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public List GetOrganizationsByInnList(GetOrganizationsByInnListRequest innList) + { + return GetOrganizationsByInnList(null, innList); + } + + public List GetOrganizationsByInnList(string authToken, GetOrganizationsByInnListRequest innList) { const string queryString = "/GetOrganizationsByInnList"; - var response = PerformHttpRequest(null, queryString, innList); + var response = PerformHttpRequest(authToken, queryString, innList); return response.Organizations.Select(o => o.Organization).ToList(); } diff --git a/src/DiadocHttpApi.ReferencesAsync.cs b/src/DiadocHttpApi.ReferencesAsync.cs index 8efec5d7..12cac3eb 100644 --- a/src/DiadocHttpApi.ReferencesAsync.cs +++ b/src/DiadocHttpApi.ReferencesAsync.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using Diadoc.Api.Constants; using Diadoc.Api.Http; using Diadoc.Api.Proto; using Diadoc.Api.Proto.Certificates; @@ -48,50 +49,86 @@ public Task GetMyCertificatesAsync(string authToken, string box return PerformHttpRequestAsync(authToken, "GET", queryBuilder.BuildPathAndQuery()); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task GetOrganizationsByInnKppAsync(string inn, string kpp, bool includeRelations = false) + { + return GetOrganizationsByInnKppAsync(null, inn, kpp, includeRelations); + } + + public Task GetOrganizationsByInnKppAsync(string authToken, string inn, string kpp, bool includeRelations = false) { var qsb = new PathAndQueryBuilder("/GetOrganizationsByInnKpp"); qsb.AddParameter("inn", inn); if (!string.IsNullOrEmpty(kpp)) qsb.AddParameter("kpp", kpp); if (includeRelations) qsb.AddParameter("includeRelations", "true"); - return PerformHttpRequestAsync(null, "GET", qsb.BuildPathAndQuery()); + return PerformHttpRequestAsync(authToken, "GET", qsb.BuildPathAndQuery()); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task GetOrganizationByIdAsync(string orgId) { - return GetOrganizationAsync($"/GetOrganization?orgId={orgId}"); + return GetOrganizationByIdAsync(null, orgId); + } + + public Task GetOrganizationByIdAsync(string authToken, string orgId) + { + return GetOrganizationAsync(authToken, $"/GetOrganization?orgId={orgId}"); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task GetOrganizationByBoxIdAsync(string boxId) { - return GetOrganizationAsync($"/GetOrganization?boxId={boxId}"); + return GetOrganizationByBoxIdAsync(null, boxId); } + public Task GetOrganizationByBoxIdAsync(string authToken, string boxId) + { + return GetOrganizationAsync(authToken, $"/GetOrganization?boxId={boxId}"); + } + + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task GetOrganizationByFnsParticipantIdAsync(string fnsParticipantId) { - return GetOrganizationAsync($"/GetOrganization?fnsParticipantId={fnsParticipantId}"); + return GetOrganizationByFnsParticipantIdAsync(null, fnsParticipantId); + } + + public Task GetOrganizationByFnsParticipantIdAsync(string authToken, string fnsParticipantId) + { + return GetOrganizationAsync(authToken, $"/GetOrganization?fnsParticipantId={fnsParticipantId}"); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task GetOrganizationByInnKppAsync(string inn, string kpp) + { + return GetOrganizationByInnKppAsync(null, inn, kpp); + } + + public Task GetOrganizationByInnKppAsync(string authToken, string inn, string kpp) { var qsb = new PathAndQueryBuilder("/GetOrganization"); qsb.AddParameter("inn", inn); if (!string.IsNullOrEmpty(kpp)) qsb.AddParameter("kpp", kpp); var queryString = qsb.BuildPathAndQuery(); - return GetOrganizationAsync(queryString); + return GetOrganizationAsync(authToken, queryString); } - private Task GetOrganizationAsync(string queryString) + private Task GetOrganizationAsync(string authToken, string queryString) { - return PerformHttpRequestAsync(null, "GET", queryString); + return PerformHttpRequestAsync(authToken, "GET", queryString); } + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] public Task GetBoxAsync(string boxId) + { + return GetBoxAsync(null, boxId); + } + + public Task GetBoxAsync(string authToken, string boxId) { var queryString = $"/GetBox?boxId={boxId}"; - return PerformHttpRequestAsync(null, "GET", queryString); + return PerformHttpRequestAsync(authToken, "GET", queryString); } public Task GetDepartmentAsync(string authToken, string orgId, string departmentId) @@ -120,10 +157,16 @@ public Task GetOrganizationUsersV2Async(string authToken, return PerformHttpRequestAsync(authToken, "GET", queryString); } - public async Task> GetOrganizationsByInnListAsync(GetOrganizationsByInnListRequest innList) + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] + public Task> GetOrganizationsByInnListAsync(GetOrganizationsByInnListRequest innList) + { + return GetOrganizationsByInnListAsync(null, innList); + } + + public async Task> GetOrganizationsByInnListAsync(string authToken, GetOrganizationsByInnListRequest innList) { const string queryString = "/GetOrganizationsByInnList"; - var response = await PerformHttpRequestAsync(null, queryString, innList).ConfigureAwait(false); + var response = await PerformHttpRequestAsync(authToken, queryString, innList).ConfigureAwait(false); return response.Organizations.Select(o => o.Organization).ToList(); } diff --git a/src/DiadocHttpApi.cs b/src/DiadocHttpApi.cs index adde8b92..91e627a7 100644 --- a/src/DiadocHttpApi.cs +++ b/src/DiadocHttpApi.cs @@ -52,6 +52,11 @@ public DiadocHttpApi( /// Информация об интеграционном решении технологического партнера. /// [CanBeNull] public string SolutionInfo { get; set; } + + /// + /// Использовать аутентификацию по протоколу OpenID Connect + /// + public bool UseOidc { get; set; } [NotNull] protected byte[] PerformHttpRequest( @@ -148,18 +153,32 @@ protected virtual HttpRequest BuildRequest( [CanBeNull] HttpRequestBody body) { var request = new HttpRequest(method, queryString, body, accept: httpSerializer.ResponseContentType); + request.AddHeader("Authorization", GetAuthorizationHeaderValue(token)); + if (!string.IsNullOrEmpty(SolutionInfo)) + { + request.AddHeader("X-Solution-Info", SolutionInfo); + } + return request; + } + + private string GetAuthorizationHeaderValue([CanBeNull] string token) + { + if (UseOidc) + { + if (string.IsNullOrEmpty(token)) + { + throw new ArgumentNullException(nameof(token), "access_token is required for OpenID Connect authentication"); + } + return $"Bearer {token}"; + } var sb = new StringBuilder("DiadocAuth "); sb.AppendFormat("ddauth_api_client_id={0}", apiClientId); if (!string.IsNullOrEmpty(token)) { sb.AppendFormat(",ddauth_token={0}", token); } - request.AddHeader("Authorization", sb.ToString()); - if (!string.IsNullOrEmpty(SolutionInfo)) - { - request.AddHeader("X-Solution-Info", SolutionInfo); - } - return request; + + return sb.ToString(); } [NotNull] diff --git a/src/IDiadocApi.cs b/src/IDiadocApi.cs index a86c973b..6e6e4c81 100644 --- a/src/IDiadocApi.cs +++ b/src/IDiadocApi.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Net; using System.Security; +using Diadoc.Api.Constants; using Diadoc.Api.Proto; using Diadoc.Api.Proto.Docflow; using Diadoc.Api.Proto.Documents; @@ -61,13 +62,25 @@ public interface IDiadocApi string AuthenticateWithKeyConfirm(string thumbprint, string token, bool saveBinding = false); OrganizationUserPermissions GetMyPermissions(string authToken, string orgId); OrganizationList GetMyOrganizations(string authToken, bool autoRegister = true); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] OrganizationList GetOrganizationsByInnKpp(string inn, string kpp, bool includeRelations = false); + OrganizationList GetOrganizationsByInnKpp(string authToken, string inn, string kpp, bool includeRelations = false); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationById(string orgId); + Organization GetOrganizationById(string authToken, string orgId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByBoxId(string boxId); + Organization GetOrganizationByBoxId(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByFnsParticipantId(string fnsParticipantId); + Organization GetOrganizationByFnsParticipantId(string authToken, string fnsParticipantId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Organization GetOrganizationByInnKpp(string inn, string kpp); + Organization GetOrganizationByInnKpp(string authToken, string inn, string kpp); RoamingOperatorList GetRoamingOperators(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Box GetBox(string boxId); + Box GetBox(string authToken, string boxId); Department GetDepartment(string authToken, string orgId, string departmentId); void UpdateOrganizationProperties(string authToken, OrganizationPropertiesToUpdate orgProps); OrganizationFeatures GetOrganizationFeatures(string authToken, string boxId); @@ -187,21 +200,49 @@ BoxCounteragentEventList GetCounteragentEvents( int? limit = null); string UploadFileToShelf(string authToken, byte[] data); byte[] GetFileFromShelf(string authToken, string nameOnShelf); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] RussianAddress ParseRussianAddress(string address); + RussianAddress ParseRussianAddress(string authToken, string address); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] InvoiceInfo ParseInvoiceXml(byte[] invoiceXmlContent); + InvoiceInfo ParseInvoiceXml(string authToken, byte[] invoiceXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Torg12SellerTitleInfo ParseTorg12SellerTitleXml(byte[] xmlContent); + Torg12SellerTitleInfo ParseTorg12SellerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(byte[] xmlContent); + Torg12BuyerTitleInfo ParseTorg12BuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(byte[] xmlContent); + TovTorgSellerTitleInfo ParseTovTorg551SellerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(byte[] xmlContent); + TovTorgBuyerTitleInfo ParseTovTorg551BuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(byte[] xmlContent); + AcceptanceCertificateSellerTitleInfo ParseAcceptanceCertificateSellerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(byte[] xmlContent); + AcceptanceCertificateBuyerTitleInfo ParseAcceptanceCertificateBuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(byte[] xmlContent); + AcceptanceCertificate552SellerTitleInfo ParseAcceptanceCertificate552SellerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(byte[] xmlContent); + AcceptanceCertificate552BuyerTitleInfo ParseAcceptanceCertificate552BuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd); + UniversalTransferDocumentSellerTitleInfo ParseUniversalTransferDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(byte[] xmlContent); + UniversalTransferDocumentBuyerTitleInfo ParseUniversalTransferDocumentBuyerTitleXml(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd); + UniversalCorrectionDocumentSellerTitleInfo ParseUniversalCorrectionDocumentSellerTitleXml(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(byte[] xmlContent); + UniversalTransferDocumentBuyerTitleInfo ParseUniversalCorrectionDocumentBuyerTitleXml(string authToken, byte[] xmlContent); byte[] ParseTitleXml( string authToken, @@ -215,10 +256,16 @@ byte[] ParseTitleXml( [Obsolete("Use GetOrganizationUsersV2()")] OrganizationUsersList GetOrganizationUsers(string authToken, string orgId); OrganizationUsersList GetOrganizationUsersV2(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] List GetOrganizationsByInnList(GetOrganizationsByInnListRequest innList); + List GetOrganizationsByInnList(string authToken, GetOrganizationsByInnListRequest innList); List GetOrganizationsByInnList(string authToken, string myOrgId, GetOrganizationsByInnListRequest innList); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] RevocationRequestInfo ParseRevocationRequestXml(byte[] revocationRequestXmlContent); + RevocationRequestInfo ParseRevocationRequestXml(string authToken, byte[] revocationRequestXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] SignatureRejectionInfo ParseSignatureRejectionXml(byte[] signatureRejectionXmlContent); + SignatureRejectionInfo ParseSignatureRejectionXml(string authToken, byte[] signatureRejectionXmlContent); DocumentProtocolResult GenerateDocumentProtocol(string authToken, string boxId, string messageId, string documentId); DocumentZipGenerationResult GenerateDocumentZip(string authToken, string boxId, string messageId, string documentId, bool fullDocflow); DocumentList GetDocumentsByCustomId(string authToken, string boxId, string customDocumentId); @@ -353,13 +400,25 @@ Task AuthenticateWithKeyAsync(byte[] certificateBytes, bool useLocalSyst Task GetMyUserV2Async(string authToken); Task UpdateMyUserAsync(string authToken, UserToUpdate userToUpdate); Task GetMyCertificatesAsync(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task GetOrganizationsByInnKppAsync(string inn, string kpp, bool includeRelations = false); + Task GetOrganizationsByInnKppAsync(string authToken, string inn, string kpp, bool includeRelations = false); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task GetOrganizationByIdAsync(string orgId); + Task GetOrganizationByIdAsync(string authToken, string orgId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task GetOrganizationByBoxIdAsync(string boxId); + Task GetOrganizationByBoxIdAsync(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task GetOrganizationByFnsParticipantIdAsync(string fnsParticipantId); + Task GetOrganizationByFnsParticipantIdAsync(string authToken, string fnsParticipantId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task GetOrganizationByInnKppAsync(string inn, string kpp); + Task GetOrganizationByInnKppAsync(string authToken, string inn, string kpp); Task GetRoamingOperatorsAsync(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task GetBoxAsync(string boxId); + Task GetBoxAsync(string authToken, string boxId); Task GetDepartmentAsync(string authToken, string orgId, string departmentId); Task UpdateOrganizationPropertiesAsync(string authToken, OrganizationPropertiesToUpdate orgProps); Task GetOrganizationFeaturesAsync(string authToken, string boxId); @@ -515,21 +574,49 @@ Task GetCounteragentEventsAsync( int? limit = null); Task UploadFileToShelfAsync(string authToken, byte[] data); Task GetFileFromShelfAsync(string authToken, string nameOnShelf); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseRussianAddressAsync(string address); + Task ParseRussianAddressAsync(string authToken, string address); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseInvoiceXmlAsync(byte[] invoiceXmlContent); + Task ParseInvoiceXmlAsync(string authToken, byte[] invoiceXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseTorg12SellerTitleXmlAsync(byte[] xmlContent); + Task ParseTorg12SellerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseTorg12BuyerTitleXmlAsync(byte[] xmlContent); + Task ParseTorg12BuyerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseTovTorg551SellerTitleXmlAsync(byte[] xmlContent); + Task ParseTovTorg551SellerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseTovTorg551BuyerTitleXmlAsync(byte[] xmlContent); + Task ParseTovTorg551BuyerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseAcceptanceCertificateSellerTitleXmlAsync(byte[] xmlContent); + Task ParseAcceptanceCertificateSellerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseAcceptanceCertificateBuyerTitleXmlAsync(byte[] xmlContent); + Task ParseAcceptanceCertificateBuyerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseAcceptanceCertificate552SellerTitleXmlAsync(byte[] xmlContent); + Task ParseAcceptanceCertificate552SellerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseAcceptanceCertificate552BuyerTitleXmlAsync(byte[] xmlContent); + Task ParseAcceptanceCertificate552BuyerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseUniversalTransferDocumentSellerTitleXmlAsync(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd); + Task ParseUniversalTransferDocumentSellerTitleXmlAsync(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Utd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseUniversalTransferDocumentBuyerTitleXmlAsync(byte[] xmlContent); + Task ParseUniversalTransferDocumentBuyerTitleXmlAsync(string authToken, byte[] xmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseUniversalCorrectionDocumentSellerTitleXmlAsync(byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd); + Task ParseUniversalCorrectionDocumentSellerTitleXmlAsync(string authToken, byte[] xmlContent, string documentVersion = DefaultDocumentVersions.Ucd); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(byte[] xmlContent); + Task ParseUniversalCorrectionDocumentBuyerTitleXmlAsync(string authToken, byte[] xmlContent); Task ParseTitleXmlAsync( string authToken, @@ -544,10 +631,16 @@ Task ParseTitleXmlAsync( Task GetOrganizationUsersAsync(string authToken, string orgId); Task GetOrganizationUsersV2Async(string authToken, string boxId); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task> GetOrganizationsByInnListAsync(GetOrganizationsByInnListRequest innList); + Task> GetOrganizationsByInnListAsync(string authToken, GetOrganizationsByInnListRequest innList); Task> GetOrganizationsByInnListAsync(string authToken, string myOrgId, GetOrganizationsByInnListRequest innList); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseRevocationRequestXmlAsync(byte[] revocationRequestXmlContent); + Task ParseRevocationRequestXmlAsync(string authToken, byte[] revocationRequestXmlContent); + [Obsolete(ObsoleteReasons.UseAuthTokenOverload)] Task ParseSignatureRejectionXmlAsync(byte[] signatureRejectionXmlContent); + Task ParseSignatureRejectionXmlAsync(string authToken, byte[] signatureRejectionXmlContent); Task GenerateDocumentProtocolAsync(string authToken, string boxId, string messageId, string documentId); Task GenerateDocumentZipAsync(string authToken, string boxId, string messageId, string documentId, bool fullDocflow); Task GetDocumentsByCustomIdAsync(string authToken, string boxId, string customDocumentId); diff --git a/tests/ApiMethodsHelper.cs b/tests/ApiMethodsHelper.cs new file mode 100644 index 00000000..0290b8a1 --- /dev/null +++ b/tests/ApiMethodsHelper.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; + +namespace Diadoc.Api.Tests +{ + public static class ApiMethodsHelper + { + private static readonly HashSet ObjectMethods = new HashSet(typeof(object).GetMethods().Select(x => x.Name)); + + public static IEnumerable GetAllApiMethodsForType(Type type, ICollection exceptMethods) + { + return type.GetMethods() + .Where(x => !x.Name.StartsWith("get_") && !x.Name.StartsWith("set_")) + .Where(x => !exceptMethods.Contains(x.Name)) + .Where(x => !ObjectMethods.Contains(x.Name)); + } + } +} diff --git a/tests/AuthToken_Test.cs b/tests/AuthToken_Test.cs new file mode 100644 index 00000000..502722df --- /dev/null +++ b/tests/AuthToken_Test.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; + +namespace Diadoc.Api.Tests +{ + public class AuthToken_Test + { + [Test] + [TestCase(typeof(IDiadocApi))] + [TestCase(typeof(DiadocHttpApi))] + [TestCase(typeof(IDocflowApi))] + [TestCase(typeof(DiadocHttpApi.DocflowHttpApi))] + [TestCase(typeof(IComDiadocApi))] + public void Every_api_method_has_overload_with_auth_token(Type clientType) + { + foreach (var methodInfo in ApiMethodsHelper.GetAllApiMethodsForType(clientType, ExceptMethods)) + { + var parameters = methodInfo.GetParameters(); + if (parameters.Any(x => (x.Name == "token" || x.Name == "authToken") && x.ParameterType == typeof(string))) + { + continue; + } + + var parametersWithToken = new List {typeof(string)}; + parametersWithToken.AddRange(parameters.Select(x => x.ParameterType)); + var counterpartWithToken = clientType.GetMethod(methodInfo.Name, parametersWithToken.ToArray()); + Assert.That(counterpartWithToken, Is.Not.Null, () => $"Method doesn't have overload with authToken: {clientType}.{methodInfo.Name}"); + } + } + + [Test] + [TestCase(typeof(IDiadocApi))] + [TestCase(typeof(DiadocHttpApi))] + [TestCase(typeof(IDocflowApi))] + [TestCase(typeof(DiadocHttpApi.DocflowHttpApi))] + [TestCase(typeof(IComDiadocApi))] + public void Every_api_method_without_auth_token_is_marked_obsolete(Type clientType) + { + foreach (var methodInfo in ApiMethodsHelper.GetAllApiMethodsForType(clientType, ExceptMethods)) + { + var parameters = methodInfo.GetParameters(); + if (parameters.Any(x => (x.Name == "token" || x.Name == "authToken") && x.ParameterType == typeof(string))) + { + continue; + } + + var obsoleteAttribute = methodInfo.GetCustomAttributes(typeof(ObsoleteAttribute), true); + Assert.That(obsoleteAttribute, Is.Not.Null); + } + } + + private static readonly HashSet ExceptMethods = new HashSet + { + "SetProxyUri", + "EnableSystemProxyUsage", + "DisableSystemProxyUsage", + "SetProxyCredentials", + "SetSolutionInfo", + "UseOidc", + "Initialize", + "SetProxyCredentialsSecure", + "CreateNewId", + "NewGuid", + "NullDateTime", + "AuthenticateWithPassword", + "AuthenticateWithCertificate", + "AuthenticateWithSid", + "AuthenticateAsync", + "AuthenticateByKeyAsync", + "AuthenticateBySidAsync", + "AuthenticateWithKeyAsync", + "Authenticate", + "AuthenticateByKey", + "AuthenticateBySid", + "AuthenticateWithKey", + "Recognize", + "GetRecognized", + "RecognizeAsync", + "GetRecognizedAsync", + "GetExternalServiceAuthInfo", + "GetExternalServiceAuthInfoAsync" + }; + } +} diff --git a/tests/TaskAsyncronousPattern_Test.cs b/tests/TaskAsyncronousPattern_Test.cs index 96831db4..4a4a6aae 100644 --- a/tests/TaskAsyncronousPattern_Test.cs +++ b/tests/TaskAsyncronousPattern_Test.cs @@ -101,12 +101,14 @@ private static IEnumerable GetAllApiMethods() typeof(DocflowApi), typeof(DiadocHttpApi.DocflowHttpApi) }; - return apiTypes.SelectMany(GetAllApiMethodsForType); + return apiTypes.SelectMany(type => ApiMethodsHelper.GetAllApiMethodsForType(type, ExceptMethods)); } private static IEnumerable GetAllDiadocHttpApiMethods() { - return GetAllApiMethodsForType(typeof(DiadocHttpApi)).Where(x => !x.Name.StartsWith("WaitTaskResult")); + return ApiMethodsHelper + .GetAllApiMethodsForType(typeof(DiadocHttpApi), ExceptMethods) + .Where(x => !x.Name.StartsWith("WaitTaskResult")); } private static readonly string[] ExceptMethods = @@ -115,17 +117,8 @@ private static IEnumerable GetAllDiadocHttpApiMethods() "EnableSystemProxyUsage", "DisableSystemProxyUsage", "SetProxyCredentials", - "SetSolutionInfo" + "SetSolutionInfo", + "UseOidc" }; - - private static readonly string[] ObjectMethods = typeof(object).GetMethods().Select(x => x.Name).ToArray(); - - private static IEnumerable GetAllApiMethodsForType(Type type) - { - return type.GetMethods() - .Where(x => !x.Name.StartsWith("get_") && !x.Name.StartsWith("set_")) - .Where(x => !ExceptMethods.Contains(x.Name)) - .Where(x => !ObjectMethods.Contains(x.Name)); - } } }