Revision 55964
Added by Argiro Kokogiannaki almost 5 years ago
searchOrcid.service.ts | ||
---|---|---|
2 | 2 |
import {URLSearchParams} from '@angular/http'; |
3 | 3 |
import {Http, Response} from '@angular/http'; |
4 | 4 |
import { Headers, RequestOptions } from '@angular/http'; |
5 |
import {Observable} from 'rxjs/Observable'; |
|
5 |
import {HttpClient, HttpHeaders} from '@angular/common/http'; |
|
6 |
import {Observable} from 'rxjs'; |
|
6 | 7 |
import{EnvProperties} from '../../../utils/properties/env-properties'; |
7 |
import 'rxjs/add/observable/of'; |
|
8 |
import 'rxjs/add/operator/do'; |
|
9 |
import 'rxjs/add/operator/share'; |
|
8 |
|
|
9 |
|
|
10 |
|
|
10 | 11 |
import { ClaimResult} from '../claimEntities.class'; |
12 |
import {map} from "rxjs/operators"; |
|
11 | 13 |
|
12 | 14 |
@Injectable() |
13 | 15 |
export class SearchOrcidService { |
14 |
constructor( private http: Http ) {} |
|
16 |
constructor( private http: HttpClient ) {}
|
|
15 | 17 |
|
16 | 18 |
|
17 | 19 |
searchOrcidAuthor (term: string, authorIds: string[], authors, properties:EnvProperties, addId):any { |
18 | 20 |
|
19 |
var headers = new Headers(); |
|
20 |
headers.append('Accept', 'application/orcid+json'); |
|
21 |
//var headers = new Headers(); |
|
22 |
//headers.append('Accept', 'application/orcid+json'); |
|
23 |
let headers = new HttpHeaders({'Accept': 'application/orcid+json'}); |
|
21 | 24 |
|
22 | 25 |
let url = properties.searchOrcidURL + term+'/record'; |
23 | 26 |
let key = url; |
24 | 27 |
|
25 | 28 |
return this.http.get(url, { headers: headers }) |
26 |
.map(res => res.json()['person']) |
|
27 |
.map(res => [res['name']['given-names'], |
|
29 |
//.map(res => res.json()['person']) |
|
30 |
.pipe(map(res => res['person'])) |
|
31 |
.pipe(map(res => [res['name']['given-names'], |
|
28 | 32 |
res['name']['family-name'], |
29 |
res['name']]) |
|
30 |
.map(res => this.parseOrcidAuthor(res, authorIds, authors, addId));
|
|
33 |
res['name']]))
|
|
34 |
.pipe(map(res => this.parseOrcidAuthor(res, authorIds, authors, addId)));
|
|
31 | 35 |
} |
32 | 36 |
|
33 | 37 |
searchOrcidAuthors (term: string, authorIds: string[], |
34 | 38 |
properties:EnvProperties):any { |
35 | 39 |
|
36 |
var headers = new Headers(); |
|
37 |
headers.append('Accept', 'application/orcid+json'); |
|
40 |
//var headers = new Headers(); |
|
41 |
//headers.append('Accept', 'application/orcid+json'); |
|
42 |
let headers = new HttpHeaders({'Accept': 'application/orcid+json'}); |
|
38 | 43 |
|
39 | 44 |
let url = properties.searchOrcidURL+'search?defType=edismax&q='+term+'&qf=given-name^1.0+family-name^2.0+other-names^1.0+credit-name^1.0&start=0&rows=10'; |
40 | 45 |
let key = url; |
41 | 46 |
|
42 | 47 |
return this.http.get(url, { headers: headers }) |
43 |
.map(res => res.json()['result']) |
|
44 |
.map(res => this.parseOrcidAuthors(res, authorIds)); |
|
48 |
//.map(res => res.json()['result']) |
|
49 |
.pipe(map(res => res['result'])) |
|
50 |
.pipe(map(res => this.parseOrcidAuthors(res, authorIds))); |
|
45 | 51 |
|
46 | 52 |
} |
47 | 53 |
|
48 | 54 |
searchOrcidPublications (id: string, properties:EnvProperties, parse:boolean = false):any { |
49 | 55 |
|
50 |
var headers = new Headers(); |
|
51 |
headers.append('Accept', 'application/orcid+json'); |
|
56 |
//var headers = new Headers(); |
|
57 |
//headers.append('Accept', 'application/orcid+json'); |
|
58 |
let headers = new HttpHeaders({'Accept': 'application/orcid+json'}); |
|
52 | 59 |
|
53 | 60 |
let url =properties.searchOrcidURL+id+'/works'; |
54 | 61 |
let key = url; |
55 | 62 |
|
56 | 63 |
return this.http.get(url, { headers: headers }) |
57 |
.map(res => res.json()['group']) |
|
58 |
.map(request => (parse?this.parse(id, request):request)); |
|
64 |
//.map(res => res.json()['group']) |
|
65 |
.pipe(map(res => res['group'])) |
|
66 |
.pipe(map(request => (parse?this.parse(id, request):request))); |
|
59 | 67 |
//.map(res => res['orcid-work']); |
60 | 68 |
} |
61 | 69 |
|
Also available in: Unified diff
[Library|Trunk]
Merge into trunk branch angular7 rev 55729