32 lines
1.1 KiB
Go
32 lines
1.1 KiB
Go
package auth
|
|
|
|
// RefreshTokenRequest mendefinisikan struktur untuk request refresh token.
|
|
type RefreshTokenRequest struct {
|
|
RefreshToken string `json:"refresh_token" binding:"required"`
|
|
// Provider membantu membedakan antara "jwt" dan "keycloak".
|
|
// Ini membuat endpoint menjadi fleksibel.
|
|
Provider string `json:"provider" binding:"required,oneof=jwt keycloak"`
|
|
}
|
|
|
|
// LoginResponse adalah respons standar untuk login dan refresh token.
|
|
type LoginResponse struct {
|
|
Provider string `json:"provider,omitempty"`
|
|
AccessToken string `json:"access_token"`
|
|
RefreshToken string `json:"refresh_token,omitempty"`
|
|
ExpiresIn int `json:"expires_in"`
|
|
TokenType string `json:"token_type"`
|
|
IdToken string `json:"id_token,omitempty"`
|
|
}
|
|
|
|
type LoginRequest struct {
|
|
Email string `json:"email" binding:"required,email"`
|
|
Password string `json:"password" binding:"required"`
|
|
}
|
|
|
|
type RegisterRequest struct {
|
|
Name string `json:"name" binding:"required"`
|
|
Email string `json:"email" binding:"required,email"`
|
|
Password string `json:"password" binding:"required,min=6"`
|
|
RoleID int64 `json:"role_id" binding:"required"`
|
|
}
|