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

53 lines
1.7 KiB
TypeScript

import { Injectable } from '@angular/core';
import { HttpClient, 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));
}
saveSimpleResourceMedatata(res:SimpleResource):Observable<void> {
return this.client.post<void>('/ajax/resources/' + encodeURIComponent(res.id) + '/metadata', res);
}
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});
}
}