Files
doc_ai_backed/internal/model/user/user.go
2026-03-06 10:28:56 +08:00

74 lines
1.8 KiB
Go

package model
type SmsSendRequest struct {
Phone string `json:"phone" binding:"required"`
}
type SmsSendResponse struct {
Code string `json:"code"`
}
type PhoneLoginRequest struct {
Phone string `json:"phone" binding:"required"`
Code string `json:"code" binding:"required"`
}
type PhoneLoginResponse struct {
Token string `json:"token"`
ExpiresAt int64 `json:"expires_at"`
}
type UserInfoResponse struct {
Username string `json:"username"`
Phone string `json:"phone"`
Status int `json:"status"` // 0: not login, 1: login
}
type EmailRegisterRequest struct {
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=6"`
}
type EmailRegisterResponse struct {
Token string `json:"token"`
ExpiresAt int64 `json:"expires_at"`
}
type EmailLoginRequest struct {
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required"`
}
type EmailLoginResponse struct {
Token string `json:"token"`
ExpiresAt int64 `json:"expires_at"`
}
type GoogleAuthUrlRequest struct {
RedirectURI string `form:"redirect_uri" binding:"required"`
State string `form:"state" binding:"required"`
}
type GoogleAuthUrlResponse struct {
AuthURL string `json:"auth_url"`
}
type GoogleOAuthCallbackRequest struct {
Code string `json:"code" binding:"required"`
State string `json:"state" binding:"required"`
RedirectURI string `json:"redirect_uri" binding:"required"`
}
type GoogleOAuthCallbackResponse struct {
Token string `json:"token"`
ExpiresAt int64 `json:"expires_at"`
}
type GoogleUserInfo struct {
ID string `json:"id"`
Email string `json:"email"`
Name string `json:"name"`
Picture string `json:"picture"`
VerifiedEmail bool `json:"verified_email"`
}