diff --git a/src/main/java/ru/ulstu/fc/project/model/Project.java b/src/main/java/ru/ulstu/fc/project/model/Project.java index 7edf932..129b008 100644 --- a/src/main/java/ru/ulstu/fc/project/model/Project.java +++ b/src/main/java/ru/ulstu/fc/project/model/Project.java @@ -1,14 +1,20 @@ package ru.ulstu.fc.project.model; import jakarta.persistence.Entity; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; import ru.ulstu.fc.core.model.BaseEntity; +import ru.ulstu.fc.user.model.User; import java.util.Date; @Entity public class Project extends BaseEntity { + @NotEmpty private String name; private Date createDate = new Date(); + @NotNull + private User user; public Project() { } @@ -35,4 +41,12 @@ public class Project extends BaseEntity { public void setCreateDate(Date createDate) { this.createDate = createDate; } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } } diff --git a/src/main/java/ru/ulstu/fc/project/service/ProjectService.java b/src/main/java/ru/ulstu/fc/project/service/ProjectService.java index 88e4258..b53880d 100644 --- a/src/main/java/ru/ulstu/fc/project/service/ProjectService.java +++ b/src/main/java/ru/ulstu/fc/project/service/ProjectService.java @@ -37,4 +37,14 @@ public class ProjectService { public void delete(ProjectForm projectForm) { projectRepository.deleteById(projectForm.getId()); } + + private void checkUserProjectWithThrow(Project project) { + if (!isUserProject(project)) { + throw new RuntimeException("User can not get access to project"); + } + } + + private boolean isUserProject(Project project) { + return (userSevice.getCurrentUser().equals(project.getUser())); + } }