flamingo.me/flamingo-commerce/v3@v3.11.0/cart/application/receiver.go (about) 1 package application 2 3 //go:generate go run github.com/vektra/mockery/v2@v2.42.3 --name Receiver --case snake --structname CartReceiver 4 5 import ( 6 "context" 7 8 "flamingo.me/flamingo/v3/framework/web" 9 10 cartDomain "flamingo.me/flamingo-commerce/v3/cart/domain/cart" 11 ) 12 13 type ( 14 // Receiver that provides functionality regarding fetching the cart 15 Receiver interface { 16 ShouldHaveCart(ctx context.Context, session *web.Session) bool 17 ShouldHaveGuestCart(session *web.Session) bool 18 ViewCart(ctx context.Context, session *web.Session) (*cartDomain.Cart, error) 19 ViewGuestCart(ctx context.Context, session *web.Session) (*cartDomain.Cart, error) 20 ModifyBehaviour(ctx context.Context) (cartDomain.ModifyBehaviour, error) 21 GetCart(ctx context.Context, session *web.Session) (*cartDomain.Cart, cartDomain.ModifyBehaviour, error) 22 GetCartWithoutCache(ctx context.Context, session *web.Session) (*cartDomain.Cart, error) 23 } 24 )