Files
kulakpos_web/public/restaurant/app/Enum/ActionStatus.php

118 lines
3.2 KiB
PHP

<?php
namespace App\Enum;
enum ActionStatus: string
{
case Create = 'create';
case Update = 'update';
case View = 'view';
case Delete = 'delete';
case OrderCreate = 'order_create';
case OrderUpdate = 'order_update';
case OrderCancel = 'order_cancel';
case OrderStatusUpdate = 'order_status_update';
case PaymentSuccess = 'payment_success';
case PaymentFailed = 'payment_failed';
case RefundIssued = 'refund_issued';
case KitchenAccept = 'kitchen_accept';
case KitchenPreparing = 'kitchen_preparing';
case KitchenReady = 'kitchen_ready';
case KitchenServed = 'kitchen_served';
case PrintReceipt = 'print_receipt';
case ReportGenerate = 'report_generate';
case Login = 'login';
case Logout = 'logout';
case StatusChange = 'status_change'; // generic status updates
// Optional constants
public const CREATE = 'create';
public const UPDATE = 'update';
public const VIEW = 'view';
public const DELETE = 'delete';
public const ORDER_CREATE = 'order_create';
public const ORDER_UPDATE = 'order_update';
public const ORDER_CANCEL = 'order_cancel';
public const ORDER_STATUS_UPDATE = 'order_status_update';
public const PAYMENT_SUCCESS = 'payment_success';
public const PAYMENT_FAILED = 'payment_failed';
public const REFUND_ISSUED = 'refund_issued';
public const KITCHEN_ACCEPT = 'kitchen_accept';
public const KITCHEN_PREPARING = 'kitchen_preparing';
public const KITCHEN_READY = 'kitchen_ready';
public const KITCHEN_SERVED = 'kitchen_served';
public const PRINT_RECEIPT = 'print_receipt';
public const REPORT_GENERATE = 'report_generate';
public const LOGIN = 'login';
public const LOGOUT = 'logout';
public const STATUS_CHANGE = 'status_change';
/**
* Return all action values
*/
public static function values(): array
{
return array_column(self::cases(), 'value');
}
/**
* Human-friendly labels for UI
*/
public static function labels(): array
{
return [
self::Create->value => 'Create',
self::Update->value => 'Update',
self::View->value => 'View',
self::Delete->value => 'Delete',
self::OrderCreate->value => 'Order Created',
self::OrderUpdate->value => 'Order Updated',
self::OrderCancel->value => 'Order Cancelled',
self::OrderStatusUpdate->value => 'Order Status Updated',
self::PaymentSuccess->value => 'Payment Success',
self::PaymentFailed->value => 'Payment Failed',
self::RefundIssued->value => 'Refund Issued',
self::KitchenAccept->value => 'Kitchen Accepted',
self::KitchenPreparing->value => 'Kitchen Preparing',
self::KitchenReady->value => 'Kitchen Ready',
self::KitchenServed->value => 'Kitchen Served',
self::PrintReceipt->value => 'Receipt Printed',
self::ReportGenerate->value => 'Report Generated',
self::Login->value => 'Login',
self::Logout->value => 'Logout',
self::StatusChange->value => 'Status Changed',
];
}
}