151 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?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();
 | 
						|
}
 |