greatape/greataped/app/models/dto/auth.go

53 wiersze
1.5 KiB
Go

package dto
type LoginRequest struct {
Email string `json:"email" validate:"required,email"`
Password string `json:"password" validate:"required,password"`
} // @name LoginRequest
type LoginResponse struct {
User User `json:"user"`
Auth Auth `json:"auth"`
} // @name LoginResponse
type SignupRequest struct {
Email string `json:"email" validate:"required,email"`
Username string `json:"username" validate:"required,username"`
Password string `json:"password" validate:"required,password"`
} // @name SignupRequest
type SignupResponse struct {
Code string `json:"code"`
} // @name SignupResponse
type VerifyRequest struct {
Email string `json:"email" validate:"required,email"`
Code string `json:"code" validate:"required"`
} // @name VerifyRequest
type VerifyResponse struct {
User User `json:"user"`
Auth Auth `json:"auth"`
} // @name VerifyResponse
type User struct {
ID uint `json:"id"`
Username string `json:"username"`
DisplayName string `json:"display_name"`
Email string `json:"email"`
Password string `json:"-"`
Bio string `json:"bio"`
Github string `json:"github"`
Avatar string `json:"avatar"`
Banner string `json:"banner"`
ApiKey string `json:"api_key"`
PublicKey string `json:"public_key"`
Actor string `json:"actor"`
Webfinger string `json:"webfinger"`
PrivateProfile bool `json:"private_profile"`
} // @name User
type Auth struct {
Token string `json:"token"`
} // @name Auth