Yimaru-BackEnd/internal/web_server/handlers/bonus.go

99 lines
3.6 KiB
Go

package handlers
// import (
// "time"
// "github.com/SamuelTariku/FortuneBet-Backend/internal/web_server/response"
// "github.com/gofiber/fiber/v2"
// "go.uber.org/zap"
// )
// func (h *Handler) CreateBonusMultiplier(c *fiber.Ctx) error {
// var req struct {
// Multiplier float32 `json:"multiplier"`
// BalanceCap int64 `json:"balance_cap"`
// }
// if err := c.BodyParser(&req); err != nil {
// h.logger.Error("failed to parse bonus multiplier request", "error", err)
// h.mongoLoggerSvc.Info("failed to parse bonus multiplier",
// zap.Int("status_code", fiber.StatusBadRequest),
// zap.Error(err),
// zap.Time("timestamp", time.Now()),
// )
// return fiber.NewError(fiber.StatusBadRequest, "Invalid request body:"+err.Error())
// }
// // currently only one multiplier is allowed
// // we can add an active bool in the db and have mulitple bonus if needed
// multipliers, err := h.bonusSvc.GetBonusMultiplier(c.Context())
// if err != nil {
// h.logger.Error("failed to get bonus multiplier", "error", err)
// h.mongoLoggerSvc.Info("Failed to get bonus multiplier",
// zap.Int("status_code", fiber.StatusBadRequest),
// zap.Error(err),
// zap.Time("timestamp", time.Now()),
// )
// return fiber.NewError(fiber.StatusBadRequest, "Invalid request body:"+err.Error())
// }
// if len(multipliers) > 0 {
// return fiber.NewError(fiber.StatusBadRequest, "only one multiplier is allowed")
// }
// if err := h.bonusSvc.CreateBonusMultiplier(c.Context(), req.Multiplier, req.BalanceCap); err != nil {
// h.mongoLoggerSvc.Error("failed to create bonus multiplier",
// zap.Int("status_code", fiber.StatusInternalServerError),
// zap.Error(err),
// zap.Time("timestamp", time.Now()),
// )
// return fiber.NewError(fiber.StatusInternalServerError, "failed to create bonus multiplier"+err.Error())
// }
// return response.WriteJSON(c, fiber.StatusOK, "Create bonus multiplier successfully", nil, nil)
// }
// func (h *Handler) GetBonusMultiplier(c *fiber.Ctx) error {
// multipliers, err := h.bonusSvc.GetBonusMultiplier(c.Context())
// if err != nil {
// h.mongoLoggerSvc.Info("failed to get bonus multiplier",
// zap.Int("status_code", fiber.StatusBadRequest),
// zap.Error(err),
// zap.Time("timestamp", time.Now()),
// )
// return fiber.NewError(fiber.StatusBadRequest, "Invalid request body"+err.Error())
// }
// return response.WriteJSON(c, fiber.StatusOK, "Fetched bonus multiplier successfully", multipliers, nil)
// }
// func (h *Handler) UpdateBonusMultiplier(c *fiber.Ctx) error {
// var req struct {
// ID int64 `json:"id"`
// Multiplier float32 `json:"multiplier"`
// BalanceCap int64 `json:"balance_cap"`
// }
// if err := c.BodyParser(&req); err != nil {
// h.mongoLoggerSvc.Info("failed to parse bonus multiplier",
// zap.Int("status_code", fiber.StatusBadRequest),
// zap.Error(err),
// zap.Time("timestamp", time.Now()),
// )
// return fiber.NewError(fiber.StatusBadRequest, "Invalid request body:"+err.Error())
// }
// if err := h.bonusSvc.UpdateBonusMultiplier(c.Context(), req.ID, req.Multiplier, req.BalanceCap); err != nil {
// h.logger.Error("failed to update bonus multiplier", "error", err)
// h.mongoLoggerSvc.Error("failed to update bonus multiplier",
// zap.Int64("id", req.ID),
// zap.Int("status_code", fiber.StatusInternalServerError),
// zap.Error(err),
// zap.Time("timestamp", time.Now()),
// )
// return fiber.NewError(fiber.StatusInternalServerError, "failed to update bonus multiplier:"+err.Error())
// }
// return response.WriteJSON(c, fiber.StatusOK, "Updated bonus multiplier successfully", nil, nil)
// }