Skip to content

Commit d3b92b7

Browse files
committed
permission sets
1 parent 763cb4b commit d3b92b7

File tree

1 file changed

+41
-5
lines changed

1 file changed

+41
-5
lines changed

Modules/CIPPCore/Public/Entrypoints/HTTP Functions/Tenant/Administration/Application Approval/Invoke-ExecAppPermissionTemplate.ps1

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function Invoke-ExecAppPermissionTemplate {
22
<#
33
.FUNCTIONALITY
4-
Entrypoint
4+
Entrypoint,AnyTenant
55
.ROLE
66
Tenant.Application.ReadWrite
77
#>
@@ -12,7 +12,9 @@ function Invoke-ExecAppPermissionTemplate {
1212

1313
$User = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($Request.Headers.'x-ms-client-principal')) | ConvertFrom-Json
1414

15-
switch ($Request.Query.Action) {
15+
$Action = $Request.Query.Action ?? $Request.Body.Action
16+
17+
switch ($Action) {
1618
'Save' {
1719
try {
1820
$Permissions = $Request.Body.Permissions
@@ -25,8 +27,11 @@ function Invoke-ExecAppPermissionTemplate {
2527
}
2628
$null = Add-CIPPAzDataTableEntity @Table -Entity $Entity -Force
2729
$Body = @{
28-
'Results' = 'Template Saved'
29-
'TemplateId' = $Entity.RowKey
30+
'Results' = 'Template Saved'
31+
'Metadata' = @{
32+
'TemplateName' = $Entity.TemplateName
33+
'TemplateId' = $Entity.RowKey
34+
}
3035
}
3136
Write-LogMessage -headers $Request.Headers -API 'ExecAppPermissionTemplate' -message "Permissions Saved for template: $($Request.Body.TemplateName)" -Sev 'Info' -LogData $Permissions
3237
} catch {
@@ -35,8 +40,39 @@ function Invoke-ExecAppPermissionTemplate {
3540
}
3641
}
3742
}
43+
'Delete' {
44+
try {
45+
$TemplateId = $Request.Body.TemplateId
46+
$Template = (Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Templates' and RowKey eq '$TemplateId'")
47+
$TemplateName = $Template.TemplateName
48+
49+
if ($TemplateId) {
50+
$null = Remove-AzDataTableEntity @Table -Entity $Template -Force
51+
$Body = @{
52+
'Results' = "Successfully deleted template '$TemplateName'"
53+
}
54+
Write-LogMessage -headers $Request.Headers -API 'ExecAppPermissionTemplate' -message "Permission template deleted: $TemplateName" -Sev 'Info'
55+
} else {
56+
$Body = @{
57+
'Results' = 'No Template ID provided for deletion'
58+
}
59+
}
60+
} catch {
61+
$Body = @{
62+
'Results' = "Failed to delete template: $($_.Exception.Message)"
63+
}
64+
}
65+
}
3866
default {
39-
$Body = Get-CIPPAzDataTableEntity @Table -Filter "PartitionKey eq 'Templates'" | ForEach-Object {
67+
# Check if TemplateId is provided to filter results
68+
$filter = "PartitionKey eq 'Templates'"
69+
if ($Request.Query.TemplateId) {
70+
$templateId = $Request.Query.TemplateId
71+
$filter = "PartitionKey eq 'Templates' and RowKey eq '$templateId'"
72+
Write-LogMessage -headers $Request.Headers -API 'ExecAppPermissionTemplate' -message "Retrieved specific template: $templateId" -Sev 'Info'
73+
}
74+
75+
$Body = Get-CIPPAzDataTableEntity @Table -Filter $filter | ForEach-Object {
4076
[PSCustomObject]@{
4177
TemplateId = $_.RowKey
4278
TemplateName = $_.TemplateName

0 commit comments

Comments
 (0)