feat: add withdraw request functionality and UI components

This commit is contained in:
2026-08-27 02:39:57 +03:30
parent aeef95339d
commit 4ce663c669
115 changed files with 4064 additions and 315 deletions
@@ -3,7 +3,10 @@
namespace App\Http\Controllers\Client\Doctor;
use App\Http\Controllers\Controller;
use App\Http\Requests\Client\CaseRejectRequest;
use App\Http\Resources\Client\CaseDetailResource;
use App\Http\Resources\Client\CaseResource;
use App\Models\Document;
use App\Services\Document\CaseService;
use Illuminate\Support\Facades\Auth;
use Inertia\Inertia;
@@ -28,4 +31,25 @@ class CaseController extends Controller
'cases' => CaseResource::collection($cases),
]);
}
public function show(Document $case)
{
abort_unless($this->caseService->canAccess($case, Auth::user()), 403);
$case->load(['pet', 'requester', 'media', 'reports']);
return Inertia::client('Dashboard/Cases/show', [
'case' => (new CaseDetailResource($case))->resolve(),
'canReport' => $this->caseService->canReport($case, Auth::user()),
]);
}
public function reject(CaseRejectRequest $request, Document $case)
{
$this->caseService->reject($case, Auth::user(), $request->validated('reason'));
session()->flash('success', 'درخواست رد شد و مبلغ فاکتور به کیف پول درخواست‌کننده بازگردانده شد.');
return redirect()->route('dashboard.cases.index');
}
}