From 3313c3833bb5d425414f44684cc5328c23c18e2a Mon Sep 17 00:00:00 2001 From: Samuel Tariku Date: Tue, 9 Sep 2025 19:19:35 +0300 Subject: [PATCH] fix: more referral fixes --- internal/services/referal/service.go | 6 -- .../web_server/handlers/referal_handlers.go | 63 +------------------ 2 files changed, 3 insertions(+), 66 deletions(-) diff --git a/internal/services/referal/service.go b/internal/services/referal/service.go index a3b2bf5..2dc8a73 100644 --- a/internal/services/referal/service.go +++ b/internal/services/referal/service.go @@ -154,11 +154,6 @@ func (s *Service) GetUserReferralCount(ctx context.Context, referrerID int64) (i return count, nil } - - - - - // func (s *Service) ProcessDepositBonus(ctx context.Context, userID int64, amount float32, companyID int64) error { // settingsList, err := s.settingSvc.GetOverrideSettingsList(ctx, companyID) // if err != nil { @@ -237,4 +232,3 @@ func (s *Service) GetUserReferralCount(ctx context.Context, referrerID int64) (i // s.logger.Info("Bet referral processed successfully", "referrer ID", referral.ReferrerID, "referrerID", referral.ReferrerID, "bonus", bonus) // return nil // } - diff --git a/internal/web_server/handlers/referal_handlers.go b/internal/web_server/handlers/referal_handlers.go index ceca245..7683466 100644 --- a/internal/web_server/handlers/referal_handlers.go +++ b/internal/web_server/handlers/referal_handlers.go @@ -26,8 +26,9 @@ func (h *Handler) CreateReferralCode(c *fiber.Ctx) error { ) return fiber.NewError(fiber.StatusInternalServerError, "Invalid user identification") } + referralCode, err := h.referralSvc.CreateReferralCode(c.Context(), userID, companyID.Value); - if err := h.referralSvc.CreateReferral(c.Context(), userID, companyID.Value); err != nil { + if err != nil { h.mongoLoggerSvc.Error("Failed to create referral", zap.Int64("userID", userID), zap.Int("status_code", fiber.StatusInternalServerError), @@ -38,65 +39,7 @@ func (h *Handler) CreateReferralCode(c *fiber.Ctx) error { } fmt.Printf("Successfully created referral!") - return response.WriteJSON(c, fiber.StatusOK, "Referral created successfully", nil, nil) -} - -func (h *Handler) CreateReferralSettings(c *fiber.Ctx) error { - - var req domain.ReferralSettingsReq - if err := c.BodyParser(&req); err != nil { - h.mongoLoggerSvc.Info("Failed to parse settings", - zap.Int("status_code", fiber.StatusBadRequest), - zap.Error(err), - zap.Time("timestamp", time.Now()), - ) - return fiber.NewError(fiber.StatusBadRequest, "Invalid request body") - } - - if valErrs, ok := h.validator.Validate(c, req); !ok { - var errMsg string - for field, msg := range valErrs { - errMsg += fmt.Sprintf("%s: %s; ", field, msg) - } - h.mongoLoggerSvc.Info("Failed to validate settings", - zap.String("errMsg", errMsg), - zap.Int("status_code", fiber.StatusBadRequest), - zap.Time("timestamp", time.Now()), - ) - return fiber.NewError(fiber.StatusBadRequest, errMsg) - } - - settings, err := h.referralSvc.GetReferralSettings(c.Context()) - if err != nil { - h.mongoLoggerSvc.Error("Failed to fetch previous referral setting", - zap.Int("status_code", fiber.StatusInternalServerError), - zap.Error(err), - zap.Time("timestamp", time.Now()), - ) - return fiber.NewError(fiber.StatusInternalServerError, "Failed to create referral") - } - - // only allow one referral setting for now - // for future it can be multiple and be able to choose from them - if settings != nil { - h.mongoLoggerSvc.Error("referral setting already exists", - zap.Int("status_code", fiber.StatusInternalServerError), - zap.Error(err), - zap.Time("timestamp", time.Now()), - ) - return fiber.NewError(fiber.StatusInternalServerError, "referral setting already exists") - } - - if err := h.referralSvc.CreateReferralSettings(c.Context(), req); err != nil { - h.mongoLoggerSvc.Error("Failed to create referral setting", - zap.Int("status_code", fiber.StatusInternalServerError), - zap.Error(err), - zap.Time("timestamp", time.Now()), - ) - return fiber.NewError(fiber.StatusInternalServerError, "Failed to create referral") - } - - return response.WriteJSON(c, fiber.StatusOK, "Referral created successfully", nil, nil) + return response.WriteJSON(c, fiber.StatusOK, "Referral created successfully", referralCode, nil) } // func (h *Handler) GetReferralCode(c *fiber.Ctx) error {