diff --git a/src/main/java/ru/ulstu/fc/project/ProjectController.java b/src/main/java/ru/ulstu/fc/project/ProjectController.java new file mode 100644 index 0000000..35456ef --- /dev/null +++ b/src/main/java/ru/ulstu/fc/project/ProjectController.java @@ -0,0 +1,40 @@ +package ru.ulstu.fc.project; + +import io.swagger.v3.oas.annotations.Hidden; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import ru.ulstu.fc.project.model.ProjectForm; +import ru.ulstu.fc.project.service.ProjectService; + +@Controller +@Hidden +@RequestMapping("project") +public class ProjectController { + private final ProjectService projectService; + + public ProjectController(ProjectService projectService) { + this.projectService = projectService; + } + + @GetMapping("list") + public String getProjects(Model model) { + model.addAttribute("projects", projectService.getCurrentUserProjects()); + return "listProjects"; + } + + @PostMapping("save") + public String save(ProjectForm projectForm, Model model) { + projectService.save(projectForm); + return "redirect:/list"; + } + + @DeleteMapping("delete") + public String delete(ProjectForm projectForm) { + projectService.delete(projectForm); + return "redirect:/list"; + } +}