🚀 Hostinger Optimized
🖥️ Server: LiteSpeed
💻 System: Linux s20058.bom1.stableserver.net 5.14.0-611.55.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 19 15:19:29 EDT 2026 x86_64
👤 User: skhata (1324)
🐘 PHP: 8.4.20
🚫 Disabled: ✨ NONE

💻 Terminal

📁 /home/skhata/chandrasons.com/public
$

📄 PharmacistUserSeeder.php

📁 Path: //home/skhata/new.chandrapharma.com/database/seeders/PharmacistUserSeeder.php
📊 Size: 2.62 KB
🔒 Perm: 0644
📝 MIME: text/x-php
<?php

namespace Database\Seeders;

use App\Modules\User\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
use Spatie\Permission\PermissionRegistrar;

/**
 * PharmacistUserSeeder
 *
 * Creates the `pharmacist` Spatie role and a demo pharmacist user.
 *
 * Run:  php artisan db:seed --class=PharmacistUserSeeder
 *
 * Or create manually via tinker:
 *   $role = \Spatie\Permission\Models\Role::firstOrCreate(['name' => 'pharmacist', 'guard_name' => 'web']);
 *   $user = \App\Modules\User\Models\User::create([
 *       'name'     => 'Pharmacist Demo',
 *       'email'    => 'pharmacist@stpecommerce.com',
 *       'password' => bcrypt('Pharmacist@1234!'),
 *   ]);
 *   $user->assignRole('pharmacist');
 */
class PharmacistUserSeeder extends Seeder
{
    public function run(): void
    {
        app()[PermissionRegistrar::class]->forgetCachedPermissions();

        // ── Pharmacy-specific permissions ─────────────────────────────────────

        $pharmacyPermissions = [
            'prescriptions.view',
            'prescriptions.approve',
            'prescriptions.reject',
            'therapeutic_categories.view',
            'therapeutic_categories.manage',
        ];

        foreach ($pharmacyPermissions as $permission) {
            Permission::firstOrCreate(['name' => $permission, 'guard_name' => 'web']);
        }

        // ── Pharmacist role ───────────────────────────────────────────────────

        $role = Role::firstOrCreate(['name' => 'pharmacist', 'guard_name' => 'web']);
        $role->syncPermissions($pharmacyPermissions);

        // ── Demo pharmacist user ──────────────────────────────────────────────

        $user = User::firstOrCreate(
            ['email' => 'pharmacist@stpecommerce.com'],
            [
                'name'              => 'Pharmacist Demo',
                'password'          => Hash::make('Pharmacist@1234!'),
                'email_verified_at' => now(),
            ]
        );

        $user->assignRole('pharmacist');

        $this->command->info('✅ Pharmacist role and demo user seeded.');
        $this->command->line('   Email:    pharmacist@stpecommerce.com');
        $this->command->line('   Password: Pharmacist@1234!');
        $this->command->line('   Panel:    /admin  (Pharmacy nav group only)');
    }
}
← Back📥 Raw✏️ Edit🔒 Chmod
✨ File Manager Magic ✨