File tree Expand file tree Collapse file tree 3 files changed +61
-15
lines changed
Expand file tree Collapse file tree 3 files changed +61
-15
lines changed Original file line number Diff line number Diff line change @@ -3,22 +3,35 @@ function Get-TeamViewerRole {
33 param (
44 [Parameter (Mandatory = $true )]
55 [securestring ]
6- $ApiToken
6+ $ApiToken ,
7+
8+ [switch ]
9+ [Alias (' ListPermissions' )]
10+ $Permissions
711 )
812
9- Begin {
10- $parameters = @ { }
11- $resourceUri = " $ ( Get-TeamViewerApiUri ) /userroles"
13+ Begin {
14+ $parameters = @ { }
15+ $resourceUri = " $ ( Get-TeamViewerApiUri ) /userroles"
16+ if ($Permissions ) {
17+ $resourceUri += ' /permissions'
18+ }
1219 }
1320
14- Process {
15- $response = Invoke-TeamViewerRestMethod `
16- - ApiToken $ApiToken `
17- - Uri $resourceUri `
18- - Method Get `
19- - Body $parameters `
20- - WriteErrorTo $PSCmdlet `
21- - ErrorAction Stop
22- Write-Output ($response.Roles | ConvertTo-TeamViewerRole )
23- }
21+ Process {
22+ $response = Invoke-TeamViewerRestMethod `
23+ - ApiToken $ApiToken `
24+ - Uri $resourceUri `
25+ - Method Get `
26+ - Body $parameters `
27+ - WriteErrorTo $PSCmdlet `
28+ - ErrorAction Stop
29+ if ($Permissions ) {
30+ return [PSCustomObject ] $response
31+ }
32+ else {
33+ Write-Output ($response.Roles | ConvertTo-TeamViewerRole )
34+ }
35+ }
2436}
37+
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ Lists all roles and their permissions in a TeamViewer company.
1414## SYNTAX
1515
1616``` powershell
17- Get-TeamViewerRole [-ApiToken] <SecureString> [<CommonParameters>]
17+ Get-TeamViewerRole [-ApiToken] <SecureString> [-Permissions] [ <CommonParameters>]
1818```
1919
2020## DESCRIPTION
@@ -31,6 +31,15 @@ PS /> Get-TeamViewerRole
3131
3232Lists all roles and their permissions.
3333
34+ ### Example 2
35+
36+ ``` powershell
37+ PS /> Get-TeamViewerRole -ApiToken $token -Permissions
38+ ```
39+
40+ Lists all the possible permissions.
41+
42+
3443## PARAMETERS
3544
3645### -ApiToken
@@ -48,6 +57,21 @@ Default value: None
4857Accept pipeline input : False
4958Accept wildcard characters : False
5059` ` `
60+ ### -Permissions
61+
62+ Return the list of currently supported permissions.
63+
64+ ` ` ` yaml
65+ Type : SwitchParameter
66+ Parameter Sets : (All)
67+ Aliases : ListPermissions
68+
69+ Required : False
70+ Position : 1
71+ Default value : None
72+ Accept pipeline input : False
73+ Accept wildcard characters : False
74+ ` ` `
5175
5276### CommonParameters
5377
@@ -66,3 +90,4 @@ An array of `TeamViewerPS.Role` objects.
6690# # NOTES
6791
6892# # RELATED LINKS
93+
Original file line number Diff line number Diff line change @@ -61,6 +61,14 @@ Describe 'Get-TeamViewerRole' {
6161 $Uri -eq ' //unit.test/userroles' -And `
6262 $Method -eq ' Get' }
6363 }
64+ It ' Should call the correct API endpoint to list permissions' {
65+ Get-TeamViewerRole - ApiToken $testApiToken - Permissions
66+
67+ Assert-MockCalled Invoke-TeamViewerRestMethod - Times 1 - Scope It - ParameterFilter {
68+ $ApiToken -eq $testApiToken -And `
69+ $Uri -eq ' //unit.test/userroles/permissions' -And `
70+ $Method -eq ' Get' }
71+ }
6472
6573 It ' Should return Role objects' {
6674 $result = Get-TeamViewerRole - ApiToken $testApiToken
You can’t perform that action at this time.
0 commit comments