diff options
| author | realtradam <[email protected]> | 2024-07-23 20:47:31 -0400 |
|---|---|---|
| committer | realtradam <[email protected]> | 2024-07-23 20:47:31 -0400 |
| commit | 1e18e0ad7a47536be92384bbf815e0923a06698d (patch) | |
| tree | b07405ecdef4f05a96b6c4348930cbee976554cb /src/main/java/com/blog/web/controllers/ArticleController.java | |
| parent | 56c59e3b98fe554c4e1484e208e4be5c30f09a04 (diff) | |
| download | spring-blog-1e18e0ad7a47536be92384bbf815e0923a06698d.tar.gz spring-blog-1e18e0ad7a47536be92384bbf815e0923a06698d.zip | |
split front and back end, add react to project
Diffstat (limited to 'src/main/java/com/blog/web/controllers/ArticleController.java')
| -rw-r--r-- | src/main/java/com/blog/web/controllers/ArticleController.java | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/src/main/java/com/blog/web/controllers/ArticleController.java b/src/main/java/com/blog/web/controllers/ArticleController.java deleted file mode 100644 index 6cd5d50..0000000 --- a/src/main/java/com/blog/web/controllers/ArticleController.java +++ /dev/null @@ -1,125 +0,0 @@ -package com.blog.web.controllers; - -import com.blog.web.dto.ArticleDto; -import com.blog.web.dto.ArticlePublicDto; -import com.blog.web.models.Article; -import com.blog.web.models.UserEntity; -import com.blog.web.services.ArticleService; -import com.blog.web.services.UserService; -import jakarta.validation.Valid; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.*; - -import java.time.LocalDateTime; -import java.util.HashSet; -import java.util.List; - -@RestController -@Controller -public class ArticleController { - private ArticleService articleService; - private UserService userService; - - public ArticleController(ArticleService articleService, UserService userService) { - this.articleService = articleService; - this.userService = userService; - } - - @GetMapping("/get") - public Article getMethod() { - return new Article( - 5, - "blah", - "blah", - "blah", - new UserEntity(), - LocalDateTime.now(), - LocalDateTime.now() - ); - } - - @GetMapping("/articles") - public HashSet<ArticlePublicDto> listArticles(Model model) { - HashSet<ArticlePublicDto> articles = new HashSet<ArticlePublicDto>(articleService.findAllArticles()); - //UserEntity user = userService.getLoggedInUser().orElse(new UserEntity()); - //model.addAttribute("user", user); - //model.addAttribute("articles", articles); - //return "index"; - return articles; - } - - @GetMapping("/articles/{articleId}") - public String showArticle(@PathVariable("articleId") long articleId, Model model) { - ArticleDto articleDto = articleService.findArticleById(articleId); - model.addAttribute("article", articleDto); - UserEntity user = userService.getLoggedInUser().orElse(new UserEntity()); - model.addAttribute("user", user); - return "articles/show"; - } - - @GetMapping("/articles/new") - public String createArticleForm(Model model) { - model.addAttribute("user", userService.getLoggedInUser().orElse(new UserEntity())); - model.addAttribute("article", new Article()); - return "articles/new"; - } - - @PostMapping("/articles/new") - public String saveArticle(@Valid @ModelAttribute("article") ArticleDto articleDto, BindingResult result, Model model) { - // if non-authenticated in user tries to create an article - // redirect them to login page - UserEntity user = userService.getLoggedInUser().orElse(null); - if (user == null) { - return "redirect:/userlogin"; - } else if (result.hasErrors()) { - model.addAttribute("article", articleDto); - return "articles/new"; - } else { - articleService.saveArticle(articleDto); - return "redirect:/articles"; - } - } - - @GetMapping("/articles/delete/{articleId}") - public String deleteArticle(@PathVariable("articleId") Long articleId) { - articleService.delete(articleId); - return "redirect:/articles"; - } - - @GetMapping("/articles/edit/{articleId}") - public String editArticleForm(@PathVariable("articleId") long articleId, Model model) { - UserEntity user = userService.getLoggedInUser().orElse(null); - if (user != null) { - model.addAttribute("user", user); - ArticleDto articleDto = articleService.findArticleById(articleId); - model.addAttribute("article", articleDto); - } - return "articles/edit"; - } - - @PostMapping("/articles/edit/{articleId}") - public String updateArticle(@PathVariable("articleId") Long articleId, @Valid @ModelAttribute("article") ArticleDto article, BindingResult result) { - if (result.hasErrors()) { - return "articles/edit"; - } - article.setId(articleId); - articleService.updateArticle(article); - return "redirect:/articles"; - } - - @GetMapping("/articles/search") - public String searchArticle(@RequestParam(value = "search") String search, Model model) { - UserEntity user = userService.getLoggedInUser().orElse(new UserEntity()); - model.addAttribute("user", user); - List<ArticleDto> articles = articleService.searchArticles(search); - model.addAttribute("articles", articles); - return "index"; - } - - @GetMapping("/") - public String getArticles() { - return "redirect:/articles"; - } -} |
