package fr.plil.sio.web.mvc; 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; import javax.annotation.Resource; import java.util.List; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.RequestParam; @RestController public class UserRestController { @Resource private UserService userService; @RequestMapping(value = "/api/users/", method = RequestMethod.GET) public List listUsers() { return userService.findAll(); } @RequestMapping(value="/api/connectedUser/",method=RequestMethod.GET) public User connectedUser() { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); User usr = (User)authentication.getPrincipal(); return usr; } @RequestMapping(value = "/api/users/{username}/", method = RequestMethod.GET) public User listUsers(@PathVariable String username) { return userService.findByUsername(username); } @RequestMapping(value = "/api/debts/", method = RequestMethod.GET) public List listDettes() { return userService.findDettes(); } @RequestMapping(value = "/api/creances/", method = RequestMethod.GET) public List listCreances(){ return userService.findCreances(); } @RequestMapping(value = "/api/addDette/", method = RequestMethod.POST) public Dette addDette(@RequestParam(value="username",required=false) String username,@RequestParam(value="sommeDette",required=false) String sommeDette) { return userService.addDette(username,sommeDette); } @RequestMapping(value="/api/deleteDette/{id}",method=RequestMethod.DELETE) public String deleteDette(@PathVariable("id") String id){ return userService.deleteDette(id); } }