Documentation
¶
Index ¶
- func NewCreateProductHandler(log logger.Logger, cfg *config.Config, pgRepo repository.Repository, ...) *createProductHandler
- func NewDeleteProductHandler(log logger.Logger, cfg *config.Config, pgRepo repository.Repository, ...) *deleteProductHandler
- func NewUpdateProductHandler(log logger.Logger, cfg *config.Config, pgRepo repository.Repository, ...) *updateProductHandler
- type CreateProductCmdHandler
- type CreateProductCommand
- type DeleteProductCmdHandler
- type DeleteProductCommand
- type ProductCommands
- type UpdateProductCmdHandler
- type UpdateProductCommand
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCreateProductHandler ¶
func NewCreateProductHandler(log logger.Logger, cfg *config.Config, pgRepo repository.Repository, kafkaProducer kafkaClient.Producer) *createProductHandler
func NewDeleteProductHandler ¶
func NewDeleteProductHandler(log logger.Logger, cfg *config.Config, pgRepo repository.Repository, kafkaProducer kafkaClient.Producer) *deleteProductHandler
func NewUpdateProductHandler ¶
func NewUpdateProductHandler(log logger.Logger, cfg *config.Config, pgRepo repository.Repository, kafkaProducer kafkaClient.Producer) *updateProductHandler
Types ¶
type CreateProductCmdHandler ¶
type CreateProductCmdHandler interface {
Handle(ctx context.Context, command *CreateProductCommand) error
}
type CreateProductCommand ¶
type CreateProductCommand struct { ProductID uuid.UUID `json:"productId" validate:"required"` Name string `json:"name" validate:"required,gte=0,lte=255"` Description string `json:"description" validate:"required,gte=0,lte=5000"` Price float64 `json:"price" validate:"required,gte=0"` }
func NewCreateProductCommand ¶
type DeleteProductCmdHandler ¶
type DeleteProductCmdHandler interface {
Handle(ctx context.Context, command *DeleteProductCommand) error
}
type DeleteProductCommand ¶
func NewDeleteProductCommand ¶
func NewDeleteProductCommand(productID uuid.UUID) *DeleteProductCommand
type ProductCommands ¶
type ProductCommands struct { CreateProduct CreateProductCmdHandler UpdateProduct UpdateProductCmdHandler DeleteProduct DeleteProductCmdHandler }
func NewProductCommands ¶
func NewProductCommands(createProduct CreateProductCmdHandler, updateProduct UpdateProductCmdHandler, deleteProduct DeleteProductCmdHandler) *ProductCommands
type UpdateProductCmdHandler ¶
type UpdateProductCmdHandler interface {
Handle(ctx context.Context, command *UpdateProductCommand) error
}
type UpdateProductCommand ¶
type UpdateProductCommand struct { ProductID uuid.UUID `json:"productId" validate:"required,gte=0,lte=255"` Name string `json:"name" validate:"required,gte=0,lte=255"` Description string `json:"description" validate:"required,gte=0,lte=5000"` Price float64 `json:"price" validate:"required,gte=0"` }
func NewUpdateProductCommand ¶
Click to show internal directories.
Click to hide internal directories.