package endpoints import ( "context" "fmt" "relynolli-server/models" "relynolli-server/status" "relynolli-server/storage" "time" "github.com/gin-gonic/gin" ) type getCartItemsRequest struct { FuserId int64 `form:"fuserId"` } func (h *handlers) GetCartItems(c *gin.Context) { ctx := context.Background() query := new(getCartItemsRequest) meta := models.Meta{ RequestStarted: time.Now().Unix(), } err := c.ShouldBindQuery(query) if err != nil || query.FuserId == 0 { meta.RequestFinished = time.Now().Unix() c.JSON(400, models.Response{ Status: status.STATUS_BAD_REQUEST, Info: "\"fuserId\" should be provided and be integer number", Meta: &meta}) return } s := storage.NewStorageCart() items, _ := s.GetCartItems(ctx, query.FuserId) meta.RequestFinished = time.Now().Unix() c.JSON(200, models.Response{ Status: status.STATUS_OK, Data: &items, Meta: &meta, }) } func (h *handlers) CreateFUser(c *gin.Context) { s := storage.NewStorageCart() ctx := context.Background() meta := models.Meta{ RequestStarted: time.Now().Unix(), } fuserId, fuser, err := s.CreateFuser(ctx) if err != nil { meta.RequestFinished = time.Now().Unix() c.JSON(500, models.Response{ Status: status.STATUS_SERVER_ERROR, Info: fmt.Sprintf("Error: %s", err.Error()), Meta: &meta, }) return } meta.RequestFinished = time.Now().Unix() c.JSON(201, models.Response{ Status: status.STATUS_OK, Info: "New Fuser has created", Data: &gin.H{ "fuserId": fuserId, "fuser": &fuser, }, Meta: &meta, }) }