![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mcoil.corals.io/vendor/santigarcor/laratrust/stubs/ |
<?php {{namespace}} use Illuminate\Support\Facades\Schema; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Config; class LaratrustSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $this->truncateLaratrustTables(); $config = Config::get('laratrust_seeder.roles_structure'); if ($config === null) { $this->command->error("The configuration has not been published. Did you run `php artisan vendor:publish --tag=\"laratrust-seeder\"`"); $this->command->line(''); return false; } $mapPermission = collect(config('laratrust_seeder.permissions_map')); foreach ($config as $key => $modules) { // Create a new role $role = {{roleConfiguredModelClass}}::firstOrCreate([ 'name' => $key, 'display_name' => ucwords(str_replace('_', ' ', $key)), 'description' => ucwords(str_replace('_', ' ', $key)) ]); $permissions = []; $this->command->info('Creating Role '. strtoupper($key)); // Reading role permission modules foreach ($modules as $module => $value) { foreach (explode(',', $value) as $perm) { $permissionValue = $mapPermission->get($perm); $permissions[] = {{permissionConfiguredModelClass}}::firstOrCreate([ 'name' => $module . '-' . $permissionValue, 'display_name' => ucfirst($permissionValue) . ' ' . ucfirst($module), 'description' => ucfirst($permissionValue) . ' ' . ucfirst($module), ])->id; $this->command->info('Creating Permission to '.$permissionValue.' for '. $module); } } // Add all permissions to the role $role->permissions()->sync($permissions); if (Config::get('laratrust_seeder.create_users')) { $this->command->info("Creating '{$key}' user"); // Create default user for each role $user = {{userConfiguredModelClass}}::create([ 'name' => ucwords(str_replace('_', ' ', $key)), 'email' => $key.'@app.com', 'password' => bcrypt('password') ]); $user->addRole($role); } } } /** * Truncates all the laratrust tables and the users table * * @return void */ public function truncateLaratrustTables() { $this->command->info('Truncating User, Role and Permission tables'); Schema::disableForeignKeyConstraints(); DB::table('{{permission_roleConfiguredTableName}}')->truncate(); DB::table('{{permission_userConfiguredTableName}}')->truncate(); DB::table('{{role_userConfiguredTableName}}')->truncate(); if (Config::get('laratrust_seeder.truncate_tables')) { DB::table('{{rolesTableName}}')->truncate(); DB::table('{{permissionsTableName}}')->truncate(); if (Config::get('laratrust_seeder.create_users')) { $usersTable = (new {{userConfiguredModelClass}})->getTable(); DB::table($usersTable)->truncate(); } } Schema::enableForeignKeyConstraints(); } }