package controllers import ( "codeword/internal/models" "codeword/internal/service" "github.com/gofiber/fiber/v2" ) type StatsController struct { StatsService *service.StatsService } func NewStatsController(service *service.StatsService) *StatsController { return &StatsController{ StatsService: service, } } func (c *StatsController) Register(router fiber.Router) { router.Get("/promocode/stats", c.Getstats) } func (c *StatsController) Name() string { return "" } func (c *StatsController) Getstats(ctx *fiber.Ctx) error { // Обработчик для метода Getstats var request models.PromoCodeStatsReq if err := ctx.BodyParser(&request); err != nil { return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"}) } response, err := c.StatsService.Getstats(ctx.Context(), &request) if err != nil { return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") } return ctx.Status(fiber.StatusOK).JSON(response) }