32 lines
851 B
Go
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)
|
|
}
|