Files
tp/main_dc/yalarba/api_yal/internal/models/authentication.go
T
valitovgaziz 9f5cef41fc new file: main_dc/yalarba/api_yal/internal/middleware/auth.go
new file:   main_dc/yalarba/api_yal/internal/models/authentication.go
add auth object for create authenticate endpoints
2026-02-23 21:41:55 +05:00

46 lines
1.4 KiB
Go

package models
import (
)
// AuthRequest - запрос на аутентификацию
type AuthRequest struct {
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=6"`
}
// AuthResponse - ответ с токенами
type AuthResponse struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
TokenType string `json:"token_type"` // Bearer
ExpiresIn int64 `json:"expires_in"`
User UserResponse `json:"user"`
}
// RefreshTokenRequest - запрос на обновление токена
type RefreshTokenRequest struct {
RefreshToken string `json:"refresh_token" binding:"required"`
}
// UserRegisterRequest - запрос на регистрацию
type UserRegisterRequest struct {
Email string `json:"email" binding:"required,email"`
Password string `json:"password" binding:"required,min=6"`
FullName string `json:"full_name" binding:"required"`
Phone string `json:"phone"`
City string `json:"city"`
}
// PasswordResetRequest - запрос на сброс пароля
type PasswordResetRequest struct {
Email string `json:"email" binding:"required,email"`
}
// PasswordResetConfirmRequest - подтверждение сброса пароля
type PasswordResetConfirmRequest struct {
Token string `json:"token" binding:"required"`
Password string `json:"password" binding:"required,min=6"`
}