package orderStatusActions // func init() { // GlobalRegistry.Register(enums.OrderStatusConfirmed, ActionChain{ // SendOrderConfirmationEmail, // NotifyInventorySystem, // }) // GlobalRegistry.Register(enums.OrderStatusProcessing, ActionChain{ // NotifyWarehouse, // ReserveInventory, // }) // GlobalRegistry.Register(enums.OrderStatusShipped, ActionChain{ // NotifyWarehouseShipped, // GenerateTrackingNumber, // SendShippingNotificationEmail, // }) // GlobalRegistry.Register(enums.OrderStatusDelivered, ActionChain{ // SendDeliveryConfirmationEmail, // NotifyFulfillmentComplete, // }) // GlobalRegistry.Register(enums.OrderStatusCancelled, ActionChain{ // SendCancellationEmail, // ReleaseInventory, // ProcessRefund, // }) // GlobalRegistry.Register(enums.OrderStatusReturned, ActionChain{ // SendReturnConfirmationEmail, // NotifyReturnsDepartment, // }) // GlobalRegistry.Register(enums.OrderStatusRefunded, ActionChain{ // NotifyRefundProcessed, // }) // GlobalRegistry.Register(enums.OrderStatusPending, ActionChain{}) // } // var SendOrderConfirmationEmail = WithID("send_order_confirmation_email", func(actionCtx ActionContext) ActionResult { // log.Printf("Sending order confirmation email for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var NotifyInventorySystem = WithID("notify_inventory_system", func(actionCtx ActionContext) ActionResult { // log.Printf("Notifying inventory system for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var NotifyWarehouse = WithID("notify_warehouse", func(actionCtx ActionContext) ActionResult { // log.Printf("Notifying warehouse for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var ReserveInventory = WithID("reserve_inventory", func(actionCtx ActionContext) ActionResult { // log.Printf("Reserving inventory for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var NotifyWarehouseShipped = WithID("notify_warehouse_shipped", func(actionCtx ActionContext) ActionResult { // log.Printf("Notifying warehouse of shipment for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var GenerateTrackingNumber = WithID("generate_tracking_number", func(actionCtx ActionContext) ActionResult { // log.Printf("Generating tracking number for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var SendShippingNotificationEmail = WithID("send_shipping_notification_email", func(actionCtx ActionContext) ActionResult { // log.Printf("Sending shipping notification email for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var SendDeliveryConfirmationEmail = WithID("send_delivery_confirmation_email", func(actionCtx ActionContext) ActionResult { // log.Printf("Sending delivery confirmation email for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var NotifyFulfillmentComplete = WithID("notify_fulfillment_complete", func(actionCtx ActionContext) ActionResult { // log.Printf("Notifying fulfillment complete for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var SendCancellationEmail = WithID("send_cancellation_email", func(actionCtx ActionContext) ActionResult { // log.Printf("Sending cancellation email for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var ReleaseInventory = WithID("release_inventory", func(actionCtx ActionContext) ActionResult { // log.Printf("Releasing inventory for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var ProcessRefund = WithID("process_refund", func(actionCtx ActionContext) ActionResult { // log.Printf("Processing refund for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var SendReturnConfirmationEmail = WithID("send_return_confirmation_email", func(actionCtx ActionContext) ActionResult { // log.Printf("Sending return confirmation email for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var NotifyReturnsDepartment = WithID("notify_returns_department", func(actionCtx ActionContext) ActionResult { // log.Printf("Notifying returns department for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // }) // var NotifyRefundProcessed = WithID("notify_refund_processed", func(actionCtx ActionContext) ActionResult { // log.Printf("Notifying refund processed for order %d", actionCtx.OrderId) // return ActionResult{Err: nil} // })