feat: mapper function for wish dto;
refactor: made guid foreign key for wish object for more ease of use
This commit is contained in:
@@ -88,6 +88,7 @@ type Wish struct {
|
|||||||
ID int64
|
ID int64
|
||||||
Guid pgtype.UUID
|
Guid pgtype.UUID
|
||||||
WishListID int64
|
WishListID int64
|
||||||
|
WishListGuid pgtype.UUID
|
||||||
Name string
|
Name string
|
||||||
Description string
|
Description string
|
||||||
PictureUrl string
|
PictureUrl string
|
||||||
|
|||||||
37
backend/internal/utils/mapSpecial/wishDto.go
Normal file
37
backend/internal/utils/mapSpecial/wishDto.go
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
// 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 MapWishDto(dbModel database.Wish, dtoModel *dto.WishDto) {
|
||||||
|
if dtoModel == nil {
|
||||||
|
dtoModel = &dto.WishDto{}
|
||||||
|
}
|
||||||
|
automapper.Map(&dbModel, dtoModel, func(src *database.Wish, dst *dto.WishDto) {
|
||||||
|
dst.Guid = src.Guid.String()
|
||||||
|
dst.WishListGuid = src.WishListGuid.String()
|
||||||
|
dst.CreationDate = src.CreationDate.Time.UnixMilli()
|
||||||
|
dst.FulfilledDate = src.FulfilledDate.Time.UnixMilli()
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -111,6 +111,7 @@ CREATE TABLE IF NOT EXISTS "wishes" (
|
|||||||
id BIGSERIAL PRIMARY KEY,
|
id BIGSERIAL PRIMARY KEY,
|
||||||
guid UUID UNIQUE NOT NULL DEFAULT gen_random_uuid(),
|
guid UUID UNIQUE NOT NULL DEFAULT gen_random_uuid(),
|
||||||
wish_list_id BIGINT UNIQUE NOT NULL REFERENCES wish_lists(id) ON DELETE CASCADE,
|
wish_list_id BIGINT UNIQUE NOT NULL REFERENCES wish_lists(id) ON DELETE CASCADE,
|
||||||
|
wish_list_guid UUID NOT NULL REFERENCES wish_lists(guid) ON DELETE CASCADE,
|
||||||
name VARCHAR(64) NOT NULL DEFAULT 'New wish',
|
name VARCHAR(64) NOT NULL DEFAULT 'New wish',
|
||||||
description VARCHAR(1000) NOT NULL DEFAULT '',
|
description VARCHAR(1000) NOT NULL DEFAULT '',
|
||||||
picture_url VARCHAR(512) NOT NULL DEFAULT '',
|
picture_url VARCHAR(512) NOT NULL DEFAULT '',
|
||||||
|
|||||||
Reference in New Issue
Block a user