Include Owner of Taskgroup in Datamodel
This commit is contained in:
parent
3adebd1670
commit
712f793736
@ -9,6 +9,7 @@ import core.services.ServiceResult;
|
||||
import core.services.TaskgroupService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
@ -26,7 +27,8 @@ public class TaskgroupController {
|
||||
|
||||
@PutMapping("/taskgroups")
|
||||
public ResponseEntity<?> createTaskgroup(@Valid @RequestBody TaskgroupFieldInfo fieldInfo) {
|
||||
ServiceResult<Taskgroup> creationResult = taskgroupService.addTaskgroup(fieldInfo);
|
||||
String username = SecurityContextHolder.getContext().getAuthentication().getName();
|
||||
ServiceResult<Taskgroup> creationResult = taskgroupService.addTaskgroup(fieldInfo, username);
|
||||
if(creationResult.getExitCode() == ServiceExitCode.OK) {
|
||||
return ResponseEntity.ok(new TaskgroupEntityInfo(creationResult.getResult()));
|
||||
} else {
|
||||
|
@ -1,5 +1,7 @@
|
||||
package core.entities.timemanager;
|
||||
|
||||
import core.entities.User;
|
||||
|
||||
import javax.persistence.*;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
@ -15,8 +17,13 @@ public class Taskgroup {
|
||||
@Column(name = "name", length = 255)
|
||||
private String taskgroupName;
|
||||
|
||||
public Taskgroup(String taskgroupName) {
|
||||
@OneToOne
|
||||
@JoinColumn(name = "taskgroupuser", nullable = false)
|
||||
private User user;
|
||||
|
||||
public Taskgroup(String taskgroupName, User user) {
|
||||
this.taskgroupName = taskgroupName;
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public Taskgroup() {
|
||||
@ -38,5 +45,11 @@ public class Taskgroup {
|
||||
this.taskgroupName = taskgroupName;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
}
|
||||
|
@ -2,23 +2,38 @@ package core.services;
|
||||
|
||||
import core.api.models.timemanager.taskgroup.TaskgroupEntityInfo;
|
||||
import core.api.models.timemanager.taskgroup.TaskgroupFieldInfo;
|
||||
import core.entities.User;
|
||||
import core.entities.UserRole;
|
||||
import core.entities.timemanager.Taskgroup;
|
||||
import core.repositories.UserRepository;
|
||||
import core.repositories.timemanager.TaskgroupRepository;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.scheduling.config.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Optional;
|
||||
|
||||
@Service
|
||||
public class TaskgroupService {
|
||||
|
||||
private final TaskgroupRepository taskgroupRepository;
|
||||
public TaskgroupService(@Autowired TaskgroupRepository taskgroupRepository) {
|
||||
private final UserRepository userRepository;
|
||||
public TaskgroupService(@Autowired TaskgroupRepository taskgroupRepository,
|
||||
@Autowired UserRepository userRepository) {
|
||||
this.taskgroupRepository = taskgroupRepository;
|
||||
this.userRepository = userRepository;
|
||||
}
|
||||
|
||||
public ServiceResult<Taskgroup> addTaskgroup(TaskgroupFieldInfo taskData, String username) {
|
||||
Optional<User> user = userRepository.findByUsername(username);
|
||||
if(user.isEmpty()) {
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
|
||||
public ServiceResult<Taskgroup> addTaskgroup(TaskgroupFieldInfo taskData) {
|
||||
if(!taskgroupRepository.existsByTaskgroupName(taskData.getName())) {
|
||||
Taskgroup taskgroup = new Taskgroup(taskData.getName());
|
||||
|
||||
Taskgroup taskgroup = new Taskgroup(taskData.getName(), user.get());
|
||||
taskgroupRepository.save(taskgroup);
|
||||
return new ServiceResult<>(taskgroup);
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user