Skip to content

Commit

Permalink
Refactor logging and variable naming in email connector functions for…
Browse files Browse the repository at this point in the history
… consistency
  • Loading branch information
kris6673 committed Feb 4, 2025
1 parent a63052c commit 845fc60
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,28 +11,32 @@ Function Invoke-EditExConnector {
param($Request, $TriggerMetadata)

$APIName = $TriggerMetadata.FunctionName
Write-LogMessage -user $Request.Headers.'x-ms-client-principal' -API $APINAME -message 'Accessed this API' -Sev 'Debug'
$Tenantfilter = $request.Query.tenantfilter ?? $Request.Body.tenantfilter
$ExecutingUser = $Request.headers.'x-ms-client-principal'
Write-LogMessage -user $ExecutingUser -API $APINAME -message 'Accessed this API' -Sev 'Debug'
$TenantFilter = $Request.Query.tenantFilter ?? $Request.Body.tenantFilter
try {
$ConnectorState = $Request.Query.State ?? $Request.Body.State
$State = if ($ConnectorState -eq 'enable') { $true } else { $false }
$State = if ($ConnectorState -eq 'Enable') { $true } else { $false }
$Guid = $Request.Query.GUID ?? $Request.Body.GUID
$type = $Request.Query.Type ?? $Request.Body.Type
$Type = $Request.Query.Type ?? $Request.Body.Type
$Params = @{
Identity = $Guid
Enabled = $State
}
$null = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Set-$($Type)Connector" -cmdParams $params -UseSystemMailbox $true
$null = New-ExoRequest -tenantid $TenantFilter -cmdlet "Set-$($Type)Connector" -cmdParams $params -UseSystemMailbox $true
$Result = "Set Connector $($Guid) to $($ConnectorState)"
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Set Connector $($Request.query.guid) to $($request.query.State)" -sev 'Info'
Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $TenantFilter -message "Set Connector $($Guid) to $($ConnectorState)" -sev Info
$StatusCode = [HttpStatusCode]::OK
} catch {
Write-LogMessage -user $request.headers.'x-ms-client-principal' -API $APINAME -tenant $tenantfilter -message "Failed setting Connector $($Guid) to $($ConnectorState). Error:$($_.Exception.Message)" -Sev 'Error'
$ErrorMessage = Get-NormalizedError -Message $_.Exception
$Result = $ErrorMessage
$ErrorMessage = Get-CIPPException -Exception $_
Write-LogMessage -user $ExecutingUser -API $APINAME -tenant $TenantFilter -message "Failed setting Connector $($Guid) to $($ConnectorState). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage
$Result = $ErrorMessage.NormalizedError
$StatusCode = [HttpStatusCode]::Forbidden
}

# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
StatusCode = $StatusCode
Body = @{Results = $Result }
})

Expand Down
22 changes: 13 additions & 9 deletions Modules/CIPPCore/Public/Invoke-RemoveExConnector.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -11,24 +11,28 @@ Function Invoke-RemoveExConnector {
param($Request, $TriggerMetadata)

$APIName = $TriggerMetadata.FunctionName
$User = $request.headers.'x-ms-client-principal'
Write-LogMessage -user $User -API $APINAME -message 'Accessed this API' -Sev 'Debug'
$Tenantfilter = $request.Query.tenantfilter ?? $Request.Body.tenantfilter
$Type = $Request.Query.Type ?? $Request.Body.Type
$ExecutingUser = $request.headers.'x-ms-client-principal'
$TenantFilter = $request.Query.tenantFilter ?? $Request.Body.tenantFilter
Write-LogMessage -user $ExecutingUser -API $APINAME -message 'Accessed this API' -Sev 'Debug'

try {
$Type = $Request.Query.Type ?? $Request.Body.Type
$Guid = $Request.Query.GUID ?? $Request.Body.GUID
$Params = @{ Identity = $Guid }
$null = New-ExoRequest -tenantid $Tenantfilter -cmdlet "Remove-$($Type)Connector" -cmdParams $params -useSystemMailbox $true
$Result = "Deleted $($Guid)"
Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Deleted transport rule $($Guid)" -sev Debug

$null = New-ExoRequest -tenantid $TenantFilter -cmdlet "Remove-$($Type)Connector" -cmdParams $params -useSystemMailbox $true
$Result = "Deleted Connector: $($Guid)"
Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Deleted connector $($Guid)" -sev Debug
$StatusCode = [HttpStatusCode]::OK
} catch {
$ErrorMessage = Get-CippException -Exception $_
Write-LogMessage -user $User -API $APIName -tenant $tenantfilter -message "Failed deleting transport rule $($Guid). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage
Write-LogMessage -user $ExecutingUser -API $APIName -tenant $TenantFilter -message "Failed deleting connector $($Guid). Error:$($ErrorMessage.NormalizedError)" -Sev Error -LogData $ErrorMessage
$Result = $ErrorMessage.NormalizedError
$StatusCode = [HttpStatusCode]::Forbidden
}
# Associate values to output bindings by calling 'Push-OutputBinding'.
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode = [HttpStatusCode]::OK
StatusCode = $StatusCode
Body = @{Results = $Result }
})

Expand Down

0 comments on commit 845fc60

Please sign in to comment.