Skip to content

Commit

Permalink
Merge changes from main branch
Browse files Browse the repository at this point in the history
  • Loading branch information
abhinandpn committed Nov 26, 2023
1 parent bd616cf commit 81e0eee
Show file tree
Hide file tree
Showing 6 changed files with 139 additions and 6 deletions.
16 changes: 15 additions & 1 deletion product-services/pkg/api/handler/interfaces/productinterfaces.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
package interfaces

import "github.com/gin-gonic/gin"

type ProductHandler interface {
//

// Product
AddProduct(ctx *gin.Context)
UpdateProduct(ctx *gin.Context)
DeteleProduct(ctx *gin.Context)
ListFullProducts(ctx *gin.Context)
GetProductById(ctx *gin.Context)

// Category
// Sub-Category
// Brand
// Sorting
// Searching
}
21 changes: 21 additions & 0 deletions product-services/pkg/api/handler/product.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package handler

import (
handlerinterfaces "github.com/abhinandpn/MicroServices-GoLang/product-services/pkg/api/handler/interfaces"
"github.com/gin-gonic/gin"

services "github.com/abhinandpn/MicroServices-GoLang/product-services/pkg/usecase/interfaces"
)
Expand All @@ -13,3 +14,23 @@ type ProductHandler struct {
func NewProductHandler(productUsecase services.ProductUseCase) handlerinterfaces.ProductHandler {
return &ProductHandler{ProductUseCase: productUsecase}
}

func (P *ProductHandler) AddProduct(ctx *gin.Context) {

}

func (P *ProductHandler) UpdateProduct(ctx *gin.Context) {

}

func (P *ProductHandler) DeteleProduct(ctx *gin.Context) {

}

func (P *ProductHandler) ListFullProducts(ctx *gin.Context) {

}

func (P *ProductHandler) GetProductById(ctx *gin.Context) {

}
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
package interfaces

type ProductRepositorie interface {
//

// Product
AddProduct()
UpdateProduct()
DeleteProduct()

// Filtering
GetFullProducts()
GetProductById()
GetProductByName()
GetProductByCategory()
GetProductByBrand()
}
38 changes: 37 additions & 1 deletion product-services/pkg/repositories/product.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,41 @@ type ProductDatabase struct {
}

func NewProductRepository(DB *gorm.DB) interfaces.ProductRepositorie {
return ProductDatabase{DB: DB}
return &ProductDatabase{DB: DB}
}

// Product Basic

func (P *ProductDatabase) AddProduct() {

}

func (P *ProductDatabase) UpdateProduct() {

}

func (P *ProductDatabase) DeleteProduct() {

}

// Product filtering

func (P *ProductDatabase) GetFullProducts() {

}

func (P *ProductDatabase) GetProductById() {

}

func (P *ProductDatabase) GetProductByName() {

}

func (P *ProductDatabase) GetProductByCategory() {

}

func (P *ProductDatabase) GetProductByBrand() {

}
19 changes: 16 additions & 3 deletions product-services/pkg/usecase/interfaces/productinterfaces.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
package interfaces

type ProductUseCase interface{

}
type ProductUseCase interface {

// Product
CreateProduct()
UpdateProduct()
DeletProduct()

// Listing
ViewFullProducts()
ViewProductById()
ViewProductByName()
ViewProductsByCategory()
ViewProductsBySUbCategory()
ViewProductsByBrands()

}
38 changes: 38 additions & 0 deletions product-services/pkg/usecase/product.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,41 @@ type ProductUseCase struct {
func NewProductUsecase(productRepo interfaces.ProductRepositorie) services.ProductUseCase {
return &ProductUseCase{ProductRepo: productRepo}
}

// Product Basic
func (P *ProductUseCase) CreateProduct() {

}

func (P *ProductUseCase) UpdateProduct() {

}

func (P *ProductUseCase) DeletProduct() {

}

// Product Listing
func (P *ProductUseCase) ViewFullProducts() {

}

func (P *ProductUseCase) ViewProductById() {

}

func (P *ProductUseCase) ViewProductByName() {

}

func (P *ProductUseCase) ViewProductsByCategory() {

}

func (P *ProductUseCase) ViewProductsBySUbCategory() {

}

func (P *ProductUseCase) ViewProductsByBrands() {

}

0 comments on commit 81e0eee

Please sign in to comment.