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
    console.info(url);
20

    
21
    return this.http.delete(url, options)
22
  }
23

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

    
28
      let url = properties.communityAPI+communityId+"/contentproviders";
29
      console.info(url);
30

    
31
      let communityContentProvider = this.convertSearchContentProviderToCommunityContentProvider(contentProvider, communityId);
32
      console.info(contentProvider);
33
      console.info(communityContentProvider);
34

    
35
      return this.http.post(url, JSON.stringify(communityContentProvider), options)
36
                      .map(res => <any> res.json())
37
    }
38

    
39
  convertSearchContentProviderToCommunityContentProvider(contentProvider: any, community: string) : any {
40
    let communityContentProvider = {
41
            "communityId": community,
42
            "officialname": "",
43
            "name": "",
44
            "openaireId": ""
45
    }
46

    
47
    communityContentProvider.officialname = contentProvider.title.name;
48
    communityContentProvider.name = contentProvider.englishname;
49
    communityContentProvider.openaireId = contentProvider.id;
50

    
51
    return communityContentProvider;
52
  }
53

    
54
}
(3-3/4)