aggregate

package
v0.0.0-...-10ef84c Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OrderAggregateType es.AggregateType = "order"
)

Variables

View Source
var (
	ErrOrderAlreadyCompleted          = errors.New("Order already completed")
	ErrOrderAlreadyCanceled           = errors.New("Order is already canceled")
	ErrOrderMustBePaidBeforeDelivered = errors.New("Order must be paid before been delivered")
	ErrCancelReasonRequired           = errors.New("Cancel reason must be provided")
	ErrOrderAlreadyCancelled          = errors.New("order already cancelled")
	ErrAlreadyPaid                    = errors.New("already paid")
	ErrAlreadySubmitted               = errors.New("already submitted")
	ErrOrderNotPaid                   = errors.New("order not paid")
	ErrOrderNotFound                  = errors.New("order not found")
	ErrAlreadyCreated                 = errors.New("order with given id already created")
	ErrOrderShopItemsIsRequired       = errors.New("order shop items is required")
	ErrInvalidDeliveryAddress         = errors.New("Invalid delivery address")
)

Functions

func GetOrderAggregateID

func GetOrderAggregateID(eventAggregateID string) string

GetOrderAggregateID get order aggregate id for eventstoredb

func GetShopItemsTotalPrice

func GetShopItemsTotalPrice(shopItems []*models.ShopItem) float64

func IsAggregateNotFound

func IsAggregateNotFound(aggregate es.Aggregate) bool

Types

type OrderAggregate

type OrderAggregate struct {
	*es.AggregateBase
	Order *models.Order
}

func LoadOrderAggregate

func LoadOrderAggregate(ctx context.Context, eventStore es.AggregateStore, aggregateID string) (*OrderAggregate, error)

func NewOrderAggregate

func NewOrderAggregate() *OrderAggregate

func NewOrderAggregateWithID

func NewOrderAggregateWithID(id string) *OrderAggregate

func (*OrderAggregate) CancelOrder

func (a *OrderAggregate) CancelOrder(ctx context.Context, cancelReason string) error

func (*OrderAggregate) ChangeDeliveryAddress

func (a *OrderAggregate) ChangeDeliveryAddress(ctx context.Context, deliveryAddress string) error

func (*OrderAggregate) CompleteOrder

func (a *OrderAggregate) CompleteOrder(ctx context.Context, deliveryTimestamp time.Time) error

func (*OrderAggregate) CreateOrder

func (a *OrderAggregate) CreateOrder(ctx context.Context, shopItems []*models.ShopItem, accountEmail, deliveryAddress string) error

func (*OrderAggregate) PayOrder

func (a *OrderAggregate) PayOrder(ctx context.Context, payment models.Payment) error

func (*OrderAggregate) SubmitOrder

func (a *OrderAggregate) SubmitOrder(ctx context.Context) error

func (*OrderAggregate) UpdateShoppingCart

func (a *OrderAggregate) UpdateShoppingCart(ctx context.Context, shopItems []*models.ShopItem) error

func (*OrderAggregate) When

func (a *OrderAggregate) When(evt es.Event) error

Jump to

Keyboard shortcuts

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