Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/pack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ env:
jobs:
pack:
runs-on: ubuntu-latest
needs: build
steps:
- name: Determine version
run: |
Expand Down
9 changes: 9 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,17 @@
<LangVersion>13</LangVersion>
<Features>strict</Features>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<Deterministic>True</Deterministic>
<GenerateAssemblyInfo>true</GenerateAssemblyInfo>
<DebugType>embedded</DebugType>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<PackageOutputPath>$(SolutionDir)/artifacts</PackageOutputPath>
</PropertyGroup>

<PropertyGroup Label="Analyzers">
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>
</Project>
18 changes: 18 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup Label="Testing packages">
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="xunit.v3" Version="3.0.1" />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.4" />
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
<PackageVersion Include="Meziantou.Analyzer" Version="2.0.212" />
<PackageVersion Include="System.Memory" Condition="$(TargetFramework) == 'netstandard2.0'" Version="4.6.3" />
<PackageVersion Include="Polyfill" Version="8.8.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion global.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"sdk": {
"version": "9.0.101",
"version": "9.0.304",
"allowPrerelease": false,
"rollForward": "major"
}
Expand Down
11 changes: 9 additions & 2 deletions src/vies-dotnet-api/Errors/ViesDeserializationException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,22 @@ limitations under the License.

namespace Padi.Vies.Errors;

/// <summary>
///
/// </summary>
#pragma warning disable CA1032
public sealed class ViesDeserializationException : ViesException
#pragma warning restore CA1032
{
/// <inheritdoc />
public ViesDeserializationException( string message, string param = null, string userMessage = null)
: base("deserialization-failed", "deserialization_error", message, param, userMessage)
: base(ViesErrorCodes.DeserializationError.Failed.Code, ViesErrorCodes.DeserializationError.Type, message ?? ViesErrorCodes.DeserializationError.Failed.Message, param, userMessage ?? ViesErrorCodes.DeserializationError.Failed.UserMessage)
{
}

/// <inheritdoc />
public ViesDeserializationException( string message, Exception innerException, string param = null, string userMessage = null)
: base("deserialization-failed", "deserialization_error", message, innerException, param, userMessage)
: base(ViesErrorCodes.DeserializationError.Failed.Code, ViesErrorCodes.DeserializationError.Type, message ?? ViesErrorCodes.DeserializationError.Failed.Message, innerException, param, userMessage ?? ViesErrorCodes.DeserializationError.Failed.UserMessage)
{
}
}
23 changes: 13 additions & 10 deletions src/vies-dotnet-api/Errors/ViesErrorCodes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ You may obtain a copy of the License at
See the License for the specific language governing permissions and
limitations under the License.
*/

namespace Padi.Vies.Errors;

internal static class ViesErrorCodes
Expand All @@ -18,8 +19,6 @@ public static class InvalidRequestError
{
public const string Type = "invalid_request_error";



public static class VatInactive
{
public const string Code = "vat-inactive";
Expand All @@ -35,7 +34,6 @@ public static class VatNotFound
public const string UserMessage = "The VAT number could not be found.";
public const string Param = "vatNumber";
}

}

public static class ServiceError
Expand Down Expand Up @@ -101,13 +99,6 @@ public static class InvalidVatFormat
public const string Param = "vatNumber";
}

// public static class VatInvalid
// {
// public const string Code = "vat-invalid";
// public const string Message = "VAT number is invalid.";
// public const string UserMessage = "The VAT number is not valid.";
// }

public static class InvalidVatChecksumDigit
{
public const string Code = "invalid-vat-checksum-digit";
Expand Down Expand Up @@ -155,4 +146,16 @@ public static class UnexpectedError
public const string UserMessage = "Something went wrong. Please try again.";
}
}

public static class DeserializationError
{
public const string Type = "deserialization_error";

public static class Failed
{
public const string Code = "deserialization-failed";
public const string Message = "Deserialization failed.";
public const string UserMessage = "Could not deserialize the response from VIES service.";
}
}
}
37 changes: 37 additions & 0 deletions src/vies-dotnet-api/Errors/ViesException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,41 @@ limitations under the License.

namespace Padi.Vies.Errors;

/// <summary>
///
/// </summary>
#pragma warning disable CA1032
public class ViesException : Exception
#pragma warning restore CA1032
{
/// <summary>
///
/// </summary>
public string ErrorCode { get; }

/// <summary>
///
/// </summary>
public string ErrorType { get; }

/// <summary>
///
/// </summary>
public string Param { get; }

/// <summary>
///
/// </summary>
public string UserMessage { get; }

/// <summary>
///
/// </summary>
/// <param name="errorCode"></param>
/// <param name="errorType"></param>
/// <param name="message"></param>
/// <param name="param"></param>
/// <param name="userMessage"></param>
public ViesException(string errorCode, string errorType, string message, string param = null, string userMessage = null)
: base(message)
{
Expand All @@ -31,6 +59,15 @@ public ViesException(string errorCode, string errorType, string message, string
UserMessage = userMessage ?? message;
}

/// <summary>
///
/// </summary>
/// <param name="errorCode"></param>
/// <param name="errorType"></param>
/// <param name="message"></param>
/// <param name="innerException"></param>
/// <param name="param"></param>
/// <param name="userMessage"></param>
public ViesException(string errorCode, string errorType, string message, Exception innerException, string param = null, string userMessage = null)
: base(message, innerException)
{
Expand Down
11 changes: 9 additions & 2 deletions src/vies-dotnet-api/Errors/ViesInvalidInputException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,18 @@ limitations under the License.

namespace Padi.Vies.Errors;

/// <summary>
///
/// </summary>
#pragma warning disable CA1032
public class ViesInvalidInputException : ViesException
#pragma warning restore CA1032
{
/// <inheritdoc />
public ViesInvalidInputException(string errorCode, string message, string param = null, string userMessage = null)
: base(errorCode, "invalid_request_error", message, param, userMessage) { }
: base(errorCode, ViesErrorCodes.InvalidRequestError.Type, message, param, userMessage) { }

/// <inheritdoc />
public ViesInvalidInputException(string errorCode, string message, Exception innerException, string param = null, string userMessage = null)
: base(errorCode, "invalid_request_error", message, innerException, param, userMessage) { }
: base(errorCode, ViesErrorCodes.InvalidRequestError.Type, message, innerException, param, userMessage) { }
}
11 changes: 9 additions & 2 deletions src/vies-dotnet-api/Errors/ViesServiceException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,18 @@ limitations under the License.

namespace Padi.Vies.Errors;

/// <summary>
///
/// </summary>
#pragma warning disable CA1032
public class ViesServiceException : ViesException
#pragma warning restore CA1032
{
/// <inheritdoc />
public ViesServiceException(string errorCode, string message, string param = null, string userMessage = null)
: base(errorCode, "service_error", message, param, userMessage) { }
: base(errorCode, ViesErrorCodes.ServiceError.Type, message, param, userMessage) { }

/// <inheritdoc />
public ViesServiceException(string errorCode, string message, Exception innerException, string param = null, string userMessage = null)
: base(errorCode, "service_error", message, innerException, param, userMessage) { }
: base(errorCode, ViesErrorCodes.ServiceError.Type, message, innerException, param, userMessage) { }
}
12 changes: 10 additions & 2 deletions src/vies-dotnet-api/Errors/ViesUnsupportedRegionException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,19 @@ limitations under the License.

namespace Padi.Vies.Errors;

/// <summary>
///
/// </summary>
#pragma warning disable CA1032
public class ViesUnsupportedRegionException : ViesException
#pragma warning restore CA1032
{
/// <inheritdoc />
public ViesUnsupportedRegionException(string errorCode, string message, string param = null, string userMessage = null)
: base(errorCode, "unsupported_region_error", message, param, userMessage) { }
: base(errorCode, ViesErrorCodes.UnsupportedRegionError.Type, message, param, userMessage) { }


/// <inheritdoc />
public ViesUnsupportedRegionException(string errorCode, string message, Exception innerException, string param = null, string userMessage = null)
: base(errorCode, "unsupported_region_error", message, innerException, param, userMessage) { }
: base(errorCode, ViesErrorCodes.UnsupportedRegionError.Type, message, innerException, param, userMessage) { }
}
11 changes: 9 additions & 2 deletions src/vies-dotnet-api/Errors/ViesValidationException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,23 @@ limitations under the License.

namespace Padi.Vies.Errors;

/// <summary>
///
/// </summary>
#pragma warning disable CA1032
public class ViesValidationException : ViesException
#pragma warning restore CA1032
{
/// <inheritdoc />
public ViesValidationException(string errorCode, string message, string param = null, string userMessage = null)
: base(errorCode, "validation_error", message, param, userMessage)
: base(errorCode, ViesErrorCodes.ValidationError.Type, message, param, userMessage)
{
}

/// <inheritdoc />
public ViesValidationException(string errorCode, string message, Exception innerException, string param = null,
string userMessage = null)
: base(errorCode, "validation_error", message, innerException, param, userMessage)
: base(errorCode, ViesErrorCodes.ValidationError.Type, message, innerException, param, userMessage)
{
}
}
17 changes: 4 additions & 13 deletions src/vies-dotnet-api/vies-dotnet-api.csproj
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="Build">
<AssemblyName>Padi.Vies</AssemblyName>
<Deterministic>True</Deterministic>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<RootNamespace>$(AssemblyName)</RootNamespace>
<TargetFrameworks>net9.0;net8.0;net7.0;net6.0;net5.0;netstandard2.1;netstandard2.0</TargetFrameworks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
Expand Down Expand Up @@ -42,13 +40,6 @@
<PackageValidationBaselineVersion>2.3.2</PackageValidationBaselineVersion>
</PropertyGroup>

<PropertyGroup Label="Analyzers">
<RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
<AnalysisLevel>latest</AnalysisLevel>
</PropertyGroup>

<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
Expand All @@ -64,9 +55,9 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All"/>
<PackageReference Include="Meziantou.Analyzer" Version="2.0.196" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
<PackageReference Include="System.Memory" Condition="$(TargetFramework) == 'netstandard2.0'" Version="4.6.3" />
<PackageReference Include="Polyfill" Version="7.27.0" />
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
<PackageReference Include="Meziantou.Analyzer" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
<PackageReference Include="System.Memory" Condition="$(TargetFramework) == 'netstandard2.0'" />
<PackageReference Include="Polyfill" />
</ItemGroup>
</Project>
Loading
Loading