Fix the implementation of externalCurriculum upload
This commit is contained in:
@ -4,11 +4,11 @@ package ovh.herisson.Clyde.EndPoints;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import ovh.herisson.Clyde.Repositories.ExternalCurriculumRepository;
|
||||
import ovh.herisson.Clyde.Repositories.InscriptionRepository;
|
||||
import ovh.herisson.Clyde.Responses.UnauthorizedResponse;
|
||||
import ovh.herisson.Clyde.Services.*;
|
||||
import ovh.herisson.Clyde.Tables.Curriculum;
|
||||
import ovh.herisson.Clyde.Tables.Role;
|
||||
import ovh.herisson.Clyde.Tables.User;
|
||||
import ovh.herisson.Clyde.Tables.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
@ -23,15 +23,18 @@ public class CurriculumController {
|
||||
|
||||
private final UserCurriculumService userCurriculumServ;
|
||||
private final CurriculumCourseService curriculumCourseServ;
|
||||
|
||||
private final InscriptionRepository ir;
|
||||
private final UserService userServ;
|
||||
|
||||
public CurriculumController(CurriculumService curriculumServ, AuthenticatorService authServ, UserCurriculumService userCurriculumServ, CurriculumCourseService curriculumCourseServ, UserService userServ){
|
||||
private final ExternalCurriculumRepository ecr;
|
||||
public CurriculumController(CurriculumService curriculumServ, AuthenticatorService authServ, UserCurriculumService userCurriculumServ, CurriculumCourseService curriculumCourseServ, InscriptionRepository ir, UserService userServ, ExternalCurriculumRepository ecr){
|
||||
this.curriculumServ = curriculumServ;
|
||||
this.authServ = authServ;
|
||||
this.userCurriculumServ = userCurriculumServ;
|
||||
this.curriculumCourseServ = curriculumCourseServ;
|
||||
this.ir = ir;
|
||||
this.userServ = userServ;
|
||||
this.ecr = ecr;
|
||||
}
|
||||
|
||||
@GetMapping("/curriculum/{id}")
|
||||
@ -116,13 +119,12 @@ public class CurriculumController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@GetMapping("/externalcurriculum/{userId}")
|
||||
public ResponseEntity<Map<String,Object>> getStudentsExternalCurriculum(@RequestHeader("Authorization") String token, @PathVariable String userId){
|
||||
@GetMapping("/externalcurriculum/{inscriptionRequestId}")
|
||||
public ResponseEntity<Map<String,Object>> getInscriptionRequestExternalCurriculum(@RequestHeader("Authorization") String token, @PathVariable String inscriptionRequestId){
|
||||
if (authServ.isNotIn(new Role[]{Role.Secretary,Role.Admin, Role.Teacher},token))
|
||||
return new UnauthorizedResponse<>(null);
|
||||
|
||||
User u = userServ.getUserById(Long.parseLong(userId));
|
||||
HashMap<String,Object> toReturn = userCurriculumServ.findAllExternalCurriculumByStudent(u);
|
||||
HashMap<String,Object> toReturn = userCurriculumServ.findAllExternalCurriculumByInscriptionRequestId(Long.parseLong(inscriptionRequestId));
|
||||
|
||||
if (toReturn == null)
|
||||
return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
|
||||
@ -131,4 +133,11 @@ public class CurriculumController {
|
||||
}
|
||||
|
||||
|
||||
//Note : everyone can post some externalcurriculums (the validity of the elements is assured by the inscription service)
|
||||
@PostMapping("/externalcurriculum")
|
||||
public ResponseEntity<ExternalCurriculum> postExternalCurriculum(@RequestBody ExternalCurriculum ec){
|
||||
ec.setState(RequestState.Pending);
|
||||
return new ResponseEntity<>(ecr.save(ec), HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,10 +2,11 @@ package ovh.herisson.Clyde.Repositories;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
import ovh.herisson.Clyde.Tables.ExternalCurriculum;
|
||||
import ovh.herisson.Clyde.Tables.InscriptionRequest;
|
||||
import ovh.herisson.Clyde.Tables.User;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public interface ExternalCurriculumRepository extends CrudRepository<ExternalCurriculum, Long> {
|
||||
ArrayList<ExternalCurriculum> getExternalCurriculumByUser(User user);
|
||||
ArrayList<ExternalCurriculum> getExternalCurriculumByInscriptionRequestId(Long id);
|
||||
}
|
||||
|
@ -4,10 +4,7 @@ import org.springframework.stereotype.Service;
|
||||
import ovh.herisson.Clyde.Repositories.CurriculumRepository;
|
||||
import ovh.herisson.Clyde.Repositories.ExternalCurriculumRepository;
|
||||
import ovh.herisson.Clyde.Repositories.UserCurriculumRepository;
|
||||
import ovh.herisson.Clyde.Tables.Curriculum;
|
||||
import ovh.herisson.Clyde.Tables.ExternalCurriculum;
|
||||
import ovh.herisson.Clyde.Tables.User;
|
||||
import ovh.herisson.Clyde.Tables.UserCurriculum;
|
||||
import ovh.herisson.Clyde.Tables.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@ -52,16 +49,16 @@ public class UserCurriculumService {
|
||||
}
|
||||
|
||||
|
||||
public HashMap<String,Object> findAllExternalCurriculumByStudent(User student) {
|
||||
ArrayList<ExternalCurriculum> list = externalCurriculumRepo.getExternalCurriculumByUser(student);
|
||||
public HashMap<String,Object> findAllExternalCurriculumByInscriptionRequestId(Long id) {
|
||||
ArrayList<ExternalCurriculum> list = externalCurriculumRepo.getExternalCurriculumByInscriptionRequestId(id);
|
||||
|
||||
ArrayList<HashMap<String, Object>> externalCurriculumList = new ArrayList<HashMap<String, Object>>();
|
||||
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
HashMap<String, Object> element = new HashMap<>();
|
||||
element.put("id", list.get(0).getId());
|
||||
element.put("user", list.get(0).getUser());
|
||||
element.put("university", list.get(0).getUniversity());
|
||||
element.put("inscriptionRequestId", list.get(0).getInscriptionRequestId());
|
||||
element.put("school", list.get(0).getSchool());
|
||||
element.put("formation", list.get(0).getFormation());
|
||||
element.put("completion", list.get(0).getCompletion());
|
||||
element.put("startYear", list.get(0).getStartYear());
|
||||
|
@ -10,13 +10,9 @@ public class ExternalCurriculum {
|
||||
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||
private int id;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name="Users")
|
||||
private User user;
|
||||
private Long inscriptionRequestId;
|
||||
|
||||
@ManyToOne
|
||||
@JoinColumn(name="University")
|
||||
private University university;
|
||||
private String school;
|
||||
|
||||
private String formation;
|
||||
|
||||
@ -32,9 +28,9 @@ public class ExternalCurriculum {
|
||||
|
||||
public ExternalCurriculum(){}
|
||||
|
||||
public ExternalCurriculum(User user, University university, String formation, String completion, int startYear, int endYear, String justifdocUrl, RequestState state){
|
||||
this.user = user;
|
||||
this.university = university;
|
||||
public ExternalCurriculum(Long ir, String school, String formation, String completion, int startYear, int endYear, String justifdocUrl, RequestState state){
|
||||
this.inscriptionRequestId = ir;
|
||||
this.school = school;
|
||||
this.formation = formation;
|
||||
this.completion = completion;
|
||||
this.startYear = startYear;
|
||||
@ -47,20 +43,20 @@ public class ExternalCurriculum {
|
||||
return id;
|
||||
}
|
||||
|
||||
public User getUser() {
|
||||
return user;
|
||||
public Long getInscriptionRequestId() {
|
||||
return inscriptionRequestId;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
public void setInscriptionRequest(Long inscriptionRequestId) {
|
||||
this.inscriptionRequestId = inscriptionRequestId;
|
||||
}
|
||||
|
||||
public University getUniversity() {
|
||||
return university;
|
||||
public String getSchool() {
|
||||
return school;
|
||||
}
|
||||
|
||||
public void setUniversity(University university) {
|
||||
this.university = university;
|
||||
public void setSchool(String school) {
|
||||
this.school = school;
|
||||
}
|
||||
|
||||
public String getFormation() {
|
||||
|
@ -15,7 +15,6 @@ public class InscriptionRequest {
|
||||
private String email;
|
||||
private String country;
|
||||
private Date birthDate;
|
||||
|
||||
private Long curriculumId;
|
||||
private RequestState state;
|
||||
private String profilePicture;
|
||||
|
Reference in New Issue
Block a user