package jeffaschenk.commons.container.security;
import jeffaschenk.commons.container.security.object.SecuritySessionPermissionObject;
import jeffaschenk.commons.container.security.object.SecuritySessionProfileObject;
import jeffaschenk.commons.container.security.object.SecuritySessionRoleObject;
import jeffaschenk.commons.container.security.object.SecuritySessionUserObject;
import org.springframework.security.core.userdetails.UserDetailsService;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;
import java.util.List;
/**
* Any overrides for the Security Service JDBC DAO which extends the Spring Base
* UserDetailsService.
*/
public interface SecurityServiceJdbcDao extends UserDetailsService {
List<SecuritySessionUserObject> getRegisteredUserForAuthentication(String principal);
List<SecuritySessionProfileObject> getRegisteredUserProfileForAuthentication(BigInteger registeredUserProfileId);
List<SecuritySessionRoleObject> getRegisteredUserRolesForAuthentication(BigInteger registeredUserId);
List<SecuritySessionPermissionObject> getRegisteredUserPermissionsForAuthentication(BigInteger registeredUserId);
SecuritySessionUserObject createSecuritySessionObject(String principal, String sessionId);
void setLogInTimeOfRegisteredUser(BigInteger registeredUserId, Date loginTime);
}