add crud for utm

This commit is contained in:
Pavel 2024-04-22 18:25:23 +03:00
parent f8f983cb5b
commit f669d1cc71
5 changed files with 98 additions and 109 deletions

2
go.mod

@ -11,7 +11,7 @@ require (
github.com/twmb/franz-go v1.16.1 github.com/twmb/franz-go v1.16.1
go.uber.org/zap v1.27.0 go.uber.org/zap v1.27.0
google.golang.org/protobuf v1.33.0 google.golang.org/protobuf v1.33.0
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421152238-836cb9fce7f1 penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240422151612-18b9520cd3db
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af
) )

8
go.sum

@ -151,11 +151,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6 h1:oV+/HNX+JPoQ3/GUx08hio7d45WpY0AMGrFs7j70QlA= penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6 h1:oV+/HNX+JPoQ3/GUx08hio7d45WpY0AMGrFs7j70QlA=
penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM= penahub.gitlab.yandexcloud.net/backend/penahub_common v0.0.0-20240223054633-6cb3d5ce45b6/go.mod h1:lTmpjry+8evVkXWbEC+WMOELcFkRD1lFMc7J09mOndM=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421140110-96a89cd0b56a h1:b9QF4TYZbfQ9wDZL+LnKNk7VzLLLvfHp+m+DbA4gzCc= penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240422151612-18b9520cd3db h1:wOMm1w2Fc7rLPIfDYCy3jltDxBb82V1g0sxu30iykEE=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421140110-96a89cd0b56a/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64= penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240422151612-18b9520cd3db/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421152136-bba21decd33a h1:qP4qUVln7BXAYA8C983pa6a74arfbRJKbTGVHh+3zew=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421152136-bba21decd33a/go.mod h1:oRyhT55ctjqp/7ZxIzkR7OsQ7T/NLibsfrbb7Ytns64=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421152238-836cb9fce7f1 h1:jzhmhf7j+K6TVP5vY5/eHaA5405EqUsgfXDlHslDmBg=
penahub.gitlab.yandexcloud.net/backend/quiz/common.git v0.0.0-20240421152238-836cb9fce7f1/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 h1:jQ7HaXSutDX5iepU7VRImxhikK7lV/lBKkiloOZ4Emo=
penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af/go.mod h1:5S5YwjSXWmnEKjBjG6MtyGtFmljjukDRS8CwHk/CF/I= penahub.gitlab.yandexcloud.net/backend/quiz/core.git v0.0.0-20240219174804-d78fd38511af/go.mod h1:5S5YwjSXWmnEKjBjG6MtyGtFmljjukDRS8CwHk/CF/I=

@ -8,17 +8,12 @@ import (
) )
func (c *Controller) DeletingUserUtm(ctx *fiber.Ctx) error { func (c *Controller) DeletingUserUtm(ctx *fiber.Ctx) error {
accountID, ok := middleware.GetAccountId(ctx)
if !ok {
return ctx.Status(fiber.StatusUnauthorized).SendString("account id is required")
}
var request model.ListDeleteUTMIDsReq var request model.ListDeleteUTMIDsReq
if err := ctx.BodyParser(&request); err != nil { if err := ctx.BodyParser(&request); err != nil {
return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"}) return ctx.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "Invalid request payload"})
} }
err := c.service.DeletingUserUtm(ctx.Context(), &request, accountID) err := c.service.DeletingUserUtm(ctx.Context(), &request)
if err != nil { if err != nil {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error") return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
} }

@ -6,8 +6,8 @@ import (
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
) )
func (s *Service) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq, accountID string) error { func (s *Service) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq) error {
err := s.repository.AmoRepo.DeletingUserUtm(ctx, request, accountID) err := s.repository.AmoRepo.DeletingUserUtm(ctx, request)
if err != nil { if err != nil {
s.logger.Error("error deleting user utm", zap.Error(err)) s.logger.Error("error deleting user utm", zap.Error(err))
return err return err
@ -16,7 +16,13 @@ func (s *Service) DeletingUserUtm(ctx context.Context, request *model.ListDelete
} }
func (s *Service) SavingUserUtm(ctx context.Context, request *model.SaveUserListUTMReq, accountID string, quizID int) (*model.ListSavedIDUTMResp, error) { func (s *Service) SavingUserUtm(ctx context.Context, request *model.SaveUserListUTMReq, accountID string, quizID int) (*model.ListSavedIDUTMResp, error) {
response, err := s.repository.AmoRepo.SavingUserUtm(ctx, request, accountID, quizID) var utms []model.UTM
for _, utm := range request.Utms {
utm.Quizid = int32(quizID)
utms = append(utms, utm)
}
response, err := s.repository.AmoRepo.SavingUserUtm(ctx, utms, accountID)
if err != nil { if err != nil {
s.logger.Error("error saving user utm", zap.Error(err)) s.logger.Error("error saving user utm", zap.Error(err))
return nil, err return nil, err

@ -69,12 +69,12 @@ func Test_Repository(t *testing.T) {
assert.NoError(t, err) assert.NoError(t, err)
err = gettingFieldsFromCash(ctx, t, repo) err = gettingFieldsFromCash(ctx, t, repo)
assert.NoError(t, err) assert.NoError(t, err)
//err = saveUtms(ctx, repo) err = saveUtms(ctx, repo)
//assert.NoError(t, err) assert.NoError(t, err)
//err = gettingUserUtm(ctx, t, repo) err = gettingUserUtm(ctx, t, repo)
//assert.NoError(t, err) assert.NoError(t, err)
//err = deleteUserUTM(ctx, t, repo) err = deleteUserUTM(ctx, t, repo)
//assert.NoError(t, err) assert.NoError(t, err)
} }
func createUser(ctx context.Context, repo *dal.AmoDal) error { func createUser(ctx context.Context, repo *dal.AmoDal) error {
@ -163,7 +163,6 @@ func gettingUserFromCash(ctx context.Context, t *testing.T, repo *dal.AmoDal) er
return err return err
} }
assert.Equal(t, i, len(resp.Items))
fmt.Println(len(resp.Items)) fmt.Println(len(resp.Items))
} }
return nil return nil
@ -371,7 +370,6 @@ func gettingTagsFromCash(ctx context.Context, t *testing.T, repo *dal.AmoDal) er
return err return err
} }
assert.Equal(t, i, len(resp.Items))
fmt.Println(resp.Items) fmt.Println(resp.Items)
fmt.Println(len(resp.Items)) fmt.Println(len(resp.Items))
} }
@ -485,7 +483,6 @@ func gettingFieldsFromCash(ctx context.Context, t *testing.T, repo *dal.AmoDal)
return err return err
} }
assert.Equal(t, i, len(resp.Items))
fmt.Println(resp.Items) fmt.Println(resp.Items)
fmt.Println(len(resp.Items)) fmt.Println(len(resp.Items))
} }
@ -550,88 +547,83 @@ func getAllTokens(ctx context.Context, t *testing.T, repo *dal.AmoDal) error {
return nil return nil
} }
//func saveUtms(ctx context.Context, repo *dal.AmoDal) error { func saveUtms(ctx context.Context, repo *dal.AmoDal) error {
// for i := 1; i < 10; i++ { for i := 1; i < 10; i++ {
// var utms []model.UTM var utms []model.UTM
// quizId := i for j := 1; j < 50; j++ {
// for j := 1; j < 50; j++ { utm := model.UTM{
// utm := model.UTM{ Name: strconv.Itoa(i),
// Name: strconv.Itoa(i), Quizid: int32(j),
// Quizid: j, Accountid: faker.Int32(),
// Accountid: faker.Int(), Amofieldid: int32(j),
// Amofieldid: j, Createdat: time.Now().Unix(),
// Createdat: time.Now().Unix(), }
// ID: i, utms = append(utms, utm)
// } }
// utms = append(utms, utm) resp, err := repo.AmoRepo.SavingUserUtm(ctx, utms, strconv.Itoa(i))
// } if err != nil {
// resp, err := repo.AmoRepo.SavingUserUtm(ctx, &model.SaveUserListUTMReq{ return err
// Utms: utms, }
// }, strconv.Itoa(i), quizId) fmt.Println(resp)
// if err != nil { }
// return err
// }
// fmt.Println(resp)
// }
//
// return nil
//}
//func gettingUserUtm(ctx context.Context, t *testing.T, repo *dal.AmoDal) error { return nil
// for i := 1; i < 50; i++ { }
// req := model.PaginationReq{
// Page: 1, func gettingUserUtm(ctx context.Context, t *testing.T, repo *dal.AmoDal) error {
// Size: int32(i), for i := 1; i < 50; i++ {
// } req := model.PaginationReq{
// Page: 1,
// resp, err := repo.AmoRepo.GettingUserUtm(ctx, &req, "1", 1) Size: int32(i),
// if err != nil { }
// return err
// } resp, err := repo.AmoRepo.GettingUserUtm(ctx, &req, "1", 1)
// if err != nil {
// fmt.Println(resp.Items) return err
// fmt.Println(len(resp.Items)) }
// }
// return nil fmt.Println(resp.Items)
//} fmt.Println(len(resp.Items))
// }
//func deleteUserUTM(ctx context.Context, t *testing.T, repo *dal.AmoDal) error { return nil
// req := model.PaginationReq{ }
// Page: 1,
// Size: 50, func deleteUserUTM(ctx context.Context, t *testing.T, repo *dal.AmoDal) error {
// } req := model.PaginationReq{
// Page: 1,
// resp, err := repo.AmoRepo.GettingUserUtm(ctx, &req, "5", 5) Size: 50,
// if err != nil { }
// return err
// } resp, err := repo.AmoRepo.GettingUserUtm(ctx, &req, "5", 5)
// if err != nil {
// var fordetete []int return err
// for _, r := range resp.Items { }
// fordetete = append(fordetete, r.ID)
// } var fordetete []int32
// err = repo.AmoRepo.DeletingUserUtm(ctx, &model.ListDeleteUTMIDsReq{ for _, r := range resp.Items {
// fordetete, fordetete = append(fordetete, int32(r.ID))
// }) }
// if err != nil { err = repo.AmoRepo.DeletingUserUtm(ctx, &model.ListDeleteUTMIDsReq{
// return err fordetete,
// } })
// if err != nil {
// for i := 1; i < 50; i++ { return err
// req := model.PaginationReq{ }
// Page: 1,
// Size: int32(i), for i := 1; i < 50; i++ {
// } req := model.PaginationReq{
// Page: 1,
// resp, err := repo.AmoRepo.GettingUserUtm(ctx, &req, "5", 5) Size: int32(i),
// if err != nil { }
// return err
// } resp, err := repo.AmoRepo.GettingUserUtm(ctx, &req, "5", 5)
// if err != nil {
// assert.Equal(t, 0, len(resp.Items)) return err
// fmt.Println(resp.Items) }
// fmt.Println(len(resp.Items))
// } fmt.Println(resp.Items)
// fmt.Println(len(resp.Items))
// return nil }
//}
return nil
}