<?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'],
        ];
    }
}
