Files
test_deploy/internal/request_model/auth.go
Alex Shevchuk d84487d238 1
2025-08-18 17:12:04 +03:00

72 lines
1.8 KiB
Go

package requestmodel
type UserCredentials struct {
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
MiddleName *string `json:"middle_name"`
Email string `json:"email"`
PhoneNumber string `json:"phone"`
Password string `json:"password"`
UserType int32 `json:"user_type"`
Permissions map[string]string `json:"permissions"`
}
type RegisterResponse struct {
UUID string `json:"uid"`
}
type (
LoginUserRequest struct {
Email string `json:"email"`
Password string `json:"password"`
}
LoginUserResponse struct {
Uid string `json:"uid"`
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
UserType int32 `json:"user_type"`
Permissions Permissions `json:"permissions"`
EmailVerified bool `json:"email_confirmed"`
}
Permissions struct {
Balance string `json:"balance"`
Company string `json:"company"`
Employees string `json:"employees"`
Profile string `json:"profile"`
Submissions string `json:"submissions"`
Vacancies string `json:"vacancies"`
}
)
type LogoutUserRequest struct {
RefreshToken string `json:"refresh_token"`
}
type (
RefreshTokenRequest struct {
RefreshToken string `json:"refresh_token"`
}
RefreshTokenResponse struct {
AccessToken string `json:"access_token"`
RefreshToken string `json:"refresh_token"`
}
)
type ForgotPasswordRequest struct {
Email string `json:"email"`
}
type ValidateOTPResponse struct {
IsValid bool `json:"valid"`
Token string `json:"token"`
}
type ResetPasswordRequest struct {
Email string `json:"email"`
Password string `json:"new_password"`
Token string `json:"token"`
}