events

package
v3.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 15, 2024 License: MIT Imports: 6 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddToCartEvent

type AddToCartEvent struct {
	Cart                   *cartDomain.Cart
	MarketplaceCode        string
	VariantMarketplaceCode string
	ProductName            string
	Qty                    int
}

AddToCartEvent defines event properties

type ChangedQtyInCartEvent

type ChangedQtyInCartEvent struct {
	Cart *cartDomain.Cart
	// Deprecated: CartID exists for compatibility, use Cart instead
	CartID                 string
	MarketplaceCode        string
	VariantMarketplaceCode string
	ProductName            string
	QtyBefore              int
	QtyAfter               int
}

ChangedQtyInCartEvent defines event properties

type DefaultEventPublisher

type DefaultEventPublisher struct {
	// contains filtered or unexported fields
}

DefaultEventPublisher implements the event publisher of the domain and uses the framework event router

func (*DefaultEventPublisher) Inject

func (d *DefaultEventPublisher) Inject(
	logger flamingo.Logger,
	productService productDomain.ProductService,
	eventRouter flamingo.EventRouter,
)

Inject dependencies

func (*DefaultEventPublisher) PublishAddToCartEvent

func (d *DefaultEventPublisher) PublishAddToCartEvent(ctx context.Context, cart *cartDomain.Cart, marketPlaceCode string, variantMarketPlaceCode string, qty int)

PublishAddToCartEvent publishes an event for add to cart actions

func (*DefaultEventPublisher) PublishChangedQtyInCartEvent

func (d *DefaultEventPublisher) PublishChangedQtyInCartEvent(ctx context.Context, cart *cartDomain.Cart, item *cartDomain.Item, qtyBefore int, qtyAfter int)

PublishChangedQtyInCartEvent publishes an event for cart item quantity change actions

func (*DefaultEventPublisher) PublishOrderPlacedEvent

func (d *DefaultEventPublisher) PublishOrderPlacedEvent(ctx context.Context, cart *cartDomain.Cart, placedOrderInfos placeorder.PlacedOrderInfos)

PublishOrderPlacedEvent publishes an event for placed orders

type EventPublisher

type EventPublisher interface {
	PublishAddToCartEvent(ctx context.Context, cart *cartDomain.Cart, marketPlaceCode string, variantMarketPlaceCode string, qty int)
	PublishChangedQtyInCartEvent(ctx context.Context, cart *cartDomain.Cart, item *cartDomain.Item, qtyBefore int, qtyAfter int)
	PublishOrderPlacedEvent(ctx context.Context, cart *cartDomain.Cart, placedOrderInfos placeorder.PlacedOrderInfos)
}

EventPublisher technology free interface to publish events that might be interesting for outside (Publish)

type OrderPlacedEvent

type OrderPlacedEvent struct {
	Cart             *cartDomain.Cart
	PlacedOrderInfos placeorder.PlacedOrderInfos
}

OrderPlacedEvent defines event properties

type PaymentSelectionHasBeenResetEvent

type PaymentSelectionHasBeenResetEvent struct {
	Cart                     *cartDomain.Cart
	ResettedPaymentSelection *cartDomain.PaymentSelection
}

PaymentSelectionHasBeenResetEvent defines event properties

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL