47 lines
1.8 KiB
Go
47 lines
1.8 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 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" validate:"birthday_unix_milli"`
|
|
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"`
|
|
}
|