mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
39 lines
1.0 KiB
Java
39 lines
1.0 KiB
Java
package com.commafeed.backend.dao;
|
|
|
|
import java.util.List;
|
|
import java.util.Set;
|
|
import java.util.stream.Collectors;
|
|
|
|
import javax.inject.Inject;
|
|
import javax.inject.Singleton;
|
|
|
|
import org.hibernate.SessionFactory;
|
|
|
|
import com.commafeed.backend.model.QUserRole;
|
|
import com.commafeed.backend.model.User;
|
|
import com.commafeed.backend.model.UserRole;
|
|
import com.commafeed.backend.model.UserRole.Role;
|
|
|
|
@Singleton
|
|
public class UserRoleDAO extends GenericDAO<UserRole> {
|
|
|
|
private QUserRole role = QUserRole.userRole;
|
|
|
|
@Inject
|
|
public UserRoleDAO(SessionFactory sessionFactory) {
|
|
super(sessionFactory);
|
|
}
|
|
|
|
public List<UserRole> findAll() {
|
|
return query().selectFrom(role).leftJoin(role.user).fetchJoin().distinct().fetch();
|
|
}
|
|
|
|
public List<UserRole> findAll(User user) {
|
|
return query().selectFrom(role).where(role.user.eq(user)).distinct().fetch();
|
|
}
|
|
|
|
public Set<Role> findRoles(User user) {
|
|
return findAll(user).stream().map(r -> r.getRole()).collect(Collectors.toSet());
|
|
}
|
|
}
|