projects/netgrif-components-core/src/lib/resources/engine-endpoint/petri-net-resource.service.ts
Methods |
|
constructor(provider: ResourceProvider, configService: ConfigurationService)
|
|||||||||
Parameters :
|
Public deletePetriNet | ||||||||
deletePetriNet(netId: string)
|
||||||||
delete PetriNet Request Type: DELETE Request URL: {{baseUrl}}/api/petrinet/{id}
Parameters :
Returns :
Observable<MessageResource>
|
Public getAll | ||||||
getAll(params?: Params)
|
||||||
Get All Using Petri Net Request Type: GET Request URL: {{baseUrl}}/api/petrinet
Parameters :
Returns :
Observable<Array<PetriNetReference>>
|
Public getDataPetriNet | ||||||
getDataPetriNet(body: object)
|
||||||
Get Data Field References Using Request Type: POST Request URL: {{baseUrl}}/api/petrinet/data
Parameters :
Returns :
Observable<any>
|
Public getNetFile | ||||||
getNetFile(netId: string)
|
||||||
get Net File Request Type: GET Request URL: {{baseUrl}}/api/petrinet/{netId}/file
Parameters :
Returns :
Observable<ProviderProgress | Blob>
|
Public getOne |
getOne(identifier: string, version: string, params?: Params)
|
get One Net Request Type: GET Request URL: {{baseUrl}}/api/petrinet/{identifier}/{version}
Returns :
Observable<PetriNetReference>
|
Public getOneById |
getOneById(netId: string, params?: Params)
|
get One Net by ID Request Type: GET Request URL: {{baseUrl}}/api/petrinet/{id}
Returns :
Observable<PetriNet>
|
Public getPetriNetRoles |
getPetriNetRoles(netId: string, params?: Params)
|
Get Roles References Using Request Type: GET Request URL: {{baseUrl}}/api/petrinet/{id}/roles
Returns :
Observable<RolesAndPermissions>
|
Public getPetriNetTransactions |
getPetriNetTransactions(netId: string, params?: Params)
|
Get Transaction References Using Request Type: GET Request URL: {{baseUrl}}/api/petrinet/{id}/transactions
Returns :
Observable<Array<Transaction>>
|
Public getPetriNetTransitions | ||||||
getPetriNetTransitions(netId: string)
|
||||||
Get Transition References Using Request Type: GET Request URL: {{baseUrl}}/api/petrinet/transitions
Parameters :
Returns :
Observable<Array<Transition>>
|
Public importPetriNet |
importPetriNet(body: FormData, params?: Params)
|
import PetriNet Request Type: POST Request URL: {{baseUrl}}/api/petrinet/import
Returns :
Observable<ProviderProgress | EventOutcomeMessageResource>
|
Public searchPetriNets | |||||||||
searchPetriNets(body: PetriNetRequestBody, params?: Params)
|
|||||||||
search PetriNets Request Type: POST Request URL: {{baseUrl}}/api/petrinet/search
Parameters :
Returns :
Observable<Page<PetriNetReference>>
|
Protected changeType | ||||||||||||
changeType(r: any, propertiesParams: string)
|
||||||||||||
Inherited from
AbstractResourceService
|
||||||||||||
Defined in
AbstractResourceService:82
|
||||||||||||
Type parameters :
|
||||||||||||
Extracts data from the response
Parameters :
Returns :
T
|
Protected getResourceAddress | ||||||||
getResourceAddress(name: string)
|
||||||||
Inherited from
AbstractResourceService
|
||||||||
Defined in
AbstractResourceService:36
|
||||||||
Get URL form nae.json - resources
Parameters :
Returns :
string
|
Protected getResourcePage | ||||||||||||
getResourcePage(r: any, propertiesParams: string)
|
||||||||||||
Inherited from
AbstractResourceService
|
||||||||||||
Defined in
AbstractResourceService:60
|
||||||||||||
Type parameters :
|
||||||||||||
Parses a response
Parameters :
Returns :
Page<T>
|
import {Injectable} from '@angular/core';
import {Observable} from 'rxjs';
import {filter, map, switchMap} from 'rxjs/operators';
import {PetriNet} from '../interface/petri-net';
import {Params, ProviderProgress, ResourceProvider} from '../resource-provider.service';
import {ConfigurationService} from '../../configuration/configuration.service';
import Transition from '../../process/transition';
import {HttpEventType, HttpParams} from '@angular/common/http';
import Transaction from '../../process/transaction';
import {EventOutcomeMessageResource, MessageResource} from '../interface/message-resource';
import {PetriNetReference} from '../interface/petri-net-reference';
import {PetriNetRequestBody} from '../interface/petri-net-request-body';
import {Page} from '../interface/page';
import {processMessageResponse} from '../../utility/process-message-response';
import {AbstractResourceService} from '../abstract-endpoint/abstract-resource.service';
import RolesAndPermissions from '../../process/rolesAndPermissions';
@Injectable({
providedIn: 'root'
})
export class PetriNetResourceService extends AbstractResourceService {
constructor(provider: ResourceProvider, configService: ConfigurationService) {
super('petrinet', provider, configService);
}
/**
* Get All Using Petri Net
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet
*/
public getAll(params?: Params): Observable<Array<PetriNetReference>> {
return this._resourceProvider.get$('petrinet', this.SERVER_URL, params)
.pipe(map(r => this.changeType(r, 'petriNetReferences')));
}
/**
* Get Data Field References Using
*
* **Request Type:** POST
*
* **Request URL:** {{baseUrl}}/api/petrinet/data
*/
public getDataPetriNet(body: object): Observable<any> { // TODO: response
return this._resourceProvider.post$('petrinet/data', this.SERVER_URL, body)
.pipe(map(r => this.changeType(r, undefined)));
}
/**
* Get Transition References Using
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet/transitions
*/
public getPetriNetTransitions(netId: string): Observable<Array<Transition>> {
return this._resourceProvider.get$('/petrinet/transitions', this.SERVER_URL, new HttpParams().set('ids', netId))
.pipe(map(r => this.changeType(r, 'transitionReferences')));
}
/**
* Get Transaction References Using
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet/{id}/transactions
*/
public getPetriNetTransactions(netId: string, params?: Params): Observable<Array<Transaction>> {
return this._resourceProvider.get$('/petrinet/' + netId + '/transactions', this.SERVER_URL, params)
.pipe(map(r => this.changeType(r, 'transactions')));
}
/**
* Get Roles References Using
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet/{id}/roles
*/
public getPetriNetRoles(netId: string, params?: Params): Observable<RolesAndPermissions> {
return this._resourceProvider.get$('/petrinet/' + netId + '/roles', this.SERVER_URL, params)
.pipe(map(r => this.changeType(r, undefined)));
}
/**
* get Net File
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet/{netId}/file
*/
public getNetFile(netId: string): Observable<ProviderProgress | Blob> {
return this._resourceProvider.getBlob$('petrinet/' + netId + '/file', this.SERVER_URL).pipe(
map(event => {
switch (event.type) {
case HttpEventType.DownloadProgress:
return ResourceProvider.getProgress(event);
case HttpEventType.Response:
return event.body;
default:
return undefined;
}
}),
filter(value => !!value)
);
}
/**
* get One Net
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet/{identifier}/{version}
*/
public getOne(identifier: string, version: string, params?: Params): Observable<PetriNetReference> {
return this._resourceProvider.get$('petrinet/' + btoa(identifier) + '/' + version, this.SERVER_URL, params)
.pipe(map(r => this.changeType(r, 'petriNetReferences')));
}
/**
* get One Net by ID
*
* **Request Type:** GET
*
* **Request URL:** {{baseUrl}}/api/petrinet/{id}
*/
public getOneById(netId: string, params?: Params): Observable<PetriNet> {
return this._resourceProvider.get$('petrinet/' + netId, this.SERVER_URL, params)
.pipe(map(r => this.changeType(r, undefined)));
}
/**
* import PetriNet
*
* **Request Type:** POST
*
* **Request URL:** {{baseUrl}}/api/petrinet/import
*/
public importPetriNet(body: FormData, params?: Params): Observable<ProviderProgress | EventOutcomeMessageResource> {
return this._resourceProvider.postWithEvent$<MessageResource>('petrinet/import', this.SERVER_URL, body, params).pipe(
map(event => {
switch (event.type) {
case HttpEventType.UploadProgress:
return ResourceProvider.getProgress(event);
case HttpEventType.Response:
return ResourceProvider.processMessageResource(event);
default:
return undefined;
}
}),
filter(value => !!value)
);
}
/**
* search PetriNets
*
* **Request Type:** POST
*
* **Request URL:** {{baseUrl}}/api/petrinet/search
*/
public searchPetriNets(body: PetriNetRequestBody, params?: Params): Observable<Page<PetriNetReference>> {
return this._resourceProvider.post$('petrinet/search', this.SERVER_URL, body, params)
.pipe(map(r => this.getResourcePage<PetriNetReference>(r, 'petriNetReferences')));
}
/**
* delete PetriNet
*
* **Request Type:** DELETE
*
* **Request URL:** {{baseUrl}}/api/petrinet/{id}
*
* @param netId stringId of the deleted Petri Net
*/
public deletePetriNet(netId: string): Observable<MessageResource> {
return this._resourceProvider.delete$<MessageResource>('petrinet/' + netId, this.SERVER_URL)
.pipe(switchMap(processMessageResponse));
}
}