Skip to content

Commit 9d95cad

Browse files
committed
Merge branch 'dev' of https://github.com/KelvinTegelaar/CIPP-API into dev
2 parents 3626906 + 77a6312 commit 9d95cad

File tree

4 files changed

+31
-62
lines changed

4 files changed

+31
-62
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Standards/Invoke-ListStandardsCompare.ps1

Lines changed: 15 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -10,62 +10,25 @@ Function Invoke-ListStandardsCompare {
1010
[CmdletBinding()]
1111
param($Request, $TriggerMetadata)
1212

13-
# Create mock data for testing with the correct API structure
14-
# Only tenant data with values, no compliance information or standard values
15-
$Results = @(
16-
@{
17-
tenantFilter = 'TenantOne'
18-
standardsResults = @(
19-
@{
20-
standardId = 'standards.MailContacts'
21-
standardName = 'Mail Contacts'
22-
value = @{
23-
GeneralContact = '[email protected]'
24-
SecurityContact = '[email protected]'
25-
MarketingContact = '[email protected]'
26-
TechContact = '[email protected]'
27-
}
28-
},
29-
@{
30-
standardId = 'standards.AuditLog'
31-
standardName = 'Audit Log'
32-
value = $true
33-
},
34-
@{
35-
standardId = 'standards.ProfilePhotos'
36-
standardName = 'Profile Photos'
37-
value = @{
38-
state = @{
39-
label = 'Enabled'
40-
value = 'enabled'
41-
}
42-
}
43-
}
44-
)
45-
},
46-
@{
47-
tenantFilter = 'dev.johnwduprey.com'
48-
standardsResults = @(
49-
@{
50-
standardId = 'standards.MailContacts'
51-
standardName = 'Mail Contacts'
52-
value = @{
53-
GeneralContact = '[email protected]'
54-
SecurityContact = '[email protected]'
55-
}
56-
},
57-
@{
58-
standardId = 'standards.AuditLog'
59-
standardName = 'Audit Log'
60-
value = $false
13+
$Table = Get-CIPPTable -TableName 'CippStandardsReports'
14+
$Results = Get-CIPPAzDataTableEntity @Table
15+
16+
#in the results we have objects starting with "standards." All these have to be converted from JSON. Do not do this is its a boolean
17+
$Results | ForEach-Object {
18+
$Object = $_
19+
$Object.PSObject.Properties | ForEach-Object {
20+
if ($_.Name -like 'standards.*') {
21+
if ($_.Value -isnot [System.Boolean]) {
22+
$_.Value = ConvertFrom-Json -InputObject $_.Value -ErrorAction SilentlyContinue
6123
}
62-
)
24+
}
6325
}
64-
)
65-
26+
}
27+
28+
6629
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
6730
StatusCode = [HttpStatusCode]::OK
68-
Body = (ConvertTo-Json -Depth 15 -InputObject $Results)
31+
Body = @($Results)
6932
})
7033

7134
}

Modules/CIPPCore/Public/Set-StandardCompareField.ps1

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,20 @@ function Set-CIPPStandardsCompareField {
66
)
77
$Table = Get-CippTable -tablename 'CippStandardsReports'
88
$TenantName = Get-Tenants | Where-Object -Property defaultDomainName -EQ $Tenant
9-
$FieldValue = ConvertTo-Json -Compress -InputObject $FieldValue | Out-String
9+
if ($FieldValue -is [System.Boolean]) {
10+
$fieldValue = [bool]$FieldValue
11+
} elseif ($FieldValue -is [string]) {
12+
$FieldValue = [string]$FieldValue
13+
} else {
14+
$FieldValue = ConvertTo-Json -Compress -InputObject @($FieldValue) -Depth 10 | Out-String
15+
$FieldValue = [string]$FieldValue
16+
}
1017

1118
$Existing = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'StandardReport' and RowKey eq '$($TenantName.defaultDomainName)'"
1219
if ($Existing) {
13-
$Existing = $Existing | Select-Object * -ExcludeProperty ETag, TimeStamp | ConvertTo-Json -Compress | ConvertFrom-Json -AsHashtable
14-
$Existing[$FieldName] = "$FieldValue"
15-
$Existing['LastRefresh'] = [string]$(Get-Date (Get-Date).ToUniversalTime() -UFormat '+%Y-%m-%dT%H:%M:%S.000Z')
20+
$Existing = $Existing | Select-Object * -ExcludeProperty ETag, TimeStamp | ConvertTo-Json -Depth 10 -Compress | ConvertFrom-Json -AsHashtable
21+
$Existing[$FieldName] = $FieldValue
22+
$Existing['LastRefresh'] = [string]$(Get-Date (Get-Date).ToUniversalTime() -UFormat '+%Y-%m-%dT%H:%M:%S.000Z')
1623
$Existing = [PSCustomObject]$Existing
1724

1825
Add-CIPPAzDataTableEntity @Table -Entity $Existing -Force
@@ -23,8 +30,8 @@ function Set-CIPPStandardsCompareField {
2330
RowKey = "$($TenantName.defaultDomainName)"
2431
PartitionKey = 'StandardReport'
2532
LastRefresh = [string]$(Get-Date (Get-Date).ToUniversalTime() -UFormat '+%Y-%m-%dT%H:%M:%S.000Z')
26-
}
27-
$Result[$FieldName] = "$FieldValue"
33+
}
34+
$Result[$FieldName] = $FieldValue
2835
Add-CIPPAzDataTableEntity @Table -Entity $Result -Force
2936

3037
}

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnableMailTips.ps1

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,12 @@ function Invoke-CIPPStandardEnableMailTips {
5858
if ($StateIsCorrect -eq $true) {
5959
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'All MailTips are enabled' -sev Info
6060
} else {
61-
Write-StandardsAlert -message "Not all MailTips are enabled" -object $MailTipsState -tenant $Tenant -standardName 'EnableMailTips' -standardId $Settings.standardId
61+
Write-StandardsAlert -message 'Not all MailTips are enabled' -object $MailTipsState -tenant $Tenant -standardName 'EnableMailTips' -standardId $Settings.standardId
6262
Write-LogMessage -API 'Standards' -tenant $Tenant -message 'Not all MailTips are enabled' -sev Info
6363
}
6464
}
6565

6666
if ($Settings.report -eq $true) {
67-
6867
Add-CIPPBPAField -FieldName 'MailTipsEnabled' -FieldValue $StateIsCorrect -StoreAs bool -Tenant $tenant
6968
}
7069

Modules/CIPPCore/Public/Standards/Invoke-CIPPStandardEnablePronouns.ps1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@ function Invoke-CIPPStandardEnablePronouns {
6363
if ($CurrentState.isEnabledInOrganization -eq $true) {
6464
Write-LogMessage -API 'Standards' -tenant $tenant -message 'Pronouns are enabled.' -sev Info
6565
} else {
66-
Write-StandardsAlert -message "Pronouns are not enabled" -object $CurrentState -tenant $tenant -standardName 'EnablePronouns' -standardId $Settings.standardId
66+
Write-StandardsAlert -message 'Pronouns are not enabled' -object $CurrentState -tenant $tenant -standardName 'EnablePronouns' -standardId $Settings.standardId
6767
Write-LogMessage -API 'Standards' -tenant $tenant -message 'Pronouns are not enabled.' -sev Info
6868
}
6969
}
7070

7171
if ($Settings.report -eq $true) {
72-
72+
Set-CIPPStandardsCompareField -FieldName 'standards.EnablePronouns' -FieldValue $CurrentState.isEnabledInOrganization -Tenant $tenant
7373
Add-CIPPBPAField -FieldName 'PronounsEnabled' -FieldValue $CurrentState.isEnabledInOrganization -StoreAs bool -Tenant $tenant
7474
}
7575
}

0 commit comments

Comments
 (0)