use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
class AuthServiceProvider extends ServiceProvider
{
//
public function boot()
{
Gate::define('list', function ($user) {
return $this->authorize($user, function ($user) {
return $this->userHasRole($user, [UserRole::VIEWONLY, UserRole::PUBLISHER, UserRole::ADMIN]);
});
});
Gate::define('edit', function ($user) {
return $this->authorize($user, function ($user) {
return $this->userHasRole($user, [UserRole::PUBLISHER, UserRole::ADMIN]);
});
});
Gate::define('reorder', function ($user) {
return $this->authorize($user, function ($user) {
return $this->userHasRole($user, [UserRole::PUBLISHER, UserRole::ADMIN]);
});
});
Gate::define('publish', function ($user) {
return $this->authorize($user, function ($user) {
return $this->userHasRole($user, [UserRole::PUBLISHER, UserRole::ADMIN]);
});
});
//
}
}