1
0
forked from poc/pds

Added roles and permissions in seeder

This commit is contained in:
dhanabalan
2025-04-23 14:47:11 +05:30
parent 26c3fee797
commit 488cfa3b61
4 changed files with 147 additions and 28 deletions

View File

@@ -14,5 +14,6 @@ class DatabaseSeeder extends Seeder
{
$this->call(RoleSeeder::class);
$this->call(UserSeeder::class);
$this->call(PermissionSeeder::class);
}
}

View File

@@ -0,0 +1,40 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Permission;
class PermissionSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$permissions = [
'view permissions',
'create permissions',
'edit permissions',
'delete permissions',
'restore permissions',
'force-delete permissions',
// Add role permissions if needed
'view roles',
'create roles',
'edit roles',
'delete roles',
'restore roles',
'force-delete roles'
];
foreach ($permissions as $permission) {
Permission::updateOrCreate(['name' => $permission]); //firstOrCreate
}
Permission::updateOrCreate(['name' => 'view production dashboard']);
Permission::updateOrCreate(['name' => 'view invoice dashboard']);
}
}

View File

@@ -2,6 +2,7 @@
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
@@ -12,9 +13,25 @@ class RoleSeeder extends Seeder
*/
public function run(): void
{
Role::create([
Role::updateOrCreate([
'name' => 'Super Admin',
'guard_name' => 'web',
]);
// // newly added role
// $role_admin = Role::create([
// 'name' => 'admin',
// 'guard_name' => 'web',
// ]);
// $permission_manage_users = Permission::firstOrCreate([
// 'name' => 'manage users',
// 'guard_name' => 'web',
// ]);
// $role_admin->givePermissionTo($permission_manage_users);
// $user = User::find(10);
// $user->assignRole($role_admin);
}
}

View File

@@ -3,6 +3,7 @@
namespace Database\Seeders;
use App\Models\User;
use Hash;
use Illuminate\Database\Seeder;
class UserSeeder extends Seeder
@@ -12,41 +13,101 @@ class UserSeeder extends Seeder
*/
public function run(): void
{
$user1 = User::create([
'name' => 'Admin',
'email' => 'admin@cripumps.com',
'password' => bcrypt('admin'),
]);
//updateOrCreate
$user1 = User::updateOrCreate(
// Unique identifier
['email' => 'admin@cripumps.com'],
// Data to update/create
[
'name' => 'Admin',
'password' => Hash::make('admin'),
'updated_at' => now(),
'created_at' => now()
]
);
// $user1 = User::firstOrCreate([
// 'name' => 'Admin',
// 'email' => 'admin@cripumps.com',
// 'password' => bcrypt('admin'),
// ]);
$user1->assignRole('Super Admin');
$user2 = User::create([
'name' => 'Jothi',
'email' => 'jothi@cripumps.com',
'password' => bcrypt('jothi@123'),
]);
$user2 = User::updateOrCreate(
// Unique identifier
['email' => 'jothi@cripumps.com'],
// Data to update/create
[
'name' => 'Jothi',
'password' => bcrypt('jothi@123'),
'updated_at' => now(),
'created_at' => now()
]
);
// $user2 = User::firstOrCreate([
// 'name' => 'Jothi',
// 'email' => 'jothi@cripumps.com',
// 'password' => bcrypt('jothi@123'),
// ]);
$user2->assignRole('Super Admin');
$user3 = User::create([
'name' => 'Dhana',
'email' => 'dhana@cripumps.com',
'password' => bcrypt('dhana@123'),
]);
$user3 = User::updateOrCreate(
// Unique identifier
['email' => 'dhana@cripumps.com'],
// Data to update/create
[
'name' => 'Dhana',
'password' => bcrypt('dhana@123'),
'updated_at' => now(),
'created_at' => now()
]
);
// $user3 = User::firstOrCreate([
// 'name' => 'Dhana',
// 'email' => 'dhana@cripumps.com',
// 'password' => bcrypt('dhana@123'),
// ]);
$user3->assignRole('Super Admin');
$user4 = User::create([
'name' => 'Ranjith',
'email' => 'ranjith@cripumps.com',
'password' => bcrypt('ranjith@123'),
]);
$user4 = User::updateOrCreate(
// Unique identifier
['email' => 'ranjith@cripumps.com'],
// Data to update/create
[
'name' => 'Ranjith',
'password' => bcrypt('ranjith@123'),
'updated_at' => now(),
'created_at' => now()
]
);
// $user4 = User::firstOrCreate([
// 'name' => 'Ranjith',
// 'email' => 'ranjith@cripumps.com',
// 'password' => bcrypt('ranjith@123'),
// ]);
$user4->assignRole('Super Admin');
$user5 = User::create([
'name' => 'Srimathi',
'email' => 'srimathi@cripumps.com',
'password' => bcrypt('srimathi@123'),
]);
$user5->assignRole('Super Admin');
$user5 = User::updateOrCreate(
// Unique identifier
['email' => 'srimathi@cripumps.com'],
User::factory()->count(5)->create();
// Data to update/create
[
'name' => 'Srimathi',
'password' => bcrypt('srimathi@123'),
'updated_at' => now(),
'created_at' => now()
]
);
// $user5 = User::firstOrCreate([
// 'name' => 'Srimathi',
// 'email' => 'srimathi@cripumps.com',
// 'password' => bcrypt('srimathi@123'),
// ]);
$user5->assignRole('Super Admin');
// User::factory()->count(5)->create();
}
}