vegan-barcode/internal/application/handlers.go
2025-04-21 20:43:02 -05:00

45 lines
952 B
Go

package application
import (
"net/http"
"vegan-barcode/internal/models"
"github.com/gin-gonic/gin"
)
func (a *Application) TestHandler(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"message": "Hello World!"})
}
func (a *Application) GetClaimsHandler(c *gin.Context) {
system := c.Param("system")
barcode := c.Param("barcode")
productClaims, err := a.GetClaims(system, barcode)
if err != nil {
c.JSON(http.StatusInternalServerError, nil)
return
}
c.JSON(http.StatusOK, productClaims)
}
func (a *Application) PostClaimHandler(c *gin.Context) {
system := c.Param("system")
barcode := c.Param("barcode")
var requestBody models.UserClaimForm
err := c.BindJSON(&requestBody)
if err != nil {
c.JSON(http.StatusBadRequest, nil)
return
}
claim, err := a.CreateClaim(system, barcode, requestBody)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, claim)
}