Skip to content

Commit 9b270ec

Browse files
automated onboarding changes
1 parent eaed4f6 commit 9b270ec

File tree

2 files changed

+25
-11
lines changed

2 files changed

+25
-11
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Core/Invoke-ExecPartnerWebhook.ps1

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,21 @@ function Invoke-ExecPartnerWebhook {
1818

1919
$ConfigTable = Get-CIPPTable -TableName Config
2020
$WebhookConfig = Get-CIPPAzDataTableEntity @ConfigTable -Filter "RowKey eq 'PartnerWebhookOnboarding'"
21-
if ($WebhookConfig.StandardsExcludeAllTenants -eq $true) {
22-
$Results | Add-Member -MemberType NoteProperty -Name 'standardsExcludeAllTenants' -Value $true -Force
21+
if ($WebhookConfig) {
22+
$Results | Add-Member -MemberType NoteProperty -Name 'enabled' -Value ([bool]$WebhookConfig.Enabled) -Force
23+
if ($WebhookConfig.StandardsExcludeAllTenants -eq $true) {
24+
$Results | Add-Member -MemberType NoteProperty -Name 'standardsExcludeAllTenants' -Value $true -Force
25+
}
26+
} else {
27+
$Results | Add-Member -MemberType NoteProperty -Name 'enabled' -Value $false -Force
2328
}
2429
} catch {}
2530
if (!$Results) {
2631
$Results = [PSCustomObject]@{
2732
webhoookUrl = 'None'
2833
lastModifiedTimestamp = 'Never'
2934
webhookEvents = @()
35+
enabled = $false
3036
}
3137
}
3238
}
@@ -50,6 +56,7 @@ function Invoke-ExecPartnerWebhook {
5056
$PartnerWebhookOnboarding = [PSCustomObject]@{
5157
PartitionKey = 'Config'
5258
RowKey = 'PartnerWebhookOnboarding'
59+
Enabled = [bool]$Request.Body.enabled
5360
StandardsExcludeAllTenants = $Request.Body.standardsExcludeAllTenants
5461
}
5562
Add-CIPPAzDataTableEntity @ConfigTable -Entity $PartnerWebhookOnboarding -Force | Out-Null

Modules/CIPPCore/Public/Webhooks/Invoke-CIPPPartnerWebhookProcessing.ps1

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ function Invoke-CippPartnerWebhookProcessing {
99
$AuditLog = New-GraphGetRequest -uri $Data.AuditUri -tenantid $env:TenantID -NoAuthCheck $true -scope 'https://api.partnercenter.microsoft.com/.default'
1010
}
1111

12-
Switch ($Data.EventName) {
12+
switch ($Data.EventName) {
1313
'test-created' {
1414
Write-LogMessage -API 'Webhooks' -message 'Partner Center webhook test received' -Sev 'Info'
1515
}
@@ -62,16 +62,23 @@ function Invoke-CippPartnerWebhookProcessing {
6262
# Check for partner webhook onboarding settings
6363
$ConfigTable = Get-CIPPTable -TableName Config
6464
$WebhookConfig = Get-CIPPAzDataTableEntity @ConfigTable -Filter "RowKey eq 'PartnerWebhookOnboarding'"
65-
if ($WebhookConfig.StandardsExcludeAllTenants -eq $true) {
66-
$OnboardItem.StandardsExcludeAllTenants = $true
67-
}
6865

69-
# Add onboarding entry to the table
70-
$OnboardTable = Get-CIPPTable -TableName 'TenantOnboarding'
71-
Add-CIPPAzDataTableEntity @OnboardTable -Entity $TenantOnboarding -Force -ErrorAction Stop
66+
# Only proceed if automated onboarding is enabled
67+
if ($WebhookConfig.Enabled -eq $true) {
68+
if ($WebhookConfig.StandardsExcludeAllTenants -eq $true) {
69+
$OnboardItem.StandardsExcludeAllTenants = $true
70+
}
71+
72+
# Add onboarding entry to the table
73+
$OnboardTable = Get-CIPPTable -TableName 'TenantOnboarding'
74+
Add-CIPPAzDataTableEntity @OnboardTable -Entity $TenantOnboarding -Force -ErrorAction Stop
7275

73-
# Start onboarding
74-
Push-ExecOnboardTenantQueue -Item $OnboardItem
76+
# Start onboarding
77+
Push-ExecOnboardTenantQueue -Item $OnboardItem
78+
Write-LogMessage -API 'Webhooks' -message "Automated onboarding started for relationship $Id" -Sev 'Info'
79+
} else {
80+
Write-LogMessage -API 'Webhooks' -message "Automated onboarding is disabled. GDAP relationship $Id approved but not onboarded automatically." -Sev 'Info'
81+
}
7582
} else {
7683
if ($AuditLog) {
7784
Write-LogMessage -API 'Webhooks' -message "Partner Center $($Data.EventName) audit log webhook received" -LogData $AuditObj -Sev 'Alert'

0 commit comments

Comments
 (0)