File: D:/HostingSpaces/MdnDirecteur/hours.komma.cloud/app/Providers/AuthServiceProvider.php
<?php
namespace App\Providers;
use App\Komma\Projects\ProjectPolicy;
use App\Komma\Permissions\Permission;
use App\Komma\Projects\Project;
use App\Komma\Users\User;
use App\Komma\Users\UserPolicy;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
Project::class => ProjectPolicy::class,
User::class => UserPolicy::class
];
/**
* Register any application authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
foreach ($this->getPermissions() as $permission){
Gate::define($permission->name, function ($user) use ($permission){
return $user->hasRole($permission->Roles);
});
}
}
/**
* @return \Illuminate\Database\Eloquent\Collection|static[]
*/
protected function getPermissions(){
return Permission::with('Roles')->get();
}
}