package account type Account struct { ID uint `gorm:"primaryKey" json:"id"` Username string `gorm:"unique" json:"username"` Password string `json:"-"` Token string `json:"-"` } type CreateAccountRequest struct { Username string `json:"username"` Password string `json:"password"` } type RenameRequest struct { NewUsername string `json:"new_username"` } type FindByIDRequest struct { ID uint `json:"id"` } type FindByIDResponse struct { ID uint `json:"id"` Username string `json:"username"` } type FindByUsernameRequest struct { Username string `json:"username"` } type FindByUsernameResponse struct { ID uint `json:"id"` Username string `json:"username"` } type ChangePasswordRequest struct { Username string `json:"username"` OldPassword string `json:"old_password"` NewPassword string `json:"new_password"` } type LoginRequest struct { Username string `json:"username"` Password string `json:"password"` }