order

package
v0.0.0-...-2ad8e27 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2025 License: GPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Article

type Article struct {
	ArticleId    string  `json:"articleId" binding:"required,min=1,max=100"`
	Quantity     int     `json:"quantity" binding:"required,min=1"`
	IsValid      bool    `json:"isValid" `
	UnitaryPrice float32 `json:"unitaryPrice" `
	IsValidated  bool    `json:"isValidated" `
}

type Order

type Order struct {
	ID      primitive.ObjectID `bson:"_id,omitempty" json:"id"`
	OrderId string             `bson:"orderId" json:"orderId" validate:"required,min=1,max=100"`
	Status  OrderStatus        `bson:"status" json:"status" validate:"required"`

	UserId   string     `bson:"userId" json:"userId" validate:"required,min=1,max=100"`
	CartId   string     `bson:"cartId" json:"cartId" validate:"required,min=1,max=100"`
	Articles []*Article `bson:"articles"  json:"articles"`

	Payments []*PaymentEvent `bson:"payments" json:"payments"`

	Created time.Time `bson:"created" json:"created"`
	Updated time.Time `bson:"updated" json:"updated"`
}

Estuctura basica de del evento

func (*Order) TotalPayment

func (e *Order) TotalPayment() float32

func (*Order) TotalPrice

func (e *Order) TotalPrice() float32

func (*Order) ValidateSchema

func (e *Order) ValidateSchema() error

ValidateSchema valida la estructura para ser insertada en la db

type OrderRepository

type OrderRepository interface {
	Insert(order *Order) (*Order, error)
	FindByOrderId(orderId string) (*Order, error)
	FindByUserId(userId string) ([]*Order, error)
}

func NewOrderRepository

func NewOrderRepository(log log.LogRusEntry, collection db.Collection) OrderRepository

type OrderService

type OrderService interface {
	Update(orderId string, ev []*events.Event) (*Order, error)
	FindByOrderId(orderId string) (*Order, error)
	FindByUserId(userId string) ([]*Order, error)
}

func NewOrderService

func NewOrderService(log log.LogRusEntry, repository OrderRepository) OrderService

type OrderStatus

type OrderStatus string
const (
	Placed          OrderStatus = "placed"
	Invalid         OrderStatus = "invalid"
	Validated       OrderStatus = "validated"
	Payment_Defined OrderStatus = "payment_defined"
)

type PaymentEvent

type PaymentEvent struct {
	Method events.PaymentMethod `bson:"metod" json:"method"`
	Amount float32              `bson:"amount" json:"amount"`
}

Jump to

Keyboard shortcuts

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