Skip to content

Commit f77cd5a

Browse files
authored
Merge pull request KelvinTegelaar#1666 from Zacgoose/listuserpatch
Listuserpatch
2 parents 47fbc71 + cba1a33 commit f77cd5a

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Identity/Administration/Users/Invoke-ListUserCounts.ps1

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,26 @@ Function Invoke-ListUserCounts {
5656
# Execute bulk request
5757
$BulkResults = New-GraphBulkRequest -Requests @($BulkRequests) -tenantid $TenantFilter @('Users', 'LicUsers', 'GAs', 'Guests')
5858

59+
# Check if any requests failed
60+
$FailedRequests = $BulkResults | Where-Object { $_.status -ne 200 }
61+
62+
if ($FailedRequests) {
63+
# If any requests failed, return an error response
64+
$FailedIds = ($FailedRequests | ForEach-Object { $_.id }) -join ', '
65+
$ErrorMessage = "Failed to retrieve counts for: $FailedIds"
66+
67+
return ([HttpResponseContext]@{
68+
StatusCode = [HttpStatusCode]::InternalServerError
69+
Body = @{
70+
Error = $ErrorMessage
71+
Details = $FailedRequests
72+
}
73+
})
74+
}
75+
76+
# All requests succeeded, extract the counts
5977
$BulkResults | ForEach-Object {
60-
$Count = if ($_.status -eq 200) {
61-
$_.body.'@odata.count'
62-
} else {
63-
'Not available'
64-
}
78+
$Count = $_.body.'@odata.count'
6579

6680
switch ($_.id) {
6781
'Users' { $Users = $Count }
@@ -72,10 +86,13 @@ Function Invoke-ListUserCounts {
7286
}
7387

7488
} catch {
75-
$Users = 'Not available'
76-
$LicUsers = 'Not available'
77-
$GAs = 'Not available'
78-
$Guests = 'Not available'
89+
# Return error status on exception
90+
return ([HttpResponseContext]@{
91+
StatusCode = [HttpStatusCode]::InternalServerError
92+
Body = @{
93+
Error = "Failed to retrieve user counts: $($_.Exception.Message)"
94+
}
95+
})
7996
}
8097
}
8198

0 commit comments

Comments
 (0)