41 lines
981 B
Go
41 lines
981 B
Go
package handler
|
|
|
|
import (
|
|
"BE-MiniERP/database"
|
|
"BE-MiniERP/modules/inventory/models"
|
|
"BE-MiniERP/modules/inventory/repository"
|
|
|
|
"github.com/gofiber/fiber/v2"
|
|
)
|
|
|
|
type StockMovementHandler struct {
|
|
Repo *repository.StockMovementRepository
|
|
}
|
|
|
|
func NewStockMovementHandler() *StockMovementHandler {
|
|
return &StockMovementHandler{
|
|
Repo: repository.NewStockMovementRepository(database.DB),
|
|
}
|
|
}
|
|
|
|
func (h *StockMovementHandler) GetAll(c *fiber.Ctx) error {
|
|
data, err := h.Repo.FindAll()
|
|
if err != nil {
|
|
return c.Status(500).JSON(fiber.Map{"error": "Failed to fetch stock movements"})
|
|
}
|
|
return c.JSON(data)
|
|
}
|
|
|
|
func (h *StockMovementHandler) Create(c *fiber.Ctx) error {
|
|
var input models.StockMovement
|
|
if err := c.BodyParser(&input); err != nil {
|
|
return c.Status(400).JSON(fiber.Map{"error": "Invalid input"})
|
|
}
|
|
|
|
if err := h.Repo.Create(&input); err != nil {
|
|
return c.Status(500).JSON(fiber.Map{"error": "Failed to create stock movement"})
|
|
}
|
|
|
|
return c.JSON(input)
|
|
}
|