mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
Refactor permissions to use enums, permissions service
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
import {
|
||||
CanActivate,
|
||||
ActivatedRouteSnapshot,
|
||||
RouterStateSnapshot,
|
||||
} from '@angular/router'
|
||||
import { Injectable } from '@angular/core'
|
||||
import { SettingsService } from '../services/settings.service'
|
||||
|
||||
@Injectable()
|
||||
export class AuthGard implements CanActivate {
|
||||
constructor(public settingsService: SettingsService) {}
|
||||
|
||||
canActivate(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot
|
||||
): boolean {
|
||||
return this.settingsService.currentUserCan(route.data.requiredPermission)
|
||||
}
|
||||
}
|
19
src-ui/src/app/guards/permissions.guard.ts
Normal file
19
src-ui/src/app/guards/permissions.guard.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import {
|
||||
CanActivate,
|
||||
ActivatedRouteSnapshot,
|
||||
RouterStateSnapshot,
|
||||
} from '@angular/router'
|
||||
import { Injectable } from '@angular/core'
|
||||
import { PermissionsService } from '../services/permissions.service'
|
||||
|
||||
@Injectable()
|
||||
export class PermissionsGuard implements CanActivate {
|
||||
constructor(private permissionsService: PermissionsService) {}
|
||||
|
||||
canActivate(
|
||||
route: ActivatedRouteSnapshot,
|
||||
state: RouterStateSnapshot
|
||||
): boolean {
|
||||
return this.permissionsService.currentUserCan(route.data.requiredPermission)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user