feat: mapper function for wishlist dto;

refactor: made database fields for wishlist object not null
This commit is contained in:
2025-08-13 21:22:18 +03:00
parent af69c4fe07
commit 711b1ad5d1
4 changed files with 48 additions and 11 deletions

View File

@@ -104,8 +104,8 @@ type WishList struct {
ProfileID int64
Hidden bool
Name string
IconName *string
Color *string
ColorGrad *string
IconName string
Color string
ColorGrad string
Deleted bool
}

View File

@@ -836,7 +836,7 @@ WHERE
FROM banned_users
WHERE user_id = users.id AND
pardoned IS FALSE AND
(expires_at IS NULL OR expires_at < CURRENT_TIMESTAMP)
(expires_at IS NULL OR expires_at > CURRENT_TIMESTAMP)
) AND -- Not banned
linfo.password_hash = crypt($2::text, linfo.password_hash)
`
@@ -975,9 +975,9 @@ type GetWishlistsByUsernameWithPrivacyRow struct {
ProfileID int64
Hidden bool
Name string
IconName *string
Color *string
ColorGrad *string
IconName string
Color string
ColorGrad string
Deleted bool
AccessAllowed bool
}
@@ -1280,7 +1280,9 @@ func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) error {
const updateUserByUsername = `-- name: UpdateUserByUsername :exec
UPDATE users
SET verified = $2, deleted = $3
SET
verified = COALESCE($2, verified),
deleted = COALESCE($3, deleted)
WHERE username = $1
`

View File

@@ -0,0 +1,35 @@
// Copyright (c) 2025 Nikolai Papin
//
// This file is part of Easywish
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
// the GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package mapspecial
import (
"easywish/internal/database"
"easywish/internal/dto"
"github.com/rafiulgits/go-automapper"
)
func MapWishListDto(dbModel database.WishList, dtoModel *dto.WishListDto) {
if dtoModel == nil {
dtoModel = &dto.WishListDto{}
}
automapper.Map(&dbModel, dtoModel, func(src *database.WishList, dst *dto.WishListDto) {
dst.Guid = src.Guid.String()
})
}