This commit is contained in:
Pavel 2024-04-23 17:00:51 +03:00
parent 707e25aa9b
commit 0335801464
2 changed files with 66 additions and 47 deletions

@ -36,7 +36,8 @@ func (c *Controller) Register(router fiber.Router) {
router.Patch("/steps", c.UpdateListSteps)
//todo поменять как было GET webhook/create
router.Get("/", c.WebhookCreate)
router.Get("/webhook/delete", c.WebhookDelete)
//todo поменять как было webhook/delete
router.Delete("/", c.WebhookDelete)
router.Patch("/pipelines", c.UpdateListPipelines)
router.Get("/pipelines", c.GetPipelinesWithPagination)
router.Patch("/rules/:quizID", c.ChangeQuizSettings)

@ -137,23 +137,25 @@ func (m *Methods) CheckPipelinesAndSteps(ctx context.Context, tokens []model.Tok
m.logger.Error("error fetching list pipelines from amo", zap.Error(err))
continue
}
err = m.repo.AmoRepo.CheckPipelines(ctx, tools.ToPipeline(pipelines.Embedded.Pipelines))
if err != nil {
m.logger.Error("error update list pipelines in db:", zap.Error(err))
return err
}
for _, pipeline := range pipelines.Embedded.Pipelines {
steps, err := m.amoClient.GetListSteps(pipeline.ID, token.AccessToken)
if len(pipelines.Embedded.Pipelines) > 0 {
err = m.repo.AmoRepo.CheckPipelines(ctx, tools.ToPipeline(pipelines.Embedded.Pipelines))
if err != nil {
m.logger.Error("error getting list steps pipeline:", zap.Error(err))
continue
m.logger.Error("error update list pipelines in db:", zap.Error(err))
return err
}
err = m.repo.AmoRepo.CheckSteps(ctx, tools.ToStep(steps.Embedded.Statuses))
if err != nil {
m.logger.Error("error update pipeline steps in db:", zap.Error(err))
return err
for _, pipeline := range pipelines.Embedded.Pipelines {
steps, err := m.amoClient.GetListSteps(pipeline.ID, token.AccessToken)
if err != nil {
m.logger.Error("error getting list steps pipeline:", zap.Error(err))
continue
}
err = m.repo.AmoRepo.CheckSteps(ctx, tools.ToStep(steps.Embedded.Statuses))
if err != nil {
m.logger.Error("error update pipeline steps in db:", zap.Error(err))
return err
}
}
}
}
@ -207,28 +209,36 @@ func (m *Methods) CheckTags(ctx context.Context, tokens []model.Token) error {
for _, entityType := range entityTypes {
switch entityType {
case model.LeadsTags:
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(leadsTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update leads tags in db", zap.Error(err))
return err
if len(leadsTags) > 0 {
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(leadsTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update leads tags in db", zap.Error(err))
return err
}
}
case model.ContactsTags:
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(contactsTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update contacts tags in db", zap.Error(err))
return err
if len(contactsTags) > 0 {
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(contactsTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update contacts tags in db", zap.Error(err))
return err
}
}
case model.CompaniesTags:
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(companiesTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update companies tags in db", zap.Error(err))
return err
if len(companiesTags) > 0 {
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(companiesTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update companies tags in db", zap.Error(err))
return err
}
}
case model.CustomersTags:
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(customersTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update customer tags in db", zap.Error(err))
return err
if len(customersTags) > 0 {
err := m.repo.AmoRepo.CheckTags(ctx, tools.ToTag(customersTags, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update customer tags in db", zap.Error(err))
return err
}
}
}
}
@ -282,28 +292,36 @@ func (m *Methods) CheckFields(ctx context.Context, tokens []model.Token) error {
for _, entityType := range entityTypes {
switch entityType {
case model.LeadsTags:
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(leadsFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update leads fields in db", zap.Error(err))
return err
if len(leadsFields) > 0 {
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(leadsFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update leads fields in db", zap.Error(err))
return err
}
}
case model.ContactsTags:
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(contactsFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update contacts fields in db", zap.Error(err))
return err
if len(contactsFields) > 0 {
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(contactsFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update contacts fields in db", zap.Error(err))
return err
}
}
case model.CompaniesTags:
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(companiesFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update companies fields", zap.Error(err))
return err
if len(companiesFields) > 0 {
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(companiesFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update companies fields", zap.Error(err))
return err
}
}
case model.CustomersTags:
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(companiesFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update customer fields", zap.Error(err))
return err
if len(customersFields) > 0 {
err := m.repo.AmoRepo.CheckFields(ctx, tools.ToField(customersFields, entityType), token.AccountID)
if err != nil {
m.logger.Error("error update customer fields", zap.Error(err))
return err
}
}
}
}