Skip to content

Commit 431d1f5

Browse files
committed
Refactored to use Set-CIPPCalendarPermission
1 parent 40b91b3 commit 431d1f5

File tree

1 file changed

+12
-38
lines changed

1 file changed

+12
-38
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Email-Exchange/Administration/Invoke-ExecModifyCalPerms.ps1

Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -77,44 +77,18 @@ Function Invoke-ExecModifyCalPerms {
7777
try {
7878
Write-LogMessage -headers $Request.Headers -API $APINAME-message "Processing target user: $TargetUser" -Sev 'Debug'
7979

80-
if ($Modification -eq 'Remove') {
81-
try {
82-
$CalPerms = New-ExoRequest -Anchor $username -tenantid $Tenantfilter -cmdlet 'Remove-MailboxFolderPermission' -cmdParams @{
83-
Identity = "$($userid):\$FolderName"
84-
User = $TargetUser
85-
Confirm = $false
86-
}
87-
$null = $results.Add("Removed $($TargetUser) from $($username) $FolderName permissions")
88-
}
89-
catch {
90-
$null = $results.Add("No existing permissions to remove for $($TargetUser)")
91-
}
92-
}
93-
else {
94-
Write-LogMessage -headers $Request.Headers -API $APINAME-message "Setting permissions with AccessRights: $PermissionLevel" -Sev 'Debug'
95-
96-
$cmdParams = @{
97-
Identity = "$($userid):\$FolderName"
98-
User = $TargetUser
99-
AccessRights = $PermissionLevel
100-
Confirm = $false
101-
}
102-
103-
if ($CanViewPrivateItems) {
104-
$cmdParams['SharingPermissionFlags'] = 'Delegate,CanViewPrivateItems'
105-
}
106-
107-
try {
108-
# Try Add first
109-
$CalPerms = New-ExoRequest -Anchor $username -tenantid $Tenantfilter -cmdlet 'Add-MailboxFolderPermission' -cmdParams $cmdParams
110-
$null = $results.Add("Granted $($TargetUser) $($PermissionLevel) access to $($username) $FolderName$($CanViewPrivateItems ? ' with access to private items' : '')")
111-
}
112-
catch {
113-
# If Add fails, try Set
114-
$CalPerms = New-ExoRequest -Anchor $username -tenantid $Tenantfilter -cmdlet 'Set-MailboxFolderPermission' -cmdParams $cmdParams
115-
$null = $results.Add("Updated $($TargetUser) $($PermissionLevel) access to $($username) $FolderName$($CanViewPrivateItems ? ' with access to private items' : '')")
116-
}
117-
}
80+
$Result = Set-CIPPCalendarPermission -APIName $APIName `
81+
-Headers $Request.Headers `
82+
-RemoveAccess $(if ($Modification -eq 'Remove') { $TargetUser } else { $null }) `
83+
-TenantFilter $Tenantfilter `
84+
-UserID $userid `
85+
-folderName $FolderName `
86+
-UserToGetPermissions $TargetUser `
87+
-LoggingName $TargetUser `
88+
-Permissions $PermissionLevel `
89+
-CanViewPrivateItems $CanViewPrivateItems
90+
91+
$null = $results.Add($Result)
11892
Write-LogMessage -headers $Request.Headers -API $APINAME-message "Successfully executed $($PermissionLevel) permission modification for $($TargetUser) on $($username)" -Sev 'Info' -tenant $TenantFilter
11993
}
12094
catch {

0 commit comments

Comments
 (0)