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  )