import { Injectable } from '@angular/core'; import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http'; import { ResourceType,Protocol,WfHistoryEntry,SimpleResource } from './model/controller.model'; import { Observable, Observer } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class ISService { constructor(public client:HttpClient) { } loadResourceTypes():Observable { return this.client.get("/ajax/resourceTypes"); } loadResourceType(id:string):Observable { return this.client.get("/ajax/resourceTypes/" + encodeURIComponent(id)); } loadInfo():Observable { return this.client.get("/ajax/info/"); } loadProtocols():Observable { return this.client.get("/ajax/protocols/"); } loadSimpleResources(type:string):Observable { return this.client.get("/ajax/resources/" + encodeURIComponent(type)); } loadSimpleResourceContent(id:any):Observable { const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8'); return this.client.get("/ajax/resources/" + encodeURIComponent(id) + '/content', { headers, responseType: 'text' as 'json' }); } saveSimpleResourceMedatata(res:SimpleResource):Observable { return this.client.post('/ajax/resources/' + encodeURIComponent(res.id) + '/metadata', res); } saveSimpleResourceContent(id:string, content:string):Observable { const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded') let body = new HttpParams().set('content', content); return this.client.post('/ajax/resources/' + encodeURIComponent(id) + '/content', body, { headers: headers }); } addSimpleResource(name:string, type:string, description:string, content:string):Observable { const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded') let body = new HttpParams() .set('name', name) .set('type', type) .set('description', description) .set('content', content); return this.client.post('/ajax/resources/', body, { headers: headers }); } deleteSimpleResource(res:SimpleResource):Observable { return this.client.delete('/ajax/resources/' + encodeURIComponent(res.id)); } loadWfHistory(total?:number, from?:number, to?:number):Observable { let params = new HttpParams(); if (total && total > 0) { params = params.append('total', total); } if (from && from > 0) { params = params.append('from', from); } if (to && to > 0) { params = params.append('to', to); } return this.client.get('/ajax/wfs/', {params: params}); } }