53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
enum TransportationCategory: string
|
|
{
|
|
case ON_ROAD = 'on_road';
|
|
case WATERBORNE = 'waterborne';
|
|
case AVIATION = 'aviation';
|
|
|
|
public function getCategories(): array
|
|
{
|
|
switch ($this) {
|
|
case self::ON_ROAD:
|
|
return [
|
|
'premium',
|
|
'pertalite',
|
|
'pertamax',
|
|
'pertamax_plus',
|
|
'solar',
|
|
'biodiesel_biosolar',
|
|
'vigas',
|
|
'bbg'
|
|
];
|
|
|
|
case self::WATERBORNE:
|
|
return [
|
|
'minyak_bakar',
|
|
'minyak_diesel'
|
|
];
|
|
|
|
case self::AVIATION:
|
|
return [
|
|
'avgas',
|
|
'avtur'
|
|
];
|
|
|
|
default:
|
|
return [];
|
|
}
|
|
}
|
|
|
|
public static function getTransportationCategories(string $subSector): array
|
|
{
|
|
return match ($subSector) {
|
|
self::ON_ROAD->value => self::ON_ROAD->getCategories(),
|
|
self::WATERBORNE->value => self::WATERBORNE->getCategories(),
|
|
self::AVIATION->value => self::AVIATION->getCategories(),
|
|
default => [],
|
|
};
|
|
}
|
|
}
|