Compare commits
	
		
			5 Commits
		
	
	
		
			f269e24bb4
			...
			6116cbdaa4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6116cbdaa4 | |||
| bdfa2e6389 | |||
| d4c442c64a | |||
| 5c0dfa3596 | |||
| 24f82812f4 | 
@ -28,8 +28,9 @@ public class ResearchDTO {
 | 
				
			|||||||
    private Access access;
 | 
					    private Access access;
 | 
				
			||||||
    private String domain;
 | 
					    private String domain;
 | 
				
			||||||
    private String summary;
 | 
					    private String summary;
 | 
				
			||||||
 | 
					    private long views;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private ResearchDTO(String title, ResearcherDTO researcherDTO, Date releaseDate, PaperType paperType, String pdfLocation, String language, Access access, String domain, String summary, long id) {
 | 
					    private ResearchDTO(String title, ResearcherDTO researcherDTO, Date releaseDate, PaperType paperType, String pdfLocation, String language, Access access, String domain, String summary, long id,long views) {
 | 
				
			||||||
        this.title = title;
 | 
					        this.title = title;
 | 
				
			||||||
        this.researcher = researcherDTO;
 | 
					        this.researcher = researcherDTO;
 | 
				
			||||||
        this.releaseDate = releaseDate;
 | 
					        this.releaseDate = releaseDate;
 | 
				
			||||||
@ -40,12 +41,13 @@ public class ResearchDTO {
 | 
				
			|||||||
        this.domain = domain;
 | 
					        this.domain = domain;
 | 
				
			||||||
        this.summary = summary;
 | 
					        this.summary = summary;
 | 
				
			||||||
        this.id = id;
 | 
					        this.id = id;
 | 
				
			||||||
 | 
					        this.views = views;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public static ResearchDTO construct(Research research){
 | 
					    public static ResearchDTO construct(Research research){
 | 
				
			||||||
        return new ResearchDTO(research.getTitle(), ResearcherDTO.construct(research.getAuthor()), research.getReleaseDate(),
 | 
					        return new ResearchDTO(research.getTitle(), ResearcherDTO.construct(research.getAuthor()), research.getReleaseDate(),
 | 
				
			||||||
                research.getPaperType(),research.getPdfLocation(),research.getLanguage(),research.getAccess(),
 | 
					                research.getPaperType(),research.getPdfLocation(),research.getLanguage(),research.getAccess(),
 | 
				
			||||||
                research.getDomain(), research.getSummary(), research.getId());
 | 
					                research.getDomain(), research.getSummary(), research.getId(), research.getViews());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -47,6 +47,7 @@ public class ApplicationsController {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //if unAuthed
 | 
					        //if unAuthed
 | 
				
			||||||
        authorizedApps.add(Applications.Login);
 | 
					        authorizedApps.add(Applications.Login);
 | 
				
			||||||
 | 
					        authorizedApps.add(Applications.ResearcherProfile);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		User user = authServ.getUserFromToken(token);
 | 
							User user = authServ.getUserFromToken(token);
 | 
				
			||||||
		if(user == null)
 | 
							if(user == null)
 | 
				
			||||||
 | 
				
			|||||||
@ -141,7 +141,7 @@ public class MockController {
 | 
				
			|||||||
            Researcher output = researchesService.saveResearcher(jojoResearcherAccount);
 | 
					            Researcher output = researchesService.saveResearcher(jojoResearcherAccount);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Research jojoResearch = new Research("Graphs : Advanced Search Algorithms", output, new Date(0),
 | 
					            Research jojoResearch = new Research("Graphs : Advanced Search Algorithms", output, new Date(0),
 | 
				
			||||||
                    PaperType.Article, "here.pdf", null, "english",
 | 
					                    PaperType.Article, "test.pdf", null, "english",
 | 
				
			||||||
                    Access.OpenSource, "IT", "This Article's title speaks for itself \n We'll discuss about advanced Graph search Algorithms");
 | 
					                    Access.OpenSource, "IT", "This Article's title speaks for itself \n We'll discuss about advanced Graph search Algorithms");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Research restrictedResearch = new Research("just another Name", output, new Date(1111111111),
 | 
					            Research restrictedResearch = new Research("just another Name", output, new Date(1111111111),
 | 
				
			||||||
 | 
				
			|||||||
@ -229,7 +229,7 @@ public class ResearchController {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    ///////
 | 
					    ///////
 | 
				
			||||||
    //views part
 | 
					    //views part
 | 
				
			||||||
    @PostMapping("/addView/{url}")
 | 
					    @PostMapping("/addview/{url}")
 | 
				
			||||||
    public ResponseEntity<ResearchDTO> addView(@PathVariable String url){
 | 
					    public ResponseEntity<ResearchDTO> addView(@PathVariable String url){
 | 
				
			||||||
        Research research = researchesServ.getResearchByUrl(url);
 | 
					        Research research = researchesServ.getResearchByUrl(url);
 | 
				
			||||||
        if (research ==null) return new ResponseEntity<>(HttpStatus.NOT_FOUND);
 | 
					        if (research ==null) return new ResponseEntity<>(HttpStatus.NOT_FOUND);
 | 
				
			||||||
 | 
				
			|||||||
@ -19,22 +19,22 @@ public interface StatsRepository extends CrudRepository<Research,Long> {
 | 
				
			|||||||
    Iterable<Map<String ,Integer>> viewsByTopics();
 | 
					    Iterable<Map<String ,Integer>> viewsByTopics();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select new map(r.domain as label, count(r.language) as y) from Research r group by r.domain")
 | 
					    @Query("select new map(r.domain as label, count(distinct r.language) as y) from Research r group by r.domain")
 | 
				
			||||||
    Iterable<Map<String ,Integer>> languageByTopics();
 | 
					    Iterable<Map<String ,Integer>> languageByTopics();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select new map(to_char(r.releaseDate,'YYYY') as label,  count(r.language) as y) from Research r group by to_char(r.releaseDate,'YYYY')")
 | 
					    @Query("select new map(to_char(r.releaseDate,'YYYY') as label,  count(distinct r.language) as y) from Research r group by to_char(r.releaseDate,'YYYY')")
 | 
				
			||||||
    Iterable<Map<String ,Integer>> languageByYears();
 | 
					    Iterable<Map<String ,Integer>> languageByYears();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select new map(to_char(r.releaseDate, 'month') as label, count(r.language) as y) from Research r group by to_char(r.releaseDate, 'month')")
 | 
					    @Query("select new map(to_char(r.releaseDate, 'month') as label, count(distinct r.language) as y) from Research r group by to_char(r.releaseDate, 'month')")
 | 
				
			||||||
    Iterable<Map<String ,Integer>> languageByMonths();
 | 
					    Iterable<Map<String ,Integer>> languageByMonths();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select new map(to_char(r.releaseDate,'YYYY') as label, count(r) as y) from Research r group by to_char(r.releaseDate,'YYYY')")
 | 
					    @Query("select new map(to_char(r.releaseDate,'YYYY') as label, count(distinct r) as y) from Research r group by to_char(r.releaseDate,'YYYY')")
 | 
				
			||||||
    Iterable<Map<String ,Integer>> researchesByYears();
 | 
					    Iterable<Map<String ,Integer>> researchesByYears();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select new map(r.domain as label, count(r) as y) from Research r group by r.domain")
 | 
					    @Query("select new map(r.domain as label, count(distinct r) as y) from Research r group by r.domain")
 | 
				
			||||||
    Iterable<Map<String ,Integer>> researchesByTopics();
 | 
					    Iterable<Map<String ,Integer>> researchesByTopics();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Query("select new map(to_char(r.releaseDate, 'month') as label, count(r) as y) from Research r group by to_char(r.releaseDate, 'month')")
 | 
					    @Query("select new map(to_char(r.releaseDate, 'month') as label, count(distinct r) as y) from Research r group by to_char(r.releaseDate, 'month')")
 | 
				
			||||||
    Iterable<Map<String ,Integer>> researchesByMonth();
 | 
					    Iterable<Map<String ,Integer>> researchesByMonth();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -19,5 +19,7 @@ public enum Applications {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    // InscriptionService authorization
 | 
					    // InscriptionService authorization
 | 
				
			||||||
    Requests,
 | 
					    Requests,
 | 
				
			||||||
 | 
					    // profile of a researcher
 | 
				
			||||||
 | 
					    ResearcherProfile,
 | 
				
			||||||
    StudentsList
 | 
					    StudentsList
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -22,7 +22,7 @@ function format(date){
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const emit = defineEmits(["downloadPdf","downloadBibTex"]);
 | 
					const emit = defineEmits(["modal-close","downloadPdf","downloadBibTex"]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const target = ref(null)
 | 
					const target = ref(null)
 | 
				
			||||||
onClickOutside(target, ()=>emit('modal-close'))
 | 
					onClickOutside(target, ()=>emit('modal-close'))
 | 
				
			||||||
@ -42,6 +42,7 @@ onClickOutside(target, ()=>emit('modal-close'))
 | 
				
			|||||||
         <li>Language : {{article.language}}</li>
 | 
					         <li>Language : {{article.language}}</li>
 | 
				
			||||||
         <li>PaperType : {{article.paperType}}</li>
 | 
					         <li>PaperType : {{article.paperType}}</li>
 | 
				
			||||||
         <li>Domain : {{article.domain}}</li>
 | 
					         <li>Domain : {{article.domain}}</li>
 | 
				
			||||||
 | 
					         <li>Views : {{article.views}}</li>
 | 
				
			||||||
         <li>Access : {{article.access}}</li>
 | 
					         <li>Access : {{article.access}}</li>
 | 
				
			||||||
       </ul>
 | 
					       </ul>
 | 
				
			||||||
        <div id="downloads" v-if="article.pdfLocation !== null">
 | 
					        <div id="downloads" v-if="article.pdfLocation !== null">
 | 
				
			||||||
 | 
				
			|||||||
@ -117,9 +117,9 @@ function update(){
 | 
				
			|||||||
    fontColor: "white",
 | 
					    fontColor: "white",
 | 
				
			||||||
    text: statsOf.value + " By "+ statsBy.value,
 | 
					    text: statsOf.value + " By "+ statsBy.value,
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 const index = (0 ?statsOf.value === "views": 3 ? statsOf.value === "researches":6) + (0?statsBy.value ==="years":1?statsBy.value==="months":2)
 | 
					 let index = (statsOf.value === "views"?0:(statsOf.value === "researches"?3:6)) + (statsBy.value ==="years"?0:(statsBy.value==="months"?1:2))
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (statsOf.value !== "" && statsBy.value !== "")
 | 
				
			||||||
    options.data[0].dataPoints = stats.value[index]
 | 
					    options.data[0].dataPoints = stats.value[index]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,9 +12,10 @@ export async function fetchStats(id){
 | 
				
			|||||||
    return restGet("/stats/" +id)
 | 
					    return restGet("/stats/" +id)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
export async function addView(url){
 | 
					export async function addView(url){
 | 
				
			||||||
    return restPost("/addView/" +url)
 | 
					    return restPost("/addview/" +url)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export async function getFile(url){
 | 
					export async function getFile(url){
 | 
				
			||||||
    return restGet("/" + 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"})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -34,6 +34,7 @@ const appsList = {
 | 
				
			|||||||
		'ManageCourses': { path: '#/manage-courses', icon: 'fa-book', text: i18n("app.manage.courses") },
 | 
							'ManageCourses': { path: '#/manage-courses', icon: 'fa-book', text: i18n("app.manage.courses") },
 | 
				
			||||||
		'StudentsList':{ path: '#/students-list',icon: 'fa-users',text: i18n("app.studentList")},
 | 
							'StudentsList':{ path: '#/students-list',icon: 'fa-users',text: i18n("app.studentList")},
 | 
				
			||||||
		'UsersList':{ path: '#/users-list',icon: 'fa-users',text: i18n("app.users")},
 | 
							'UsersList':{ path: '#/users-list',icon: 'fa-users',text: i18n("app.users")},
 | 
				
			||||||
 | 
							'ResearcherProfile':{path:'#/researcher-profile',icon:'fa-book-bookmark',text:"hihi"},
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const currentPath = ref(window.location.hash)
 | 
					const currentPath = ref(window.location.hash)
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user