Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
150 lines (133 sloc)
3.64 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
namespace Illuminate\Contracts\Auth\Access; | |
interface Gate | |
{ | |
/** | |
* Determine if a given ability has been defined. | |
* | |
* @param string $ability | |
* @return bool | |
*/ | |
public function has($ability); | |
/** | |
* Define a new ability. | |
* | |
* @param string $ability | |
* @param callable|string $callback | |
* @return $this | |
*/ | |
public function define($ability, $callback); | |
/** | |
* Define abilities for a resource. | |
* | |
* @param string $name | |
* @param string $class | |
* @param array|null $abilities | |
* @return $this | |
*/ | |
public function resource($name, $class, array $abilities = null); | |
/** | |
* Define a policy class for a given class type. | |
* | |
* @param string $class | |
* @param string $policy | |
* @return $this | |
*/ | |
public function policy($class, $policy); | |
/** | |
* Register a callback to run before all Gate checks. | |
* | |
* @param callable $callback | |
* @return $this | |
*/ | |
public function before(callable $callback); | |
/** | |
* Register a callback to run after all Gate checks. | |
* | |
* @param callable $callback | |
* @return $this | |
*/ | |
public function after(callable $callback); | |
/** | |
* Determine if the given ability should be granted for the current user. | |
* | |
* @param string $ability | |
* @param array|mixed $arguments | |
* @return bool | |
*/ | |
public function allows($ability, $arguments = []); | |
/** | |
* Determine if the given ability should be denied for the current user. | |
* | |
* @param string $ability | |
* @param array|mixed $arguments | |
* @return bool | |
*/ | |
public function denies($ability, $arguments = []); | |
/** | |
* Determine if all of the given abilities should be granted for the current user. | |
* | |
* @param iterable|string $abilities | |
* @param array|mixed $arguments | |
* @return bool | |
*/ | |
public function check($abilities, $arguments = []); | |
/** | |
* Determine if any one of the given abilities should be granted for the current user. | |
* | |
* @param iterable|string $abilities | |
* @param array|mixed $arguments | |
* @return bool | |
*/ | |
public function any($abilities, $arguments = []); | |
/** | |
* Determine if the given ability should be granted for the current user. | |
* | |
* @param string $ability | |
* @param array|mixed $arguments | |
* @return \Illuminate\Auth\Access\Response | |
* | |
* @throws \Illuminate\Auth\Access\AuthorizationException | |
*/ | |
public function authorize($ability, $arguments = []); | |
/** | |
* Inspect the user for the given ability. | |
* | |
* @param string $ability | |
* @param array|mixed $arguments | |
* @return \Illuminate\Auth\Access\Response | |
*/ | |
public function inspect($ability, $arguments = []); | |
/** | |
* Get the raw result from the authorization callback. | |
* | |
* @param string $ability | |
* @param array|mixed $arguments | |
* @return mixed | |
* | |
* @throws \Illuminate\Auth\Access\AuthorizationException | |
*/ | |
public function raw($ability, $arguments = []); | |
/** | |
* Get a policy instance for a given class. | |
* | |
* @param object|string $class | |
* @return mixed | |
* | |
* @throws \InvalidArgumentException | |
*/ | |
public function getPolicyFor($class); | |
/** | |
* Get a guard instance for the given user. | |
* | |
* @param \Illuminate\Contracts\Auth\Authenticatable|mixed $user | |
* @return static | |
*/ | |
public function forUser($user); | |
/** | |
* Get all of the defined abilities. | |
* | |
* @return array | |
*/ | |
public function abilities(); | |
} |