tutoring/database/seeders/UserSeeder.php

37 lines
882 B
PHP

<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use Spatie\Permission\Models\Role;
class UserSeeder extends Seeder
{
public function run(): void
{
// Ensure roles exist
$roles = ['admin', 'teacher', 'student'];
foreach ($roles as $role) {
Role::firstOrCreate(
['name' => $role, 'guard_name' => 'web']
);
}
// Create a default admin user
$admin = User::firstOrCreate(
['email' => 'admin@example.com'],
[
'name' => 'Admin User',
'password' => Hash::make('password'), // change to something secure later
]
);
// Assign role
if (!$admin->hasRole('admin')) {
$admin->assignRole('admin');
}
}
}