Files
ddd-example/src/Zone/Company/Application/UseCases/Queries/FindAllCompaniesQuery.php
T
2022-10-04 20:58:33 +08:00

25 lines
676 B
PHP

<?php
namespace Src\Zone\Company\Application\UseCases\Queries;
use Src\Zone\Company\Domain\Policies\CompanyPolicy;
use Src\Zone\Company\Domain\Repositories\CompanyRepositoryInterface;
use Src\Common\Domain\QueryInterface;
class FindAllCompaniesQuery implements QueryInterface
{
private CompanyRepositoryInterface $repository;
private CompanyPolicy $policy;
public function __construct()
{
$this->repository = app()->make(CompanyRepositoryInterface::class);
$this->policy = new CompanyPolicy();
}
public function handle(): array
{
authorize('findAll', $this->policy);
return $this->repository->findAll();
}
}