eledana/database/seeders/DatabaseSeeder.php
albert 610eebf66a
All checks were successful
Build, push and deploy / builds (push) Successful in 5s
add faults (routes, model, navigation, seeder and migration)
2024-11-08 16:39:01 +01:00

90 lines
2.6 KiB
PHP

<?php
namespace Database\Seeders;
use App\Models\User;
use App\Models\Fault;
use Illuminate\Database\Seeder;
use Spatie\Permission\Models\Role;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*/
public function run(): void
{
// Create roles if they don't already exist
$roles = ['admin', 'privileged'];
foreach ($roles as $roleName) {
// Check if the role already exists
if (!Role::where('name', $roleName)->exists()) {
Role::create(['name' => $roleName]);
}
}
// Check if the superuser already exists
$user = User::firstOrCreate([
'email' => 'superuser@admin.com',
'name' => 'superuser',
'password' => bcrypt('12341234'),
]);
// Assign the role to the superuser
$user->assignRole('admin');
// Create other users as before
$users = [
['name' => 'John Doe', 'email' => 'john@doe.com', 'role' => 'privileged'],
['name' => 'Chuck Norris', 'email' => 'chuck@norris.com'],
['name' => 'Marios Bros', 'email' => 'mario@bros.com'],
['name' => 'Ada Lovelace', 'email' => 'ada@lovelace.com'],
['name' => 'Hulk Hogan', 'email' => 'hulk@hogart.com'],
];
foreach ($users as $userData) {
$user = User::firstOrCreate([
'email' => $userData['email'],
'name' => $userData['name'],
'password' => bcrypt('12341234'),
]);
if (array_key_exists('role', $userData) && $userData['role']) {
$user->assignRole($userData['role']);
}
}
Fault::firstOrCreate([
'contact_name' => 'Anthony',
'contact_phone' => '666767222',
'description' => 'No tenemos luz en el garaje',
'address' => 'Carrer del mig, 4',
'status' => 'En espera',
'google_maps_link' => 'https://maps.google.com/long/url/link',
'city' => 'Algemesi',
'created_at' => now(),
'updated_at' => now(),
]);
Fault::firstOrCreate([
'contact_name' => 'Amparo',
'contact_phone' => '74645657',
'description' => 'Se ha roto el reloj',
'address' => 'Plaza Mayor 1',
'status' => 'Realizado',
'google_maps_link' => 'https://maps.google.com/long/url/link',
'city' => 'Cataroja',
'created_at' => now(),
'updated_at' => now(),
]);
}
}