// 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 ProfileDto struct { Name string `json:"name"` Bio string `json:"bio"` AvatarUrl *string `json:"avatar_url"` Birthday int64 `json:"birthday"` Color string `json:"color"` ColorGrad string `json:"color_grad"` } type NewProfileDto struct { Name string `json:"name" binding:"required" validate:"name"` Bio string `json:"bio" validate:"bio"` AvatarUploadID string `json:"avatar_upload_id" validate:"omitempty,upload_id=avatar"` Birthday int64 `json:"birthday"` Color string `json:"color" validate:"color_hex"` ColorGrad string `json:"color_grad" validate:"color_hex"` } type ProfileSettingsDto struct { HideFulfilled bool `json:"hide_fulfilled"` HideProfileDetails bool `json:"hide_profile_details"` HideForUnauthenticated bool `json:"hide_for_unauthenticated"` HideBirthday bool `json:"hide_birthday"` HideDates bool `json:"hide_dates"` Captcha bool `json:"captcha"` FollowersOnlyInteraction bool `json:"followers_only_interaction"` }