diff --git a/build.gradle b/build.gradle index 10d9737..745df92 100644 --- a/build.gradle +++ b/build.gradle @@ -20,13 +20,15 @@ repositories { } dependencies { + implementation 'org.springframework.boot:spring-boot-starter-validation:2.7.3' + implementation 'com.google.guava:guava:31.1-jre' implementation 'org.springframework.data:spring-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.thymeleaf.extras:thymeleaf-extras-springsecurity5' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' - implementation 'org.projectlombok:lombok:1.18.22' + implementation 'org.projectlombok:lombok:1.18.24' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' runtimeOnly 'org.postgresql:postgresql' diff --git a/src/main/java/site/easystartup/easystartupcore/controller/ForumController.java b/src/main/java/site/easystartup/easystartupcore/controller/ForumController.java index 14eb716..4e9d709 100644 --- a/src/main/java/site/easystartup/easystartupcore/controller/ForumController.java +++ b/src/main/java/site/easystartup/easystartupcore/controller/ForumController.java @@ -1,22 +1,36 @@ package site.easystartup.easystartupcore.controller; +import com.google.common.collect.Lists; import lombok.RequiredArgsConstructor; import lombok.val; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; +import site.easystartup.easystartupcore.domain.forum.Discussion; +import site.easystartup.easystartupcore.domain.forum.Topic; import site.easystartup.easystartupcore.repos.forum.TopicRepo; +import java.util.Collections; + @Controller @RequiredArgsConstructor(onConstructor_ = @Autowired) public class ForumController { private final TopicRepo topicRepo; + private final Discussion discussion; + @GetMapping("/forum") public String forumMain(Model model) { val topic = topicRepo.findAll(); model.addAttribute("topics", topic); return "forum"; } + + @GetMapping("/forum/my") + public String forumMy(Model model) { + val topic = Lists.newArrayList(topicRepo.findAll()); + model.addAttribute("topics", topic); + return "forum"; + } } diff --git a/src/main/java/site/easystartup/easystartupcore/domain/forum/Topic.java b/src/main/java/site/easystartup/easystartupcore/domain/forum/Topic.java index d3a4967..d6e5b95 100644 --- a/src/main/java/site/easystartup/easystartupcore/domain/forum/Topic.java +++ b/src/main/java/site/easystartup/easystartupcore/domain/forum/Topic.java @@ -20,6 +20,7 @@ public class Topic { @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String title; + private String author; private int size; private String description; private Date last_update; diff --git a/src/main/java/site/easystartup/easystartupcore/filter/FilterService.java b/src/main/java/site/easystartup/easystartupcore/filter/FilterService.java new file mode 100644 index 0000000..bb1f2b1 --- /dev/null +++ b/src/main/java/site/easystartup/easystartupcore/filter/FilterService.java @@ -0,0 +1,14 @@ +package site.easystartup.easystartupcore.filter; + +import site.easystartup.easystartupcore.domain.forum.Discussion; +import site.easystartup.easystartupcore.domain.forum.DiscussionMessage; + +import java.util.List; + +public interface FilterService { + List getMessagesByDiscussionId(long discussionId); + + List getDiscussionByAuthor(String author); + + List getDiscussionByMember(String member); +} diff --git a/src/main/java/site/easystartup/easystartupcore/filter/StreamFilterService.java b/src/main/java/site/easystartup/easystartupcore/filter/StreamFilterService.java new file mode 100644 index 0000000..0c0e00b --- /dev/null +++ b/src/main/java/site/easystartup/easystartupcore/filter/StreamFilterService.java @@ -0,0 +1,31 @@ +package site.easystartup.easystartupcore.filter; + +import com.google.common.collect.Lists; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import site.easystartup.easystartupcore.domain.forum.Discussion; +import site.easystartup.easystartupcore.domain.forum.DiscussionMessage; +import site.easystartup.easystartupcore.repos.forum.DiscussionMessageRepo; + +import java.util.List; + +@RequiredArgsConstructor(onConstructor_ = @Autowired) +public class StreamFilterService implements FilterService { + private final DiscussionMessageRepo discussionMessageRepo; + + @Override + public List getMessagesByDiscussionId(long discussionId) { + //Lists.newArrayList(discussionMessageRepo.findAll()).stream().filter() + return null; + } + + @Override + public List getDiscussionByAuthor(String author) { + return null; + } + + @Override + public List getDiscussionByMember(String member) { + return null; + } +}