package controllers import ( "errors" "github.com/gofiber/fiber/v2" "go.uber.org/zap" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/pj_errors" "penahub.gitlab.yandexcloud.net/backend/quiz/core.git/middleware" ) func (c *Controller) UpdateListUsers(ctx *fiber.Ctx) error { accountID, ok := middleware.GetAccountId(ctx) if !ok { return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required") } //accountID := "654a8909725f47e926f0bebc" err := c.service.UpdateListUsers(ctx.Context(), accountID) if err != nil { return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") } return ctx.SendStatus(fiber.StatusOK) } func (c *Controller) GettingUserWithPagination(ctx *fiber.Ctx) error { accountID, ok := middleware.GetAccountId(ctx) if !ok { return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required") } req, err := extractParams(ctx) if err != nil { return err } response, err := c.service.GettingUserWithPagination(ctx.Context(), req, accountID) if err != nil { return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") } return ctx.Status(fiber.StatusOK).JSON(response) } func (c *Controller) SoftDeleteAccount(ctx *fiber.Ctx) error { accountID, ok := middleware.GetAccountId(ctx) if !ok { return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required") } err := c.service.SoftDeleteAccount(ctx.Context(), accountID) if err != nil { if err != nil { return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") } } return ctx.SendStatus(fiber.StatusOK) } func (c *Controller) GetCurrentAccount(ctx *fiber.Ctx) error { accountID, ok := middleware.GetAccountId(ctx) if !ok { return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required") } response, err := c.service.GetCurrentAccount(ctx.Context(), accountID) if err != nil { switch { case errors.Is(err, pj_errors.ErrNotFound): return ctx.Status(fiber.StatusNotFound).SendString("user not found") default: return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") } } return ctx.Status(fiber.StatusOK).JSON(response) } func (c *Controller) ConnectAccount(ctx *fiber.Ctx) error { accountID, ok := middleware.GetAccountId(ctx) if !ok { return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required") } //accountID := "64f2cd7a7047f28fdabf6d9e" response, err := c.service.ConnectAccount(ctx.Context(), accountID) if err != nil { c.logger.Error("error connect account", zap.Error(err)) return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") } return ctx.Status(fiber.StatusOK).JSON(response) }