2023-11-01 16:42:26 +00:00
|
|
|
package seeds
|
|
|
|
|
|
|
|
import (
|
|
|
|
"log"
|
|
|
|
"online-order/entity"
|
|
|
|
repository_product "online-order/repository/product"
|
|
|
|
repository_product_category "online-order/repository/product_category"
|
|
|
|
service_product "online-order/usecase/product"
|
|
|
|
service_product_category "online-order/usecase/product_category"
|
|
|
|
)
|
|
|
|
|
|
|
|
func fetchProductsFromJsonFile() *[]entity.ProductCreateUpdate {
|
|
|
|
file := CreateFile("database/seeds/resources/products.json")
|
|
|
|
pl := []entity.ProductCreateUpdate{}
|
|
|
|
|
|
|
|
if err := file.ReadJson(&pl); err != nil {
|
|
|
|
log.Println("on FillProducts an error occured: ", err)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
return &pl
|
|
|
|
}
|
|
|
|
|
|
|
|
func fetchProductCategoriesFromJsonFile() *[]entity.ProductCategoryCreateUpdate {
|
|
|
|
file := CreateFile("database/seeds/resources/categories.json")
|
|
|
|
pl := []entity.ProductCategoryCreateUpdate{}
|
|
|
|
if err := file.ReadJson(&pl); err != nil {
|
|
|
|
log.Println("on FillProducts an error occured: ", err)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
return &pl
|
|
|
|
}
|
|
|
|
|
|
|
|
func FillProductCategories(server *entity.Routers) {
|
|
|
|
productCategories := fetchProductCategoriesFromJsonFile()
|
|
|
|
|
|
|
|
activeBusiness := entity.ActiveBusiness{
|
|
|
|
BusinessID: 1,
|
|
|
|
DomainID: 1,
|
|
|
|
Domain: "localhost",
|
|
|
|
}
|
|
|
|
|
|
|
|
productCategoryRepo := repository_product_category.NewProductCategoryClient(server.Database, &activeBusiness)
|
|
|
|
|
|
|
|
productCategoryService := service_product_category.NewProductCategoryService(productCategoryRepo)
|
|
|
|
|
|
|
|
for _, item := range *productCategories {
|
|
|
|
productCategoryService.SyncWithSlug(item.Slug, &item)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func FillProducts(server *entity.Routers) {
|
|
|
|
products := fetchProductsFromJsonFile()
|
|
|
|
|
|
|
|
activeBusiness := entity.ActiveBusiness{
|
|
|
|
BusinessID: 1,
|
|
|
|
DomainID: 1,
|
|
|
|
Domain: "localhost",
|
|
|
|
}
|
|
|
|
|
2023-11-10 08:48:14 +00:00
|
|
|
productRepo := repository_product.NewProductRepository(server.Database, &activeBusiness)
|
2023-11-01 16:42:26 +00:00
|
|
|
|
|
|
|
productService := service_product.NewProductService(productRepo)
|
|
|
|
|
|
|
|
for _, item := range *products {
|
|
|
|
productService.Create(&item)
|
|
|
|
}
|
|
|
|
}
|