feat: Implement Fast Request feature with file upload and request management

This commit is contained in:
2026-08-26 17:40:45 +03:30
parent ba734679cf
commit 2d96978c38
33 changed files with 1294 additions and 852 deletions
@@ -0,0 +1,51 @@
<?php
namespace App\Http\Controllers\Client;
use App\Enums\UserEnum;
use App\Http\Controllers\Controller;
use App\Http\Requests\Client\FastRequestRequest;
use App\Http\Resources\Client\DoctorResource;
use App\Http\Resources\Client\FastRequestResource;
use App\Http\Resources\Client\PetArchiveResource;
use App\Models\User;
use App\Services\Document\FastRequestService;
use Illuminate\Support\Facades\Auth;
class FastRequestController extends Controller
{
protected FastRequestService $fastRequestService;
public function __construct(FastRequestService $fastRequestService)
{
$this->fastRequestService = $fastRequestService;
}
public function create()
{
$pets = Auth::user()->pets()->latest()->get();
$doctors = User::where('level', UserEnum::Doctor->value)
->latest()
->get();
return response()->json([
'pets' => PetArchiveResource::collection($pets),
'doctors' => DoctorResource::collection($doctors),
]);
}
public function store(FastRequestRequest $request)
{
$document = $this->fastRequestService->create(
Auth::user(),
$request->validated(),
$request->file('history_files', []),
$request->file('scan_files', [])
);
return response()->json([
'document' => new FastRequestResource($document->load('pet')),
]);
}
}