Project

General

Profile

1
import {Injectable} from '@angular/core';
2
import {HttpClient, HttpHeaders} from '@angular/common/http';
3
import {EnvProperties} from '../openaireLibrary/utils/properties/env-properties';
4
import {ContentProvider} from '../openaireLibrary/utils/entities/contentProvider';
5
import {Observable} from 'rxjs';
6

    
7
@Injectable()
8
export class ManageCommunityContentProvidersService {
9
  constructor(private http: HttpClient) {
10
  }
11

    
12
  removeContentProvider(properties: EnvProperties, pid: string, id: string): any {
13
    let headers = new HttpHeaders({'Content-Type': 'application/json', 'accept': 'application/json'});
14
    let url = properties.communityAPI + pid + '/contentproviders';
15
    return this.http.request('delete', url, {body: id, headers: headers});
16
  }
17

    
18
  addContentProvider(properties: EnvProperties, pid: string, contentProvider: any): Observable<ContentProvider> {
19
    let url = properties.communityAPI + pid + '/contentproviders';
20
    let communityContentProvider = this.convertSearchContentProviderToCommunityContentProvider(contentProvider, pid);
21
    return this.http.post<ContentProvider>(url, communityContentProvider);
22
  }
23

    
24
  saveContentProvider(properties: EnvProperties, contentProvider: ContentProvider): Observable<ContentProvider> {
25
    let url = properties.communityAPI + contentProvider.communityId + '/contentproviders';
26
    return this.http.post<ContentProvider>(url, contentProvider);
27
  }
28

    
29
  convertSearchContentProviderToCommunityContentProvider(contentProvider: any, community: string): ContentProvider {
30
    let communityContentProvider: ContentProvider = new ContentProvider();
31
    communityContentProvider.communityId = community;
32
    communityContentProvider.officialname = contentProvider.title.name;
33
    communityContentProvider.name = contentProvider.englishname;
34
    communityContentProvider.openaireId = contentProvider.id;
35

    
36
    return communityContentProvider;
37
  }
38

    
39
}
(2-2/4)