Files
portal-api/app/Http/Requests/Api/Order/CouponPreviewRequest.php

28 lines
796 B
PHP

<?php
namespace App\Http\Requests\Api\Order;
use App\Support\BillingCycleCatalog;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class CouponPreviewRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'coupon_code' => ['required', 'string', 'max:50'],
'product_id' => ['required', Rule::exists('products', 'uuid')->whereNull('deleted_at')],
'billing_cycle' => ['required', Rule::in([...BillingCycleCatalog::codes(), 'onetime'])],
'addons' => 'array',
'addons.*.addon_id' => 'nullable|exists:product_addon,id',
'addons.*.qty' => 'nullable|integer|min:0|max:1000000',
];
}
}