ldc-lionor/app/Enums/PreparationTimeEnum.php

50 lines
1,022 B
PHP
Raw Normal View History

2023-03-20 13:17:58 +00:00
<?php
namespace App\Enums;
2023-08-28 08:46:47 +00:00
use App\Traits\Enums\BaseEnum;
2023-03-20 13:17:58 +00:00
2023-08-28 08:46:47 +00:00
enum PreparationTimeEnum: int
2023-03-20 13:17:58 +00:00
{
2023-08-28 08:46:47 +00:00
use BaseEnum;
2023-03-20 13:17:58 +00:00
2023-08-28 08:46:47 +00:00
case interval1 = 1;
case interval2 = 2;
case interval3 = 3;
case interval4 = 4;
private const LABELS = [
self::interval1->name => '0-30 min',
self::interval2->name => '30min - 2h',
self::interval3->name => '2h - 4h',
self::interval4->name => '> 4h',
];
private const TIMES = [
self::interval1->name => ['min' => 0, 'max' => 30],
self::interval2->name => ['min' => 31, 'max' => 120],
self::interval3->name => ['min' => 121, 'max' => 240],
self::interval4->name => ['min' => 241, 'max' => 9999],
];
2023-03-20 13:17:58 +00:00
/**
2023-08-28 08:46:47 +00:00
* Get image
2023-03-20 13:17:58 +00:00
*
* @return array
*/
2023-08-28 08:46:47 +00:00
public function time(): array
2023-03-20 13:17:58 +00:00
{
2023-08-28 08:46:47 +00:00
return self::TIMES[$this->name];
2023-03-20 13:17:58 +00:00
}
/**
2023-08-28 08:46:47 +00:00
* Get enum images
*
* @return array<string>
2023-03-20 13:17:58 +00:00
*/
2023-08-28 08:46:47 +00:00
public static function toTimes(): array
2023-03-20 13:17:58 +00:00
{
2023-08-28 08:46:47 +00:00
return self::TIMES;
2023-03-20 13:17:58 +00:00
}
}