|
48 | 48 | $SecurityToken, |
49 | 49 |
|
50 | 50 | # The Project ID. |
51 | | - # If this is provided without anything else, will get permissions for the projectID |
| 51 | + # If this is provided without anything else, will get permissions for the projectID |
52 | 52 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='Project')] |
53 | 53 | [Parameter(ValueFromPipelineByPropertyName,ParameterSetName='Analytics')] |
54 | 54 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='AreaPath')] |
|
58 | 58 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='BuildDefinition')] |
59 | 59 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='BuildPermission')] |
60 | 60 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='IterationPath')] |
61 | | - [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='RepositoryID')] |
| 61 | + [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='RepositoryID')] |
62 | 62 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='ProjectRepository')] |
63 | | - [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='ProjectOverview')] |
| 63 | + [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='ProjectOverview')] |
64 | 64 | [Alias('Project')] |
65 | 65 | [string] |
66 | 66 | $ProjectID, |
|
114 | 114 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='Plan')] |
115 | 115 | [switch] |
116 | 116 | $Plan, |
117 | | - |
| 117 | + |
118 | 118 | # If set, will get dashboard permissions related to the current project. |
119 | 119 | [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='Dashboard')] |
120 | 120 | [Alias('Dashboards')] |
|
137 | 137 | $BuildPermission, |
138 | 138 |
|
139 | 139 | # If provided, will get build and release permissions for a given project's repositoryID |
140 | | - [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='RepositoryID')] |
| 140 | + [Parameter(Mandatory,ValueFromPipelineByPropertyName,ParameterSetName='RepositoryID')] |
141 | 141 | [string] |
142 | 142 | $RepositoryID, |
143 | 143 |
|
144 | | - # If provided, will get permissions for a given branch within a repository |
| 144 | + # If provided, will get permissions for a given branch within a repository |
145 | 145 | [Parameter(ValueFromPipelineByPropertyName,ParameterSetName='RepositoryID')] |
146 | 146 | [Parameter(ValueFromPipelineByPropertyName,ParameterSetName='AllRepositories')] |
147 | 147 | [string] |
|
216 | 216 | if (-not $ProjectID) { return } |
217 | 217 | } |
218 | 218 | $psBoundParameters["ParameterSet"] ='accesscontrollists/{NamespaceId}' |
219 | | - switch -Regex ($psCmdlet.ParameterSetName) { |
| 219 | + switch -Regex ($psCmdlet.ParameterSetName) { |
220 | 220 | Project { |
221 | 221 | $null = $PSBoundParameters.Remove('ProjectID') |
222 | | - $q.Enqueue(@{ |
| 222 | + $q.Enqueue(@{ |
223 | 223 | NamespaceID = '52d39943-cb85-4d7f-8fa8-c6baac873819' |
224 | 224 | SecurityToken = "`$PROJECT:vstfs:///Classification/TeamProject/$ProjectID" |
225 | 225 | } + $PSBoundParameters) |
|
232 | 232 | } else { |
233 | 233 | Get-ADOIterationPath -Organization $Organization -Project $ProjectID -IterationPath $iterationPath |
234 | 234 | } |
235 | | - |
| 235 | + |
236 | 236 | if (-not $gotPath) { |
237 | 237 | continue |
238 | 238 | } |
|
247 | 247 | ) |
248 | 248 |
|
249 | 249 | [Array]::Reverse($PathIdList) |
250 | | - |
| 250 | + |
251 | 251 | $null = $PSBoundParameters.Remove('ProjectID') |
252 | | - |
253 | | - $q.Enqueue(@{ |
254 | | - NamespaceID = |
255 | | - if ($psCmdlet.ParameterSetName -eq 'AreaPath') { |
| 252 | + |
| 253 | + $q.Enqueue(@{ |
| 254 | + NamespaceID = |
| 255 | + if ($psCmdlet.ParameterSetName -eq 'AreaPath') { |
256 | 256 | '83e28ad4-2d72-4ceb-97b0-c7726d5502c3' |
257 | 257 | } else { |
258 | | - 'bf7bfa03-b2b7-47db-8113-fa2e002cc5b1' |
| 258 | + 'bf7bfa03-b2b7-47db-8113-fa2e002cc5b1' |
259 | 259 | } |
260 | 260 | SecurityToken = @(foreach($PathId in $PathIdList) { |
261 | 261 | "vstfs:///Classification/Node/$PathId" |
|
264 | 264 | } |
265 | 265 | Analytics { |
266 | 266 | $null = $PSBoundParameters.Remove('ProjectID') |
267 | | - $q.Enqueue(@{ |
268 | | - NamespaceID = if ($ProjectID) { '58450c49-b02d-465a-ab12-59ae512d6531' } else { 'd34d3680-dfe5-4cc6-a949-7d9c68f73cba'} |
| 267 | + $q.Enqueue(@{ |
| 268 | + NamespaceID = if ($ProjectID) { '58450c49-b02d-465a-ab12-59ae512d6531' } else { 'd34d3680-dfe5-4cc6-a949-7d9c68f73cba'} |
269 | 269 | SecurityToken = "`$/$(if ($ProjectID) { $ProjectID } else { 'Shared' })" |
270 | 270 | } + $PSBoundParameters) |
271 | 271 | } |
272 | 272 | Dashboard { |
273 | 273 | $null = $PSBoundParameters.Remove('ProjectID') |
274 | | - $q.Enqueue(@{ |
| 274 | + $q.Enqueue(@{ |
275 | 275 | NamespaceID = '8adf73b7-389a-4276-b638-fe1653f7efc7' |
276 | 276 | SecurityToken = "$/$(if ($ProjectID) { $ProjectID })/$(if ($teamID) { $teamid } else { [guid]::Empty } )" |
277 | 277 | } + $PSBoundParameters) |
278 | 278 | } |
279 | 279 | ProjectOverview { |
280 | 280 | $null = $psboundParameters.Remove('Recurse') |
281 | | - $q.Enqueue(@{ |
| 281 | + $q.Enqueue(@{ |
282 | 282 | NamespaceID = '52d39943-cb85-4d7f-8fa8-c6baac873819' # Project permissions |
283 | 283 | SecurityToken = "`$PROJECT:vstfs:///Classification/TeamProject/$ProjectID" |
284 | 284 | } + $PSBoundParameters) |
285 | | - $q.Enqueue(@{ |
| 285 | + $q.Enqueue(@{ |
286 | 286 | NamespaceID = '2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87' # Repositories |
287 | 287 | SecurityToken = "reposV2/$projectId" |
288 | 288 | Recurse = $true |
289 | 289 | } + $PSBoundParameters) |
290 | | - $q.Enqueue(@{ |
| 290 | + $q.Enqueue(@{ |
291 | 291 | NamespaceID = '33344d9c-fc72-4d6f-aba5-fa317101a7e9' # Build definitions |
292 | 292 | SecurityToken = "$ProjectID/" |
293 | 293 | Recurse = $true |
294 | 294 | } + $PSBoundParameters) |
295 | | - $q.Enqueue(@{ |
| 295 | + $q.Enqueue(@{ |
296 | 296 | NamespaceID = 'c788c23e-1b46-4162-8f5e-d7585343b5de' # Releases |
297 | 297 | SecurityToken = "$ProjectID/" |
298 | 298 | Recurse = $true |
299 | 299 | } + $PSBoundParameters) |
300 | | - $q.Enqueue(@{ |
| 300 | + $q.Enqueue(@{ |
301 | 301 | NamespaceID = '8adf73b7-389a-4276-b638-fe1653f7efc7' # Dashboards |
302 | 302 | SecurityToken = "`$/$ProjectID/" |
303 | 303 | Recurse = $true |
304 | 304 | } + $PSBoundParameters) |
305 | | - $q.Enqueue(@{ |
| 305 | + $q.Enqueue(@{ |
306 | 306 | NamespaceID = '49b48001-ca20-4adc-8111-5b60c903a50c' # Service Endpoints |
307 | 307 | SecurityToken = "endpoints/$ProjectID" |
308 | 308 | Recurse = $true |
309 | 309 | } + $PSBoundParameters) |
310 | | - $q.Enqueue(@{ |
| 310 | + $q.Enqueue(@{ |
311 | 311 | NamespaceID = 'cb594ebe-87dd-4fc9-ac2c-6a10a4c92046' # Service Hooks |
312 | 312 | SecurityToken = "PublisherSecurity/$ProjectID" |
313 | 313 | Recurse = $true |
314 | 314 | } + $PSBoundParameters) |
315 | 315 | } |
316 | 316 | Plan { |
317 | | - $q.Enqueue(@{ |
| 317 | + $q.Enqueue(@{ |
318 | 318 | NamespaceID = 'bed337f8-e5f3-4fb9-80da-81e17d06e7a8' |
319 | 319 | SecurityToken = "Plan" |
320 | 320 | } + $PSBoundParameters) |
321 | 321 | } |
322 | 322 | Tagging { |
323 | 323 |
|
324 | | - $q.Enqueue(@{ |
| 324 | + $q.Enqueue(@{ |
325 | 325 | NamespaceID = 'bb50f182-8e5e-40b8-bc21-e8752a1e7ae2' |
326 | 326 | SecurityToken = "/$ProjectID" |
327 | 327 | } + $PSBoundParameters) |
328 | 328 | } |
329 | 329 | ManageTFVC { |
330 | 330 |
|
331 | | - $q.Enqueue(@{ |
| 331 | + $q.Enqueue(@{ |
332 | 332 | NamespaceID = 'a39371cf-0841-4c16-bbd3-276e341bc052' |
333 | 333 | SecurityToken = "/$ProjectID" |
334 | 334 | } + $PSBoundParameters) |
335 | 335 | } |
336 | 336 | 'BuildDefinition|BuildPermission' { |
337 | 337 |
|
338 | | - $q.Enqueue(@{ |
| 338 | + $q.Enqueue(@{ |
339 | 339 | NamespaceID = 'a39371cf-0841-4c16-bbd3-276e341bc052' |
340 | 340 | SecurityToken = "$ProjectID$(($buildpath -replace '\\','/').TrimEnd('/'))/$DefinitionID" |
341 | 341 | } + $PSBoundParameters) |
342 | | - $q.Enqueue(@{ |
| 342 | + $q.Enqueue(@{ |
343 | 343 | NamespaceID = 'c788c23e-1b46-4162-8f5e-d7585343b5de' |
344 | 344 | SecurityToken = "$ProjectID$(($buildpath -replace '\\','/').TrimEnd('/'))/$DefinitionID" |
345 | 345 | } + $PSBoundParameters) |
346 | 346 | } |
347 | 347 | 'RepositoryID|AllRepositories|ProjectRepository' { |
348 | 348 |
|
349 | | - $q.Enqueue(@{ |
| 349 | + $q.Enqueue(@{ |
350 | 350 | NamespaceID = '2e9eb7ed-3c0a-47d4-87c1-0ffdd275fd87' |
351 | 351 | SecurityToken = "repo$( |
352 | 352 | if ($psCmdlet.ParameterSetName -eq 'AllRepositories') {'s'})V2$( |
@@ -491,7 +491,7 @@ if ($BranchName) { |
491 | 491 | switch ($namespace.Name) { |
492 | 492 | Project { $inputObject } |
493 | 493 | 'Git Repositories' { |
494 | | - foreach ($repo in $ProjectRepository) { |
| 494 | + foreach ($repo in $projectRepositories) { |
495 | 495 | if ($aclOut.Token -like "*/$($repo.id)*") { |
496 | 496 | $repo;break |
497 | 497 | } |
|
0 commit comments