63 lines
3.1 KiB
Java
63 lines
3.1 KiB
Java
package ovh.herisson.Clyde.EndPoints.Inscription;
|
|
|
|
import org.springframework.http.HttpStatus;
|
|
import org.springframework.http.ResponseEntity;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import ovh.herisson.Clyde.Repositories.Inscription.ExternalCurriculumRepository;
|
|
import ovh.herisson.Clyde.Repositories.Inscription.InscriptionRepository;
|
|
import ovh.herisson.Clyde.Repositories.UserRepository;
|
|
import ovh.herisson.Clyde.Tables.Inscription.ExternalCurriculum;
|
|
import ovh.herisson.Clyde.Tables.Inscription.InscriptionRequest;
|
|
import ovh.herisson.Clyde.Tables.User;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Map;
|
|
|
|
@RestController
|
|
@CrossOrigin(originPatterns = "*", allowCredentials = "true")
|
|
public class ExternalCurriculumController {
|
|
|
|
public final ExternalCurriculumRepository ecr;
|
|
public final InscriptionRepository inscriptionRepository;
|
|
public final UserRepository userRepository;
|
|
|
|
public ExternalCurriculumController(ExternalCurriculumRepository ecr, InscriptionRepository inscriptionRepository, UserRepository userRepository) {
|
|
this.ecr = ecr;
|
|
this.inscriptionRepository = inscriptionRepository;
|
|
this.userRepository = userRepository;
|
|
}
|
|
|
|
//everyone can post some externalcurriculums (the validity of the elements is assured by the inscription service)
|
|
@PostMapping("/externalcurriculum")
|
|
public ResponseEntity<ExternalCurriculum> postExternalCurriculum(@RequestBody Map<String, Object> externalCurrInfos){
|
|
//An external curriculum can either be linked to an User or to an InscriptionRequest
|
|
InscriptionRequest ir = null;
|
|
User user = null;
|
|
if (externalCurrInfos.get("inscriptionRequestId") != null){
|
|
ir = inscriptionRepository.findById((Integer) externalCurrInfos.get("inscriptionRequestId"));
|
|
}else{
|
|
user = userRepository.findById((Integer) externalCurrInfos.get("userRegNo"));
|
|
}
|
|
|
|
ExternalCurriculum toSave = new ExternalCurriculum(ir, (String) externalCurrInfos.get("school"),(String) externalCurrInfos.get("formation"),(String) externalCurrInfos.get("completion"), (Integer)externalCurrInfos.get("startYear"), (Integer)externalCurrInfos.get("endYear"), (String)externalCurrInfos.get("justifdocUrl"), user);
|
|
|
|
return new ResponseEntity<>(ecr.save(toSave), HttpStatus.OK);
|
|
}
|
|
|
|
@GetMapping("/externalcurriculum/{inscReqId}")
|
|
public ResponseEntity<ArrayList<ExternalCurriculum>> getExternalCurrListByInscrReq(@PathVariable long inscReqId){
|
|
InscriptionRequest ir = inscriptionRepository.findById(inscReqId);
|
|
|
|
ArrayList<ExternalCurriculum> toReturn = ecr.getExternalCurriculumByInscriptionRequest(ir);
|
|
return new ResponseEntity<>(toReturn, HttpStatus.OK);
|
|
}
|
|
|
|
@GetMapping("/externalcurriculumbyuser/{userId}")
|
|
public ResponseEntity<ArrayList<ExternalCurriculum>> getExternalCurrByUser(@PathVariable long userId){
|
|
User user = userRepository.findById(userId);
|
|
|
|
ArrayList<ExternalCurriculum> toReturn = ecr.getExternalCurriculumByUser(user);
|
|
return new ResponseEntity<>(toReturn, HttpStatus.OK);
|
|
}
|
|
}
|