flamingo.me/flamingo-commerce/v3@v3.11.0/checkout/domain/placeorder/process/context.go (about) 1 package process 2 3 import ( 4 "context" 5 "net/url" 6 7 "flamingo.me/flamingo-commerce/v3/cart/domain/cart" 8 "flamingo.me/flamingo-commerce/v3/checkout/application" 9 ) 10 11 type ( 12 // Context contains information (state etc) about a place order process 13 Context struct { 14 UUID string 15 CurrentStateName string 16 CurrentStateData StateData 17 PlaceOrderInfo *application.PlaceOrderInfo 18 Cart cart.Cart 19 ReturnURL *url.URL 20 RollbackReferences []RollbackReference 21 FailedReason FailedReason 22 } 23 // StateData holding state relevant data 24 StateData interface{} 25 26 // ContextStore can persist process Context instances 27 ContextStore interface { 28 Store(ctx context.Context, key string, placeOrderContext Context) error 29 Get(ctx context.Context, key string) (Context, bool) 30 Delete(ctx context.Context, key string) error 31 } 32 )