Merge branch 'main' of ssh://git.ma-al.com:8822/goc_daniel/b2b into product-procedures

This commit is contained in:
2026-04-10 15:26:36 +02:00
87 changed files with 2227 additions and 94 deletions

View File

@@ -9,6 +9,7 @@ import (
constdata "git.ma-al.com/goc_daniel/b2b/app/utils/const_data"
"git.ma-al.com/goc_daniel/b2b/app/utils/query/filters"
"git.ma-al.com/goc_daniel/b2b/app/utils/query/find"
"git.ma-al.com/goc_daniel/b2b/app/utils/responseErrors"
"git.ma-al.com/goc_daniel/b2b/app/view"
)
@@ -62,6 +63,7 @@ func (s *ProductService) Get(
func (s *ProductService) Find(
idLang uint,
userID uint,
p find.Paging,
filters *filters.FiltersList,
customer *model.Customer,
@@ -73,7 +75,7 @@ func (s *ProductService) Find(
return nil, errors.New("customer is nil or missing fields")
}
found, err := s.productsRepo.Find(idLang, p, filters)
found, err := s.productsRepo.Find(idLang, userID, p, filters)
if err != nil {
return nil, err
}
@@ -122,4 +124,45 @@ func (s *ProductService) GetProductAttributes(
}
return variants, nil
}
func (s *ProductService) AddToFavorites(userID uint, productID uint) error {
exists, err := s.productsRepo.ProductInDatabase(productID)
if err != nil {
return err
}
if !exists {
return responseErrors.ErrProductNotFound
}
exists, err = s.productsRepo.ExistsInFavorites(userID, productID)
if err != nil {
return err
}
if exists {
return responseErrors.ErrAlreadyInFavorites
}
return s.productsRepo.AddToFavorites(userID, productID)
}
func (s *ProductService) RemoveFromFavorites(userID uint, productID uint) error {
exists, err := s.productsRepo.ProductInDatabase(productID)
if err != nil {
return err
}
if !exists {
return responseErrors.ErrProductNotFound
}
exists, err = s.productsRepo.ExistsInFavorites(userID, productID)
if err != nil {
return err
}
if !exists {
return responseErrors.ErrNotInFavorites
}
return s.productsRepo.RemoveFromFavorites(userID, productID)
}