Skip to content

Commit 5f899fb

Browse files
committed
feat: trigger automatic permission check
after 4 hours
1 parent 66d0d8c commit 5f899fb

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/CIPP/Settings/Invoke-ExecAccessChecks.ps1

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,15 @@ Function Invoke-ExecAccessChecks {
1515

1616
$Table = Get-CIPPTable -tablename 'AccessChecks'
1717
$LastRun = (Get-Date).ToUniversalTime()
18+
$4HoursAgo = (Get-Date).AddHours(-1).ToUniversalTime()
19+
$TimestampFilter = $4HoursAgo.ToString('yyyy-MM-ddTHH:mm:ss.fffK')
20+
21+
1822
switch ($Request.Query.Type) {
1923
'Permissions' {
2024
if ($Request.Query.SkipCache -ne 'true' -or $Request.Query.SkipCache -ne $true) {
2125
try {
22-
$Cache = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq 'AccessPermissions'"
26+
$Cache = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq 'AccessPermissions' and Timestamp and Timestamp ge datetime'$TimestampFilter'"
2327
$Results = $Cache.Data | ConvertFrom-Json
2428
} catch {
2529
$Results = $null
@@ -85,7 +89,7 @@ Function Invoke-ExecAccessChecks {
8589
}
8690
}
8791

88-
if ($Request.Query.SkipCache -eq 'true' -or $Request.Query.SkipCache -eq $true) {
92+
if ($Request.Query.SkipCache -eq 'true' -or $Request.Query.SkipCache -eq $true -or $LastRun -lt $4HoursAgo) {
8993
$Message = Test-CIPPAccessTenant -Headers $Request.Headers
9094
}
9195

@@ -99,7 +103,7 @@ Function Invoke-ExecAccessChecks {
99103
'GDAP' {
100104
if (!$Request.Query.SkipCache -eq 'true' -or !$Request.Query.SkipCache -eq $true) {
101105
try {
102-
$Cache = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq 'GDAPRelationships'"
106+
$Cache = Get-CIPPAzDataTableEntity @Table -Filter "RowKey eq 'GDAPRelationships' and Timestamp ge datetime'$TimestampFilter'"
103107
$Results = $Cache.Data | ConvertFrom-Json
104108
} catch {
105109
$Results = $null

0 commit comments

Comments
 (0)