use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.
the class ProjectRepositoryCustomImpl method findPersonalProjectName.
@Override
public Optional<String> findPersonalProjectName(String user) {
Query query = Query.query(userExists(user)).addCriteria(Criteria.where(PROJECT_TYPE).is(EntryType.PERSONAL)).addCriteria(Criteria.where(PROJECT_ID).regex("^" + user + PERSONAL_PROJECT_POSTFIX));
query.fields().include("name");
return Optional.ofNullable(mongoTemplate.findOne(query, Project.class)).map(Project::getName);
}
use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.
the class ProjectRepositoryCustomImpl method removeUserFromProjects.
@Override
public void removeUserFromProjects(String userId) {
Query query = Query.query(Criteria.where(USER_LOGIN).is(userId));
mongoTemplate.updateMulti(query, new Update().pull("users", new BasicDBObject("login", userId)), Project.class);
}
use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.
the class ProjectRepositoryCustomImpl method findProjectRoles.
@Override
public Map<String, ProjectRole> findProjectRoles(String login) {
final Query q = Query.query(userExists(login));
q.fields().include("users");
return mongoTemplate.find(q, Project.class).stream().collect(Collectors.toMap(Project::getName, p -> p.getUsers().stream().filter(it -> login.equals(it.getLogin())).findFirst().get().getProjectRole()));
}
use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.
the class ReportPortalRepositoryImpl method findByFilter.
@Override
public List<T> findByFilter(Queryable filter) {
Class<T> entityType = getEntityInformation().getJavaType();
Query query = QueryBuilder.newBuilder().with(filter).build();
return getMongoOperations().find(query, entityType);
}
use of org.springframework.data.mongodb.core.query.Query in project commons-dao by reportportal.
the class ReportPortalRepositoryImpl method findByIds.
@Override
public List<T> findByIds(Collection<ID> ids, List<String> fieldsToLoad) {
Class<T> entityType = getEntityInformation().getJavaType();
String idField = getEntityInformation().getIdAttribute();
Query query = query(where(idField).in(ids));
fieldsToLoad.forEach(field -> query.fields().include(field));
return getMongoOperations().find(query, entityType);
}
Aggregations