fix in the product import
This commit is contained in:
@@ -35,6 +35,8 @@ type ProductService interface {
|
||||
ImportCatalogueProduct(reqs []models.ImportCatalogueProductRequest) error
|
||||
GetImportedCatalogueRefs(tenantid int, brand string) ([]models.ImportedCatalogueRef, error)
|
||||
GetTenantCategories(tenantid int) ([]models.TenantCategory, error)
|
||||
PublishProduct(tenantID, productID int, price float64) (int, error)
|
||||
UnpublishProduct(tenantID, productID int) (int, error)
|
||||
}
|
||||
type productService struct {
|
||||
repo repositories.ProductRepository
|
||||
@@ -315,6 +317,14 @@ func (s *productService) ImportCatalogueProduct(reqs []models.ImportCataloguePro
|
||||
// column — not products.retailprice — is what the store catalogue, the
|
||||
// customer app and each order line read. The result was a catalogue
|
||||
// where nothing had a price and every order booked an amount of 0.
|
||||
// `publishedat` is deliberately absent — the field is `<-:false`, so
|
||||
// this row is created unpublished and belongs to the admin catalogue
|
||||
// only. Releasing it to the shops is PublishProduct, which refuses
|
||||
// without a price.
|
||||
//
|
||||
// Importing used to be publication: this row existed, and membership of
|
||||
// this table was the whole test, so a product reached every shop the
|
||||
// moment it was imported and before anyone had priced it.
|
||||
locations = append(locations, models.Productlocations{
|
||||
Tenantid: req.Tenantid,
|
||||
Locationid: req.Locationid,
|
||||
@@ -337,3 +347,15 @@ func (s *productService) GetTenantCategories(tenantid int) ([]models.TenantCateg
|
||||
return s.repo.GetTenantCategories(tenantid)
|
||||
}
|
||||
|
||||
|
||||
// PublishProduct releases a product to every outlet the tenant runs.
|
||||
//
|
||||
// The price check lives in the repository rather than here, so it holds for any
|
||||
// caller — the console form is a convenience, not the rule.
|
||||
func (s *productService) PublishProduct(tenantID, productID int, price float64) (int, error) {
|
||||
return s.repo.PublishProduct(tenantID, productID, price)
|
||||
}
|
||||
|
||||
func (s *productService) UnpublishProduct(tenantID, productID int) (int, error) {
|
||||
return s.repo.UnpublishProduct(tenantID, productID)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user