package eu.dnetlib.goldoa.service;

import eu.dnetlib.goldoa.domain.Budget;
import eu.dnetlib.goldoa.domain.BudgetFile;
import eu.dnetlib.goldoa.domain.BudgetInfo;

import java.io.InputStream;
import java.util.List;

/**
 * Created by antleb on 4/2/15.
 */
public interface BudgetManager {

    public Budget saveBudget(Budget budget);

    public BudgetInfo getBudget(String budgetId);

    public List<BudgetInfo> getBudgets();

    public List<BudgetInfo> getBudgetsForUser(String userId);

    public List<BudgetInfo> getBudgetsForOrganization(List<String> organizationId);

    public void approveBudget(String budgetId, String comment, float amountGranted);

    public void rejectBudget(String budgetId, String comment);

    public void uploadTerms(String id, String contentType, InputStream inputStream);

    public BudgetFile downloadBudgetTerms(String budgetId);
}
