add todo for rules

This commit is contained in:
Pavel 2024-04-28 23:51:00 +03:00
parent 422d8c17af
commit e07ee3c16a
3 changed files with 31 additions and 3 deletions

2
go.mod

@ -11,7 +11,7 @@ require (
github.com/twmb/franz-go v1.16.1
go.uber.org/zap v1.27.0
google.golang.org/protobuf v1.33.0
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428130935-07bf63c8dfe5
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428145500-e5a9eb4fe300
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af
)

4
go.sum

@ -157,5 +157,9 @@ penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240423150639-8f7
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240423150639-8f7c74046bec/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428130935-07bf63c8dfe5 h1:utb1fUT7/nW6btd1saxUF3t9FlI/KnQa3K6XN8JE+WI=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428130935-07bf63c8dfe5/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428142604-10012b3fc8dd h1:Lyf00e8jERXTh3UL2b5lXTcdv8VHage5ByNWVIDuB5o=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428142604-10012b3fc8dd/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428145500-e5a9eb4fe300 h1:Pu65fvuA/BIL/q07KyX60RpS+zYukY0l5lNNeX6qdLY=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240428145500-e5a9eb4fe300/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af h1:jQ7HaXSutDX5iepU7VRImxhikK7lV/lBKkiloOZ4Emo=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af/go.mod h1:5S5YwjSXWmnEKjBjG6MtyGtFmljjukDRS8CwHk/CF/I=

@ -7,26 +7,50 @@ import (
)
func (s *Service) ChangeQuizSettings(ctx context.Context, request *model.RulesReq, accountID string, quizID int) (*model.Rule, error) {
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) {
utms, err := s.repository.AmoRepo.GetUserUTMByListIDs(ctx, request.Utms)
if err != nil {
s.logger.Error("error getting user UTM byList IDs", zap.Error(err))
return nil, err
}
// получаем сохраненные utm, у них id field как правило пустое, по имени нужно найти
// существуют ли они в амо на аккаунте, если да, то получить просто id в амо, если нет, то создать
// записать новые id и записать их в базу то есть обновить, сделать это пакетно
// в апдейт методе тоже самое сделать
// получаем токен
token, err := s.repository.AmoRepo.GetTokenByID(ctx, accountID)
if err != nil {
s.logger.Error("error getting amo user token from db", zap.Error(err))
return nil, err
}
//todo метод для клиента на получение
// todo в утилиты добавить метод для отлавливания существующих и не существующийх
// todo добавление
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))