dnet-applications/frontends/dnet-is-application/src/app/is.service.ts

76 lines
2.8 KiB
TypeScript

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<ResourceType[]> {
return this.client.get<ResourceType[]>("/ajax/resourceTypes");
}
loadResourceType(id:string):Observable<ResourceType> {
return this.client.get<ResourceType>("/ajax/resourceTypes/" + encodeURIComponent(id));
}
loadInfo():Observable<any[]> {
return this.client.get<any[]>("/ajax/info/");
}
loadProtocols():Observable<Protocol[]> {
return this.client.get<Protocol[]>("/ajax/protocols/");
}
loadSimpleResources(type:string):Observable<SimpleResource[]> {
return this.client.get<SimpleResource[]>("/ajax/resources/" + encodeURIComponent(type));
}
loadSimpleResourceContent(id:any):Observable<string> {
const headers = new HttpHeaders().set('Content-Type', 'text/plain; charset=utf-8');
return this.client.get<string>("/ajax/resources/" + encodeURIComponent(id) + '/content', {
headers, responseType: 'text' as 'json'
});
}
saveSimpleResourceMedatata(res:SimpleResource):Observable<void> {
return this.client.post<void>('/ajax/resources/' + encodeURIComponent(res.id) + '/metadata', res);
}
saveSimpleResourceContent(id:string, content:string):Observable<void> {
const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded')
let body = new HttpParams().set('content', content);
return this.client.post<void>('/ajax/resources/' + encodeURIComponent(id) + '/content', body, { headers: headers });
}
addSimpleResource(name:string, type:string, description:string, content:string):Observable<void> {
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<void>('/ajax/resources/', body, { headers: headers });
}
deleteSimpleResource(res:SimpleResource):Observable<void> {
return this.client.delete<void>('/ajax/resources/' + encodeURIComponent(res.id));
}
loadWfHistory(total?:number, from?:number, to?:number):Observable<WfHistoryEntry[]> {
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<WfHistoryEntry[]>('/ajax/wfs/', {params: params});
}
}