diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java index 4c4d911fbe721d8cc28c28e2d0fbe764f1ec19bc..60917bce92952e21ef00365c4b1d7404de9be309 100644 --- a/src/main/java/org/hbp/mip/MIPApplication.java +++ b/src/main/java/org/hbp/mip/MIPApplication.java @@ -121,22 +121,14 @@ public static void main(String[] args) { * - restart DB and backend (no session or anything like that) * - log in using the front end * - check you have no 500 error in the network logs. - * @param principal * @return */ - public synchronized User getUser(Principal principal) { + public synchronized User getUser() { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); - User user = null; + User user = new User(getUserInfos()); try { session.beginTransaction(); - user = (User) session - .createQuery("from User where username= :username") - .setString("username", principal.getName()) - .uniqueResult(); - if (user == null) { - user = new User(getUserInfos()); - session.save(user); - } + session.merge(user); session.getTransaction().commit(); } catch (Exception e) { @@ -178,7 +170,7 @@ public static void main(String[] args) { ObjectMapper mapper = new ObjectMapper(); try { - String userJSON = mapper.writeValueAsString(getUser(principal)); + String userJSON = mapper.writeValueAsString(getUser()); Cookie cookie = new Cookie("user", URLEncoder.encode(userJSON, "UTF-8")); cookie.setPath("/"); response.addCookie(cookie); diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java index e280d1732a7af3cb13fddf50ddf3719063e00feb..dca595e5c7173738d463387af013fd437b48d86a 100644 --- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java +++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java @@ -17,7 +17,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import java.security.Principal; import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -38,12 +37,11 @@ public class ArticlesApi { public ResponseEntity<List<Article>> getArticles( @ApiParam(value = "Only ask own articles") @RequestParam(value = "own", required = false) Boolean own, @ApiParam(value = "Only ask results matching status", allowableValues = "{values=[draft, published, closed]}") @RequestParam(value = "status", required = false) String status, - @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team, - Principal principal + @ApiParam(value = "Only ask articles from own team") @RequestParam(value = "team", required = false) Boolean team ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Prepare HQL query using Article and User tables String queryString = "SELECT a FROM Article a, User u where a.createdBy=u.id"; @@ -104,12 +102,11 @@ public class ArticlesApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Article created") }) @RequestMapping(method = RequestMethod.POST) public ResponseEntity<Void> addAnArticle( - @RequestBody @ApiParam(value = "Article to create", required = true) Article article, - Principal principal + @RequestBody @ApiParam(value = "Article to create", required = true) Article article ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Set up article to save article.setCreatedAt(new Date()); @@ -170,12 +167,11 @@ public class ArticlesApi { @RequestMapping(value = "/{slug}", method = RequestMethod.PUT) public ResponseEntity<Void> updateAnArticle( @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Article to update", required = true) Article article, - Principal principal + @RequestBody @ApiParam(value = "Article to update", required = true) Article article ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Query DB Session session = HibernateUtil.getSessionFactory().getCurrentSession(); diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index 2d9c99dd8df7d7a2bfbcf4b095aaecc3be84f983..5c20bb2558e3ca5e30cd71b7324d3842f1c440e5 100644 --- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java @@ -17,7 +17,6 @@ import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import java.security.Principal; import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -42,12 +41,11 @@ public class ModelsApi { public ResponseEntity<List<Model>> getModels( @ApiParam(value = "Max number of results") @RequestParam(value = "limit", required = false) Integer limit, @ApiParam(value = "Only ask own models") @RequestParam(value = "own", required = false) Boolean own, - @ApiParam(value = "Only ask models from own team") @RequestParam(value = "team", required = false) Boolean team, - Principal principal + @ApiParam(value = "Only ask models from own team") @RequestParam(value = "team", required = false) Boolean team ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Prepare HQL query from Model and User tables String queryString = "select m from Model m, User u where m.createdBy=u.id"; @@ -102,12 +100,11 @@ public class ModelsApi { @ApiResponses(value = { @ApiResponse(code = 200, message = "Model created") }) @RequestMapping(method = RequestMethod.POST) public ResponseEntity<Model> addAModel( - @RequestBody @ApiParam(value = "Model to create", required = true) Model model, - Principal principal + @RequestBody @ApiParam(value = "Model to create", required = true) Model model ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Set up model model.setSlug(model.getConfig().getTitle().get("text").toLowerCase()); @@ -217,12 +214,11 @@ public class ModelsApi { @RequestMapping(value = "/{slug}", method = RequestMethod.PUT) public ResponseEntity<Void> updateAModel( @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Model to update", required = true) Model model, - Principal principal + @RequestBody @ApiParam(value = "Model to update", required = true) Model model ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Query DB Session session = HibernateUtil.getSessionFactory().getCurrentSession(); @@ -246,11 +242,10 @@ public class ModelsApi { @RequestMapping(value = "/{slug}/copies", method = RequestMethod.POST) public ResponseEntity<Model> copyAModel( @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Model to update", required = true) Model model, - Principal principal + @RequestBody @ApiParam(value = "Model to update", required = true) Model model ) { // Get current user - User user = mipApplication.getUser(principal); + User user = mipApplication.getUser(); // Set slug String originalSlug = model.getSlug();