From 551681aefcd99d65f1250a945750f1b1d6a0e7a4 Mon Sep 17 00:00:00 2001 From: Pawin Nakvisai Date: Mon, 14 Oct 2024 22:54:16 +0700 Subject: [PATCH] [UPDATE] ingredient img paths --- internal/core/service/ingredient.go | 2 +- internal/core/util/ingredient.go | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/internal/core/service/ingredient.go b/internal/core/service/ingredient.go index 744496c..90478ba 100644 --- a/internal/core/service/ingredient.go +++ b/internal/core/service/ingredient.go @@ -236,7 +236,7 @@ func (s *IngredientService) AddIngredient(c *fiber.Ctx, ingredients *domain.AddI err := s.ingredientRepo.AddIngredient(c, addIngredientPayload) imgIndex := 1 for _, img := range ingredients.Img { - imgUrl, err := util.UploadIngredientImage(userID, ingredientID, img) + imgUrl, err := util.UploadIngredientImage(userID, ingredientID, img, strconv.Itoa(imgIndex)) if err != nil { return err } diff --git a/internal/core/util/ingredient.go b/internal/core/util/ingredient.go index 4c0d169..afadc0b 100644 --- a/internal/core/util/ingredient.go +++ b/internal/core/util/ingredient.go @@ -87,17 +87,14 @@ func ExpirationDate(daysSince2000 string) time.Time { return expirationDate } -func UploadIngredientImage(userId string, ingredientId string, imgBase64 string) (string, error) { +func UploadIngredientImage(userId string, ingredientId string, imgBase64 string, index string) (string, error) { // Decode the base64 string to a byte slice imgBytes, err := base64.StdEncoding.DecodeString(imgBase64) if err != nil { return "", err } - - // Generate a unique filename based on the current timestamp - filename := fmt.Sprintf("%d.jpg", time.Now().UnixNano()) // Create the path based on userId, and ingredientId - filePath := filepath.Join(fmt.Sprintf("images/%s/ingredients/%s", userId, ingredientId), filename) + filePath := filepath.Join(fmt.Sprintf("images/%s/ingredients/%s/%s.jpg", userId, ingredientId, index)) // Create the directory if it doesn't exist if err := os.MkdirAll(filepath.Dir(filePath), os.ModePerm); err != nil { @@ -128,10 +125,8 @@ func UploadIngredientStockImage(userId string, ingredientId string, ingredientSt return "", err } - // Generate a unique filename based on the current timestamp - filename := fmt.Sprintf("%d.jpg", time.Now().UnixNano()) // Create the path based on userId, and ingredientId - filePath := filepath.Join(fmt.Sprintf("images/%s/ingredients/%s/%s", userId, ingredientId, ingredientStockId), filename) + filePath := filepath.Join(fmt.Sprintf("images/%s/ingredients/%s/%s.jpg", userId, ingredientId, ingredientStockId)) // Create the directory if it doesn't exist if err := os.MkdirAll(filepath.Dir(filePath), os.ModePerm); err != nil {