From da3582efd969446a5782cf76beabb23df6db2216 Mon Sep 17 00:00:00 2001 From: "argiro.kokogiannaki" Date: Wed, 21 Nov 2018 09:34:39 +0000 Subject: [PATCH] Zenodo communities : move or add to library common services and classes for zenodo communities git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@53903 d315682c-612b-4755-9ff5-7f18f6832af3 --- connect/community/community.service.ts | 2 + connect/community/communityInfo.ts | 1 + .../searchZenodoCommunities.service.ts | 15 +++++ .../searchZenodoCommunitiesService.module.ts | 21 +++++++ .../zenodo-communities.service.ts | 58 +++++++++++++++++++ .../zenodo-communitiesService.module.ts | 21 +++++++ .../zenodoCommunities/zenodoCommunityInfo.ts | 10 ++++ 7 files changed, 128 insertions(+) create mode 100644 connect/zenodoCommunities/searchZenodoCommunities.service.ts create mode 100644 connect/zenodoCommunities/searchZenodoCommunitiesService.module.ts create mode 100644 connect/zenodoCommunities/zenodo-communities.service.ts create mode 100644 connect/zenodoCommunities/zenodo-communitiesService.module.ts create mode 100644 connect/zenodoCommunities/zenodoCommunityInfo.ts diff --git a/connect/community/community.service.ts b/connect/community/community.service.ts index a5a56204..8920dfa5 100644 --- a/connect/community/community.service.ts +++ b/connect/community/community.service.ts @@ -74,6 +74,7 @@ export class CommunityService { community['logoUrl'] = resData[0].logoUrl; community['description'] = resData[0].description; community['date'] = resData[0].creationDate; + community['zenodoCommunity'] = resData[0].zenodoCommunity; community['status'] = "all"; if(resData[0].hasOwnProperty('status')){ community['status'] = resData[0].status; @@ -123,6 +124,7 @@ export class CommunityService { community['logoUrl'] = resData.logoUrl; community['description'] = resData.description; community['date'] = resData.creationDate; + community['zenodoCommunity'] = resData.zenodoCommunity; community['status'] = "all"; if(resData.hasOwnProperty('status')){ community['status'] = resData.status; diff --git a/connect/community/communityInfo.ts b/connect/community/communityInfo.ts index a9193adf..b7685e40 100644 --- a/connect/community/communityInfo.ts +++ b/connect/community/communityInfo.ts @@ -10,4 +10,5 @@ export class CommunityInfo { date:Date; subjects: string[]; status:string; + zenodoCommunity:string; } diff --git a/connect/zenodoCommunities/searchZenodoCommunities.service.ts b/connect/zenodoCommunities/searchZenodoCommunities.service.ts new file mode 100644 index 00000000..099522c5 --- /dev/null +++ b/connect/zenodoCommunities/searchZenodoCommunities.service.ts @@ -0,0 +1,15 @@ +import {Injectable} from '@angular/core'; +import {Http} from '@angular/http'; +import{EnvProperties} from '../../utils/properties/env-properties'; + +@Injectable() +export class SearchZenodoCommunitiesService { + constructor(private http: Http ) {} + + searchZCommunities (properties:EnvProperties, communityId: string):any { + let url = properties.communityAPI+communityId+"/zenodocommunities"; + + return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)): url) + .map(res => res.json()) + } +} diff --git a/connect/zenodoCommunities/searchZenodoCommunitiesService.module.ts b/connect/zenodoCommunities/searchZenodoCommunitiesService.module.ts new file mode 100644 index 00000000..704bfe82 --- /dev/null +++ b/connect/zenodoCommunities/searchZenodoCommunitiesService.module.ts @@ -0,0 +1,21 @@ +import { NgModule} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import {SearchZenodoCommunitiesService} from './searchZenodoCommunities.service'; + + + +@NgModule({ + imports: [ + CommonModule, FormsModule + ], + declarations: [ + ], + providers:[ + SearchZenodoCommunitiesService +], + exports: [ + ] +}) +export class SearchZenodoCommunitiesServiceModule { } diff --git a/connect/zenodoCommunities/zenodo-communities.service.ts b/connect/zenodoCommunities/zenodo-communities.service.ts new file mode 100644 index 00000000..2388730f --- /dev/null +++ b/connect/zenodoCommunities/zenodo-communities.service.ts @@ -0,0 +1,58 @@ +import {Injectable} from '@angular/core'; +import {Http, Response} from '@angular/http'; +import {Headers, RequestOptions} from '@angular/http'; +import {Observable} from 'rxjs/Rx'; + +import {ZenodoCommunityInfo} from './zenodoCommunityInfo'; +import {EnvProperties} from '../../utils/properties/env-properties'; + +@Injectable() +export class ZenodoCommunitiesService { + + constructor(private http:Http) { + } + + getZenodoCommunities(properties:EnvProperties, url: string) { + return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)) : url) + .map(res => res.json()).map(res => [this.parseZenodoCommunities(res.hits.hits),res.hits.total]); + } + getZenodoCommunityById(properties:EnvProperties, url: string, openaireId:string) { + return this.http.get((properties.useCache)? (properties.cacheUrl+encodeURIComponent(url)) : url) + .map(res => res.json()).map(res => { + var community = this.parseZenodoCommunity(res); + community["openaireId"]=openaireId; + return community; + }); + } + + parseZenodoCommunities(data: any): ZenodoCommunityInfo[] { + let zenodoCommunities: ZenodoCommunityInfo[] = []; + + for (let i=0; i res.json()).map(res => res.hits.total); + } +} diff --git a/connect/zenodoCommunities/zenodo-communitiesService.module.ts b/connect/zenodoCommunities/zenodo-communitiesService.module.ts new file mode 100644 index 00000000..951b5d9d --- /dev/null +++ b/connect/zenodoCommunities/zenodo-communitiesService.module.ts @@ -0,0 +1,21 @@ +import { NgModule} from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import {ZenodoCommunitiesService} from './zenodo-communities.service'; + + + +@NgModule({ + imports: [ + CommonModule, FormsModule + ], + declarations: [ + ], + providers:[ + ZenodoCommunitiesService +], + exports: [ + ] +}) +export class ZenodoCommunitiesServiceModule { } diff --git a/connect/zenodoCommunities/zenodoCommunityInfo.ts b/connect/zenodoCommunities/zenodoCommunityInfo.ts new file mode 100644 index 00000000..491bec39 --- /dev/null +++ b/connect/zenodoCommunities/zenodoCommunityInfo.ts @@ -0,0 +1,10 @@ +export class ZenodoCommunityInfo { + title: string; + id: string; + description: string; + link: string; + logoUrl: string; + date: Date; + page: string; + openaireId:string; +}