diff --git a/.github/workflows/powershell_nightly.yml b/.github/workflows/powershell_nightly.yml index 8a56f9b..f9887bd 100644 --- a/.github/workflows/powershell_nightly.yml +++ b/.github/workflows/powershell_nightly.yml @@ -24,4 +24,4 @@ jobs: - name: Run Pester Tests shell: pwsh run: | - Invoke-Pester -Path ./Scripts/Tests -CI + Invoke-Pester -Path ./ScheduledTasks/SettlementProcessing/Scripts/Tests -CI diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 0c82218..394506b 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -53,4 +53,4 @@ jobs: - name: Run Pester Tests shell: pwsh run: | - Invoke-Pester -Path ./Scripts/Tests -CI + Invoke-Pester -Path ./ScheduledTasks/SettlementProcessing/Tests -CI diff --git a/ScheduledTasks/SettlementProcessing/DailySettlementProcessingTask.xml b/ScheduledTasks/SettlementProcessing/DailySettlementProcessingTask.xml new file mode 100644 index 0000000..13882de Binary files /dev/null and b/ScheduledTasks/SettlementProcessing/DailySettlementProcessingTask.xml differ diff --git a/Scripts/Invoke-DailySettlementProcessing.ps1 b/ScheduledTasks/SettlementProcessing/Invoke-DailySettlementProcessing.ps1 similarity index 90% rename from Scripts/Invoke-DailySettlementProcessing.ps1 rename to ScheduledTasks/SettlementProcessing/Invoke-DailySettlementProcessing.ps1 index 7a85871..29f0dfa 100644 --- a/Scripts/Invoke-DailySettlementProcessing.ps1 +++ b/ScheduledTasks/SettlementProcessing/Invoke-DailySettlementProcessing.ps1 @@ -53,6 +53,7 @@ function Get-AccessToken { if ($tokenResponse.ContainsKey($propertyName)) { $accessToken = [string]$tokenResponse[$propertyName] if (-not [string]::IsNullOrWhiteSpace($accessToken)) { + Write-Host "Got an access token 1" return $accessToken } } @@ -64,6 +65,7 @@ function Get-AccessToken { if ($null -ne $property) { $accessToken = [string]$property.Value if (-not [string]::IsNullOrWhiteSpace($accessToken)) { + Write-Host "Got an access token 2" return $accessToken } } @@ -126,7 +128,7 @@ function Get-MerchantId { } if ($Merchant -is [hashtable]) { - foreach ($propertyName in 'merchantId', 'MerchantId', 'id', 'Id') { + foreach ($propertyName in 'merchant_Id', 'MerchantId', 'id', 'Id') { if ($Merchant.ContainsKey($propertyName)) { $merchantId = [string]$Merchant[$propertyName] if (-not [string]::IsNullOrWhiteSpace($merchantId)) { @@ -136,7 +138,7 @@ function Get-MerchantId { } } else { - foreach ($propertyName in 'merchantId', 'MerchantId', 'id', 'Id') { + foreach ($propertyName in 'merchant_Id', 'MerchantId', 'id', 'Id') { $property = $Merchant.PSObject.Properties[$propertyName] if ($null -ne $property) { $merchantId = [string]$property.Value @@ -175,20 +177,20 @@ function Invoke-DailySettlementProcessing { } $normalizedBaseUrl = $BaseUrl.TrimEnd('/') - $merchantsEndpoint = '{0}/api/v2/estates/{1}/merchants' -f $normalizedBaseUrl, $EstateId - Write-Verbose "Requesting merchants from [$merchantsEndpoint]" + $merchantsEndpoint = '{0}/api/estates/{1}/merchants' -f $normalizedBaseUrl, $EstateId + Write-Host "Requesting merchants from [$merchantsEndpoint]" $merchantResponse = Invoke-RestMethod -Method Get -Uri $merchantsEndpoint -Headers $headers $merchantIds = @(Get-MerchantItems -MerchantResponse $merchantResponse | ForEach-Object { Get-MerchantId -Merchant $_ }) if ($merchantIds.Count -eq 0) { - Write-Verbose "No merchants were returned for estate [$EstateId]" + Write-Host "No merchants were returned for estate [$EstateId]" return } foreach ($merchantId in $merchantIds) { $settlementEndpoint = '{0}/api/estates/{1}/settlements/{2}/merchants/{3}' -f $normalizedBaseUrl, $EstateId, $settlementDate, $merchantId - Write-Verbose "Submitting settlement for merchant [$merchantId] using [$settlementEndpoint]" + Write-Host "Submitting settlement for merchant [$merchantId] using [$settlementEndpoint]" Invoke-RestMethod -Method Post -Uri $settlementEndpoint -Headers $headers } } diff --git a/Scripts/Tests/Invoke-DailySettlementProcessing.Tests.ps1 b/ScheduledTasks/SettlementProcessing/Tests/Invoke-DailySettlementProcessing.Tests.ps1 similarity index 96% rename from Scripts/Tests/Invoke-DailySettlementProcessing.Tests.ps1 rename to ScheduledTasks/SettlementProcessing/Tests/Invoke-DailySettlementProcessing.Tests.ps1 index dd6ec1f..e00179c 100644 --- a/Scripts/Tests/Invoke-DailySettlementProcessing.Tests.ps1 +++ b/ScheduledTasks/SettlementProcessing/Tests/Invoke-DailySettlementProcessing.Tests.ps1 @@ -26,7 +26,7 @@ Describe 'Invoke-DailySettlementProcessing.ps1' { } } -ParameterFilter { $Method -eq 'Get' -and - $Uri -eq 'https://api.example/api/v2/estates/estate-123/merchants' -and + $Uri -eq 'https://api.example/api/estates/estate-123/merchants' -and $Headers.Authorization -eq 'Bearer access-token' } diff --git a/Scripts/DailySettlementProcessingTask.xml b/Scripts/DailySettlementProcessingTask.xml deleted file mode 100644 index b293b87..0000000 --- a/Scripts/DailySettlementProcessingTask.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - 2026-03-12T00:00:00 - TransactionProcessing - Runs the daily settlement processing PowerShell script once per day. - - - - 2026-03-13T01:00:00 - true - - 1 - - - - - - S-1-5-18 - ServiceAccount - HighestAvailable - - - - IgnoreNew - false - false - true - true - true - - false - false - - true - true - false - false - false - true - false - PT1H - 7 - - - - powershell.exe - -NoProfile -ExecutionPolicy Bypass -File "C:\SupportTools\Scripts\Invoke-DailySettlementProcessing.ps1" -EstateId "__ESTATE_ID__" -BaseUrl "__BASE_URL__" -SecurityServiceUrl "__SECURITY_SERVICE_URL__" -ClientId "__CLIENT_ID__" -ClientSecret "__CLIENT_SECRET__" - C:\SupportTools\Scripts - - -