Project

General

Profile

1
package eu.dnetlib.repo.manager.service.controllers;
2

    
3

    
4
import eu.dnetlib.domain.data.PiwikInfo;
5
import eu.dnetlib.repo.manager.shared.RepositoryServiceException;
6
import io.swagger.annotations.Api;
7
import org.springframework.http.MediaType;
8
import org.springframework.http.ResponseEntity;
9
import org.springframework.web.bind.annotation.*;
10

    
11
import java.util.List;
12

    
13
@RestController
14
@RequestMapping(value = "/piwik")
15
@Api(description = "Piwik API",  tags = {"piwik"})
16
public interface PiWikApi {
17

    
18

    
19
    @RequestMapping(value = "/getPiwikSiteForRepo/{repositoryId}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
20
    @ResponseBody
21
    PiwikInfo getPiwikSiteForRepo(String repositoryId);
22

    
23
    @RequestMapping(value = "/savePiwikInfo" , method = RequestMethod.POST,produces = MediaType.APPLICATION_JSON_VALUE)
24
    PiwikInfo savePiwikInfo( PiwikInfo piwikInfo);
25

    
26
    @RequestMapping(value = "/getPiwikSitesForRepos" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
27
    List<PiwikInfo> getPiwikSitesForRepos();
28

    
29
    @RequestMapping(value = "/approvePiwikSite/{repositoryId}" , method = RequestMethod.GET)
30
    @ResponseBody
31
    ResponseEntity<Object> approvePiwikSite(String repositoryId);
32

    
33
    @RequestMapping(value = "/getOpenaireId/{repositoryId}" , method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
34
    @ResponseBody
35
    String getOpenaireId(String repositoryid);
36

    
37

    
38
    @RequestMapping(value = "/markPiwikSiteAsValidated/{repositoryId}" , method = RequestMethod.POST,
39
            consumes = MediaType.APPLICATION_JSON_VALUE)
40
    @ResponseBody
41
    ResponseEntity<Object> markPiwikSiteAsValidated(String repositoryId) throws RepositoryServiceException;
42

    
43
    @RequestMapping(value = "/enableMetricsForRepository", method = RequestMethod.POST,
44
            consumes = MediaType.APPLICATION_JSON_VALUE)
45
    PiwikInfo enableMetricsForRepository(String officialName,String repoWebsite,PiwikInfo piwikInfo) throws RepositoryServiceException;
46
}
(8-8/15)