Files
sam-api/app/Http/Requests/Quote/QuoteIndexRequest.php

38 lines
1.2 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Requests\Quote;
use App\Models\Quote\Quote;
use Illuminate\Foundation\Http\FormRequest;
class QuoteIndexRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'page' => 'nullable|integer|min:1',
'size' => 'nullable|integer|min:1|max:100',
'q' => 'nullable|string|max:100',
'status' => 'nullable|in:'.implode(',', [
Quote::STATUS_DRAFT,
Quote::STATUS_SENT,
Quote::STATUS_APPROVED,
Quote::STATUS_REJECTED,
Quote::STATUS_FINALIZED,
Quote::STATUS_CONVERTED,
]),
'product_category' => 'nullable|in:'.Quote::CATEGORY_SCREEN.','.Quote::CATEGORY_STEEL,
'client_id' => 'nullable|integer',
'date_from' => 'nullable|date',
'date_to' => 'nullable|date|after_or_equal:date_from',
'sort_by' => 'nullable|in:registration_date,quote_number,client_name,total_amount,status,created_at',
'sort_order' => 'nullable|in:asc,desc',
];
}
}