| 123456789101112131415161718192021222324252627282930313233 |
- <?php
- declare(strict_types=1);
- namespace App\Enums;
- enum ProductionOrderNotificationEvent: string
- {
- case Created = 'created';
- case StatusChanged = 'status_changed';
- case DeliveryAdded = 'delivery_added';
- case InstallationAdded = 'installation_added';
- case ReclamationAdded = 'reclamation_added';
- public function label(): string
- {
- return match ($this) {
- self::Created => 'Создан заказ',
- self::StatusChanged => 'Изменён статус заказа',
- self::DeliveryAdded => 'Добавлена доставка',
- self::InstallationAdded => 'Добавлена дата монтажа',
- self::ReclamationAdded => 'Добавлена рекламация',
- };
- }
- /** @return array<string, string> */
- public static function options(): array
- {
- return collect(self::cases())->mapWithKeys(
- static fn (self $event): array => [$event->value => $event->label()],
- )->all();
- }
- }
|