Your IP : 216.73.216.79


Current Path : /var/www/html/redd/database/seeders/
Upload File :
Current File : /var/www/html/redd/database/seeders/FrontendUserSeeder.php

<?php

namespace Database\Seeders;

use App\Models\Backend\FrontendUser;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
use Spatie\Activitylog\Models\Activity;

class FrontendUserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        // Disable activity log temporarily
        activity()->disableLogging();

        $frontendUser = FrontendUser::updateOrCreate(
            ['email' => 'frontenduser@example.com'],
            [
                'username' => 'frontenduser',
                'password' => Hash::make('password'),
                'first_name' => 'Frontend',
                'last_name' => 'User',
                'is_active' => true,
                'email_verified_at' => now(),
                'last_login_at' => now(),
            ]
        );

        // Re-enable logging
        activity()->enableLogging();

        // Delete any existing seeder log to avoid duplicate
        Activity::where('log_name', 'Frontend User Seeder')->delete();

        // Create single manual activity log
        activity()
            ->causedBy($frontendUser)
            ->tap(function (Activity $activity) use ($frontendUser) {
                $activity->log_name = 'Backend User Seeder';
                $activity->subject_type = 'App\Models\Backend\FrontendUser';
                $activity->subject_id = $frontendUser->id;
                $activity->event = 'seeded';
                $activity->causer_type = 'App\Models\Backend\FrontendUser';
                $activity->causer_id = $frontendUser->id;
                $activity->attribute_changes = [
                    "old" => [
                        "email" => "frontenduser@example.com",
                        "username" => "frontenduser",
                        "is_active" => true,
                        "last_name" => "User",
                        "first_name" => "Frontend",
                        "last_login_at" => now(),
                    ],
                    "attributes" => [
                        "email" => "frontenduser@example.com",
                        "username" => "frontenduser",
                        "is_active" => true,
                        "last_name" => "User",
                        "first_name" => "Frontend",
                        "last_login_at" => now(),
                    ]
                ];
                $activity->url = request()?->fullUrl();
                $activity->ip_address = request()?->ip();
                $activity->user_agent = request()?->userAgent();
            })
            ->log('Frontend user seeded successfully');
    }
}