refactor: import enum classes and apply PSR-12 formatting to DashboardController

This commit is contained in:
Yoga Pangestu 2026-04-22 20:00:24 +07:00
parent 08cb1a5d78
commit 2b43213ee4

View File

@ -2,6 +2,9 @@
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Enums\OrderChannel;
use App\Enums\OrderStatus;
use App\Enums\PaymentMethod;
use App\Models\Expense; use App\Models\Expense;
use App\Models\Order; use App\Models\Order;
use App\Models\OrderItem; use App\Models\OrderItem;
@ -36,9 +39,9 @@ public function __invoke()
// Chart Data // Chart Data
$stats['charts'] = [ $stats['charts'] = [
'jam_sibuk' => $this->getJamSibuk($today, $yesterday), 'jam_sibuk' => $this->getJamSibuk($today, $yesterday),
'order_by_payment' => $this->getOrderByEnum($today, 'payment_method', \App\Enums\PaymentMethod::class), 'order_by_payment' => $this->getOrderByEnum($today, 'payment_method', PaymentMethod::class),
'order_by_status' => $this->getOrderByEnum($today, 'order_status', \App\Enums\OrderStatus::class), 'order_by_status' => $this->getOrderByEnum($today, 'order_status', OrderStatus::class),
'order_by_channel' => $this->getOrderByEnum($today, 'order_channel', \App\Enums\OrderChannel::class), 'order_by_channel' => $this->getOrderByEnum($today, 'order_channel', OrderChannel::class),
'top_products' => $this->getTopProducts($today), 'top_products' => $this->getTopProducts($today),
]; ];
@ -83,6 +86,7 @@ private function getOrderByEnum($date, $column, $enumClass)
return $data->map(function ($item) use ($column, $enumClass) { return $data->map(function ($item) use ($column, $enumClass) {
$enumValue = $item->$column; $enumValue = $item->$column;
$label = $enumValue instanceof $enumClass ? $enumValue->label() : $enumValue; $label = $enumValue instanceof $enumClass ? $enumValue->label() : $enumValue;
return [ return [
'name' => $label, 'name' => $label,
'value' => $item->count, 'value' => $item->count,