// 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 . package dto type WishListDto struct { Guid string `json:"guid" mapstructure:"guid"` Name string `json:"name" mapstructure:"name"` Hidden bool `json:"hidden" mapstructure:"hidden"` IconName string `json:"icon_name" mapstructure:"icon_name"` Color string `json:"color" mapstructure:"color"` ColorGrad string `json:"color_grad" mapstructure:"color_grad"` } type NewWishListDto struct { Name string `json:"name" mapstructure:"name" binding:"required" validate:"max=32"` Hidden bool `json:"hidden" mapstructure:"hidden"` IconName string `json:"icon_name" mapstructure:"icon_name" validate:"omitempty,max=64"` Color string `json:"color" mapstructure:"color" validate:"omitempty,color_hex"` ColorGrad string `json:"color_grad" mapstructure:"color_grad" validate:"omitempty,color_hex"` } type WishDto struct { Guid string `json:"guid" mapstructure:"guid"` WishListGuid string `json:"wish_list_guid" mapstructure:"wish_list_guid"` Name string `json:"name" mapstructure:"name"` Description string `json:"description" mapstructure:"description"` PictureUrl string `json:"picture_url" mapstructure:"picture_url"` Stars int `json:"stars" mapstructure:"stars"` CreationDate int64 `json:"creation_date" mapstructure:"creation_date"` Fulfilled bool `json:"fulfilled" mapstructure:"fulfilled"` FulfilledDate int64 `json:"fulfilled_date" mapstructure:"fulfilled_date"` } 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"` Stars int `json:"stars" mapstructure:"stars" validate:"min=1,max=5"` }