Commit 9ad59715 authored by Tomas Madeja's avatar Tomas Madeja
Browse files

feat: add auth operations to facade

parent 2ef29528
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
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());
    }
}
+32 −0
Original line number Diff line number Diff line
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);
}
+18 −0
Original line number Diff line number Diff line
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;
    }
}