package org.iri_research.renkan.repositories;

import java.util.Collection;
import java.util.Map;

import org.iri_research.renkan.models.Project;

public interface ProjectsRepositoryCustom {

    public int getRevCounter(String projectId);

    public Map<String, Integer> getCountBySpace();

    public Map<String, Integer> getCountBySpace(Collection<String> spaceIds);

    public Map<String, Integer> getCountByUser();

    public Map<String, Integer> getCountByUser(Collection<String> userIds);

    public Map<String, Integer> getCountByUsername();

    public Map<String, Integer> getCountByUsername(Collection<String> usernames);

    public void deleteRecursive(String projectId);

    public void deleteRecursive(Project project);

    public void deleteRecursive(Iterable<? extends Project> projects);

    public Project copy(Project p, String newTitle);

}
