online-order/domain/product.go
2023-10-28 01:42:56 +03:30

32 lines
851 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 UserController interface {
listProduct(ctx *gin.Context)
getProduct(ctx *gin.Context)
updateProduct(ctx *gin.Context)
deleteProduct(ctx *gin.Context)
}