order_proj

package
v0.0.0-...-7dc96ab Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2023 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func UpdateOrderProjection

func UpdateOrderProjection(orderId string) error

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" json:"id"`
	OrderId string             `bson:"orderId" validate:"required,min=1,max=100"`
	Status  OrderStatus        `bson:"type" validate:"required"`

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

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

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

Estuctura basica de del evento

func FindById

func FindById(orderId string) (*Order, error)

func FindByUserId

func FindByUserId(userId string) ([]*Order, error)

FindAll devuelve todos los eventos por order id

func (*Order) TotalPayment

func (e *Order) TotalPayment() float32

func (*Order) TotalPrice

func (e *Order) TotalPrice() float32

func (Order) UpdadatePayment

func (o Order) UpdadatePayment(e *events.Event) Order

func (Order) UpdadatePlace

func (o Order) UpdadatePlace(e *events.Event) Order

func (Order) UpdadateValidation

func (o Order) UpdadateValidation(e *events.Event) Order

func (Order) Update

func (order Order) Update(event *events.Event) Order

func (*Order) ValidateSchema

func (e *Order) ValidateSchema() error

ValidateSchema valida la estructura para ser insertada en la db

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