. */ namespace SP\Domain\Account; use SP\Core\Exceptions\ConstraintException; use SP\Core\Exceptions\QueryException; use SP\DataModel\Dto\AccountAclDto; use SP\DataModel\ProfileData; use SP\Domain\Account\Services\AccountAcl; use SP\Domain\User\Services\UserLoginResponse; /** * Class AccountAclService * * @package SP\Domain\Account\Services */ interface AccountAclServiceInterface { /** * Sets grants which don't need the account's data * * @param UserLoginResponse $userData * @param ProfileData $profileData * * @return bool */ public static function getShowPermission(UserLoginResponse $userData, ProfileData $profileData): bool; /** * Obtener la ACL de una cuenta * * @param int $actionId * @param AccountAclDto $accountAclDto * @param bool $isHistory * * @return AccountAcl * @throws \SP\Core\Exceptions\ConstraintException * @throws \SP\Core\Exceptions\QueryException */ public function getAcl(int $actionId, AccountAclDto $accountAclDto, bool $isHistory = false): AccountAcl; /** * Resturns an stored ACL * * @param int $accountId * @param int $actionId * * @return \SP\Domain\Account\Services\AccountAcl|null */ public function getAclFromCache(int $accountId, int $actionId): ?AccountAcl; }