sigd/app/Enums/TransportationCategory.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 => [],
};
}
}