Compare commits
	
		
			3 Commits
		
	
	
		
			6116cbdaa4
			...
			3ea48c20aa
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 3ea48c20aa | |||
| 8c70108a1c | |||
| e303048f7e | 
@ -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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@ app.language=Language
 | 
			
		||||
app.manage.profile=Manage profile
 | 
			
		||||
app.studentList=Students List
 | 
			
		||||
app.users=Users
 | 
			
		||||
app.manage.researcherProfile=Manage researcher profile
 | 
			
		||||
request.moreInfos=More Infos
 | 
			
		||||
request.accept=Accept
 | 
			
		||||
request.refuse=Refuse
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,7 @@ app.language=Langue
 | 
			
		||||
app.manage.profile=Gérer le profil
 | 
			
		||||
app.studentList=Liste des étudiants
 | 
			
		||||
app.users=Utilisateurs
 | 
			
		||||
app.manage.researcherProfile= gérer son profil de chercheur
 | 
			
		||||
request.moreInfos=Plus d'Infos
 | 
			
		||||
request.accept=Accepter
 | 
			
		||||
request.refuse=Refuser
 | 
			
		||||
 | 
			
		||||
@ -19,3 +19,7 @@ export async function getFile(url){
 | 
			
		||||
    const restURL = import.meta.env.VITE_CLYDE_MODE === 'container' ? "http://localhost:8000": import.meta.env.DEV ? "http://localhost:5173" : "https://clyde.herisson.ovh/api"
 | 
			
		||||
    await fetch(restURL + "/"+url, {method: "GET"})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export async function getSelf(){
 | 
			
		||||
    return restGet("/researcher")
 | 
			
		||||
}
 | 
			
		||||
@ -13,6 +13,7 @@ import ResearcherProfile from "@/Apps/ScientificPublications/ResearcherProfile.v
 | 
			
		||||
import AboutStudent from "@/Apps/Inscription/AboutStudent.vue";
 | 
			
		||||
import Msg from "@/Apps/Msg.vue"
 | 
			
		||||
import ManageRequests from "@/Apps/Inscription/ManageRequests.vue";
 | 
			
		||||
import ManageResearcherProfile from "@/Apps/ScientificPublications/ManageResearcherProfile.vue";
 | 
			
		||||
 | 
			
		||||
const apps = {
 | 
			
		||||
		'/login': LoginPage,
 | 
			
		||||
@ -21,7 +22,7 @@ const apps = {
 | 
			
		||||
		'/manage-courses' : Courses,
 | 
			
		||||
		'/users-list' : Users,
 | 
			
		||||
		'/students-list' : Students,
 | 
			
		||||
		'/researcher-profile' : ResearcherProfile,
 | 
			
		||||
		'/manage-researcher-profile' : ManageResearcherProfile,
 | 
			
		||||
		'/msg' : Msg,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -34,7 +35,7 @@ const appsList = {
 | 
			
		||||
		'ManageCourses': { path: '#/manage-courses', icon: 'fa-book', text: i18n("app.manage.courses") },
 | 
			
		||||
		'StudentsList':{ path: '#/students-list',icon: 'fa-users',text: i18n("app.studentList")},
 | 
			
		||||
		'UsersList':{ path: '#/users-list',icon: 'fa-users',text: i18n("app.users")},
 | 
			
		||||
		'ResearcherProfile':{path:'#/researcher-profile',icon:'fa-book-bookmark',text:"hihi"},
 | 
			
		||||
		'ManageResearcherProfile':{path:'#/researcher-profile',icon:'fa-book-bookmark',text:i18n("app.manage.researcherProfile")},
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const currentPath = ref(window.location.hash)
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user