Link back and front all get #115
@ -11,7 +11,6 @@ import ovh.herisson.Clyde.Services.TeacherCourseService;
|
|||||||
import ovh.herisson.Clyde.Tables.Course;
|
import ovh.herisson.Clyde.Tables.Course;
|
||||||
import ovh.herisson.Clyde.Tables.Role;
|
import ovh.herisson.Clyde.Tables.Role;
|
||||||
import ovh.herisson.Clyde.Tables.User;
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -119,4 +118,20 @@ public class CourseController {
|
|||||||
|
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@DeleteMapping("course/{id}")
|
||||||
|
public ResponseEntity<String> deleteUser(@RequestHeader("Authorization") String token, @PathVariable Long id){
|
||||||
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary}, token))
|
||||||
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
|
Course toDelete = courseServ.findById(id);
|
||||||
|
|
||||||
|
if (toDelete == null)
|
||||||
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
|
|
||||||
|
courseServ.delete(courseServ.findById(id));
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,9 +5,7 @@ import org.springframework.http.HttpStatus;
|
|||||||
import org.springframework.http.ResponseEntity;
|
import org.springframework.http.ResponseEntity;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
||||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
import ovh.herisson.Clyde.Services.*;
|
||||||
import ovh.herisson.Clyde.Services.CurriculumCourseService;
|
|
||||||
import ovh.herisson.Clyde.Services.CurriculumService;
|
|
||||||
import ovh.herisson.Clyde.Tables.Curriculum;
|
import ovh.herisson.Clyde.Tables.Curriculum;
|
||||||
import ovh.herisson.Clyde.Tables.Role;
|
import ovh.herisson.Clyde.Tables.Role;
|
||||||
|
|
||||||
@ -21,11 +19,13 @@ public class CurriculumController {
|
|||||||
private final CurriculumService curriculumServ;
|
private final CurriculumService curriculumServ;
|
||||||
private final AuthenticatorService authServ;
|
private final AuthenticatorService authServ;
|
||||||
|
|
||||||
|
private final UserCurriculumService userCurriculumServ;
|
||||||
private final CurriculumCourseService curriculumCourseServ;
|
private final CurriculumCourseService curriculumCourseServ;
|
||||||
|
|
||||||
public CurriculumController(CurriculumService curriculumServ, AuthenticatorService authServ, CurriculumCourseService curriculumCourseServ){
|
public CurriculumController(CurriculumService curriculumServ, AuthenticatorService authServ, UserCurriculumService userCurriculumServ, CurriculumCourseService curriculumCourseServ){
|
||||||
this.curriculumServ = curriculumServ;
|
this.curriculumServ = curriculumServ;
|
||||||
this.authServ = authServ;
|
this.authServ = authServ;
|
||||||
|
this.userCurriculumServ = userCurriculumServ;
|
||||||
this.curriculumCourseServ = curriculumCourseServ;
|
this.curriculumCourseServ = curriculumCourseServ;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,6 +39,19 @@ public class CurriculumController {
|
|||||||
return new ResponseEntity<>(curriculumCourseServ.getDepthCurriculum(foundCurriculum), HttpStatus.OK);
|
return new ResponseEntity<>(curriculumCourseServ.getDepthCurriculum(foundCurriculum), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/curriculum")
|
||||||
|
public ResponseEntity<Map<String ,Object>> findSelfCurriculum(@RequestHeader("Authorization") String token){
|
||||||
|
if (authServ.getUserFromToken(token) == null)
|
||||||
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
|
Curriculum curriculum = userCurriculumServ.findByUser(authServ.getUserFromToken(token));
|
||||||
|
|
||||||
|
if (curriculum == null)
|
||||||
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
|
return new ResponseEntity<>(curriculumCourseServ.getDepthCurriculum(curriculum),HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
@GetMapping("/curriculums")
|
@GetMapping("/curriculums")
|
||||||
public ResponseEntity<Iterable<Map<String, Object>>> findAllIndDepth(){
|
public ResponseEntity<Iterable<Map<String, Object>>> findAllIndDepth(){
|
||||||
return new ResponseEntity<>(curriculumCourseServ.getAllDepthCurriculum(),HttpStatus.OK);
|
return new ResponseEntity<>(curriculumCourseServ.getAllDepthCurriculum(),HttpStatus.OK);
|
||||||
@ -67,4 +80,18 @@ public class CurriculumController {
|
|||||||
|
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/curriculum/{id}")
|
||||||
|
public ResponseEntity<String > deleteCurriculum(@RequestHeader("Authorization") String token, @PathVariable Long id){
|
||||||
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary}, token))
|
||||||
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
|
Curriculum toDelete = curriculumServ.findById(id);
|
||||||
|
|
||||||
|
if (toDelete == null)
|
||||||
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
|
curriculumServ.delete(toDelete);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,11 +6,10 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
||||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
||||||
import ovh.herisson.Clyde.Services.InscriptionService;
|
import ovh.herisson.Clyde.Services.InscriptionService;
|
||||||
|
import ovh.herisson.Clyde.Services.ProtectionService;
|
||||||
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
||||||
import ovh.herisson.Clyde.Tables.RequestState;
|
import ovh.herisson.Clyde.Tables.RequestState;
|
||||||
import ovh.herisson.Clyde.Tables.Role;
|
import ovh.herisson.Clyde.Tables.Role;
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@ -34,13 +33,8 @@ public class InscriptionController {
|
|||||||
return new UnauthorizedResponse<>(null);
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
Iterable<InscriptionRequest> inscriptionRequests = inscriptionServ.getAll();
|
Iterable<InscriptionRequest> inscriptionRequests = inscriptionServ.getAll();
|
||||||
ArrayList<Map<String,Object>> toReturn = new ArrayList<>();
|
|
||||||
|
|
||||||
for (InscriptionRequest i:inscriptionRequests){
|
return new ResponseEntity<>(ProtectionService.requestsWithoutPasswords(inscriptionRequests), HttpStatus.OK);
|
||||||
toReturn.add(requestWithoutPassword(i));
|
|
||||||
}
|
|
||||||
|
|
||||||
return new ResponseEntity<>(toReturn, HttpStatus.OK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -55,38 +49,35 @@ public class InscriptionController {
|
|||||||
if (foundInscriptionRequest == null)
|
if (foundInscriptionRequest == null)
|
||||||
return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST);
|
return new ResponseEntity<>(null, HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
return new ResponseEntity<>(requestWithoutPassword(foundInscriptionRequest), HttpStatus.OK);
|
return new ResponseEntity<>(ProtectionService.requestWithoutPassword(foundInscriptionRequest), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PatchMapping("/request/register/{id}")
|
@PatchMapping("/request/register/{id}")
|
||||||
public ResponseEntity<InscriptionRequest> changeRequestState(@PathVariable long id,
|
public ResponseEntity<InscriptionRequest> changeRequestState(@PathVariable long id,
|
||||||
@RequestHeader("Authorization") String token,
|
@RequestHeader("Authorization") String token,
|
||||||
@RequestBody RequestState requestState)
|
@RequestBody RequestState state)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (authServ.isNotIn(new Role[]{Role.InscriptionService,Role.Admin},token))
|
if (authServ.isNotIn(new Role[]{Role.InscriptionService,Role.Admin},token))
|
||||||
return new UnauthorizedResponse<>(null);
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
if (!inscriptionServ.modifyState(id, requestState))
|
if (!inscriptionServ.modifyState(id, state))
|
||||||
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@DeleteMapping("/request/register/{id}")
|
||||||
|
public ResponseEntity<String > deleteRequest(@RequestHeader("Authorization") String token, @PathVariable Long id){
|
||||||
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.InscriptionService}, token))
|
||||||
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
private Map<String, Object> requestWithoutPassword(InscriptionRequest inscriptionRequest) {
|
InscriptionRequest toDelete = inscriptionServ.getById(id);
|
||||||
Map<String, Object> toReturn = new HashMap<>();
|
|
||||||
|
|
||||||
toReturn.put("id", inscriptionRequest.getId());
|
if (toDelete == null)
|
||||||
toReturn.put("lastName", inscriptionRequest.getLastName());
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
toReturn.put("firstName", inscriptionRequest.getFirstName());
|
|
||||||
toReturn.put("address", inscriptionRequest.getAddress());
|
|
||||||
toReturn.put("email",inscriptionRequest.getEmail());
|
|
||||||
toReturn.put("birthDate", inscriptionRequest.getBirthDate());
|
|
||||||
toReturn.put("country", inscriptionRequest.getCountry());
|
|
||||||
toReturn.put("curriculum", inscriptionRequest.getCurriculumId());
|
|
||||||
toReturn.put("state", inscriptionRequest.getState());
|
|
||||||
toReturn.put("profilePictureUrl", inscriptionRequest.getProfilePicture());
|
|
||||||
|
|
||||||
return toReturn;
|
inscriptionServ.delete(toDelete);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,10 @@ import org.springframework.http.ResponseEntity;
|
|||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
||||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
import ovh.herisson.Clyde.Services.AuthenticatorService;
|
||||||
|
import ovh.herisson.Clyde.Services.ProtectionService;
|
||||||
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@CrossOrigin(originPatterns = "*", allowCredentials = "true")
|
@CrossOrigin(originPatterns = "*", allowCredentials = "true")
|
||||||
@ -45,7 +47,10 @@ public class LoginController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/register")
|
@PostMapping("/register")
|
||||||
public ResponseEntity<InscriptionRequest> register(@RequestBody InscriptionRequest inscriptionRequest){
|
public ResponseEntity<Map<String,Object>> register(@RequestBody InscriptionRequest inscriptionRequest){
|
||||||
return new ResponseEntity<>(authServ.register(inscriptionRequest), HttpStatus.CREATED);
|
|
||||||
|
InscriptionRequest returnedInscriptionRequest = authServ.register(inscriptionRequest);
|
||||||
|
|
||||||
|
return new ResponseEntity<>(ProtectionService.requestWithoutPassword(returnedInscriptionRequest), HttpStatus.CREATED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,16 +22,19 @@ public class MockController {
|
|||||||
public final CurriculumCourseService CurriculumCourseService;
|
public final CurriculumCourseService CurriculumCourseService;
|
||||||
public final CurriculumService curriculumService;
|
public final CurriculumService curriculumService;
|
||||||
public final CourseService courseService;
|
public final CourseService courseService;
|
||||||
|
|
||||||
|
public final InscriptionService inscriptionService;
|
||||||
ArrayList<User> mockUsers;
|
ArrayList<User> mockUsers;
|
||||||
|
|
||||||
|
|
||||||
public MockController(UserRepository userRepo, TokenRepository tokenRepo, TokenService tokenService, CurriculumCourseService CurriculumCourseService, CurriculumService curriculumService, CourseService courseService){
|
public MockController(UserRepository userRepo, TokenRepository tokenRepo, TokenService tokenService, CurriculumCourseService CurriculumCourseService, CurriculumService curriculumService, CourseService courseService, InscriptionService inscriptionService){
|
||||||
this.tokenRepo = tokenRepo;
|
this.tokenRepo = tokenRepo;
|
||||||
this.userRepo = userRepo;
|
this.userRepo = userRepo;
|
||||||
this.tokenService = tokenService;
|
this.tokenService = tokenService;
|
||||||
this.CurriculumCourseService = CurriculumCourseService;
|
this.CurriculumCourseService = CurriculumCourseService;
|
||||||
this.curriculumService = curriculumService;
|
this.curriculumService = curriculumService;
|
||||||
this.courseService = courseService;
|
this.courseService = courseService;
|
||||||
|
this.inscriptionService = inscriptionService;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Saves an example of each user type by :
|
/** Saves an example of each user type by :
|
||||||
@ -87,6 +90,11 @@ public class MockController {
|
|||||||
CurriculumCourseService.save(new CurriculumCourse(chemistryBab1,commun));
|
CurriculumCourseService.save(new CurriculumCourse(chemistryBab1,commun));
|
||||||
CurriculumCourseService.save(new CurriculumCourse(chemistryBab1,chemistry1));
|
CurriculumCourseService.save(new CurriculumCourse(chemistryBab1,chemistry1));
|
||||||
|
|
||||||
|
|
||||||
|
InscriptionRequest inscriptionRequest = new InscriptionRequest("helen","prenom","non","helen@gmail.com","america",new Date(),(long) 1,RequestState.Refused,"yes.png","password");
|
||||||
|
|
||||||
|
inscriptionService.save(inscriptionRequest);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,6 +40,16 @@ public class UserController {
|
|||||||
return new ResponseEntity<>(ProtectionService.userWithoutPassword(user), HttpStatus.OK);
|
return new ResponseEntity<>(ProtectionService.userWithoutPassword(user), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/user/{id}")
|
||||||
|
public ResponseEntity<HashMap<String ,Object>> getUserById(@RequestHeader("Authorization") String token, @PathVariable Long id){
|
||||||
|
|
||||||
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary,Role.InscriptionService},token))
|
||||||
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
|
return new ResponseEntity<>(ProtectionService.userWithoutPassword(userService.getUserById(id)), HttpStatus.OK);
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/user")
|
@PostMapping("/user")
|
||||||
public ResponseEntity<Map<String ,Object>> postUser(@RequestBody User user,@RequestHeader("Authorization") String token){
|
public ResponseEntity<Map<String ,Object>> postUser(@RequestBody User user,@RequestHeader("Authorization") String token){
|
||||||
|
|
||||||
@ -111,4 +121,18 @@ public class UserController {
|
|||||||
|
|
||||||
return new ResponseEntity<>(ProtectionService.usersWithoutPasswords(students), HttpStatus.OK);
|
return new ResponseEntity<>(ProtectionService.usersWithoutPasswords(students), HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/user/{id}")
|
||||||
|
public ResponseEntity<String> deleteStudent(@RequestHeader("Authorization") String token, @PathVariable Long id){
|
||||||
|
if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary},token))
|
||||||
|
return new UnauthorizedResponse<>(null);
|
||||||
|
|
||||||
|
User toDelete = userService.getUserById(id);
|
||||||
|
|
||||||
|
if (toDelete == null)
|
||||||
|
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||||
|
|
||||||
|
userService.delete(toDelete);
|
||||||
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,7 +1,13 @@
|
|||||||
package ovh.herisson.Clyde.Repositories;
|
package ovh.herisson.Clyde.Repositories;
|
||||||
|
|
||||||
|
import org.springframework.data.jpa.repository.Query;
|
||||||
import org.springframework.data.repository.CrudRepository;
|
import org.springframework.data.repository.CrudRepository;
|
||||||
|
import ovh.herisson.Clyde.Tables.Curriculum;
|
||||||
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
import ovh.herisson.Clyde.Tables.UserCurriculum;
|
import ovh.herisson.Clyde.Tables.UserCurriculum;
|
||||||
|
|
||||||
public interface UserCurriculumRepository extends CrudRepository<UserCurriculum, Long> {
|
public interface UserCurriculumRepository extends CrudRepository<UserCurriculum, Long> {
|
||||||
|
|
||||||
|
@Query("select uc.curriculum from UserCurriculum uc where uc.user = ?1")
|
||||||
|
Curriculum findByUser(User student);
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ public class AuthenticatorService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public InscriptionRequest register(InscriptionRequest inscriptionRequest) {
|
public InscriptionRequest register(InscriptionRequest inscriptionRequest) {
|
||||||
|
inscriptionRequest.setState(RequestState.Pending);
|
||||||
return inscriptionService.save(inscriptionRequest);
|
return inscriptionService.save(inscriptionRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,4 +77,7 @@ public class CourseService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void delete(Course course) {
|
||||||
|
courseRepo.delete(course);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,4 +19,7 @@ public class CurriculumService {
|
|||||||
return curriculumRepo.findById(id);
|
return curriculumRepo.findById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void delete(Curriculum curriculum) {
|
||||||
|
curriculumRepo.delete(curriculum);
|
||||||
|
}
|
||||||
}
|
}
|
@ -87,4 +87,8 @@ public class InscriptionService {
|
|||||||
save(inscrRequest);
|
save(inscrRequest);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void delete(InscriptionRequest toDelete) {
|
||||||
|
inscriptionRepo.delete(toDelete);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package ovh.herisson.Clyde.Services;
|
package ovh.herisson.Clyde.Services;
|
||||||
|
|
||||||
import ovh.herisson.Clyde.Tables.Course;
|
import ovh.herisson.Clyde.Tables.Course;
|
||||||
|
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
||||||
import ovh.herisson.Clyde.Tables.User;
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class ProtectionService {
|
public class ProtectionService {
|
||||||
|
|
||||||
@ -13,6 +15,10 @@ public class ProtectionService {
|
|||||||
* @return all the user data without the password
|
* @return all the user data without the password
|
||||||
*/
|
*/
|
||||||
public static HashMap<String,Object> userWithoutPassword(User user){
|
public static HashMap<String,Object> userWithoutPassword(User user){
|
||||||
|
|
||||||
|
if (user ==null)
|
||||||
|
return null;
|
||||||
|
|
||||||
HashMap<String,Object> toReturn = new HashMap<>();
|
HashMap<String,Object> toReturn = new HashMap<>();
|
||||||
|
|
||||||
toReturn.put("regNo",user.getRegNo());
|
toReturn.put("regNo",user.getRegNo());
|
||||||
@ -40,6 +46,9 @@ public class ProtectionService {
|
|||||||
|
|
||||||
|
|
||||||
public static HashMap<String,Object> courseWithoutPassword(Course course){
|
public static HashMap<String,Object> courseWithoutPassword(Course course){
|
||||||
|
if (course == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
HashMap<String ,Object> toReturn = new HashMap<>();
|
HashMap<String ,Object> toReturn = new HashMap<>();
|
||||||
|
|
||||||
toReturn.put("courseId",course.getCourseID());
|
toReturn.put("courseId",course.getCourseID());
|
||||||
@ -61,5 +70,36 @@ public class ProtectionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static Map<String, Object> requestWithoutPassword(InscriptionRequest inscriptionRequest) {
|
||||||
|
|
||||||
|
if (inscriptionRequest == null)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
Map<String, Object> toReturn = new HashMap<>();
|
||||||
|
|
||||||
|
toReturn.put("id", inscriptionRequest.getId());
|
||||||
|
toReturn.put("lastName", inscriptionRequest.getLastName());
|
||||||
|
toReturn.put("firstName", inscriptionRequest.getFirstName());
|
||||||
|
toReturn.put("address", inscriptionRequest.getAddress());
|
||||||
|
toReturn.put("email",inscriptionRequest.getEmail());
|
||||||
|
toReturn.put("birthDate", inscriptionRequest.getBirthDate());
|
||||||
|
toReturn.put("country", inscriptionRequest.getCountry());
|
||||||
|
toReturn.put("curriculum", inscriptionRequest.getCurriculumId());
|
||||||
|
toReturn.put("state", inscriptionRequest.getState());
|
||||||
|
toReturn.put("profilePictureUrl", inscriptionRequest.getProfilePicture());
|
||||||
|
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Iterable<Map<String ,Object>> requestsWithoutPasswords(Iterable<InscriptionRequest> inscriptionRequests){
|
||||||
|
|
||||||
|
ArrayList<Map<String,Object>> toReturn = new ArrayList<>();
|
||||||
|
|
||||||
|
for (InscriptionRequest i:inscriptionRequests){
|
||||||
|
toReturn.add(requestWithoutPassword(i));
|
||||||
|
}
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,20 @@
|
|||||||
|
package ovh.herisson.Clyde.Services;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import ovh.herisson.Clyde.Repositories.UserCurriculumRepository;
|
||||||
|
import ovh.herisson.Clyde.Tables.Curriculum;
|
||||||
|
import ovh.herisson.Clyde.Tables.User;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class UserCurriculumService {
|
||||||
|
|
||||||
|
private final UserCurriculumRepository userCurriculumRepository;
|
||||||
|
|
||||||
|
public UserCurriculumService(UserCurriculumRepository userCurriculumRepository) {
|
||||||
|
this.userCurriculumRepository = userCurriculumRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Curriculum findByUser(User student){
|
||||||
|
return userCurriculumRepository.findByUser(student);
|
||||||
|
}
|
||||||
|
}
|
@ -122,4 +122,12 @@ public class UserService {
|
|||||||
public Iterable<User> getAllTeachers (){return userRepo.findAllTeachers();}
|
public Iterable<User> getAllTeachers (){return userRepo.findAllTeachers();}
|
||||||
|
|
||||||
public Iterable<User> getAllStudents(){return userRepo.findAllStudents();}
|
public Iterable<User> getAllStudents(){return userRepo.findAllStudents();}
|
||||||
|
|
||||||
|
public User getUserById(long id) {
|
||||||
|
return userRepo.findById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(User user) {
|
||||||
|
userRepo.delete(user);
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,6 +1,8 @@
|
|||||||
package ovh.herisson.Clyde.Tables;
|
package ovh.herisson.Clyde.Tables;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import org.hibernate.annotations.OnDelete;
|
||||||
|
import org.hibernate.annotations.OnDeleteAction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class Course {
|
public class Course {
|
||||||
@ -11,6 +13,7 @@ public class Course {
|
|||||||
private String title;
|
private String title;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
|
@OnDelete(action = OnDeleteAction.SET_NULL)
|
||||||
@JoinColumn(name = "Users")
|
@JoinColumn(name = "Users")
|
||||||
private User owner;
|
private User owner;
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package ovh.herisson.Clyde.Tables;
|
package ovh.herisson.Clyde.Tables;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import org.hibernate.annotations.OnDelete;
|
||||||
|
import org.hibernate.annotations.OnDeleteAction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class CurriculumCourse {
|
public class CurriculumCourse {
|
||||||
@ -10,9 +12,11 @@ public class CurriculumCourse {
|
|||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "Curriculum")
|
@JoinColumn(name = "Curriculum")
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
private Curriculum curriculum;
|
private Curriculum curriculum;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
@JoinColumn(name = "Course")
|
@JoinColumn(name = "Course")
|
||||||
private Course course;
|
private Course course;
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package ovh.herisson.Clyde.Tables;
|
package ovh.herisson.Clyde.Tables;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import org.hibernate.annotations.OnDelete;
|
||||||
|
import org.hibernate.annotations.OnDeleteAction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class ReInscriptionRequest {
|
public class ReInscriptionRequest {
|
||||||
@ -10,10 +12,12 @@ public class ReInscriptionRequest {
|
|||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "Users")
|
@JoinColumn(name = "Users")
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
private User user;
|
private User user;
|
||||||
|
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "Curriculum")
|
@JoinColumn(name = "Curriculum")
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
private Curriculum newCurriculum;
|
private Curriculum newCurriculum;
|
||||||
private RequestState state;
|
private RequestState state;
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package ovh.herisson.Clyde.Tables;
|
package ovh.herisson.Clyde.Tables;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import org.hibernate.annotations.OnDelete;
|
||||||
|
import org.hibernate.annotations.OnDeleteAction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class TeacherCourse {
|
public class TeacherCourse {
|
||||||
@ -9,11 +11,13 @@ public class TeacherCourse {
|
|||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
@JoinColumn(name = "Users")
|
@JoinColumn(name = "Users")
|
||||||
private User user;
|
private User user;
|
||||||
|
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
@JoinColumn(name = "Course")
|
@JoinColumn(name = "Course")
|
||||||
private Course course;
|
private Course course;
|
||||||
|
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package ovh.herisson.Clyde.Tables;
|
package ovh.herisson.Clyde.Tables;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import org.hibernate.annotations.OnDelete;
|
||||||
|
import org.hibernate.annotations.OnDeleteAction;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@ -11,6 +13,7 @@ public class Token {
|
|||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
@JoinColumn(name ="Users")
|
@JoinColumn(name ="Users")
|
||||||
private User user;
|
private User user;
|
||||||
private String token;
|
private String token;
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package ovh.herisson.Clyde.Tables;
|
package ovh.herisson.Clyde.Tables;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
import jakarta.persistence.*;
|
||||||
|
import org.hibernate.annotations.OnDelete;
|
||||||
|
import org.hibernate.annotations.OnDeleteAction;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
public class UserCurriculum {
|
public class UserCurriculum {
|
||||||
@ -10,11 +12,13 @@ public class UserCurriculum {
|
|||||||
|
|
||||||
//Un étudiant peut avoir plusieurs curriculums
|
//Un étudiant peut avoir plusieurs curriculums
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
@JoinColumn(name = "Users")
|
@JoinColumn(name = "Users")
|
||||||
private User user;
|
private User user;
|
||||||
|
|
||||||
@OneToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "Curriculum")
|
@JoinColumn(name = "Curriculum")
|
||||||
|
@OnDelete(action = OnDeleteAction.CASCADE)
|
||||||
private Curriculum curriculum;
|
private Curriculum curriculum;
|
||||||
|
|
||||||
public UserCurriculum(User user, Curriculum curriculum){
|
public UserCurriculum(User user, Curriculum curriculum){
|
||||||
|
Loading…
Reference in New Issue
Block a user