amocrm/internal/service/rules.go

68 lines
1.7 KiB
Go

package service
import (
"amocrm/internal/models"
"context"
"go.uber.org/zap"
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
)
func (s *Service) ChangeQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) (*model.Rule, error) {
messageForUTM := models.KafkaMessage{
AccountID: accountID,
Type: models.CheckUTMs,
UTMs: request.Utms,
}
err := s.producer.ToKafkaUpdate(ctx, messageForUTM)
if err != nil {
s.logger.Error("error sending message to kafka for check utms", zap.Error(err))
if err != nil {
return nil, err
}
}
//todo fieldsrule
rule, err := s.repository.AmoRepo.ChangeQuizSettings(ctx, request, accountID, quizID)
if err != nil {
s.logger.Error("error change quiz settings", zap.Error(err))
return nil, err
}
return rule, nil
}
func (s *Service) SetQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) (*model.Rule, error) {
messageForUTM := models.KafkaMessage{
AccountID: accountID,
Type: models.CheckUTMs,
UTMs: request.Utms,
}
err := s.producer.ToKafkaUpdate(ctx, messageForUTM)
if err != nil {
s.logger.Error("error sending message to kafka for check utms", zap.Error(err))
if err != nil {
return nil, err
}
}
rule, err := s.repository.AmoRepo.SetQuizSettings(ctx, request, accountID, quizID)
if err != nil {
s.logger.Error("error setting quiz settings", zap.Error(err))
return nil, err
}
return rule, nil
}
func (s *Service) GettingQuizRules(ctx context.Context, quizID int) (*model.Rule, error) {
rule, err := s.repository.AmoRepo.GettingQuizRules(ctx, quizID)
if err != nil {
s.logger.Error("error getting quiz settings", zap.Error(err))
return nil, err
}
return rule, nil
}