88 lines
1.9 KiB
Go
Raw Normal View History

2025-07-18 20:10:29 +07:00
package constants
type OrderType string
const (
OrderTypeDineIn OrderType = "dine_in"
OrderTypeTakeout OrderType = "takeout"
OrderTypeDelivery OrderType = "delivery"
)
type OrderStatus string
const (
OrderStatusPending OrderStatus = "pending"
OrderStatusPreparing OrderStatus = "preparing"
OrderStatusReady OrderStatus = "ready"
OrderStatusCompleted OrderStatus = "completed"
OrderStatusCancelled OrderStatus = "cancelled"
OrderStatusPaid OrderStatus = "paid"
)
type OrderItemStatus string
const (
OrderItemStatusPending OrderItemStatus = "pending"
OrderItemStatusPreparing OrderItemStatus = "preparing"
OrderItemStatusReady OrderItemStatus = "ready"
OrderItemStatusServed OrderItemStatus = "served"
OrderItemStatusCancelled OrderItemStatus = "cancelled"
OrderItemStatusCompleted OrderItemStatus = "completed"
)
func GetAllOrderTypes() []OrderType {
return []OrderType{
OrderTypeDineIn,
OrderTypeTakeout,
OrderTypeDelivery,
}
}
func GetAllOrderStatuses() []OrderStatus {
return []OrderStatus{
OrderStatusPending,
OrderStatusPreparing,
OrderStatusReady,
OrderStatusCompleted,
OrderStatusCancelled,
OrderStatusPaid,
}
}
func GetAllOrderItemStatuses() []OrderItemStatus {
return []OrderItemStatus{
OrderItemStatusPending,
OrderItemStatusPreparing,
OrderItemStatusReady,
OrderItemStatusServed,
OrderItemStatusCancelled,
}
}
func (o OrderType) IsValidOrderType() bool {
for _, validType := range GetAllOrderTypes() {
if o == validType {
return true
}
}
return false
}
func IsValidOrderStatus(status OrderStatus) bool {
for _, validStatus := range GetAllOrderStatuses() {
if status == validStatus {
return true
}
}
return false
}
func IsValidOrderItemStatus(status OrderItemStatus) bool {
for _, validStatus := range GetAllOrderItemStatuses() {
if status == validStatus {
return true
}
}
return false
}