amocrm/internal/controllers/different.go

198 lines
5.8 KiB
Go
Raw Normal View History

2024-04-04 09:42:40 +00:00
package controllers
import (
2024-04-08 08:20:10 +00:00
"amocrm/internal/models"
2024-04-04 09:42:40 +00:00
"amocrm/internal/service"
"github.com/gofiber/fiber/v2"
)
type DifferentController struct {
DifferentService *service.DifferentService
}
func NewDifferentController(service *service.DifferentService) *DifferentController {
return &DifferentController{
DifferentService: service,
}
}
func (c *DifferentController) Register(router fiber.Router) {
2024-04-08 15:24:50 +00:00
router.Get("/steps", c.GettingStepsFromCash)
router.Patch("/steps", c.UpdateListSteps)
router.Get("/webhook/create", c.WebhookCreate)
router.Get("/webhook/delete", c.WebhookDelete)
router.Patch("/pipelines", c.UpdateListPipelines)
router.Get("/pipelines", c.GettingPipelinesFromCash)
router.Patch("/rules/:quizID", c.ChangeQuizSettings)
router.Post("/rules/:quizID", c.SetQuizSettings)
router.Get("/rules/:quizID", c.GettingQuizRules)
router.Get("/tags", c.GettingTagsFromCash)
router.Patch("/tags", c.UpdateListTags)
router.Get("/fields", c.GettingFieldsFromCash)
router.Patch("/fields", c.UpdateListCustom)
2024-04-04 09:42:40 +00:00
}
func (c *DifferentController) Name() string {
return ""
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) GettingStepsFromCash(ctx *fiber.Ctx) error {
req, err := extractParams(ctx)
if err != nil {
return err
}
2024-04-04 09:42:40 +00:00
2024-04-08 15:24:50 +00:00
response, err := c.DifferentService.GettingStepsFromCash(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
2024-04-08 08:20:10 +00:00
return ctx.Status(fiber.StatusOK).JSON(response)
2024-04-04 09:42:40 +00:00
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) UpdateListSteps(ctx *fiber.Ctx) error {
err := c.DifferentService.UpdateListSteps(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) WebhookCreate(ctx *fiber.Ctx) error {
err := c.DifferentService.WebhookCreate(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) WebhookDelete(ctx *fiber.Ctx) error {
err := c.DifferentService.WebhookDelete(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) UpdateListPipelines(ctx *fiber.Ctx) error {
err := c.DifferentService.UpdateListPipelines(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) GettingPipelinesFromCash(ctx *fiber.Ctx) error {
req, err := extractParams(ctx)
if err != nil {
return err
}
2024-04-04 09:42:40 +00:00
2024-04-08 15:24:50 +00:00
response, err := c.DifferentService.GettingPipelinesFromCash(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
2024-04-08 08:20:10 +00:00
return ctx.Status(fiber.StatusOK).JSON(response)
2024-04-04 09:42:40 +00:00
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) ChangeQuizSettings(ctx *fiber.Ctx) error {
quizID := ctx.Params("quizID")
if quizID == "" {
return ctx.Status(fiber.StatusBadRequest).SendString("quizID is nil")
}
2024-04-04 09:42:40 +00:00
2024-04-08 08:20:10 +00:00
var request models.RulesReq
if err := ctx.BodyParser(&request); err != nil {
return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"})
}
2024-04-08 15:24:50 +00:00
err := c.DifferentService.ChangeQuizSettings(ctx.Context(), &request)
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) SetQuizSettings(ctx *fiber.Ctx) error {
quizID := ctx.Params("quizID")
if quizID == "" {
return ctx.Status(fiber.StatusBadRequest).SendString("quizID is nil")
}
2024-04-04 09:42:40 +00:00
2024-04-08 08:20:10 +00:00
var request models.RulesReq
if err := ctx.BodyParser(&request); err != nil {
return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"})
}
2024-04-08 15:24:50 +00:00
err := c.DifferentService.SetQuizSettings(ctx.Context(), &request)
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) GettingQuizRules(ctx *fiber.Ctx) error {
quizID := ctx.Params("quizID")
if quizID == "" {
return ctx.Status(fiber.StatusBadRequest).SendString("quizID is nil")
}
2024-04-04 09:42:40 +00:00
2024-04-08 15:24:50 +00:00
response, err := c.DifferentService.GettingQuizRules(ctx.Context())
2024-04-08 08:20:10 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.Status(fiber.StatusOK).JSON(response)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) GettingTagsFromCash(ctx *fiber.Ctx) error {
req, err := extractParams(ctx)
if err != nil {
return err
}
2024-04-08 08:20:10 +00:00
2024-04-08 15:24:50 +00:00
response, err := c.DifferentService.GettingTagsFromCash(ctx.Context())
2024-04-08 08:20:10 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.Status(fiber.StatusOK).JSON(response)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) UpdateListTags(ctx *fiber.Ctx) error {
err := c.DifferentService.UpdateListTags(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) GettingFieldsFromCash(ctx *fiber.Ctx) error {
req, err := extractParams(ctx)
if err != nil {
return err
}
2024-04-08 08:20:10 +00:00
2024-04-08 15:24:50 +00:00
response, err := c.DifferentService.GettingFieldsFromCash(ctx.Context())
2024-04-08 08:20:10 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.Status(fiber.StatusOK).JSON(response)
}
2024-04-08 15:24:50 +00:00
func (c *DifferentController) UpdateListCustom(ctx *fiber.Ctx) error {
err := c.DifferentService.UpdateListCustom(ctx.Context())
2024-04-04 09:42:40 +00:00
if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}
return ctx.SendStatus(fiber.StatusOK)
}