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 ProfileID int64
Hidden bool Hidden bool
Name string Name string
IconName *string IconName string
Color *string Color string
ColorGrad *string ColorGrad string
Deleted bool Deleted bool
} }

View File

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

View File

@@ -101,9 +101,9 @@ CREATE TABLE IF NOT EXISTS "wish_lists" (
profile_id BIGINT UNIQUE NOT NULL REFERENCES profiles(id) ON DELETE CASCADE, profile_id BIGINT UNIQUE NOT NULL REFERENCES profiles(id) ON DELETE CASCADE,
hidden BOOLEAN NOT NULL DEFAULT FALSE, hidden BOOLEAN NOT NULL DEFAULT FALSE,
name VARCHAR(32) NOT NULL DEFAULT 'Wishes', name VARCHAR(32) NOT NULL DEFAULT 'Wishes',
icon_name VARCHAR(64), icon_name VARCHAR(64) NOT NULL DEFAULT '',
color VARCHAR(7), color VARCHAR(7) NOT NULL DEFAULT '',
color_grad VARCHAR(7), color_grad VARCHAR(7) NOT NULL DEFAULT '',
deleted BOOLEAN NOT NULL DEFAULT FALSE deleted BOOLEAN NOT NULL DEFAULT FALSE
); );