From 4b40a05e2d455ddd85548726ceb7d53b52a6daea Mon Sep 17 00:00:00 2001 From: Nikolai Papin Date: Thu, 11 Sep 2025 14:26:40 +0300 Subject: [PATCH] refactor: adjustments to variable namings --- backend/internal/database/query.sql.go | 4 +-- backend/internal/dto/wishList.go | 2 +- backend/internal/services/wishlist.go | 42 +++++++++++++++++++++++--- sqlc/query.sql | 2 +- 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/backend/internal/database/query.sql.go b/backend/internal/database/query.sql.go index 932a18e..0a5dd54 100644 --- a/backend/internal/database/query.sql.go +++ b/backend/internal/database/query.sql.go @@ -402,7 +402,7 @@ VALUES ( $3::text, $4::text, $5::text, - $6::boolean + $6::text ) RETURNING id, guid, profile_id, hidden, name, icon_name, color, color_grad, deleted ` @@ -413,7 +413,7 @@ type CreateWishListParams struct { Name string IconName string Color string - ColorGrad bool + ColorGrad string } func (q *Queries) CreateWishList(ctx context.Context, arg CreateWishListParams) (WishList, error) { diff --git a/backend/internal/dto/wishList.go b/backend/internal/dto/wishList.go index 189034d..cadb6ca 100644 --- a/backend/internal/dto/wishList.go +++ b/backend/internal/dto/wishList.go @@ -50,6 +50,6 @@ type NewWishDto struct { WishListGuid string `json:"wish_list_guid" mapstructure:"wish_list_guid" binding:"required" validate:"guid"` Name string `json:"name" mapstructure:"name" binding:"required" validate:"max=64"` Description string `json:"description" mapstructure:"description" validate:"omitempty,max=1000"` - PictureUploadId string `json:"picture_upload_id" mapstructure:"picture_upload_id" validate:"omitempty,upload_id=image"` + PictureUploadID string `json:"picture_upload_id" mapstructure:"picture_upload_id" validate:"omitempty,upload_id=image"` Stars int `json:"stars" mapstructure:"stars" validate:"min=1,max=5"` } diff --git a/backend/internal/services/wishlist.go b/backend/internal/services/wishlist.go index e4060ba..3ae7f77 100644 --- a/backend/internal/services/wishlist.go +++ b/backend/internal/services/wishlist.go @@ -110,15 +110,15 @@ func (w wishListServiceImpl) CreateWish(cinfo dto.ClientInfo, object dto.NewWish } var avatarUrl *string - if object.PictureUploadId != "" { - key, err := w.s3.SaveUpload(object.PictureUploadId, "images"); if err != nil { + if object.PictureUploadID != "" { + key, err := w.s3.SaveUpload(object.PictureUploadID, "images"); if err != nil { if errors.Is(err, errs.ErrFileNotFound) { return nil, err } w.log.Error( "Failed to save image", - zap.String("upload_id", object.PictureUploadId), + zap.String("upload_id", object.PictureUploadID), zap.String("username", cinfo.Username), zap.Error(err)) return nil, errs.ErrServerError @@ -158,7 +158,41 @@ func (w wishListServiceImpl) CreateWish(cinfo dto.ClientInfo, object dto.NewWish } func (w wishListServiceImpl) CreateWishList(cinfo dto.ClientInfo, object dto.NewWishListDto) (*dto.WishListDto, error) { - panic("unimplemented") + helper, db, err := database.NewDbHelperTransaction(w.dbctx); if err != nil { + w.log.Error( + "Failed to open transaction", + zap.Error(err)) + return nil, errs.ErrServerError + } + defer helper.Rollback() + + createdWishList, err := db.TXQueries.CreateWishList(db.CTX, database.CreateWishListParams{ + Username: cinfo.Username, + Hidden: object.Hidden, + Name: object.Name, + IconName: object.IconName, + Color: object.Color, + ColorGrad: object.ColorGrad, + }); if err != nil { + w.log.Error( + "Failed to create wish list", + zap.String("username", cinfo.Username), + zap.Error(err)) + + return nil, errs.ErrServerError + } + + err = helper.Commit(); if err != nil { + w.log.Error( + "Failed to commit transaction", + zap.Error(err)) + return nil, errs.ErrServerError + } + + wishListDto := &dto.WishListDto{} + mapspecial.MapWishListDto(createdWishList, wishListDto) + + return wishListDto, nil } func (w wishListServiceImpl) DeleteWishListByGuid(cinfo dto.ClientInfo, guid string) (bool, error) { diff --git a/sqlc/query.sql b/sqlc/query.sql index 578b585..f87afe3 100644 --- a/sqlc/query.sql +++ b/sqlc/query.sql @@ -374,7 +374,7 @@ VALUES ( @name::text, @icon_name::text, @color::text, - @color_grad::boolean + @color_grad::text ) RETURNING *;