mengstack-api/internal/modules/auth/domain/dto.go
MengStack Dev bc5c2889c0
Some checks failed
MengStack CI/CD / Build & Test (push) Failing after 44s
MengStack CI/CD / Deploy to Server (push) Has been skipped
Initial commit: MengStack Go API framework
2026-10-02 23:55:35 +08:00

47 lines
1.2 KiB
Go

package domain
type RegisterRequest struct {
Username string `json:"username" binding:"required,min=3,max=64"`
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=8,max=128"`
Nickname string `json:"nickname"`
}
type LoginRequest struct {
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required"`
}
type ChangePasswordRequest struct {
OldPassword string `json:"old_password" binding:"required"`
NewPassword string `json:"new_password" binding:"required,min=8,max=128"`
}
type TokenPair struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
ExpiresIn int `json:"expires_in"`
}
type UserDTO struct {
ID uint `json:"id"`
TenantID string `json:"tenant_id"`
Username string `json:"username"`
Email string `json:"email"`
Nickname string `json:"nickname"`
Avatar string `json:"avatar"`
Status int `json:"status"`
}
func ToUserDTO(u *User) UserDTO {
return UserDTO{
ID: u.ID,
TenantID: u.TenantID,
Username: u.Username,
Email: u.Email,
Nickname: u.Nickname,
Avatar: u.Avatar,
Status: u.Status,
}
}