package eu.dnetlib.statsapi.controllers;

import eu.dnetlib.statsapi.entity.Result;
import eu.dnetlib.statsapi.repos.BaseRepository;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;


@RestController
@CrossOrigin(methods = RequestMethod.GET, origins = "*")
public class StatsController {
    @Autowired
    private BaseRepository repository;

    private final Logger log = Logger.getLogger(this.getClass());

    @RequestMapping(value = "/numbers/{number}")
    public Result getNumber(@PathVariable(value="number") String number) {
        log.info("request for number: " + number);
        return repository.getNumber(number);
    }

    @RequestMapping(value = "/funders/{funder}")
    public Result getFunder(@PathVariable(value="funder") String funder) {
        log.info("request for funder: " + funder);
        return repository.getFunder(funder);
    }

    @RequestMapping(value = "/communities/{community}")
    public Result getCommunity(@PathVariable(value="community") String community) {
        log.info("request for community: " + community);
        return repository.getCommunity(community);
    }

}
