package eu.solidcraft.testkata.web.biller.rest;
import eu.solidcraft.testkata.domain.biller.Biller;
import eu.solidcraft.testkata.domain.biller.BillerRepository;
import eu.solidcraft.testkata.domain.biller.Product;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.ArrayList;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
@Controller
public class BillersCrudController {
private BillerRepository billerRepository;
@Autowired
public BillersCrudController(BillerRepository billerRepository) {
this.billerRepository = billerRepository;
}
@RequestMapping(value = "/billers", method = RequestMethod.GET, produces="application/json")
public List<Biller> list() {
return newArrayList(billerRepository.findAll());
}
@RequestMapping(value = "/billers", method = RequestMethod.POST, produces="application/json")
public Biller create(@RequestParam("name") String name) {
Biller biller = new Biller("some code", name, new ArrayList<Product>());
return billerRepository.save(biller);
}
}