Skip to content

Commit

Permalink
seeders configured
Browse files Browse the repository at this point in the history
  • Loading branch information
Raza9798 committed Aug 28, 2024
1 parent b825c87 commit ec18401
Show file tree
Hide file tree
Showing 5 changed files with 90 additions and 12 deletions.
10 changes: 5 additions & 5 deletions database/seeders/DatabaseSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ class DatabaseSeeder extends Seeder
*/
public function run(): void
{
// User::factory(10)->withPersonalTeam()->create();

User::factory()->withPersonalTeam()->create([
'name' => 'Test User',
'email' => '[email protected]',
$this->call([
MenuSeeder::class,
RolesSeeder::class,
TeamSeeder::class,
UserSeeder::class,
]);
}
}
10 changes: 5 additions & 5 deletions database/seeders/RolesSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ class RolesSeeder extends Seeder
*/
public function run(): void
{
$adminRole = Role::firstOrCreate(['name' => 'admin']);
$roles = ['admin', 'staff', 'client', 'free'];
$permissions = Permission::where('guard_name', 'web')->pluck('id')->toArray();
$adminRole->syncPermissions($permissions);

$freeRole = Role::firstOrCreate(['name' => 'free']);
$freePermissions = Permission::where('guard_name', 'web')->pluck('id')->toArray();
$freeRole->syncPermissions($freePermissions);
foreach ($roles as $roleName) {
$role = Role::firstOrCreate(['name' => $roleName]);
$role->syncPermissions($permissions);
}
}
}
12 changes: 10 additions & 2 deletions database/seeders/SiteSettingsSeeder.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,20 @@ class SiteSettingsSeeder extends Seeder
public function run()
{
SiteSettings::create([
'name' => config('app.name', 'Liberu Real Estate'),
'name' => config('app.name', 'Liberu '),
'currency' => '£',
'default_language' => 'en',
'address' => '123 Real Estate St, London, UK',
'address' => '123 St, London, UK',
'country' => 'United Kingdom',
'email' => '[email protected]',
'phone_01' => '+44 123 456 7890',
'phone_02' => '+44 123 456 7890',
'phone_03' => '+44 123 456 7890',
'phone_04' => '+44 123 456 7890',
'facebook' => 'https://facebook.com/liberusoftware',
'twitter' => 'https://twitter.com/liberusoftware',
'github' => 'https://Github.com/liberusoftware',
'youtube' => 'https://YouTube.com/@liberusoftware',
]);
}
}
23 changes: 23 additions & 0 deletions database/seeders/TeamSeeder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?php

namespace Database\Seeders;

use App\Models\Team;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;

class TeamSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$team = Team::create([
'id' => 1,
'name' => 'default',
'personal_team' => false,
'user_id' => 1,
]);
}
}
47 changes: 47 additions & 0 deletions database/seeders/UserSeeder.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php

namespace Database\Seeders;

use App\Models\Team;
use App\Models\User;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;

class UserSeeder extends Seeder
{
/**
* Run the database seeds.
*/
public function run(): void
{
$adminUser = User::create([
'name' => 'Admin User',
'email' => '[email protected]',
'password' => Hash::make('password'),
'email_verified_at' => now(),
]);
$adminUser->assignRole('admin');

$staffUser = User::create([
'name' => 'Staff User',
'email' => '[email protected]',
'password' => Hash::make('password'),
'email_verified_at' => now(),
]);
$staffUser->assignRole('staff');

// Create teams for admin and staff users
$this->createTeamForUser($adminUser);
$this->createTeamForUser($staffUser);
}

private function createTeamForUser($user)
{
$team = Team::first();
$team->users()->attach($user);

$user->current_team_id = 1;
$user->save();
}
}

0 comments on commit ec18401

Please sign in to comment.