complete Complete User Request Submission section RAD-1
This commit is contained in:
@@ -0,0 +1,121 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Enums\UserEnum;
|
||||
use App\Models\Document;
|
||||
use App\Models\DocumentAssignment;
|
||||
use App\Models\MediaAssignment;
|
||||
use App\Models\Medium;
|
||||
use App\Models\Pet;
|
||||
use App\Models\Report;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class SampleDataSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
$admin = User::where('email', 'admin@gmail.com')->first();
|
||||
if (!$admin) {
|
||||
$admin = User::factory()->create([
|
||||
'email' => 'admin@radical.dev',
|
||||
'username' => 'admin_dev',
|
||||
'level' => UserEnum::Admin->value,
|
||||
'fullname' => 'مدیر سیستم',
|
||||
]);
|
||||
}
|
||||
|
||||
$supervisor = User::factory()->create([
|
||||
'email' => 'supervisor@radical.dev',
|
||||
'username' => 'supervisor',
|
||||
'level' => UserEnum::Supervisor->value,
|
||||
'fullname' => 'سرپرست بخش',
|
||||
]);
|
||||
|
||||
$doctor = User::factory()->create([
|
||||
'email' => 'doctor@radical.dev',
|
||||
'username' => 'doctor',
|
||||
'level' => UserEnum::Doctor->value,
|
||||
'fullname' => 'دکتر رادیولوژی',
|
||||
]);
|
||||
|
||||
$owner = User::factory()->create([
|
||||
'email' => 'owner@radical.dev',
|
||||
'username' => 'owner',
|
||||
'level' => UserEnum::Supervisor->value,
|
||||
'fullname' => 'صاحب حیوان',
|
||||
]);
|
||||
|
||||
$dog = Pet::factory()->dog()->male()->create([
|
||||
'name' => 'رکس',
|
||||
'owner_id' => $owner->id,
|
||||
]);
|
||||
|
||||
$cat = Pet::factory()->cat()->female()->create([
|
||||
'name' => 'میمی',
|
||||
'owner_id' => $owner->id,
|
||||
]);
|
||||
|
||||
$urgentDocument = Document::factory()->urgent()->create([
|
||||
'pet_id' => $dog->id,
|
||||
'requester_id' => $owner->id,
|
||||
]);
|
||||
|
||||
$completedDocument = Document::factory()->completed()->create([
|
||||
'pet_id' => $cat->id,
|
||||
'requester_id' => $owner->id,
|
||||
'finalized_by' => $supervisor->id,
|
||||
]);
|
||||
|
||||
DocumentAssignment::factory()->radiologist()->create([
|
||||
'document_id' => $urgentDocument->id,
|
||||
'user_id' => $doctor->id,
|
||||
]);
|
||||
|
||||
DocumentAssignment::factory()->supervisor()->create([
|
||||
'document_id' => $urgentDocument->id,
|
||||
'user_id' => $supervisor->id,
|
||||
]);
|
||||
|
||||
$imageFile = Medium::factory()->image()->public()->create([
|
||||
'filename' => 'xray_dog.jpg',
|
||||
]);
|
||||
|
||||
$documentFile = Medium::factory()->document()->create([
|
||||
'filename' => 'medical_history.pdf',
|
||||
]);
|
||||
|
||||
MediaAssignment::factory()->forDocument()->primary()->create([
|
||||
'media_id' => $imageFile->id,
|
||||
'mediable_id' => $urgentDocument->id,
|
||||
'mediable_type' => Document::class,
|
||||
]);
|
||||
|
||||
MediaAssignment::factory()->forDocument()->history()->create([
|
||||
'media_id' => $documentFile->id,
|
||||
'mediable_id' => $urgentDocument->id,
|
||||
'mediable_type' => Document::class,
|
||||
]);
|
||||
|
||||
Report::factory()->draft()->create([
|
||||
'document_id' => $urgentDocument->id,
|
||||
'doctor_id' => $doctor->id,
|
||||
]);
|
||||
|
||||
$approvedReport = Report::factory()->approved()->create([
|
||||
'document_id' => $completedDocument->id,
|
||||
'doctor_id' => $doctor->id,
|
||||
]);
|
||||
|
||||
$reportImage = Medium::factory()->image()->create([
|
||||
'filename' => 'report_attachment.jpg',
|
||||
]);
|
||||
|
||||
MediaAssignment::factory()->forReport()->attachments()->create([
|
||||
'media_id' => $reportImage->id,
|
||||
'mediable_id' => $approvedReport->id,
|
||||
'mediable_type' => Report::class,
|
||||
]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user