for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace App\Src\UseCases\Domain\Organizations;
use App\Exceptions\Domain\UserGrantAdminException;
use App\Src\UseCases\Domain\Ports\UserRepository;
class GrantUserAsAdminOrganization
{
private $userRepository;
public function __construct(UserRepository $userRepository)
$this->userRepository = $userRepository;
}
public function grant(string $userId, string $organizationId)
$user = $this->userRepository->getById($userId);
if(!$user->belongsTo($organizationId)){
throw new UserGrantAdminException();
$user->grantAsAdmin();