118 lines
3.2 KiB
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',
|
|
];
|
|
}
|
|
}
|