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
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class BankCardStoreRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'card_number' => ['required', 'digits:16'],
'holder_name' => ['required', 'string', 'max:255'],
];
}
}
@@ -0,0 +1,20 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class CaseRejectRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'reason' => ['required', 'string', 'max:1000'],
];
}
}
@@ -0,0 +1,20 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class PaymentRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'invoice_id' => ['required', 'integer', 'exists:invoices,id'],
];
}
}
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class ProfileUpdateRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'fullname' => ['required', 'string', 'max:255'],
'birthdate' => ['nullable', 'date'],
'national_code' => ['required', 'string', 'max:20'],
'email' => ['nullable', 'email', 'max:255'],
'province' => ['nullable', 'string', 'max:255'],
'city' => ['nullable', 'string', 'max:255'],
'address' => ['nullable', 'string', 'max:500'],
'avatar' => ['nullable', 'image', 'mimes:png,jpg,jpeg', 'max:10240'],
];
}
}
@@ -0,0 +1,26 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class ReportSubmitRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'document_id' => ['required', 'exists:documents,id'],
'technique' => ['nullable', 'string', 'max:10000'],
'finding' => ['required', 'string', 'max:10000'],
'diagnose' => ['nullable', 'string', 'max:10000'],
'recommendation' => ['nullable', 'string', 'max:10000'],
'files' => ['nullable', 'array'],
'files.*' => ['file', 'image', 'max:10240'],
];
}
}
@@ -0,0 +1,20 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class WalletDepositRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'amount' => ['required', 'integer', 'min:10000', 'max:500000000'],
];
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests\Client;
use Illuminate\Foundation\Http\FormRequest;
class WithdrawRequestStoreRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'amount' => ['required', 'integer', 'min:10000', 'max:500000000'],
'bank_card_id' => ['required', 'exists:bank_cards,id'],
];
}
}