diff --git a/restservice/src/main/java/com/plannaplan/App.java b/restservice/src/main/java/com/plannaplan/App.java index 7f8c652..17f8659 100755 --- a/restservice/src/main/java/com/plannaplan/App.java +++ b/restservice/src/main/java/com/plannaplan/App.java @@ -28,11 +28,25 @@ public class App { @EventListener(ApplicationReadyEvent.class) public void importData() { - User testUser = new User(); - testUser.setEmail("filizy@st.amu.edu.pl"); - testUser.setName("Filip"); - testUser.setSurname("Izydorczyk"); - testUser.setRole(UserRoles.STUDENT); - this.userService.save(testUser); + User filip = new User(); + filip.setEmail("filizy@st.amu.edu.pl"); + filip.setName("Filip"); + filip.setSurname("Izydorczyk"); + filip.setRole(UserRoles.STUDENT); + this.userService.save(filip); + + User hub = new User(); + hub.setEmail("hubwrz1@st.amu.edu.pl"); + hub.setName("Hubert"); + hub.setSurname("Wrzesiński"); + hub.setRole(UserRoles.STUDENT); + this.userService.save(hub); + + User mac = new User(); + mac.setEmail("macglo2@st.amu.edu.pl"); + mac.setName("Maciej"); + mac.setSurname("Głowacki"); + mac.setRole(UserRoles.STUDENT); + this.userService.save(mac); } } diff --git a/restservice/src/main/java/com/plannaplan/controllers/CommisionController.java b/restservice/src/main/java/com/plannaplan/controllers/CommisionController.java index 344da41..58f9693 100755 --- a/restservice/src/main/java/com/plannaplan/controllers/CommisionController.java +++ b/restservice/src/main/java/com/plannaplan/controllers/CommisionController.java @@ -10,18 +10,26 @@ import com.plannaplan.Controller; import com.plannaplan.entities.Assignment; import com.plannaplan.entities.Commision; import com.plannaplan.entities.Groups; +import com.plannaplan.entities.User; import com.plannaplan.models.ConfigData; import com.plannaplan.services.AssignmentService; import com.plannaplan.services.CommisionService; import com.plannaplan.services.GroupService; +import com.plannaplan.services.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; +import org.springframework.security.authentication.AnonymousAuthenticationToken; +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; @RestController @CrossOrigin @@ -37,22 +45,32 @@ public class CommisionController { @Autowired private AssignmentService assignmentService; + @Autowired + private UserService userService; + public CommisionController() { } @PostMapping("/add") - public String addCommision(@RequestParam("id") Long id) { + public ResponseEntity addCommision(@RequestParam("id") Long id) { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + User user; + + if (!(authentication instanceof AnonymousAuthenticationToken)) { + user = this.userService.getUserByEmail(authentication.getName()); + } else { + return new ResponseEntity<>("Succes", HttpStatus.UNAUTHORIZED); + } + Groups group = this.groupServcicxe.getGroupById(id).orElseThrow(() -> new NullPointerException()); - Commision com = new Commision(null); - // Object principal = - // SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + Commision com = new Commision(user); Assignment a = new Assignment(group, com); this.commisionService.save(com); this.assignmentService.save(a); - return "Success"; + return new ResponseEntity<>("Succes", HttpStatus.OK); } } diff --git a/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java b/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java index aa9ff3d..3836732 100755 --- a/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java +++ b/restservice/src/main/java/com/plannaplan/security/AuthenticationProvider.java @@ -59,7 +59,7 @@ public class AuthenticationProvider extends AbstractUserDetailsAuthenticationPro @Override public String getUsername() { - return user.getName() + " " + user.getSurname(); + return user.getEmail(); } @Override