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
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-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
)

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=
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/quiz/common.git v0.0.0-20240421140110-96a89cd0b56a h1:b9QF4TYZbfQ9wDZL+LnKNk7VzLLLvfHp+m+DbA4gzCc=
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-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/common.git v0.0.0-20240422151612-18b9520cd3db h1:wOMm1w2Fc7rLPIfDYCy3jltDxBb82V1g0sxu30iykEE=
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/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=

@ -8,17 +8,12 @@ import (
)
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
if err := ctx.BodyParser(&request); err != nil {
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 {
return ctx.Status(fiber.StatusInternalServerError).SendString("Internal Server Error")
}

@ -6,8 +6,8 @@ import (
"penahub.gitlab.yandexcloud.net/backend/quiz/common.git/model"
)
func (s *Service) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq, accountID string) error {
err := s.repository.AmoRepo.DeletingUserUtm(ctx, request, accountID)
func (s *Service) DeletingUserUtm(ctx context.Context, request *model.ListDeleteUTMIDsReq) error {
err := s.repository.AmoRepo.DeletingUserUtm(ctx, request)
if err != nil {
s.logger.Error("error deleting user utm", zap.Error(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) {
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 {
s.logger.Error("error saving user utm", zap.Error(err))
return nil, err

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