backend add ManageResearcherProfile
This commit is contained in:
		@ -1,5 +1,6 @@
 | 
			
		||||
package ovh.herisson.Clyde.EndPoints;
 | 
			
		||||
 | 
			
		||||
import lombok.AllArgsConstructor;
 | 
			
		||||
import org.springframework.http.HttpStatus;
 | 
			
		||||
import org.springframework.http.ResponseEntity;
 | 
			
		||||
import org.springframework.web.bind.annotation.CrossOrigin;
 | 
			
		||||
@ -8,6 +9,7 @@ import org.springframework.web.bind.annotation.PathVariable;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestHeader;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
import ovh.herisson.Clyde.Services.AuthenticatorService;
 | 
			
		||||
import ovh.herisson.Clyde.Services.ScientificPublications.ResearchesService;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Applications;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.Role;
 | 
			
		||||
import ovh.herisson.Clyde.Tables.User;
 | 
			
		||||
@ -20,7 +22,10 @@ public class ApplicationsController {
 | 
			
		||||
 | 
			
		||||
    AuthenticatorService authServ;
 | 
			
		||||
 | 
			
		||||
    public ApplicationsController(AuthenticatorService authServ){
 | 
			
		||||
    ResearchesService researchesServ;
 | 
			
		||||
 | 
			
		||||
    public ApplicationsController(AuthenticatorService authServ, ResearchesService researchesServ){
 | 
			
		||||
        this.researchesServ = researchesServ;
 | 
			
		||||
    this.authServ = authServ;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -47,7 +52,6 @@ public class ApplicationsController {
 | 
			
		||||
 | 
			
		||||
        //if unAuthed
 | 
			
		||||
        authorizedApps.add(Applications.Login);
 | 
			
		||||
        authorizedApps.add(Applications.ResearcherProfile);
 | 
			
		||||
 | 
			
		||||
		User user = authServ.getUserFromToken(token);
 | 
			
		||||
		if(user == null)
 | 
			
		||||
@ -71,6 +75,9 @@ public class ApplicationsController {
 | 
			
		||||
 | 
			
		||||
        if (!authServ.isNotIn(new Role[]{Role.Secretary,Role.Admin},token)){ 
 | 
			
		||||
          authorizedApps.add(Applications.UsersList);}
 | 
			
		||||
 | 
			
		||||
        if (researchesServ.getResearcherByUser(user) != null)
 | 
			
		||||
            authorizedApps.add(Applications.ManageResearcherProfile);
 | 
			
		||||
        return authorizedApps;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -50,6 +50,16 @@ public class ResearcherController {
 | 
			
		||||
        return new ResponseEntity<>(toReturnResearchersDTO, HttpStatus.OK);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @GetMapping("/researcher")
 | 
			
		||||
    public ResponseEntity<ResearcherDTO> getSelf(@RequestHeader("Authorization") String token){
 | 
			
		||||
 | 
			
		||||
        Researcher self = researchesServ.getResearcherByUser(authServ.getUserFromToken(token));
 | 
			
		||||
 | 
			
		||||
        if (self ==null) return new UnauthorizedResponse<>(null);
 | 
			
		||||
 | 
			
		||||
        return new ResponseEntity<>(ResearcherDTO.construct(self), HttpStatus.OK);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @PostMapping("/researcher")
 | 
			
		||||
    public ResponseEntity<ResearcherDTO> postResearcher(@RequestHeader("Authorization") String token, @RequestBody Researcher researcher){
 | 
			
		||||
        if (authServ.isNotIn(new Role[]{Role.Admin,Role.Secretary}, token)){
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,6 @@ public enum Applications {
 | 
			
		||||
    // with any token
 | 
			
		||||
    Profile,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    // Students and higher authorization
 | 
			
		||||
    Msg,
 | 
			
		||||
    Forum,
 | 
			
		||||
@ -21,5 +20,6 @@ public enum Applications {
 | 
			
		||||
    Requests,
 | 
			
		||||
    // profile of a researcher
 | 
			
		||||
    ResearcherProfile,
 | 
			
		||||
    ManageResearcherProfile,
 | 
			
		||||
    StudentsList
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user