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", } productRepo := repository_product.NewProductClient(server.Database, &activeBusiness) productService := service_product.NewProductService(productRepo) for _, item := range *products { productService.Create(&item) } }