Giant Update

This commit is contained in:
Wian Drs
2026-07-31 13:57:11 +07:00
parent f68d967c8b
commit b0d08211ec
112 changed files with 6674 additions and 3 deletions
@@ -0,0 +1,26 @@
<?php
namespace App\Http\Requests\Payment;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class IndexPaymentRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'search' => ['nullable', 'string', 'max:100'], 'status' => ['nullable', 'string', 'max:30'],
'provider_code' => ['nullable', 'string', 'max:50'], 'purpose' => ['nullable', 'string', 'max:30'],
'date_from' => ['nullable', 'date'], 'date_to' => ['nullable', 'date', 'after_or_equal:date_from'],
'per_page' => ['nullable', 'integer', 'min:1', 'max:100'],
'sort_by' => ['nullable', Rule::in(['id', 'transaction_number', 'amount', 'status', 'created_at', 'paid_at'])],
'sort_direction' => ['nullable', Rule::in(['asc', 'desc'])],
];
}
}
@@ -0,0 +1,28 @@
<?php
namespace App\Http\Requests\Payment;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class SaveTenantPaymentSettingRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'tenant_id' => ['nullable', 'integer', 'exists:tenants,id'],
'payment_mode' => ['required', Rule::in(['disabled', 'tenant_gateway', 'platform_gateway'])],
'tenant_gateway_account_id' => ['nullable', 'integer', 'exists:payment_gateway_accounts,id'],
'platform_gateway_account_id' => ['nullable', 'integer', 'exists:payment_gateway_accounts,id'],
'fee_bearer' => ['required', Rule::in(['customer', 'tenant', 'platform'])],
'default_expiry_minutes' => ['required', 'integer', 'min:5', 'max:10080'],
'enabled_methods' => ['nullable', 'array'],
'enabled_methods.*' => ['string', 'max:50'],
];
}
}
@@ -0,0 +1,31 @@
<?php
namespace App\Http\Requests\Payment;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class StoreGatewayAccountRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'payment_provider_id' => ['required', 'integer', 'exists:payment_providers,id'],
'tenant_id' => ['nullable', 'integer', 'exists:tenants,id'],
'scope' => ['required', Rule::in(['tenant', 'platform'])],
'name' => ['required', 'string', 'max:150'],
'environment' => ['required', Rule::in(['sandbox', 'production'])],
'credentials' => ['nullable', 'array'],
'credentials.*' => ['nullable', 'string', 'max:4000'],
'webhook_secret' => ['nullable', 'string', 'max:4000'],
'settings' => ['nullable', 'array'],
'enabled' => ['sometimes', 'boolean'],
'is_default' => ['sometimes', 'boolean'],
];
}
}