package api import ( "net/http" db "git.nochill.in/nochill/naice_pos/db/sqlc" "github.com/gin-gonic/gin" "github.com/google/uuid" ) type createProductRequest struct { MerchantID uuid.UUID `json:"merchant_id" binding:"required"` Name string `json:"name" binding:"required"` SellingPrice float64 `json:"selling_price" binding:"required"` PurchasePrice float64 `json:"purchase_price" binding:"required"` Stock float64 `json:"stock" binding:"required"` } func (server *Server) createProduct(ctx *gin.Context) { var req createProductRequest if err := ctx.ShouldBindJSON(&req); err != nil { ctx.JSON(http.StatusBadRequest, errorResponse(err)) return } arg := db.CreateProductParams{ MerchantID: req.MerchantID, Name: req.Name, SellingPrice: req.SellingPrice, PurchasePrice: req.PurchasePrice, Stock: req.Stock, } product, err := server.store.CreateProduct(ctx, arg) if err != nil { ctx.JSON(http.StatusInternalServerError, errorResponse(err)) return } ctx.JSON(http.StatusOK, product) }