Compare commits

..

2 Commits

Author SHA1 Message Date
Aditya Siregar
9e74d415b3 add product inventory 2025-08-13 21:02:26 +07:00
Aditya Siregar
58dc92c722 Add Outlet ID 2025-08-13 20:57:57 +07:00
4 changed files with 16 additions and 3 deletions

View File

@ -138,13 +138,14 @@ func (h *InventoryHandler) GetInventory(c *gin.Context) {
func (h *InventoryHandler) ListInventory(c *gin.Context) {
ctx := c.Request.Context()
contextInfo := appcontext.FromGinContext(ctx)
req := &contract.ListInventoryRequest{
Page: 1,
Limit: 10,
OutletID: &contextInfo.OutletID,
}
// Parse query parameters
if pageStr := c.Query("page"); pageStr != "" {
if page, err := strconv.Atoi(pageStr); err == nil {
req.Page = page

View File

@ -3,6 +3,7 @@ package mappers
import (
"apskel-pos-be/internal/entities"
"apskel-pos-be/internal/models"
"github.com/google/uuid"
)
func InventoryEntityToModel(entity *entities.Inventory) *models.Inventory {
@ -53,10 +54,16 @@ func InventoryEntityToResponse(entity *entities.Inventory) *models.InventoryResp
return nil
}
productName := ""
if entity.Product.ID != uuid.Nil {
productName = entity.Product.Name
}
return &models.InventoryResponse{
ID: entity.ID,
OutletID: entity.OutletID,
ProductID: entity.ProductID,
ProductName: productName,
Quantity: entity.Quantity,
ReorderLevel: entity.ReorderLevel,
IsLowStock: entity.IsLowStock(),

View File

@ -36,6 +36,7 @@ type InventoryResponse struct {
ID uuid.UUID
OutletID uuid.UUID
ProductID uuid.UUID
ProductName string
Quantity int
ReorderLevel int
IsLowStock bool

View File

@ -43,6 +43,10 @@ func InventoryModelResponseToResponse(inv *models.InventoryResponse) *contract.I
ReorderLevel: inv.ReorderLevel,
IsLowStock: inv.IsLowStock,
UpdatedAt: inv.UpdatedAt,
Product: &contract.ProductResponse{
ID: inv.ProductID,
Name: inv.ProductName,
},
}
}