package eu.eudat.dao.entities; import eu.eudat.dao.DatabaseAccess; import eu.eudat.dao.DatabaseAccessLayer; import eu.eudat.dao.databaselayer.service.DatabaseService; import eu.eudat.entities.UserInfo; import eu.eudat.entities.UserRole; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; import java.util.UUID; @Component("userRoleDao") public class UserRoleDaoImpl extends DatabaseAccess implements UserRoleDao{ @Autowired public UserRoleDaoImpl(DatabaseService databaseService) { this.setDatabaseService(databaseService); } @Override public UserRole createOrUpdate(UserRole item) { return this.getDatabaseService().createOrUpdate(item,UserRole.class); } @Override public UserRole find(UUID id) { return this.getDatabaseService().getQueryable(UserRole.class).where((builder, root) -> builder.equal(root.get("id"),id)).getSingleOrDefault(); } @Override public List getUserRoles(UserInfo userInfo) { return this.getDatabaseService().getQueryable(UserRole.class).where((builder, root) -> builder.equal(root.get("userInfo"),userInfo)).toList(); } @Override public void delete(UserRole item) { this.getDatabaseService().delete(item); } }