application

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jul 21, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateAddProductUseCase added in v0.0.2

func CreateAddProductUseCase(dependencies map[string]interface{}) (interface{}, error)

func CreateDeleteProductUseCase added in v0.0.2

func CreateDeleteProductUseCase(dependencies map[string]interface{}) (interface{}, error)

func CreateGetAllProductsUseCase added in v0.0.2

func CreateGetAllProductsUseCase(dependencies map[string]interface{}) (interface{}, error)

func CreateGetProductUseCase added in v0.0.2

func CreateGetProductUseCase(dependencies map[string]interface{}) (interface{}, error)

func CreateUpdateProductUseCase added in v0.0.2

func CreateUpdateProductUseCase(dependencies map[string]interface{}) (interface{}, error)

func NewDeleteProductUseCase

func NewDeleteProductUseCase(productDeleter domain.ProductDeleter) *deleteProductUseCase

Types

type AddProductInput

type AddProductInput struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price"`
}

type AddProductOutput

type AddProductOutput struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price"`
	CreatedAt   string  `json:"created_at"`
	UpdatedAt   string  `json:"updated_at"`
}

type AddProductUseCase

type AddProductUseCase interface {
	Execute(input AddProductInput) (*AddProductOutput, error)
}

func NewAddProductUseCase added in v0.0.2

func NewAddProductUseCase(ProductAdder domain.ProductAdder) AddProductUseCase

type DeleteProductInput

type DeleteProductInput struct {
	ID string `json:"id"`
}

type DeleteProductUseCase

type DeleteProductUseCase interface {
	Execute(input DeleteProductInput) error
}

type GetAllProductsOutput

type GetAllProductsOutput struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price"`
	CreatedAt   string  `json:"created_at"`
	UpdatedAt   string  `json:"updated_at"`
}

type GetAllProductsUseCase

type GetAllProductsUseCase interface {
	Execute() ([]*GetAllProductsOutput, error)
}

func NewGetAllProductsUseCase

func NewGetAllProductsUseCase(productFinder domain.AllProductFinder) GetAllProductsUseCase

type GetProductInput

type GetProductInput struct {
	ID string `json:"id"`
}

type GetProductOutput

type GetProductOutput struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price"`
	CreatedAt   string  `json:"created_at"`
	UpdatedAt   string  `json:"updated_at"`
}

type GetProductUseCase

type GetProductUseCase interface {
	Execute(input GetProductInput) (*GetProductOutput, error)
}

func NewGetProductUseCase

func NewGetProductUseCase(productFinder domain.ProductFinder) GetProductUseCase

type UpdateProductInput

type UpdateProductInput struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price"`
}

type UpdateProductOutput

type UpdateProductOutput struct {
	ID          string  `json:"id"`
	Name        string  `json:"name"`
	Description string  `json:"description"`
	Price       float64 `json:"price"`
	CreatedAt   string  `json:"created_at"`
	UpdatedAt   string  `json:"updated_at"`
}

type UpdateProductUseCase

type UpdateProductUseCase interface {
	Execute(input UpdateProductInput) (*UpdateProductOutput, error)
}

func NewUpdateProductUseCase

func NewUpdateProductUseCase(productUpdater domain.ProductUpdater) UpdateProductUseCase

Jump to

Keyboard shortcuts

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