added permission caching (#3877)

This commit is contained in:
Kevin Papst
2023-02-25 20:57:48 +01:00
committed by GitHub
parent 3c28288cac
commit a8b972f8a5
7 changed files with 90 additions and 24 deletions

View File

@@ -10,7 +10,7 @@
namespace App\Security;
use App\Entity\User;
use App\Repository\RolePermissionRepository;
use App\User\PermissionService;
final class RolePermissionManager
{
@@ -29,11 +29,11 @@ final class RolePermissionManager
private bool $isInitialized = false;
/**
* @param RolePermissionRepository $repository
* @param PermissionService $service
* @param array<string, array<string, bool>> $permissions as defined in kimai.yaml
* @param array<string, bool> $permissionNames as defined in kimai.yaml
*/
public function __construct(private RolePermissionRepository $repository, private array $permissions, private array $permissionNames)
public function __construct(private PermissionService $service, private array $permissions, private array $permissionNames)
{
}
@@ -43,7 +43,7 @@ final class RolePermissionManager
return;
}
foreach ($this->repository->getAllAsArray() as $item) {
foreach ($this->service->getPermissions() as $item) {
$perm = (string) $item['permission'];
$role = (string) $item['role'];