#11 -- Add project rest api
This commit is contained in:
parent
2131ac462b
commit
a4120b3c48
@ -1,4 +1,4 @@
|
||||
package ru.ulstu.fc.project;
|
||||
package ru.ulstu.fc.project.controller;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Hidden;
|
||||
import org.springframework.stereotype.Controller;
|
||||
@ -28,7 +28,7 @@ public class ProjectController {
|
||||
|
||||
@PostMapping("save")
|
||||
public String save(ProjectForm projectForm, Model model) {
|
||||
projectService.save(projectForm);
|
||||
model.addAttribute("project", projectService.save(projectForm));
|
||||
return "redirect:/list";
|
||||
}
|
||||
|
@ -0,0 +1,38 @@
|
||||
package ru.ulstu.fc.project.controller;
|
||||
|
||||
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 org.springframework.web.bind.annotation.RestController;
|
||||
import ru.ulstu.fc.project.model.Project;
|
||||
import ru.ulstu.fc.project.model.ProjectForm;
|
||||
import ru.ulstu.fc.project.service.ProjectService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("projectRest")
|
||||
public class ProjectRestController {
|
||||
private final ProjectService projectService;
|
||||
|
||||
public ProjectRestController(ProjectService projectService) {
|
||||
this.projectService = projectService;
|
||||
}
|
||||
|
||||
@GetMapping("list")
|
||||
public List<Project> getProjects() {
|
||||
return projectService.getCurrentUserProjects();
|
||||
}
|
||||
|
||||
@PostMapping("save")
|
||||
public Project save(Project project) {
|
||||
return projectService.save(project);
|
||||
}
|
||||
|
||||
@DeleteMapping("delete")
|
||||
public String delete(ProjectForm projectForm) {
|
||||
projectService.delete(projectForm);
|
||||
return "redirect:/list";
|
||||
}
|
||||
}
|
@ -10,7 +10,13 @@ public class Project extends BaseEntity {
|
||||
private String name;
|
||||
private Date createDate = new Date();
|
||||
|
||||
public Project() {
|
||||
}
|
||||
|
||||
public Project(ProjectForm projectForm) {
|
||||
if (projectForm.getId() != null) {
|
||||
setId(projectForm.getId());
|
||||
}
|
||||
this.name = projectForm.getName();
|
||||
}
|
||||
|
||||
|
@ -20,14 +20,18 @@ public class ProjectService {
|
||||
}
|
||||
|
||||
public Project save(ProjectForm projectForm) {
|
||||
if (projectForm.getId() == null) {
|
||||
return projectRepository.save(new Project(projectForm));
|
||||
return projectRepository.save(new Project(projectForm));
|
||||
}
|
||||
|
||||
public Project save(Project projectToSave) {
|
||||
if (projectToSave.getId() == null) {
|
||||
return projectRepository.save(projectToSave);
|
||||
}
|
||||
Project project = projectRepository
|
||||
.findById(projectForm.getId())
|
||||
Project dbProject = projectRepository
|
||||
.findById(projectToSave.getId())
|
||||
.orElseThrow(() -> new RuntimeException("Project not found by id"));
|
||||
project.setName(projectForm.getName());
|
||||
return projectRepository.save(project);
|
||||
dbProject.setName(projectToSave.getName());
|
||||
return projectRepository.save(dbProject);
|
||||
}
|
||||
|
||||
public void delete(ProjectForm projectForm) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user