ldc-supportweb/app/Providers/AuthServiceProvider.php

42 lines
1.1 KiB
PHP
Raw Normal View History

2020-11-18 10:23:51 +01:00
<?php
namespace App\Providers;
use App\Enums\Users\RoleEnum;
use App\Models\User;
2020-11-18 10:23:51 +01:00
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Gate;
2020-11-18 10:23:51 +01:00
class AuthServiceProvider extends ServiceProvider
{
/**
* The model to policy mappings for the application.
2020-11-18 10:23:51 +01:00
*
* @var array<class-string, class-string>
2020-11-18 10:23:51 +01:00
*/
protected $policies = [];
2020-11-18 10:23:51 +01:00
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot(): void
2020-11-18 10:23:51 +01:00
{
$this->registerPolicies();
Gate::define('isAdmin', function (User $user) {
return \auth()->check() && ($user->role->equals(RoleEnum::developper) or
$user->role->equals(RoleEnum::admin));
});
Gate::define('isDev', function (User $user) {
return \auth()->check() && $user->role->equals(RoleEnum::developper);
});
Gate::define('isClient', function (User $user) {
return \auth()->check() && $user->role->equals(RoleEnum::client);
});
2020-11-18 10:23:51 +01:00
}
}