87 lines
2.6 KiB
PHP
87 lines
2.6 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Domain\ACL\Role;
|
|
use App\Models\Institute;
|
|
use App\Models\RadiologistProfile;
|
|
use App\Models\User;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class UserSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
// User::factory(10)->create();
|
|
|
|
$usr = User::factory()->create([
|
|
'first_name' => 'PACS Sync',
|
|
'display_name' => 'PACS Sync Agent',
|
|
'username' => '$$_pacs_sync_$$',
|
|
'password' => bcrypt(fake()->password(20)),
|
|
'is_active' => false,
|
|
]);
|
|
$usr->assignRole(Role::SystemAgent);
|
|
|
|
$usr = User::factory()->create([
|
|
'first_name' => 'Administrator',
|
|
'display_name' => 'Admin',
|
|
'username' => 'admin',
|
|
'email' => 'admin@example.com',
|
|
'email_verified_at' => now(),
|
|
'phone' => '+8801733938582',
|
|
]);
|
|
$usr->assignRole(Role::Admin);
|
|
|
|
$chevron = Institute::where('name', 'Chevron')->first();
|
|
$cmch = Institute::where('name', 'CMCH')->first();
|
|
|
|
User::factory(4)
|
|
->create([
|
|
'institute_id' => $chevron->id,
|
|
])
|
|
->each(function ($u, $key) {
|
|
$u->assignRole(Role::Technician);
|
|
$u->update([
|
|
'username' => sprintf('tech%d', $key + 1),
|
|
]);
|
|
});
|
|
|
|
User::factory(4)
|
|
->create([
|
|
'institute_id' => $cmch->id,
|
|
])
|
|
->each(function ($u, $key) {
|
|
$u->assignRole(Role::Technician);
|
|
$u->update([
|
|
'username' => sprintf('cmctech%d', $key + 1),
|
|
]);
|
|
});
|
|
|
|
$images = [
|
|
'hossain-saad.png', 'nasir-uddin.png', 'sadrul-amin.png',
|
|
'khairul-islam.png', 'rabeya-khatoon.png', 'subash.png',
|
|
];
|
|
|
|
User::factory(9)
|
|
->create()
|
|
->each(function (User $u, $key) use ($images) {
|
|
$u->assignRole(Role::Radiologist);
|
|
$u->update([
|
|
'display_name' => sprintf('Dr. %s.%d', $u->first_name, $key + 1),
|
|
'username' => sprintf('rad%d', $key + 1),
|
|
]);
|
|
RadiologistProfile::create([
|
|
'user_id' => $u->id,
|
|
'signature_image_path' => 'signatures/' . fake()->randomElement($images),
|
|
]);
|
|
});
|
|
|
|
User::factory(3)
|
|
->create()
|
|
->each(function ($u) {
|
|
$u->assignRole(Role::Guest);
|
|
});
|
|
}
|
|
}
|