feat(desfile): associate tickets menu with desfile tenant and add migration test

This commit is contained in:
2026-09-25 11:15:52 -03:00
parent b309738222
commit 57d278336d
11 changed files with 421 additions and 11 deletions

View File

@@ -3,6 +3,7 @@
namespace App\Domains\Ticketing\Ticket\Requests;
use App\Domains\Ticketing\Ticket\Models\Ticket;
use App\Domains\Ticketing\Ticket\Services\AdminAppTicketAttributeService;
use App\Domains\Ticketing\Ticket\Services\AdminAppTicketColumnService;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
@@ -22,7 +23,7 @@ class AdminAppTicketIndexRequest extends FormRequest
? []
: app(AdminAppTicketColumnService::class)->sortableKeys($tenant);
return [
$rules = [
'q' => ['sometimes', 'nullable', 'string', 'max:255'],
'category' => ['sometimes', 'nullable', 'string', 'max:255'],
'product' => ['sometimes', 'nullable', 'string', 'max:255'],
@@ -39,5 +40,18 @@ class AdminAppTicketIndexRequest extends FormRequest
'sort_by' => ['sometimes', 'nullable', 'string', Rule::in($sortableKeys)],
'sort_direction' => ['sometimes', 'nullable', 'string', Rule::in(['asc', 'desc'])],
];
if ($tenant !== null) {
foreach (app(AdminAppTicketAttributeService::class)->attributes($tenant) as $attribute) {
$rules[$attribute['code']] = [
'sometimes',
'nullable',
'string',
Rule::in(array_column($attribute['options'], 'value')),
];
}
}
return $rules;
}
}