Skip to content

Commit 58be7ea

Browse files
committed
Enhance Set-CIPPCalendarPermission to include CanViewPrivateItems parameter for improved calendar access control
1 parent 02b234e commit 58be7ea

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ function Invoke-ExecEditCalendarPermissions {
2121
$Permissions = $Request.Query.Permissions ?? $Request.Body.Permissions.value
2222
$FolderName = $Request.Query.FolderName ?? $Request.Body.FolderName
2323
$RemoveAccess = $Request.Query.RemoveAccess ?? $Request.Body.RemoveAccess.value
24+
$CanViewPrivateItems = $Request.Query.CanViewPrivateItems ?? $Request.Body.CanViewPrivateItems
2425

2526
try {
2627
if ($RemoveAccess) {
2728
$Result = Set-CIPPCalendarPermission -Headers $Headers -UserID $UserID -FolderName $FolderName -RemoveAccess $RemoveAccess -TenantFilter $TenantFilter
2829
} else {
29-
$Result = Set-CIPPCalendarPermission -Headers $Headers -UserID $UserID -FolderName $FolderName -TenantFilter $TenantFilter -UserToGetPermissions $UserToGetPermissions -Permissions $Permissions
30+
$Result = Set-CIPPCalendarPermission -Headers $Headers -UserID $UserID -FolderName $FolderName -TenantFilter $TenantFilter -UserToGetPermissions $UserToGetPermissions -Permissions $Permissions -CanViewPrivateItems $CanViewPrivateItems
3031
}
3132
$StatusCode = [HttpStatusCode]::OK
3233
} catch {

Modules/CIPPCore/Public/Set-CIPPCalendarPermission.ps1

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ function Set-CIPPCalendarPermission {
99
$folderName,
1010
$UserToGetPermissions,
1111
$LoggingName,
12-
$Permissions
12+
$Permissions,
13+
[bool]$CanViewPrivateItems
1314
)
1415

1516
try {
@@ -26,6 +27,10 @@ function Set-CIPPCalendarPermission {
2627
AccessRights = @($Permissions)
2728
User = $UserToGetPermissions
2829
}
30+
31+
if ($CanViewPrivateItems) {
32+
$CalParam | Add-Member -NotePropertyName 'SharingPermissionFlags' -NotePropertyValue 'Delegate,CanViewPrivateItems'
33+
}
2934

3035
if ($RemoveAccess) {
3136
if ($PSCmdlet.ShouldProcess("$UserID\$folderName", "Remove permissions for $LoggingName")) {
@@ -42,6 +47,9 @@ function Set-CIPPCalendarPermission {
4247
}
4348
Write-LogMessage -headers $Headers -API $APIName -tenant $TenantFilter -message "Successfully set Calendar permissions $Permissions for $LoggingName on $UserID." -sev Info
4449
$Result = "Successfully set permissions on folder $($CalParam.Identity). The user $LoggingName now has $Permissions permissions on this folder."
50+
if ($CanViewPrivateItems) {
51+
$Result += " The user can also view private items."
52+
}
4553
}
4654
}
4755
} catch {

0 commit comments

Comments
 (0)