56 lines
2.6 KiB
Go
56 lines
2.6 KiB
Go
// 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 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"`
|
|
}
|