1
|
package eu.dnetlib.goldoa.service;
|
2
|
|
3
|
import eu.dnetlib.goldoa.domain.*;
|
4
|
|
5
|
import javax.mail.MessagingException;
|
6
|
import java.util.Date;
|
7
|
import java.util.List;
|
8
|
|
9
|
/**
|
10
|
* Created by antleb on 3/10/15.
|
11
|
*/
|
12
|
public interface RequestManager {
|
13
|
|
14
|
public Request saveRequest(Request request);
|
15
|
|
16
|
public RequestInfo getById(String requestId);
|
17
|
|
18
|
/**
|
19
|
* @param from inclusive, starts with 0
|
20
|
* @param to non inclusive, < total count
|
21
|
* @param requestSortBy if not null, sorts by this field
|
22
|
* @param order the order of sort, if RequestSortBy != null
|
23
|
* @param requestFilter which request field to search for, searches for all if null and term != null
|
24
|
* @param term if not null, filters the requests
|
25
|
* @param from
|
26
|
* @param to
|
27
|
* @return
|
28
|
*/
|
29
|
public List<RequestInfo> getForUser(String email, Date from, Date to, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus statusFilter);
|
30
|
|
31
|
public List<Request> getForProject(String projectId);
|
32
|
|
33
|
public List<RequestInfo> getRequests(Date from, Date to, RequestSort requestSortBy, RequestSortOrder order, RequestFilter requestFilter, String term, Request.RequestStatus statusFilter);
|
34
|
|
35
|
public Request submitRequest(Request request) throws PersonManagerException;
|
36
|
|
37
|
public void approveRequest(String requestId, String comment);
|
38
|
|
39
|
public void rejectRequest(String requestId, String comment);
|
40
|
|
41
|
void invoiceUploaded(String requestId);
|
42
|
}
|