Skip to content

Commit

Permalink
Dev s100/feature/185613 validate sap callback and publish (#259)
Browse files Browse the repository at this point in the history
* 180087 - Implementation to consume EES endpoint to publish unitofsaleupdated event AB#180087 AB#182323

* 180087 - Implementation to consume EES endpoint to publish unitofsaleupdated event AB#180087 AB#182323

* AB#185613 validate sap callback and publish

* 180087 - Updated configuration setting AB#180087 AB#182323

* 180087 - removed unused namespaces AB#180087 AB#182323

* AB#185613 Resolved few review comments

* Merge main into devs100 (#257)

* Bump System.Runtime.Caching in /src/UKHO.ERPFacade.Common (#199)

Bumps [System.Runtime.Caching](https://github.com/dotnet/runtime) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: System.Runtime.Caching
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the all-packages group with 4 updates (#196)

* Bump the all-packages group with 4 updates

Bumps the all-packages group with 4 updates: [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore), [SoapCore](https://github.com/DigDes/SoapCore), [RestSharp](https://github.com/restsharp/RestSharp) and [WireMock.Net](https://github.com/WireMock-Net/WireMock.Net).


Updates `Swashbuckle.AspNetCore` from 6.8.0 to 6.8.1
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.8.0...v6.8.1)

Updates `SoapCore` from 1.1.0.49 to 1.1.0.51
- [Release notes](https://github.com/DigDes/SoapCore/releases)
- [Commits](https://github.com/DigDes/SoapCore/compare/v1.1.0.49...v1.1.0.51)

Updates `RestSharp` from 112.0.0 to 112.1.0
- [Release notes](https://github.com/restsharp/RestSharp/releases)
- [Commits](https://github.com/restsharp/RestSharp/compare/112.0.0...112.1.0)

Updates `WireMock.Net` from 1.6.5 to 1.6.6
- [Release notes](https://github.com/WireMock-Net/WireMock.Net/releases)
- [Changelog](https://github.com/WireMock-Net/WireMock.Net/blob/master/CHANGELOG.md)
- [Commits](https://github.com/WireMock-Net/WireMock.Net/compare/1.6.5...1.6.6)

---
updated-dependencies:
- dependency-name: Swashbuckle.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: SoapCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: RestSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: WireMock.Net
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add suppression for CVE-2024-43483 in System.Runtime.Caching

* Add suppression for CVE-2022-34716 in System.Security.Cryptography.Xml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HugoBurgess <[email protected]>
Co-authored-by: rushdynajath <[email protected]>

* Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/UKHO.ERPFacade.API (#200)

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump System.Text.Json in /src/UKHO.ERPFacade.CleanUp.WebJob (#207)

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Refactor Azure Pipelines YAML to streamline permit configuration vari… (#211)

* Refactor Azure Pipelines YAML to streamline permit configuration variables

* Add PermitDecryptionHardwareId to Azure Pipelines configuration

* Bump the all-packages group with 20 updates (#212)

Bumps the all-packages group with 20 updates:

| Package | From | To |
| --- | --- | --- |
| [Elastic.Apm.NetCoreAll](https://github.com/elastic/apm-agent-dotnet) | `1.29.0` | `1.30.0` |
| [Microsoft.AspNetCore.Authentication.JwtBearer](https://github.com/dotnet/aspnetcore) | `6.0.33` | `6.0.35` |
| [Microsoft.AspNetCore.HeaderPropagation](https://github.com/dotnet/aspnetcore) | `6.0.33` | `6.0.35` |
| [Microsoft.AspNetCore.Mvc.NewtonsoftJson](https://github.com/dotnet/aspnetcore) | `6.0.33` | `6.0.35` |
| [Microsoft.Extensions.Diagnostics.HealthChecks](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Extensions.Logging.Abstractions](https://github.com/dotnet/runtime) | `8.0.1` | `8.0.2` |
| [Microsoft.Extensions.Logging.AzureAppServices](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Extensions.Configuration.Json](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [System.Text.Json](https://github.com/dotnet/runtime) | `8.0.4` | `8.0.5` |
| [Microsoft.Extensions.Logging](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.DependencyInjection](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.Logging.Console](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.Logging.Debug](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Azure.Storage.Blobs](https://github.com/Azure/azure-sdk-for-net) | `12.22.1` | `12.22.2` |
| [Azure.Storage.Queues](https://github.com/Azure/azure-sdk-for-net) | `12.20.0` | `12.20.1` |
| [Microsoft.Extensions.Http](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.Http.Polly](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Azure.WebJobs.Extensions.Storage](https://github.com/Azure/azure-sdk-for-net) | `5.3.2` | `5.3.3` |
| [Microsoft.Extensions.Hosting](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |


Updates `Elastic.Apm.NetCoreAll` from 1.29.0 to 1.30.0
- [Release notes](https://github.com/elastic/apm-agent-dotnet/releases)
- [Changelog](https://github.com/elastic/apm-agent-dotnet/blob/main/CHANGELOG.asciidoc)
- [Commits](https://github.com/elastic/apm-agent-dotnet/compare/v1.29.0...v1.30.0)

Updates `Microsoft.AspNetCore.Authentication.JwtBearer` from 6.0.33 to 6.0.35
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.33...v6.0.35)

Updates `Microsoft.AspNetCore.HeaderPropagation` from 6.0.33 to 6.0.35
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.33...v6.0.35)

Updates `Microsoft.AspNetCore.Mvc.NewtonsoftJson` from 6.0.33 to 6.0.35
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.33...v6.0.35)

Updates `Microsoft.Extensions.Diagnostics.HealthChecks` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging.AzureAppServices` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Configuration.Json` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging.Console` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.Configuration.Json` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Debug` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Azure.Storage.Blobs` from 12.22.1 to 12.22.2
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Azure.Storage.Blobs_12.22.1...Azure.Storage.Blobs_12.22.2)

Updates `Azure.Storage.Queues` from 12.20.0 to 12.20.1
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Azure.Storage.Queues_12.20.0...Azure.Storage.Queues_12.20.1)

Updates `Microsoft.Extensions.Http` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Http.Polly` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Http` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Azure.WebJobs.Extensions.Storage` from 5.3.2 to 5.3.3
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Microsoft.Azure.WebJobs.Extensions.Storage_5.3.2...Microsoft.Azure.WebJobs.Extensions.Storage_5.3.3)

Updates `Microsoft.Extensions.Hosting` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Configuration.Json` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Console` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Debug` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: Elastic.Apm.NetCoreAll
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.AspNetCore.HeaderPropagation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.AspNetCore.Mvc.NewtonsoftJson
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.AzureAppServices
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Configuration.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Configuration.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Debug
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Azure.Storage.Blobs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Azure.Storage.Queues
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Http
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Http.Polly
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Http
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Azure.WebJobs.Extensions.Storage
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Hosting
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Configuration.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Debug
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Release/pipeline prod (#218)

* Add dependency on PreProdDeploy stage for Livedeploy

* Add Permit Decryption Hardware ID and Azure AD configurations to pipeline

* update main

* Refactor Azure Pipelines YAML to remove unused variable for EnterpriseEventServiceConfiguration

* Update NVDSuppressions.xml

add suppression

* Update NVDSuppressions.xml

add suppression

* Update NVDSuppressions.xml

remove zero match

* Update NVDSuppressions.xml

remove zero referane

* Bump the all-packages group with 5 updates (#221)

Bumps the all-packages group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [Azure.Identity](https://github.com/Azure/azure-sdk-for-net) | `1.12.1` | `1.13.0` |
| [Azure.Security.KeyVault.Secrets](https://github.com/Azure/azure-sdk-for-net) | `4.6.0` | `4.7.0` |
| [Microsoft.Identity.Client](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) | `4.65.0` | `4.66.0` |
| [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) | `6.8.1` | `6.9.0` |
| [WireMock.Net](https://github.com/WireMock-Net/WireMock.Net) | `1.6.6` | `1.6.7` |


Updates `Azure.Identity` from 1.12.1 to 1.13.0
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Azure.Identity_1.12.1...Azure.Identity_1.13.0)

Updates `Azure.Security.KeyVault.Secrets` from 4.6.0 to 4.7.0
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Azure.Security.KeyVault.Secrets_4.6.0...Azure.Security.KeyVault.Secrets_4.7.0)

Updates `Microsoft.Identity.Client` from 4.65.0 to 4.66.0
- [Release notes](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/releases)
- [Changelog](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/compare/4.65.0...4.66.0)

Updates `Swashbuckle.AspNetCore` from 6.8.1 to 6.9.0
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.8.1...v6.9.0)

Updates `WireMock.Net` from 1.6.6 to 1.6.7
- [Release notes](https://github.com/WireMock-Net/WireMock.Net/releases)
- [Changelog](https://github.com/WireMock-Net/WireMock.Net/blob/master/CHANGELOG.md)
- [Commits](https://github.com/WireMock-Net/WireMock.Net/compare/1.6.6...1.6.7)

---
updated-dependencies:
- dependency-name: Azure.Identity
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: Azure.Security.KeyVault.Secrets
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: Microsoft.Identity.Client
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: Swashbuckle.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: WireMock.Net
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Suppression (#226)

* Merge dev into main (#237)

* feat: Update Azure Pipelines configuration for vNextIATDeploy and E2EDeploy stages (#183)

Update the `azure-pipelines.yml` file to modify the conditions for the `vNextIATDeploy` and `E2EDeploy` stages. The conditions now check for successful builds and the source branch being either `main`, `release/*`, or `develop`. This change improves the deployment process for the vNext IAT and E2E stages.

Co-authored-by: dependabot[bot] <[email protected]>

* add deployment condition to IAT (#185)

* feat: Update Azure Pipelines configuration for vNextIATDeploy and E2EDeploy stages

* Update Azure Pipelines configuration for vNextIATDeploy and E2EDeploy stages

* clean up

* Update Azure Pipelines configuration for vNextIATDeploy and E2EDeploy stages

* Update Azure Pipelines configuration for vNextIATDeploy and E2EDeploy stages

* Merge branch 'main' into develop

* 177261 implement updated sap action rules (#195)

* 177261-implement sap action rules  AB#177261 AB#177486 AB#177487

* 177261-exception handling and logging AB#177261 AB#177486

* 177261-code uplifting AB#177261

* 177261-null check of unit of sale added in case of change and update actions AB#177261 AB#177490

* 177261-code uplifted and few warnings resolved AB#177261

* 177261-code refactoring AB#177261 AB#177490

* 177725-schema changes for enccontentpublished v2.2 event AB#177725

* 177261-added new logs and uplifted few existings logs AB#177261

* 177261-exception logs updated AB#177261

* 177261-unit test added for enc content sap message builder AB#177261 AB#177491

* 177261-unit test cases fixed AB#177261 AB#177491

* 177261-Wiremock changes AB#177261

* 177261-unit test added for enccontent sap message builder AB#177261 AB#177491

* 177261-logging middleware uplifted to resolve app insight exception logging issue AB#177261

* 177261-minor issue fixed AB#177261

* 177261-unit test updated AB#177261 AB#177491

* 177261-rule updated for additional coverage action AB#177261

* 177261-vulnerabilities  fixed AB#177261

* 177261 Vulnerabilities fixed #AB177261

* 177261 Vulnerable dependencies fixed #AB177261

* 177261-unit test updated for enc content sap builder. AB#177261 AB#177491

* 177261 Removed stop command for SAP mock - AB#177261

* 177261 Reverted changes to SAP Mock AB #177261

* 177261 UTs modified to improve code coverage #AB177261

* 177261-code coverage improvement based on stryker AB#177261

* 177261 - Updated existing FTs' as per new rules and new payload schema. Added new FT's to validate mandatory attributes in the payload. AB#177261

* 177261 - Updated appsettings - AB#177261

* 177261 passed key vault url for FTs AB#177261

* 177261 - removed permit key section form appsettings AB#177261

* 177261 UTs added to improve code coverage AB#177261

* 177261-code refactoring AB#177261

* Removing keyvaulturl variable from YAML AB#177261

* 177261 - changed code for fetching keyvault secrets AB#177261

* 177261-minor change AB#177261

* 177261-updated mock service proj file AB#177261

* 177261-ukhoweeknumber issue fixed AB#177261

* 177261-Added FT for Re-issue scenario AB#177261

* 177261-changed property of input file to Copy always AB#177261

* 177902-exception logs formatting issue fix AB#177902

* 177261 Fixed UTs post refactoring error logs

* 177902-Exception logs format fixed AB#177902

* 177261 Updated expected xml files AB#177261

* 177261 - Resolved review comments AB#177261

* 177261-code review comments fixed AB#177261 AB#181398

* updated correlationid

* 177261-minor code review comment fixed AB#177261 AB#181398

* 177261-code review comments resolved in FT's AB#177261

* 177261-Updated payload and xml for Reissue scenario as per the latest updated payload AB#177261

---------

Co-authored-by: Vishal Dukare <[email protected]>
Co-authored-by: rushikeshkhopatkar <[email protected]>
Co-authored-by: Pooja More <[email protected]>
Co-authored-by: rushikeshkhopatkar <[email protected]>
Co-authored-by: Amogh Lanke <[email protected]>

* Merge main into dev (#205)

* Bump System.Runtime.Caching in /src/UKHO.ERPFacade.Common (#199)

Bumps [System.Runtime.Caching](https://github.com/dotnet/runtime) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: System.Runtime.Caching
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the all-packages group with 4 updates (#196)

* Bump the all-packages group with 4 updates

Bumps the all-packages group with 4 updates: [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore), [SoapCore](https://github.com/DigDes/SoapCore), [RestSharp](https://github.com/restsharp/RestSharp) and [WireMock.Net](https://github.com/WireMock-Net/WireMock.Net).


Updates `Swashbuckle.AspNetCore` from 6.8.0 to 6.8.1
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.8.0...v6.8.1)

Updates `SoapCore` from 1.1.0.49 to 1.1.0.51
- [Release notes](https://github.com/DigDes/SoapCore/releases)
- [Commits](https://github.com/DigDes/SoapCore/compare/v1.1.0.49...v1.1.0.51)

Updates `RestSharp` from 112.0.0 to 112.1.0
- [Release notes](https://github.com/restsharp/RestSharp/releases)
- [Commits](https://github.com/restsharp/RestSharp/compare/112.0.0...112.1.0)

Updates `WireMock.Net` from 1.6.5 to 1.6.6
- [Release notes](https://github.com/WireMock-Net/WireMock.Net/releases)
- [Changelog](https://github.com/WireMock-Net/WireMock.Net/blob/master/CHANGELOG.md)
- [Commits](https://github.com/WireMock-Net/WireMock.Net/compare/1.6.5...1.6.6)

---
updated-dependencies:
- dependency-name: Swashbuckle.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: SoapCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: RestSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: WireMock.Net
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add suppression for CVE-2024-43483 in System.Runtime.Caching

* Add suppression for CVE-2022-34716 in System.Security.Cryptography.Xml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HugoBurgess <[email protected]>
Co-authored-by: rushdynajath <[email protected]>

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HugoBurgess <[email protected]>

* ADDS live issue fix for item tag in xml payload (#209)

* issue fix around item tag

* Updated item tag in expected XMLs

---------

Co-authored-by: Vishal Dukare <[email protected]>
Co-authored-by: rushikeshkhopatkar <[email protected]>

* Merge main into develop 11_10 (#210)

* Bump System.Runtime.Caching in /src/UKHO.ERPFacade.Common (#199)

Bumps [System.Runtime.Caching](https://github.com/dotnet/runtime) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: System.Runtime.Caching
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the all-packages group with 4 updates (#196)

* Bump the all-packages group with 4 updates

Bumps the all-packages group with 4 updates: [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore), [SoapCore](https://github.com/DigDes/SoapCore), [RestSharp](https://github.com/restsharp/RestSharp) and [WireMock.Net](https://github.com/WireMock-Net/WireMock.Net).


Updates `Swashbuckle.AspNetCore` from 6.8.0 to 6.8.1
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.8.0...v6.8.1)

Updates `SoapCore` from 1.1.0.49 to 1.1.0.51
- [Release notes](https://github.com/DigDes/SoapCore/releases)
- [Commits](https://github.com/DigDes/SoapCore/compare/v1.1.0.49...v1.1.0.51)

Updates `RestSharp` from 112.0.0 to 112.1.0
- [Release notes](https://github.com/restsharp/RestSharp/releases)
- [Commits](https://github.com/restsharp/RestSharp/compare/112.0.0...112.1.0)

Updates `WireMock.Net` from 1.6.5 to 1.6.6
- [Release notes](https://github.com/WireMock-Net/WireMock.Net/releases)
- [Changelog](https://github.com/WireMock-Net/WireMock.Net/blob/master/CHANGELOG.md)
- [Commits](https://github.com/WireMock-Net/WireMock.Net/compare/1.6.5...1.6.6)

---
updated-dependencies:
- dependency-name: Swashbuckle.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: SoapCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: RestSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: WireMock.Net
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add suppression for CVE-2024-43483 in System.Runtime.Caching

* Add suppression for CVE-2022-34716 in System.Security.Cryptography.Xml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HugoBurgess <[email protected]>
Co-authored-by: rushdynajath <[email protected]>

* Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/UKHO.ERPFacade.API (#200)

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump System.Text.Json in /src/UKHO.ERPFacade.CleanUp.WebJob (#207)

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Refactor Azure Pipelines YAML to streamline permit configuration vari… (#211)

* Refactor Azure Pipelines YAML to streamline permit configuration variables

* Add PermitDecryptionHardwareId to Azure Pipelines configuration

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HugoBurgess <[email protected]>

* 181621 adds live defect fix permit decryption failure (#208)

* 181621-permit decryption failure issue fixed AB#181621

* 181621-Added FT for permit decryption failure AB#181621

* 181621-code refactored AB#181621

---------

Co-authored-by: rushikeshkhopatkar <[email protected]>
Co-authored-by: rushdynajath <[email protected]>
Co-authored-by: Vishal14583 <[email protected]>

* Dependabot main into developement14 10 (#214)

* Bump System.Runtime.Caching in /src/UKHO.ERPFacade.Common (#199)

Bumps [System.Runtime.Caching](https://github.com/dotnet/runtime) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: System.Runtime.Caching
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the all-packages group with 4 updates (#196)

* Bump the all-packages group with 4 updates

Bumps the all-packages group with 4 updates: [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore), [SoapCore](https://github.com/DigDes/SoapCore), [RestSharp](https://github.com/restsharp/RestSharp) and [WireMock.Net](https://github.com/WireMock-Net/WireMock.Net).


Updates `Swashbuckle.AspNetCore` from 6.8.0 to 6.8.1
- [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases)
- [Commits](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/compare/v6.8.0...v6.8.1)

Updates `SoapCore` from 1.1.0.49 to 1.1.0.51
- [Release notes](https://github.com/DigDes/SoapCore/releases)
- [Commits](https://github.com/DigDes/SoapCore/compare/v1.1.0.49...v1.1.0.51)

Updates `RestSharp` from 112.0.0 to 112.1.0
- [Release notes](https://github.com/restsharp/RestSharp/releases)
- [Commits](https://github.com/restsharp/RestSharp/compare/112.0.0...112.1.0)

Updates `WireMock.Net` from 1.6.5 to 1.6.6
- [Release notes](https://github.com/WireMock-Net/WireMock.Net/releases)
- [Changelog](https://github.com/WireMock-Net/WireMock.Net/blob/master/CHANGELOG.md)
- [Commits](https://github.com/WireMock-Net/WireMock.Net/compare/1.6.5...1.6.6)

---
updated-dependencies:
- dependency-name: Swashbuckle.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: SoapCore
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: RestSharp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: WireMock.Net
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
...

Signed-off-by: dependabot[bot] <[email protected]>

* Add suppression for CVE-2024-43483 in System.Runtime.Caching

* Add suppression for CVE-2022-34716 in System.Security.Cryptography.Xml

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: HugoBurgess <[email protected]>
Co-authored-by: rushdynajath <[email protected]>

* Bump System.Text.Json from 8.0.4 to 8.0.5 in /src/UKHO.ERPFacade.API (#200)

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump System.Text.Json in /src/UKHO.ERPFacade.CleanUp.WebJob (#207)

Bumps [System.Text.Json](https://github.com/dotnet/runtime) from 8.0.4 to 8.0.5.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Refactor Azure Pipelines YAML to streamline permit configuration vari… (#211)

* Refactor Azure Pipelines YAML to streamline permit configuration variables

* Add PermitDecryptionHardwareId to Azure Pipelines configuration

* Bump the all-packages group with 20 updates (#212)

Bumps the all-packages group with 20 updates:

| Package | From | To |
| --- | --- | --- |
| [Elastic.Apm.NetCoreAll](https://github.com/elastic/apm-agent-dotnet) | `1.29.0` | `1.30.0` |
| [Microsoft.AspNetCore.Authentication.JwtBearer](https://github.com/dotnet/aspnetcore) | `6.0.33` | `6.0.35` |
| [Microsoft.AspNetCore.HeaderPropagation](https://github.com/dotnet/aspnetcore) | `6.0.33` | `6.0.35` |
| [Microsoft.AspNetCore.Mvc.NewtonsoftJson](https://github.com/dotnet/aspnetcore) | `6.0.33` | `6.0.35` |
| [Microsoft.Extensions.Diagnostics.HealthChecks](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Extensions.Logging.Abstractions](https://github.com/dotnet/runtime) | `8.0.1` | `8.0.2` |
| [Microsoft.Extensions.Logging.AzureAppServices](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Extensions.Configuration.Json](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [System.Text.Json](https://github.com/dotnet/runtime) | `8.0.4` | `8.0.5` |
| [Microsoft.Extensions.Logging](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.DependencyInjection](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.Logging.Console](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.Logging.Debug](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Azure.Storage.Blobs](https://github.com/Azure/azure-sdk-for-net) | `12.22.1` | `12.22.2` |
| [Azure.Storage.Queues](https://github.com/Azure/azure-sdk-for-net) | `12.20.0` | `12.20.1` |
| [Microsoft.Extensions.Http](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |
| [Microsoft.Extensions.Http.Polly](https://github.com/dotnet/aspnetcore) | `8.0.8` | `8.0.10` |
| [Microsoft.Azure.WebJobs.Extensions.Storage](https://github.com/Azure/azure-sdk-for-net) | `5.3.2` | `5.3.3` |
| [Microsoft.Extensions.Hosting](https://github.com/dotnet/runtime) | `8.0.0` | `8.0.1` |


Updates `Elastic.Apm.NetCoreAll` from 1.29.0 to 1.30.0
- [Release notes](https://github.com/elastic/apm-agent-dotnet/releases)
- [Changelog](https://github.com/elastic/apm-agent-dotnet/blob/main/CHANGELOG.asciidoc)
- [Commits](https://github.com/elastic/apm-agent-dotnet/compare/v1.29.0...v1.30.0)

Updates `Microsoft.AspNetCore.Authentication.JwtBearer` from 6.0.33 to 6.0.35
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.33...v6.0.35)

Updates `Microsoft.AspNetCore.HeaderPropagation` from 6.0.33 to 6.0.35
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.33...v6.0.35)

Updates `Microsoft.AspNetCore.Mvc.NewtonsoftJson` from 6.0.33 to 6.0.35
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v6.0.33...v6.0.35)

Updates `Microsoft.Extensions.Diagnostics.HealthChecks` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging.AzureAppServices` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Configuration.Json` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging.Console` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.Configuration.Json` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Debug` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Azure.Storage.Blobs` from 12.22.1 to 12.22.2
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Azure.Storage.Blobs_12.22.1...Azure.Storage.Blobs_12.22.2)

Updates `Azure.Storage.Queues` from 12.20.0 to 12.20.1
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Azure.Storage.Queues_12.20.0...Azure.Storage.Queues_12.20.1)

Updates `Microsoft.Extensions.Http` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Http.Polly` from 8.0.8 to 8.0.10
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](https://github.com/dotnet/aspnetcore/compare/v8.0.8...v8.0.10)

Updates `Microsoft.Extensions.Http` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Azure.WebJobs.Extensions.Storage` from 5.3.2 to 5.3.3
- [Release notes](https://github.com/Azure/azure-sdk-for-net/releases)
- [Commits](https://github.com/Azure/azure-sdk-for-net/compare/Microsoft.Azure.WebJobs.Extensions.Storage_5.3.2...Microsoft.Azure.WebJobs.Extensions.Storage_5.3.3)

Updates `Microsoft.Extensions.Hosting` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Configuration.Json` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `System.Text.Json` from 8.0.4 to 8.0.5
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.4...v8.0.5)

Updates `Microsoft.Extensions.DependencyInjection` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Abstractions` from 8.0.1 to 8.0.2
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.1...v8.0.2)

Updates `Microsoft.Extensions.Logging` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Console` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

Updates `Microsoft.Extensions.Logging.Debug` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v8.0.0...v8.0.1)

---
updated-dependencies:
- dependency-name: Elastic.Apm.NetCoreAll
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-packages
- dependency-name: Microsoft.AspNetCore.Authentication.JwtBearer
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.AspNetCore.HeaderPropagation
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.AspNetCore.Mvc.NewtonsoftJson
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.AzureAppServices
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Configuration.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Console
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Configuration.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: System.Text.Json
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Debug
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.DependencyInjection
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Azure.Storage.Blobs
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Azure.Storage.Queues
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Http
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packages
- dependency-name: Microsoft.Extensions.Logging.Abstractions
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-packa…
  • Loading branch information
18 people authored Nov 25, 2024
1 parent a4f079f commit 361f460
Show file tree
Hide file tree
Showing 46 changed files with 962 additions and 91 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -386,3 +386,4 @@ terraform_output.json
/src/UKHO.SAP.MockAPIService
/tests/UKHO.ERPFacade.API.FunctionalTests/ERPFacadePayloadTestData/FMLicenseUpdate
/tests/UKHO.ERPFacade.API.FunctionalTests/Model/JSONHelperLU.cs
/tests/UKHO.ERPFacade.API.FunctionalTests/ERPFacadeGeneratedJsonFiles
34 changes: 32 additions & 2 deletions src/UKHO.ERPFacade.API/Controllers/SapCallbackController.cs
Original file line number Diff line number Diff line change
@@ -1,22 +1,52 @@
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using UKHO.ERPFacade.API.Filters;
using UKHO.ERPFacade.Common.Logging;
using UKHO.ERPFacade.Services;

namespace UKHO.ERPFacade.API.Controllers
{
[Route("api")]
[ApiController]
public class SapCallbackController : BaseController<SapCallbackController>
{
public SapCallbackController(IHttpContextAccessor contextAccessor) : base(contextAccessor)
private readonly ILogger<SapCallbackController> _logger;
private readonly IS100SapCallBackService _s100SapCallbackService;

private const string CorrelationId = "correlationId";

public SapCallbackController(IHttpContextAccessor contextAccessor,
ILogger<SapCallbackController> logger,
IS100SapCallBackService sapCallbackService)
: base(contextAccessor)
{
_logger = logger;
_s100SapCallbackService = sapCallbackService;
}

[HttpPost]
[ServiceFilter(typeof(SharedApiKeyAuthFilter))]
[Route("v2/callback/sap/s100actions/processed")]
public virtual async Task<IActionResult> S100SapCallBack([FromBody] JObject sapCallBackJson)
public virtual async Task<IActionResult> S100SapCallback([FromBody] JObject sapCallbackJson)
{
string correlationId = sapCallbackJson.GetValue(CorrelationId, StringComparison.OrdinalIgnoreCase)?.Value<string>();

_logger.LogInformation(EventIds.S100SapCallbackPayloadReceived.ToEventId(), "S-100 SAP callback received.");

if (string.IsNullOrEmpty(correlationId))
{
_logger.LogWarning(EventIds.CorrelationIdMissingInS100SapCallBack.ToEventId(), "CorrelationId is missing in S-100 SAP callback request.");
return new BadRequestObjectResult(StatusCodes.Status400BadRequest);
}

if (!await _s100SapCallbackService.IsValidCallbackAsync(correlationId))
{
_logger.LogError(EventIds.InvalidS100SapCallback.ToEventId(), "Invalid S-100 SAP callback request. Requested correlationId not found.");
return new NotFoundObjectResult(StatusCodes.Status404NotFound);
}

await _s100SapCallbackService.ProcessSapCallback(correlationId);

return new OkObjectResult(StatusCodes.Status200OK);
}
}
Expand Down
45 changes: 23 additions & 22 deletions src/UKHO.ERPFacade.API/Filters/CorrelationIdMiddleware.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ namespace UKHO.ERPFacade.API.Filters
public class CorrelationIdMiddleware
{
public const string XCorrelationIdHeaderKey = "_X-Correlation-ID";
public const string CorrelationIdKey = "data.correlationId";
public const string CorrIdKey = "corrid";
public const string CorrelationIdKey = "correlationId";

private readonly RequestDelegate _next;

Expand All @@ -18,42 +17,44 @@ public CorrelationIdMiddleware(RequestDelegate next)
public async Task InvokeAsync(HttpContext httpContext)
{
httpContext.Request.EnableBuffering();
var correlationId = Guid.NewGuid().ToString();

using var streamReader = new StreamReader(httpContext.Request.Body);
var bodyAsText = await streamReader.ReadToEndAsync();
var bodyAsString = await streamReader.ReadToEndAsync();

if (!string.IsNullOrWhiteSpace(bodyAsText))
{
var bodyAsJson = JToken.Parse(bodyAsText);
if (bodyAsJson is JArray)
{
var requestJArray = JArray.Parse(bodyAsText);
if (!string.IsNullOrEmpty(requestJArray.First.SelectToken(CorrIdKey)?.Value<string>()))
correlationId = requestJArray.First.SelectToken(CorrIdKey)?.Value<string>();
}
if (bodyAsJson is JObject)
{
var requestJObject = JObject.Parse(bodyAsText);
correlationId = requestJObject.SelectToken(CorrelationIdKey)?.Value<string>();
}
}
var correlationId = ExtractCorrelationId(bodyAsString) ?? Guid.NewGuid().ToString();

httpContext.Request.Body.Position = 0;

httpContext.Request.Headers.Append(XCorrelationIdHeaderKey, correlationId);
httpContext.Response.Headers.Append(XCorrelationIdHeaderKey, correlationId);
httpContext.Request.Headers[XCorrelationIdHeaderKey] = correlationId;
httpContext.Response.Headers[XCorrelationIdHeaderKey] = correlationId;

var state = new Dictionary<string, object>
{
[XCorrelationIdHeaderKey] = correlationId!,
[XCorrelationIdHeaderKey] = correlationId,
};

var logger = httpContext.RequestServices.GetRequiredService<ILogger<CorrelationIdMiddleware>>();

using (logger.BeginScope(state))
{
await _next(httpContext);
}
}

private string? ExtractCorrelationId(string bodyAsString)
{
if (string.IsNullOrWhiteSpace(bodyAsString))
{
return null;
}

if (JToken.Parse(bodyAsString) is JObject bodyAsJson)
{
var token = bodyAsJson.SelectToken($"..{CorrelationIdKey}");
return token?.ToString() ?? null;
}

return null;
}
}
}
26 changes: 24 additions & 2 deletions src/UKHO.ERPFacade.API/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,23 @@
using UKHO.ERPFacade.API.Handlers;
using UKHO.ERPFacade.API.Health;
using UKHO.ERPFacade.API.SapMessageBuilders;
using UKHO.ERPFacade.API.Services;
using UKHO.ERPFacade.API.Services.EventPublishingServices;
using UKHO.ERPFacade.API.XmlTransformers;
using UKHO.ERPFacade.Common.Authentication;
using UKHO.ERPFacade.Common.Configuration;
using UKHO.ERPFacade.Common.Constants;
using UKHO.ERPFacade.Common.HealthCheck;
using UKHO.ERPFacade.Common.HttpClients;
using UKHO.ERPFacade.Common.Logging;
using UKHO.ERPFacade.Common.Models;
using UKHO.ERPFacade.Common.Operations;
using UKHO.ERPFacade.Common.Operations.IO;
using UKHO.ERPFacade.Common.Operations.IO.Azure;
using UKHO.ERPFacade.Common.PermitDecryption;
using UKHO.ERPFacade.Common.Policies;
using UKHO.ERPFacade.Common.Providers;
using UKHO.ERPFacade.Services;
using UKHO.Logging.EventHubLogProvider;

namespace UKHO.ERPFacade
Expand All @@ -41,6 +47,7 @@ internal static void Main(string[] args)
EventHubLoggingConfiguration eventHubLoggingConfiguration;
SapActionConfiguration sapActionConfiguration;
S100SapActionConfiguration s100SapActionConfiguration;
RetryPolicyConfiguration retryPolicyConfiguration;

IHttpContextAccessor httpContextAccessor = new HttpContextAccessor();
var builder = WebApplication.CreateBuilder(args);
Expand Down Expand Up @@ -174,16 +181,19 @@ void ConfigAdditionalValuesProvider(IDictionary<string, object> additionalValues
builder.Services.Configure<PermitConfiguration>(configuration.GetSection("PermitConfiguration"));
builder.Services.Configure<AioConfiguration>(configuration.GetSection("AioConfiguration"));
builder.Services.Configure<SharedApiKeyConfiguration>(configuration.GetSection("SharedApiKeyConfiguration"));

builder.Services.Configure<AzureADConfiguration>(configuration.GetSection("AzureADConfiguration"));
builder.Services.Configure<EESConfiguration>(configuration.GetSection("EnterpriseEventServiceConfiguration"));
builder.Services.Configure<RetryPolicyConfiguration>(configuration.GetSection("RetryPolicyConfiguration"));
retryPolicyConfiguration = configuration.GetSection("RetryPolicyConfiguration").Get<RetryPolicyConfiguration>()!;
builder.Services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();
builder.Services.AddSingleton<ITokenProvider, ManagedIdentityTokenProvider>();

builder.Services.AddScoped<IAzureQueueReaderWriter, AzureQueueReaderWriter>();
builder.Services.AddScoped<IAzureTableReaderWriter, AzureTableReaderWriter>();
builder.Services.AddScoped<IAzureBlobReaderWriter, AzureBlobReaderWriter>();
builder.Services.AddScoped<IXmlOperations, XmlOperations>();
builder.Services.AddScoped<IFileOperations, FileOperations>();
builder.Services.AddScoped<IFileSystem, FileSystem>();
builder.Services.AddScoped<IEESClient, EESClient>();
builder.Services.AddScoped<ILicenceUpdatedSapMessageBuilder, LicenceUpdatedSapMessageBuilder>();
builder.Services.AddScoped<IWeekDetailsProvider, WeekDetailsProvider>();
builder.Services.AddScoped<IPermitDecryption, PermitDecryption>();
Expand All @@ -195,6 +205,9 @@ void ConfigAdditionalValuesProvider(IDictionary<string, object> additionalValues
builder.Services.AddKeyedScoped<IBaseXmlTransformer, S100XmlTransformer>(XmlTransformers.S100XmlTransformer);
builder.Services.AddScoped<IEventDispatcher, EventDispatcher>();
builder.Services.AddScoped<SharedApiKeyAuthFilter>();
builder.Services.AddScoped<IS100UnitOfSaleUpdatedEventPublishingService, S100UnitOfSaleUpdatedEventPublishingService>();
builder.Services.AddScoped<IS100SapCallBackService, S100SapCallBackService>();
builder.Services.AddScoped<RetryPolicyProvider>();

ConfigureHealthChecks(builder);

Expand All @@ -203,6 +216,15 @@ void ConfigAdditionalValuesProvider(IDictionary<string, object> additionalValues
c.BaseAddress = new Uri(configuration.GetValue<string>("SapConfiguration:SapBaseAddress"));
});

builder.Services.AddHttpClient<IEesClient, EesClient>(c =>
{
c.BaseAddress = new Uri(configuration.GetValue<string>("EnterpriseEventServiceConfiguration:BaseAddress"));
}).AddPolicyHandler((services, request) =>
{
var retryPolicyProvider = services.GetRequiredService<RetryPolicyProvider>();
return retryPolicyProvider.CreateRetryPolicy("Enterprise Event Service", EventIds.RetryAttemptForEnterpriseEventServiceEvent, retryPolicyConfiguration.RetryCount, retryPolicyConfiguration.Duration);
});

var app = builder.Build();

app.UseHttpsRedirection();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
using UKHO.ERPFacade.Common.Models;
using UKHO.ERPFacade.Common.Models.CloudEvents;

namespace UKHO.ERPFacade.API.Services.EventPublishingServices;

public interface IS100UnitOfSaleUpdatedEventPublishingService
{
public Task<Result> PublishEvent(BaseCloudEvent baseCloudEvent, string correlationId);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using UKHO.ERPFacade.Common.Configuration;
using UKHO.ERPFacade.Common.Constants;
using UKHO.ERPFacade.Common.HttpClients;
using UKHO.ERPFacade.Common.Logging;
using UKHO.ERPFacade.Common.Models;
using UKHO.ERPFacade.Common.Models.CloudEvents;
using UKHO.ERPFacade.Common.Operations.IO.Azure;

namespace UKHO.ERPFacade.API.Services.EventPublishingServices
{
public class S100UnitOfSaleUpdatedEventPublishingService : IS100UnitOfSaleUpdatedEventPublishingService
{
private readonly IEesClient _eesClient;
private readonly IOptions<EESConfiguration> _eesConfig;
private readonly IAzureBlobReaderWriter _azureBlobReaderWriter;
private readonly ILogger<S100UnitOfSaleUpdatedEventPublishingService> _logger;

public S100UnitOfSaleUpdatedEventPublishingService(IEesClient eesClient,
IOptions<EESConfiguration> eesConfig,
IAzureBlobReaderWriter azureBlobReaderWriter,
ILogger<S100UnitOfSaleUpdatedEventPublishingService> logger)
{
_eesClient = eesClient;
_eesConfig = eesConfig ?? throw new ArgumentNullException(nameof(eesConfig));
_azureBlobReaderWriter = azureBlobReaderWriter;
_logger = logger;
}

public async Task<Result> PublishEvent(BaseCloudEvent baseCloudEvent, string correlationId)
{
baseCloudEvent.Type = EventTypes.S100UnitOfSaleEventType;
baseCloudEvent.Source = _eesConfig.Value.SourceApplicationUri;
baseCloudEvent.Id = Guid.NewGuid().ToString();
baseCloudEvent.Time = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffffffZ");

await _azureBlobReaderWriter.UploadEventAsync(JsonConvert.SerializeObject(baseCloudEvent, Formatting.Indented), correlationId, EventPayloadFiles.S100UnitOfSaleUpdatedEventFileName);

_logger.LogInformation(EventIds.S100UnitOfSaleUpdatedEventJsonStoredInAzureBlobContainer.ToEventId(), "S-100 unit of sale updated event json payload is stored in azure blob container.");
HttpResponseMessage response = await _eesClient.PostAsync(baseCloudEvent);

if (!response.IsSuccessStatusCode)
{
return Result.Failure(response.StatusCode.ToString());
}
return Result.Success();
}
}
}
7 changes: 7 additions & 0 deletions src/UKHO.ERPFacade.API/Services/IS100SapCallBackService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace UKHO.ERPFacade.Services;

public interface IS100SapCallBackService
{
Task<bool> IsValidCallbackAsync(string correlationId);
Task ProcessSapCallback(string correlationId);
}
67 changes: 67 additions & 0 deletions src/UKHO.ERPFacade.API/Services/S100SapCallBackService.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
using Newtonsoft.Json;
using UKHO.ERPFacade.API.Services.EventPublishingServices;
using UKHO.ERPFacade.Common.Constants;
using UKHO.ERPFacade.Common.Enums;
using UKHO.ERPFacade.Common.Exceptions;
using UKHO.ERPFacade.Common.Logging;
using UKHO.ERPFacade.Common.Models.CloudEvents;
using UKHO.ERPFacade.Common.Operations.IO.Azure;
using UKHO.ERPFacade.Services;

namespace UKHO.ERPFacade.API.Services
{
public class S100SapCallBackService : IS100SapCallBackService
{
private readonly IAzureBlobReaderWriter _azureBlobReaderWriter;
private readonly IAzureTableReaderWriter _azureTableReaderWriter;
private readonly ILogger<S100SapCallBackService> _logger;
private readonly IS100UnitOfSaleUpdatedEventPublishingService _s100UnitOfSaleUpdatedEventPublishingService;

public S100SapCallBackService(IAzureBlobReaderWriter azureBlobReaderWriter,
IAzureTableReaderWriter azureTableReaderWriter,
ILogger<S100SapCallBackService> logger,
IS100UnitOfSaleUpdatedEventPublishingService s100UnitOfSaleUpdatedEventPublishingService)
{
_azureTableReaderWriter = azureTableReaderWriter;
_azureBlobReaderWriter = azureBlobReaderWriter;
_logger = logger;
_s100UnitOfSaleUpdatedEventPublishingService = s100UnitOfSaleUpdatedEventPublishingService;
}

public async Task<bool> IsValidCallbackAsync(string correlationId)
{
return await _azureTableReaderWriter.GetEntityAsync(PartitionKeys.S100PartitionKey, correlationId) is not null;
}

public async Task ProcessSapCallback(string correlationId)
{
_logger.LogInformation(EventIds.ValidS100SapCallback.ToEventId(), "Processing of valid S-100 SAP callback request started.");

await _azureTableReaderWriter.UpdateEntityAsync(PartitionKeys.S100PartitionKey, correlationId, new Dictionary<string, object> { { "ResponseDateTime", DateTime.UtcNow } });

_logger.LogInformation(EventIds.DownloadS100UnitOfSaleUpdatedEventIsStarted.ToEventId(), "Download S-100 Unit Of Sale Updated Event from blob container is started.");

var s100DataPublishingEventPayloadJson = await _azureBlobReaderWriter.DownloadEventAsync(EventPayloadFiles.S100DataEventFileName, correlationId.ToLower()).ConfigureAwait(false);

var baseCloudEvent = JsonConvert.DeserializeObject<BaseCloudEvent>(s100DataPublishingEventPayloadJson);

_logger.LogInformation(EventIds.DownloadS100UnitOfSaleUpdatedEventIsCompleted.ToEventId(), "Download S-100 Unit Of Sale Updated Event from blob container is completed.");

_logger.LogInformation(EventIds.PublishingUnitOfSaleUpdatedEventToEesStarted.ToEventId(), "The publishing unit of sale updated event to EES is started.");

var result = await _s100UnitOfSaleUpdatedEventPublishingService.PublishEvent(baseCloudEvent, correlationId);

if (!result.IsSuccess)
{
_logger.LogError(EventIds.ErrorOccurredWhilePublishingUnitOfSaleUpdatedEventToEes.ToEventId(), "Error occurred while publishing S-100 unit of sale updated event to EES.");
throw new ERPFacadeException(EventIds.ErrorOccurredWhilePublishingUnitOfSaleUpdatedEventToEes.ToEventId(), "Error occurred while publishing S-100 unit of sale updated event to EES.");
}

_logger.LogInformation(EventIds.UnitOfSaleUpdatedEventPublished.ToEventId(), "The unit of sale updated event published to EES successfully.");

await _azureTableReaderWriter.UpdateEntityAsync(PartitionKeys.S100PartitionKey, correlationId, new Dictionary<string, object> { { "Status", Status.Complete.ToString() }, { "EventPublishedDateTime", DateTime.UtcNow } });

_logger.LogInformation(EventIds.S100DataContentPublishedEventTableEntryUpdated.ToEventId(), "Status and event published date time for S-100 data content published event is updated successfully.");
}
}
}
17 changes: 12 additions & 5 deletions src/UKHO.ERPFacade.API/appsettings.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,6 @@
"SapUsernameForS100Event": "",
"SapPasswordForS100Event": ""
},
"UseLocalResources": false,
"InteractiveLoginConfiguration": {
"MicrosoftOnlineLoginUrl": "https://login.microsoftonline.com/",
"TenantId": ""
},
"EESHealthCheckEnvironmentConfiguration": {
"EESHealthCheckUrl": ""
},
Expand All @@ -71,5 +66,17 @@
},
"SharedApiKeyConfiguration": {
"SharedApiKey": ""
},
"EnterpriseEventServiceConfiguration": {
"BaseAddress": "",
"PublishEndpoint": "api/events",
"ClientId": "",
"PublisherScope": ".default",
"SourceApplicationUri": "https://erp.ukho.gov.uk",
"UseLocalResources": false
},
"RetryPolicyConfiguration": {
"RetryCount": "",
"Duration": ""
}
}
7 changes: 7 additions & 0 deletions src/UKHO.ERPFacade.Common/Authentication/ITokenProvider.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace UKHO.ERPFacade.Common.Authentication
{
public interface ITokenProvider
{
Task<string> GetTokenAsync(string scope);
}
}
Loading

0 comments on commit 361f460

Please sign in to comment.