diff --git a/src/main/java/ru/ulstu/fc/project/service/ProjectService.java b/src/main/java/ru/ulstu/fc/project/service/ProjectService.java new file mode 100644 index 0000000..c529d0e --- /dev/null +++ b/src/main/java/ru/ulstu/fc/project/service/ProjectService.java @@ -0,0 +1,36 @@ +package ru.ulstu.fc.project.service; + +import org.springframework.stereotype.Service; +import ru.ulstu.fc.project.model.Project; +import ru.ulstu.fc.project.model.ProjectForm; +import ru.ulstu.fc.project.repository.ProjectRepository; + +import java.util.List; + +@Service +public class ProjectService { + private final ProjectRepository projectRepository; + + public ProjectService(ProjectRepository projectRepository) { + this.projectRepository = projectRepository; + } + + public List getCurrentUserProjects() { + return projectRepository.findAll(); + } + + public Project save(ProjectForm projectForm) { + if (projectForm.getId() == null) { + return projectRepository.save(new Project(projectForm)); + } + Project project = projectRepository + .findById(projectForm.getId()) + .orElseThrow(() -> new RuntimeException("Project not found by id")); + project.setName(projectForm.getName()); + return projectRepository.save(project); + } + + public void delete(ProjectForm projectForm) { + projectRepository.deleteById(projectForm.getId()); + } +}