summaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/blog/web/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/blog/web/controllers')
-rw-r--r--src/main/java/com/blog/web/controllers/ArticleController.java46
-rw-r--r--src/main/java/com/blog/web/controllers/AuthController.java16
2 files changed, 28 insertions, 34 deletions
diff --git a/src/main/java/com/blog/web/controllers/ArticleController.java b/src/main/java/com/blog/web/controllers/ArticleController.java
index cb00a56..e60be61 100644
--- a/src/main/java/com/blog/web/controllers/ArticleController.java
+++ b/src/main/java/com/blog/web/controllers/ArticleController.java
@@ -27,7 +27,7 @@ public class ArticleController {
@GetMapping("/articles")
public String listArticles(Model model) {
List<ArticleDto> articles = articleService.findAllArticles();
- UserEntity user = getLoggedInUser();
+ UserEntity user = userService.getLoggedInUser();
model.addAttribute("user", user);
model.addAttribute("articles", articles);
return "index";
@@ -37,16 +37,16 @@ public class ArticleController {
public String showArticle(@PathVariable("articleId") long articleId, Model model) {
ArticleDto articleDto = articleService.findArticleById(articleId);
model.addAttribute("article", articleDto);
- UserEntity user = getLoggedInUser();
+ UserEntity user = userService.getLoggedInUser();
model.addAttribute("user", user);
return "articles/show";
}
@GetMapping("/articles/new")
public String createArticleForm(Model model) {
- UserEntity user = getLoggedInUser();
+ UserEntity user = userService.getLoggedInUser();
model.addAttribute("user", user);
- Article article = new Article();
+ final Article article = new Article();
model.addAttribute("article", article);
return "articles/new";
}
@@ -54,33 +54,31 @@ public class ArticleController {
@PostMapping("/articles/new")
public String saveArticle(@Valid @ModelAttribute("article") ArticleDto articleDto,
BindingResult result,
- Model model) {
- if(articleDto.getCreatedBy() == null) {
+ Model model)
+ {
+ // if un-logged in user tries to create an article
+ // redirect them to login page
+ UserEntity user = userService.getLoggedInUser();
+ if(userService.getLoggedInUser().getId() == null) {
return "redirect:/userlogin";
}
- if(result.hasErrors()) {
+ else if(result.hasErrors()) {
model.addAttribute("article", articleDto);
return "articles/new";
}
- articleService.saveArticle(articleDto);
- return "redirect:/articles";
- }
-
- private UserEntity getLoggedInUser() {
- UserEntity user = new UserEntity();
- String username = SecurityUtil.getSessionUser();
- if(username != null) {
- user = userService.findByUsername(username);
+ else {
+ articleService.saveArticle(articleDto);
+ return "redirect:/articles";
}
- return user;
}
+
@GetMapping("/articles/delete/{articleId}")
public String deleteArticle(@PathVariable("articleId") Long articleId) {
- UserEntity user = getLoggedInUser();
+ UserEntity user = userService.getLoggedInUser();
ArticleDto article = articleService.findArticleById(articleId);
UserEntity owner = article.getCreatedBy();
- if(owner.getId() == user.getId()) {
+ if(owner.equals(user)) {
articleService.delete(articleId);
}
return "redirect:/articles";
@@ -88,7 +86,7 @@ public class ArticleController {
@GetMapping("/articles/edit/{articleId}")
public String editArticleForm(@PathVariable("articleId") long articleId, Model model) {
- UserEntity user = getLoggedInUser();
+ UserEntity user = userService.getLoggedInUser();
model.addAttribute("user", user);
ArticleDto articleDto = articleService.findArticleById(articleId);
model.addAttribute("article", articleDto);
@@ -109,19 +107,13 @@ public class ArticleController {
@GetMapping("/articles/search")
public String searchArticle(@RequestParam(value = "search") String search, Model model) {
- UserEntity user = getLoggedInUser();
+ UserEntity user = userService.getLoggedInUser();
model.addAttribute("user", user);
List<ArticleDto> articles = articleService.searchArticles(search);
model.addAttribute("articles", articles);
return "index";
}
- @GetMapping("/userlogin")
- public String login(Model model) {
- UserEntity user = getLoggedInUser();
- model.addAttribute("user", user);
- return "auth/login";
- }
@GetMapping("/")
public String getArticles() {
diff --git a/src/main/java/com/blog/web/controllers/AuthController.java b/src/main/java/com/blog/web/controllers/AuthController.java
index bb7cb0d..a654ad1 100644
--- a/src/main/java/com/blog/web/controllers/AuthController.java
+++ b/src/main/java/com/blog/web/controllers/AuthController.java
@@ -2,8 +2,10 @@ package com.blog.web.controllers;
import com.blog.web.dto.RegistrationDto;
import com.blog.web.models.UserEntity;
+import com.blog.web.security.SecurityUtil;
import com.blog.web.services.UserService;
import jakarta.validation.Valid;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
@@ -19,14 +21,16 @@ public class AuthController {
this.userService = userService;
}
- @GetMapping("/login")
- public String loginPage() {
+ @GetMapping("/userlogin")
+ public String login(Model model) {
+ UserEntity user = userService.getLoggedInUser();
+ model.addAttribute("user", user);
return "auth/login";
}
@GetMapping("/register")
public String getRegisterForm(Model model) {
- RegistrationDto user = new RegistrationDto();
+ final RegistrationDto user = new RegistrationDto();
model.addAttribute("user", user);
return "auth/register";
}
@@ -38,8 +42,7 @@ public class AuthController {
UserEntity existingUserEmail = userService.findByEmail(user.getEmail());
if(
existingUserEmail != null &&
- existingUserEmail.getEmail() != null &&
- !existingUserEmail.getEmail().isEmpty()
+ StringUtils.isBlank(existingUserEmail.getEmail())
) {
result.rejectValue("email", "There is already a user with this email");
}
@@ -47,8 +50,7 @@ public class AuthController {
UserEntity existingUsername = userService.findByUsername(user.getUsername());
if(
existingUsername != null &&
- existingUsername.getUsername() != null &&
- !existingUsername.getUsername().isEmpty()
+ StringUtils.isBlank(existingUsername.getUsername())
)
{
result.rejectValue("username", "There is already a user with this username");