fix mw no wokr for group webhook

This commit is contained in:
Pavel 2024-05-15 00:07:39 +03:00
parent 018febf728
commit 309ecbc67a
4 changed files with 36 additions and 10 deletions

@ -93,11 +93,15 @@ func Run(ctx context.Context, config initialize.Config, logger *zap.Logger) erro
Producer: producer, Producer: producer,
}) })
controller := controllers.NewController(controllers.Deps{ cntrlDeps := controllers.Deps{
Service: svc, Service: svc,
Logger: logger, Logger: logger,
Verify: tools.NewVerify(config.IntegrationSecret, config.IntegrationID), Verify: tools.NewVerify(config.IntegrationSecret, config.IntegrationID),
}) }
controller := controllers.NewController(cntrlDeps)
webhookController := controllers.NewWebhookController(cntrlDeps)
workerMethods := workers_methods.NewWorkersMethods(workers_methods.Deps{ workerMethods := workers_methods.NewWorkersMethods(workers_methods.Deps{
Repo: amoRepo, Repo: amoRepo,
@ -138,6 +142,7 @@ func Run(ctx context.Context, config initialize.Config, logger *zap.Logger) erro
server := http.NewServer(http.ServerConfig{ server := http.NewServer(http.ServerConfig{
Controllers: []http.Controller{ Controllers: []http.Controller{
controller, controller,
webhookController,
}, },
}) })

@ -38,10 +38,6 @@ func (c *Controller) Register(router fiber.Router) {
router.Post("/account", c.ConnectAccount) router.Post("/account", c.ConnectAccount)
router.Get("/steps", c.GetStepsWithPagination) router.Get("/steps", c.GetStepsWithPagination)
router.Patch("/steps", c.UpdateListSteps) router.Patch("/steps", c.UpdateListSteps)
//todo поменять как было GET webhook/create
router.Get("/webhook/create", c.WebhookCreate)
//todo поменять как было webhook/delete
router.Delete("/webhook/delete", c.WebhookDelete)
router.Patch("/pipelines", c.UpdateListPipelines) router.Patch("/pipelines", c.UpdateListPipelines)
router.Get("/pipelines", c.GetPipelinesWithPagination) router.Get("/pipelines", c.GetPipelinesWithPagination)
router.Patch("/rules/:quizID", c.ChangeQuizSettings) router.Patch("/rules/:quizID", c.ChangeQuizSettings)
@ -54,5 +50,30 @@ func (c *Controller) Register(router fiber.Router) {
} }
func (c *Controller) Name() string { func (c *Controller) Name() string {
return "" return "amocrm"
}
type WebhookController struct {
service *service.Service
logger *zap.Logger
verify *tools.Verify
}
func NewWebhookController(deps Deps) *WebhookController {
return &WebhookController{
service: deps.Service,
logger: deps.Logger,
verify: deps.Verify,
}
}
func (c *WebhookController) Register(router fiber.Router) {
//todo поменять как было GET webhook/create
router.Get("/create", c.WebhookCreate)
//todo поменять как было webhook/delete
router.Delete("/delete", c.WebhookDelete)
}
func (c *WebhookController) Name() string {
return "webhook"
} }

@ -11,7 +11,7 @@ import (
) )
// контроллер на который редиректятся ответы по авторизации в амо // контроллер на который редиректятся ответы по авторизации в амо
func (c *Controller) WebhookCreate(ctx *fiber.Ctx) error { func (c *WebhookController) WebhookCreate(ctx *fiber.Ctx) error {
code := ctx.Query("code") // Authorization 20 минут code := ctx.Query("code") // Authorization 20 минут
referer := ctx.Query("referer") // адрес аккаунта пользователя referer := ctx.Query("referer") // адрес аккаунта пользователя
state := ctx.Query("state") // строка которая передавалась в соц аус сервисе state := ctx.Query("state") // строка которая передавалась в соц аус сервисе
@ -52,7 +52,7 @@ func (c *Controller) WebhookCreate(ctx *fiber.Ctx) error {
} }
// todo проверить надо // todo проверить надо
func (c *Controller) WebhookDelete(ctx *fiber.Ctx) error { func (c *WebhookController) WebhookDelete(ctx *fiber.Ctx) error {
clientUUID := ctx.Query("client_uuid") clientUUID := ctx.Query("client_uuid")
signature := ctx.Query("signature") signature := ctx.Query("signature")
amoIDStr := ctx.Query("account_id") amoIDStr := ctx.Query("account_id")

@ -18,7 +18,7 @@ type Server struct {
func NewServer(config ServerConfig) *Server { func NewServer(config ServerConfig) *Server {
app := fiber.New() app := fiber.New()
app.Use(middleware.JWTAuth()) app.Use("/amocrm", middleware.JWTAuth())
app.Use("/webhook", func(c *fiber.Ctx) error { app.Use("/webhook", func(c *fiber.Ctx) error {
return c.Next() return c.Next()
}) })