1
0
Files
breadcrumb-the-shire/lib/Service/Access/AccessGatewayFactory.php

31 lines
958 B
PHP
Raw Normal View History

2026-03-04 15:56:58 +01:00
<?php
namespace MintyPHP\Service\Access;
2026-03-06 00:44:52 +01:00
use MintyPHP\Http\SessionStoreInterface;
2026-03-04 15:56:58 +01:00
use MintyPHP\Service\Audit\AuditServicesFactory;
class AccessGatewayFactory
{
private ?PermissionService $permissionService = null;
public function __construct(
private readonly AccessRepositoryFactory $accessRepositoryFactory,
2026-03-06 00:44:52 +01:00
private readonly AuditServicesFactory $auditServicesFactory,
private readonly SessionStoreInterface $sessionStore
2026-03-05 11:17:42 +01:00
) {
2026-03-04 15:56:58 +01:00
}
public function createPermissionService(): PermissionService
{
return $this->permissionService ??= new PermissionService(
$this->accessRepositoryFactory->createPermissionRepository(),
$this->accessRepositoryFactory->createRolePermissionRepository(),
$this->accessRepositoryFactory->createUserRoleRepository(),
2026-03-06 00:44:52 +01:00
$this->auditServicesFactory->createSystemAuditService(),
$this->sessionStore
2026-03-04 15:56:58 +01:00
);
}
}