Project

General

Profile

1
import {Injectable} from '@angular/core';
2
import {Http, Response, Headers, RequestOptions} from '@angular/http';
3
import {Observable}     from 'rxjs/Observable';
4
import{EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
5

    
6
import { HttpErrorResponse, HttpResponse } from '@angular/common/http';
7
import { ErrorObservable } from 'rxjs/observable/ErrorObservable';
8
import { catchError } from 'rxjs/operators';
9

    
10
@Injectable()
11
export class ManageCommunityContentProvidersService {
12
  constructor(private http: Http ) {}
13

    
14
  removeContentProvider (properties:EnvProperties, communityId: string, id: string):any {
15
    let headers = new Headers({'Content-Type': 'application/json', 'accept': 'application/json'});
16
    let options = new RequestOptions({headers: headers, body: id});
17

    
18
    let url = properties.communityAPI+communityId+"/contentproviders";
19
    return this.http.delete(url, options)
20
  }
21

    
22
  addContentProvider(properties:EnvProperties, communityId: string, contentProvider: any) {
23
      let headers = new Headers({'Content-Type': 'application/json'});
24
      let options = new RequestOptions({headers: headers});
25

    
26
      let url = properties.communityAPI+communityId+"/contentproviders";
27

    
28
      let communityContentProvider = this.convertSearchContentProviderToCommunityContentProvider(contentProvider, communityId);
29

    
30
      return this.http.post(url, JSON.stringify(communityContentProvider), options)
31
                      .map(res => <any> res.json())
32
    }
33

    
34
  convertSearchContentProviderToCommunityContentProvider(contentProvider: any, community: string) : any {
35
    let communityContentProvider = {
36
            "communityId": community,
37
            "officialname": "",
38
            "name": "",
39
            "openaireId": ""
40
    }
41

    
42
    communityContentProvider.officialname = contentProvider.title.name;
43
    communityContentProvider.name = contentProvider.englishname;
44
    communityContentProvider.openaireId = contentProvider.id;
45

    
46
    return communityContentProvider;
47
  }
48

    
49
}
(3-3/5)