online-order/domain/product.go
2023-10-30 03:03:40 +03:30

32 lines
854 B
Go

package domain
import (
"github.com/gin-gonic/gin"
"online-order/entity"
)
type ProductRepository interface {
List() ([]*entity.ProductDisplay, error)
Create(p *entity.ProductCreateUpdate) error
GetByID(id int) (*entity.ProductDisplay, error)
SearchProduct(identifier string) (*entity.ProductDisplay, error)
Update(p *entity.ProductCreateUpdate) error
Delete(id int) error
}
type ProductService interface {
List() ([]*entity.ProductDisplay, error)
Create(u *entity.ProductCreateUpdate) error
GetByID(id int) (*entity.ProductDisplay, error)
SearchProduct(identifier string) (*entity.ProductDisplay, error)
Update(u *entity.ProductCreateUpdate) error
Delete(id int) error
}
type ProductController interface {
listProduct(ctx *gin.Context)
getProduct(ctx *gin.Context)
updateProduct(ctx *gin.Context)
deleteProduct(ctx *gin.Context)
}