Files
satusehat-service/internal/auth/dto.go
T
2026-04-14 01:23:34 +00:00

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"`
}