Multiple implementations of the same back-end application. The aim is to provide quick, side-by-side comparisons of different technologies (languages, frameworks, libraries) while preserving consistent business logic across all implementations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

33 lines
608 B

package dto
import (
"errors"
)
var (
ErrInvalidUsername = errors.New("username cannot be empty")
ErrInvalidPassword = errors.New("password cannot be empty")
)
type LoginDTO struct {
Username string `json:"username" binding:"required"`
Password string `json:"password" binding:"required"`
}
func (dto *LoginDTO) Validate() error {
if dto.Username == "" {
return ErrInvalidUsername
}
if dto.Password == "" {
return ErrInvalidPassword
}
return nil
}
type LoginResponseDTO struct {
Token string `json:"token"`
TokenType string `json:"tokenType"`
ExpiresIn int `json:"expiresIn"`
}