All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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