File tree Expand file tree Collapse file tree 1 file changed +15
-5
lines changed
components/server/src/auth Expand file tree Collapse file tree 1 file changed +15
-5
lines changed Original file line number Diff line number Diff line change @@ -463,16 +463,26 @@ export class RepositoryResourceGuard implements ResourceAccessGuard {
463
463
constructor ( protected readonly user : User , protected readonly hostContextProvider : HostContextProvider ) { }
464
464
465
465
async canAccess ( resource : GuardedResource , operation : ResourceAccessOp ) : Promise < boolean > {
466
- if ( resource . kind !== "workspaceLog" && resource . kind !== "snapshot" ) {
467
- return false ;
468
- }
469
- // only get operations are supported
466
+ // Only get operations are supported
470
467
if ( operation !== "get" ) {
471
468
return false ;
472
469
}
473
470
471
+ // Get Workspace from GuardedResource
472
+ let workspace : Workspace ;
473
+ switch ( resource . kind ) {
474
+ case "workspaceLog" :
475
+ workspace = resource . subject ;
476
+ break ;
477
+ case "snapshot" :
478
+ workspace = resource . workspace ;
479
+ break ;
480
+ default :
481
+ // We do not handle resource kinds here!
482
+ return false ;
483
+ }
484
+
474
485
// Check if user has at least read access to the repository
475
- const workspace = resource . kind === "snapshot" ? resource . workspace : resource . subject ;
476
486
const repos : Repository [ ] = [ ] ;
477
487
if ( CommitContext . is ( workspace . context ) ) {
478
488
repos . push ( workspace . context . repository ) ;
You can’t perform that action at this time.
0 commit comments