Update Auto Generate SKU

This commit is contained in:
2025-06-27 13:34:54 +07:00
parent f8798a53a4
commit 9b1f58d783
5 changed files with 62 additions and 2 deletions
@@ -4,6 +4,7 @@ import (
"BE-MiniERP/database"
"BE-MiniERP/modules/inventory/models"
"BE-MiniERP/modules/inventory/repository"
"BE-MiniERP/modules/inventory/service"
"strconv"
"github.com/gofiber/fiber/v2"
@@ -32,9 +33,23 @@ func (h *ProductHandler) Create(c *fiber.Ctx) error {
if err := c.BodyParser(&input); err != nil {
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
}
// Jika hanya terima ID, lakukan preload relasi
if err := h.Repo.PreloadRelations(&input); err != nil {
return c.Status(400).JSON(fiber.Map{"error": "Failed to preload relations"})
}
// Generate SKU
sku, err := service.GenerateSKU(&input)
if err != nil {
return c.Status(400).JSON(fiber.Map{"error": "Failed to generate SKU: " + err.Error()})
}
input.SKU = sku
if err := h.Repo.Create(&input); err != nil {
return c.Status(500).JSON(fiber.Map{"error": "Failed to create product"})
}
return c.JSON(input)
}