package it.enea.cruise.service.idp;

import java.util.List;

import it.enea.scp.idp.sdk.model.UserDto;
import it.enea.cruise.model.user.User;

public interface IdpProvider {
	String getTokenFromUsernameAndPassword(String username, String password);

	User login(String username, String password);

	User getUserByToken(String token);

	UserDto getUserByEmail(String email);

	boolean logout(String token);

	boolean isValid(String token);

	List<UserDto> userList();

	Boolean deleteUser(String email);

	Boolean createUser(UserDto newUser);

	Boolean updateUser(UserDto user);

	UserDto getUserFromUUID(String uuid);

	Boolean updatePassword(String token, String password);
}
