amocrm/internal/controllers/user.go

94 lines
2.7 KiB
Go
Raw Normal View History

package controllers
import (
2024-05-24 18:36:50 +00:00
"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")
}
2024-05-05 12:22:54 +00:00
//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)
}
2024-04-21 15:24:13 +00:00
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
}
2024-04-21 15:24:13 +00:00
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 {
2024-04-11 09:55:26 +00:00
accountID, ok := middleware.GetAccountId(ctx)
if !ok {
return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required")
}
2024-04-11 09:55:26 +00:00
err := c.service.SoftDeleteAccount(ctx.Context(), accountID)
if err != nil {
2024-04-11 09:55:26 +00:00
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 {
2024-04-11 09:55:26 +00:00
accountID, ok := middleware.GetAccountId(ctx)
if !ok {
return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required")
}
2024-04-11 09:55:26 +00:00
response, err := c.service.GetCurrentAccount(ctx.Context(), accountID)
if err != nil {
2024-06-04 16:05:53 +00:00
switch {
case errors.Is(err, pj_errors.ErrNotFound):
2024-05-24 18:36:50 +00:00
return ctx.Status(fiber.StatusNotFound).SendString("user not found")
2024-06-04 16:05:53 +00:00
default:
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
2024-05-24 18:36:50 +00:00
}
}
return ctx.Status(fiber.StatusOK).JSON(response)
}
func (c *Controller) ConnectAccount(ctx *fiber.Ctx) error {
2024-05-29 17:10:40 +00:00
accountID, ok := middleware.GetAccountId(ctx)
if !ok {
return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required")
2024-05-26 23:05:41 +00:00
}
2024-04-20 12:57:37 +00:00
//accountID := "64f2cd7a7047f28fdabf6d9e"
2024-05-29 17:10:40 +00:00
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)
}