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  )