add comments, make errors more consistent
This commit is contained in:
parent
e762fc2abd
commit
34218e7306
7 changed files with 37 additions and 21 deletions
|
@ -1,7 +1,6 @@
|
|||
package application
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"vegan-barcode/internal/models"
|
||||
|
||||
|
@ -25,6 +24,7 @@ func (a *Application) GetClaimsHandler(c *gin.Context) {
|
|||
c.JSON(http.StatusOK, productClaims)
|
||||
}
|
||||
|
||||
// PostClaimHandler takes the parameters and body form
|
||||
func (a *Application) PostClaimHandler(c *gin.Context) {
|
||||
system := c.Param("system")
|
||||
barcode := c.Param("barcode")
|
||||
|
@ -32,12 +32,12 @@ func (a *Application) PostClaimHandler(c *gin.Context) {
|
|||
var requestBody models.UserClaimForm
|
||||
err := c.BindJSON(&requestBody)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusBadRequest, fmt.Errorf("improperly formatted request: %w", err))
|
||||
c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()})
|
||||
return
|
||||
}
|
||||
log.Debugf("requestbody: %v", requestBody)
|
||||
|
||||
claim, err := a.CreateClaim(system, barcode, requestBody)
|
||||
claim, err := a.CreateUserClaim(system, barcode, requestBody)
|
||||
if err != nil {
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
|
||||
return
|
||||
|
|
|
@ -23,18 +23,13 @@ func (a *Application) GetClaims(system string, barcode string) (*models.ProductC
|
|||
return &models.ProductClaims{Id: product.Id, Claims: claims}, nil
|
||||
}
|
||||
|
||||
func (a *Application) CreateClaim(system string, barcode string, form models.UserClaimForm) (*database.UserClaim, error) {
|
||||
product, err := a.db.FindProductByBarcode(system, barcode)
|
||||
// CreateUserClaim gets the product ID or creates a new entry if not found,
|
||||
// then calls InsertUserClaim to create the claim object and put it in the database.
|
||||
func (a *Application) CreateUserClaim(system string, barcode string, form models.UserClaimForm) (*database.UserClaim, error) {
|
||||
product, err := a.db.FindOrCreateProduct(system, barcode)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// no product, create new
|
||||
if product == nil {
|
||||
product, err = a.db.CreateProduct(system, barcode)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
||||
return a.db.CreateUserClaim(product.Id, form)
|
||||
return a.db.InsertUserClaim(product.Id, form)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue