| Server IP : 14.225.204.176 / Your IP : 216.73.216.169 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/home-services/database/seeds/v200/ |
Upload File : |
<?php
/*
* File name: PermissionsTableV200Seeder.php
* Last modified: 2022.04.02 at 07:26:36
* Author: SmarterVision - https://codecanyon.net/user/smartervision
* Copyright (c) 2022
*/
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Route;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
class PermissionsTableV200Seeder extends Seeder
{
private $onlyControllers = [
'ModuleController',
];
/**
* Auto generated seed file
*
* @return void
*/
public function run()
{
$routeCollection = Route::getRoutes();
foreach ($routeCollection as $route) {
if ($this->match($route)) {
// PermissionDoesNotExist
try {
Permission::findOrCreate($route->getName(), 'web');
// give permissions to admin role
Role::findOrFail(2)->givePermissionTo($route->getName());
} catch (Exception $e) {
Log::error($e);
}
}
}
}
private function match($route)
{
if ($route->getName() === null) {
return false;
} else {
if (preg_match('/API/', class_basename($route->getController()))) {
return false;
}
if (in_array(class_basename($route->getController()), $this->onlyControllers)) {
return true;
}
}
return false;
}
}