%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64 User : addictionfreeind ( 1003) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Directory : /home/addictionfreeind/public_html/admin1/database/seeders/ |
Upload File : |
<?php
namespace Database\Seeders;
use App\Models\Module;
use App\Models\Permission;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
class ModulePermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->permissionTypes();
$modules = Module::MODULE_LIST;
foreach ($modules as $module) {
$insert = Module::updateOrCreate(
['module_name' => $module['module_name']],
['description' => $module['description'] ?? null]
);
// Run for every permissions
foreach ($module['permissions'] as $permission) {
$permission['module_id'] = $insert->id;
$permission['display_name'] = $permission['display_name'] ?? ucwords(str_replace('_', ' ', $permission['name']));
Permission::updateOrCreate(
['module_id' => $permission['module_id'], 'name' => $permission['name']],
$permission
);
}
}
}
private function permissionTypes()
{
\DB::table('permission_types')->insert([
['name' => 'added'],
['name' => 'owned'],
['name' => 'both'],
['name' => 'all'],
['name' => 'none']
]);
}
}