- Added `ticket_generation_policy` column to `catalog_items` table to manage ticket generation strategies. - Created `ticket_validity_times` table to allow multiple validity times per ticket. - Introduced `validity_time_id` column in `event_dates` table to associate event dates with validity times. - Established `ticket_validity_groups` and `ticket_validity_group_times` tables to group validity times for tickets. - Updated seeder to set default ticket generation policy for specific tenant. - Enhanced tests to cover new functionality, including ticket generation based on event dates and validity times. - Refactored ticket validity checks to accommodate multiple validity times in a group.
16 lines
305 B
PHP
16 lines
305 B
PHP
<?php
|
|
|
|
namespace App\Domains\Ticket\Enums;
|
|
|
|
enum TicketGenerationPolicy: string
|
|
{
|
|
case PerEventDate = 'per_event_date';
|
|
case OnePerUnit = 'one_per_unit';
|
|
|
|
/** @return list<string> */
|
|
public static function values(): array
|
|
{
|
|
return array_column(self::cases(), 'value');
|
|
}
|
|
}
|