Skip to content
Snippets Groups Projects
Commit 9ad59715 authored by Tomas Madeja's avatar Tomas Madeja
Browse files

feat: add auth operations to facade

parent 2ef29528
No related branches found
No related tags found
No related merge requests found
package cz.muni.fi.pa165.icehockeymanager.dto;
import cz.muni.fi.pa165.icehockeymanager.security.Roles;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Objects;
@Getter @Setter
public final class UserDto {
@NotNull
private Long id;
@NotBlank
private Long username;
@NotNull
private Roles role;
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof UserDto)) return false;
UserDto userDto = (UserDto) o;
return Objects.equals(getUsername(), userDto.getUsername());
}
@Override
public int hashCode() {
return Objects.hash(getUsername());
}
}
package cz.muni.fi.pa165.icehockeymanager.facades;
import cz.muni.fi.pa165.icehockeymanager.dto.UserDto;
import cz.muni.fi.pa165.icehockeymanager.exceptions.UsernameTakenException;
import java.util.Optional;
/**
* Facade facilitating user authentication
* and authorization.
*/
public interface UserAuthFacade {
/**
* Authenticate user
* @param username username
* @param password plaintext password
* @return true if the password is correct, else false
*/
Optional<UserDto> authenticateUser(String username, String password);
/**
* Create new League Manager account
* @param username username
* @param password plaintext password
* @return User if exists
*
* @throws UsernameTakenException if username is already taken by another user
*/
UserDto createLeagueManager(String username, String password);
/**
* Create new Team Manager account
* @param username username
* @param password plaintext password
* @return User if exists
*
* @throws UsernameTakenException if username is already taken by another user
*/
UserDto createTeamManager(String username, String password);
}
package cz.muni.fi.pa165.icehockeymanager.facades;
import cz.muni.fi.pa165.icehockeymanager.dto.UserDto;
import java.util.Optional;
public class UserAuthFacadeImpl implements UserAuthFacade {
@Override
public Optional<UserDto> authenticateUser(String username, String password) {
return Optional.empty();
}
@Override
public UserDto createLeagueManager(String username, String password) {
return null;
}
@Override
public UserDto createTeamManager(String username, String password) {
return null;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment