package middleware import ( "context" "eslogad-be/internal/contract" ) type AuthValidateService interface { ValidateToken(tokenString string) (*contract.UserResponse, error) RefreshToken(ctx context.Context, tokenString string) (*contract.LoginResponse, error) Logout(ctx context.Context, tokenString string) error ExtractAccess(tokenString string) (roles []string, permissions []string, err error) }