com.capitalone.dashboard.repository.DashboardRepository Maven / Gradle / Ivy
package com.capitalone.dashboard.repository;
import com.capitalone.dashboard.model.Component;
import com.capitalone.dashboard.model.Dashboard;
import com.capitalone.dashboard.model.DashboardType;
import com.capitalone.dashboard.model.Owner;
import org.bson.types.ObjectId;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
/**
* {@link Dashboard} repository.
*/
public interface DashboardRepository extends QueryRepository {
List findByOwner(String owner);
List findByOwners(Owner owner);
List findByOwnersAndTypeContainingIgnoreCase(Owner owner, String type);
List findByTitle(String title);
Dashboard findByTitleAndType(String title, DashboardType type);
List findByApplicationComponentsIn(Collection components);
// default List findByApplicationComponentIdsIn(Collection componentIds) {
// String query = "widgets.componentId in ('" + String.join("','", componentIds.stream().map(ObjectId::toHexString).toArray(String[]::new)) + "')";
// return findAll(query);
// }
default List findByApplicationComponentIdsIn(Collection componentIds) {
String query = "application.components.id in " + in(componentIds.stream().map(ObjectId::toHexString).collect(Collectors.toList()));
return findAll(query);
}
default List findTeamDashboards() {
return findAll("type eq 'Team' or type isNull");
}
default List findProductDashboardsByTeamDashboardCollectorItemId(String teamDashboardCollectorItemId) {
return findAll("widgets.options.teams.collectorItemId eq " + quote(teamDashboardCollectorItemId));
}
Iterable findAllByConfigurationItemBusServName(String configurationItem);
Iterable findAllByConfigurationItemBusAppName(String configurationItem);
Iterable findAllByConfigurationItemBusServNameIn(List configurationItemList);
Iterable findAllByConfigurationItemBusServNameAndConfigurationItemBusAppName(String appName, String compName);
Dashboard findByConfigurationItemBusServNameIgnoreCaseAndConfigurationItemBusAppNameIgnoreCase(String appName, String compName);
List findAllByTypeAndConfigurationItemBusServNameContainingIgnoreCase(DashboardType type, String appName);
List findAllByConfigurationItemBusServNameContainingIgnoreCaseAndConfigurationItemBusAppNameContainingIgnoreCase(String appName, String compName);
List findAllByTypeAndConfigurationItemBusServNameContainingIgnoreCaseAndConfigurationItemBusAppNameContainingIgnoreCase(DashboardType type, String appName, String compName);
Page findAll(Pageable page);
Page findAllByTypeContainingIgnoreCase(String type,Pageable pageable);
Page findAllByTitleContainingIgnoreCase(String name, Pageable pageable);
Page findAllByTypeContainingIgnoreCaseAndTitleContainingIgnoreCase(String type, String title, Pageable pageable);
List findAllByTitleContainingIgnoreCase(String name);
List findAllByTypeContainingIgnoreCaseAndTitleContainingIgnoreCase(String type, String title);
long count();
long countByTypeContainingIgnoreCase(String type);
Page findByOwners(Owner owner, Pageable pageable);
Page findByOwnersAndTypeContainingIgnoreCase(Owner owner, String type, Pageable pageable);
List findByOwnersAndTitleContainingIgnoreCase(Owner owner, String name);
List findByOwnersAndTypeContainingIgnoreCaseAndTitleContainingIgnoreCase(Owner owner, String type, String title);
Page findByOwnersAndTitleContainingIgnoreCase(Owner owner, String title, Pageable pageable);
Page findByOwnersAndTypeContainingIgnoreCaseAndTitleContainingIgnoreCase(Owner owner, String type, String title, Pageable pageable);
Iterable findAllByType(DashboardType dashboardType);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy