1
0
Files
breadcrumb-the-shire/modules/addressbook/lib/Module/AddressBook/AddressBookContainerRegistrar.php
fs 77badcde67 fix(addressbook): register authorization policy in DI container
AddressBookAuthorizationPolicy requires PermissionService in its
constructor, so ModuleClassResolver cannot auto-instantiate it.
Register it explicitly in the container registrar so the
addressbook.view ability resolves correctly for sidebar visibility.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 12:47:24 +01:00

38 lines
1.5 KiB
PHP

<?php
namespace MintyPHP\Module\AddressBook;
use MintyPHP\App\AppContainer;
use MintyPHP\App\Container\ContainerRegistrar;
use MintyPHP\Module\AddressBook\Service\AddressBookService;
use MintyPHP\Service\Access\PermissionService;
use MintyPHP\Service\Access\RoleService;
use MintyPHP\Service\CustomField\UserCustomFieldValueService;
use MintyPHP\Service\Org\DepartmentService;
use MintyPHP\Service\Tenant\TenantScopeService;
use MintyPHP\Service\Tenant\TenantService;
use MintyPHP\Service\User\UserAccountService;
use MintyPHP\Service\User\UserAssignmentService;
use MintyPHP\Service\User\UserAvatarService;
final class AddressBookContainerRegistrar implements ContainerRegistrar
{
public function register(AppContainer $container): void
{
$container->set(AddressBookAuthorizationPolicy::class, static fn (AppContainer $c): AddressBookAuthorizationPolicy => new AddressBookAuthorizationPolicy(
$c->get(PermissionService::class)
));
$container->set(AddressBookService::class, static fn (AppContainer $c): AddressBookService => new AddressBookService(
$c->get(UserAccountService::class),
$c->get(UserAssignmentService::class),
$c->get(TenantService::class),
$c->get(DepartmentService::class),
$c->get(RoleService::class),
$c->get(TenantScopeService::class),
$c->get(UserCustomFieldValueService::class),
$c->get(UserAvatarService::class)
));
}
}