diff --git a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.spec.ts b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.spec.ts index 1efd26eb2..b0a221359 100644 --- a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.spec.ts +++ b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.spec.ts @@ -75,7 +75,7 @@ describe('CaseResourceService', () => { it('should deleteCase', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.deleteCase('id').subscribe(res => { + service.deleteCase('id', false, new HttpParams()).subscribe(res => { expect(res.success).toEqual('Done'); done(); }); @@ -113,7 +113,7 @@ describe('CaseResourceService', () => { service.createCase({ title: '', netId: '' - }).subscribe(res => { + }, new HttpParams()).subscribe(res => { expect((res.outcome as CreateCaseEventOutcome).aCase.stringId).toEqual('string'); done(); }); diff --git a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.ts b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.ts index 67b4c9763..ba726da7b 100644 --- a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.ts +++ b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/case-resource.service.ts @@ -69,10 +69,15 @@ export class CaseResourceService extends AbstractResourceService implements Coun * DELETE * {{baseUrl}}/api/workflow/case/:id */ - public deleteCase(caseID: string, deleteSubtree = false): Observable { - return this._resourceProvider.delete$('workflow/case/' + caseID, - this.SERVER_URL, - deleteSubtree ? {deleteSubtree: deleteSubtree.toString()} : {}) + public deleteCase(caseID: string, deleteSubtree = false, params?: HttpParams): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,case(stringId)'); + } + if (deleteSubtree) { + params = params.set('deleteSubtree', deleteSubtree.toString()); + } + return this._resourceProvider.delete$('workflow/case/' + caseID, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -94,8 +99,12 @@ export class CaseResourceService extends AbstractResourceService implements Coun * POST * {{baseUrl}}/api/workflow/case */ - public createCase(body: CreateCaseRequestBody): Observable { - return this._resourceProvider.post$('workflow/case/', this.SERVER_URL, body).pipe(map(r => this.changeType(r, undefined))); + public createCase(body: CreateCaseRequestBody, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,case'); + } + return this._resourceProvider.post$('workflow/case/', this.SERVER_URL, body, params).pipe(map(r => this.changeType(r, undefined))); } /** diff --git a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/public/public-task-resource.service.ts b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/public/public-task-resource.service.ts index 9809009a7..b9eb4ea91 100644 --- a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/public/public-task-resource.service.ts +++ b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/public/public-task-resource.service.ts @@ -33,8 +33,12 @@ export class PublicTaskResourceService extends TaskResourceService { * GET */ // {{baseUrl}}/api/public/task/assign/:id - public assignTask(taskId: string): Observable { - return this._provider.get$('public/task/assign/' + taskId, this.SERVER_URL) + public assignTask(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId),data'); + } + return this._provider.get$('public/task/assign/' + taskId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -43,8 +47,12 @@ export class PublicTaskResourceService extends TaskResourceService { * GET */ // {{baseUrl}}/api/public/task/cancel/:id - public cancelTask(taskId: string): Observable { - return this._provider.get$('public/task/cancel/' + taskId, this.SERVER_URL) + public cancelTask(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId),data'); + } + return this._provider.get$('public/task/cancel/' + taskId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -53,8 +61,12 @@ export class PublicTaskResourceService extends TaskResourceService { * GET */ // {{baseUrl}}/api/public/task/finish/:id - public finishTask(taskId: string): Observable { - return this._provider.get$('public/task/finish/' + taskId, this.SERVER_URL) + public finishTask(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId),data'); + } + return this._provider.get$('public/task/finish/' + taskId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -78,8 +90,12 @@ export class PublicTaskResourceService extends TaskResourceService { * @returns the raw backend response without any additional processing */ // {{baseUrl}}/api/public/task/:id/data - public rawGetData(taskId: string): Observable { - return this._provider.get$('public/task/' + taskId + '/data', this.SERVER_URL) + public rawGetData(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId),data,data'); + } + return this._provider.get$('public/task/' + taskId + '/data', this.SERVER_URL, params) .pipe(map(r => this.changeType(r, 'dataGroups'))); } @@ -88,8 +104,12 @@ export class PublicTaskResourceService extends TaskResourceService { * POST */ // {{baseUrl}}/api/public/task/:id/data - public setData(taskId: string, body: TaskSetDataRequestBody): Observable { - return this._provider.post$('public/task/' + taskId + '/data', this.SERVER_URL, body) + public setData(taskId: string, body: TaskSetDataRequestBody, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId),data,data'); + } + return this._provider.post$('public/task/' + taskId + '/data', this.SERVER_URL, body, params) .pipe(map(r => this.changeType(r, undefined))); } diff --git a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.spec.ts b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.spec.ts index 6e55219f3..57a97f588 100644 --- a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.spec.ts +++ b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.spec.ts @@ -6,6 +6,7 @@ import {SimpleFilter} from '../../filter/models/simple-filter'; import {FilterType} from '../../filter/models/filter-type'; import {TaskResourceService} from './task-resource.service'; import {NoopAnimationsModule} from '@angular/platform-browser/animations'; +import {HttpParams} from "@angular/common/http"; describe('TaskResourceService', () => { let service: TaskResourceService; @@ -57,7 +58,7 @@ describe('TaskResourceService', () => { it('should assignTask', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.assignTask('id').subscribe(res => { + service.assignTask('id', new HttpParams()).subscribe(res => { expect(res.success).toEqual('Success'); done(); }); @@ -73,7 +74,7 @@ describe('TaskResourceService', () => { it('should cancelTask', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.cancelTask('id').subscribe(res => { + service.cancelTask('id', new HttpParams()).subscribe(res => { expect(res.success).toEqual('Success'); done(); }); @@ -89,7 +90,7 @@ describe('TaskResourceService', () => { it('should delegateTask', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.delegateTask('id', {userId: 5}).subscribe(res => { + service.delegateTask('id', {userId: 5}, new HttpParams()).subscribe(res => { expect(res.success).toEqual('Success'); done(); }); @@ -105,7 +106,7 @@ describe('TaskResourceService', () => { it('should finishTask', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.finishTask('id').subscribe(res => { + service.finishTask('id', new HttpParams()).subscribe(res => { expect(res.success).toEqual('Success'); done(); }); @@ -217,7 +218,7 @@ describe('TaskResourceService', () => { it('should getData', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.getData('id').subscribe(res => { + service.getData('id', new HttpParams()).subscribe(res => { expect(res.length).toEqual(0); done(); }); @@ -242,7 +243,7 @@ describe('TaskResourceService', () => { it('should setData', (done) => { inject([HttpTestingController], (httpMock: HttpTestingController) => { - service.setData('id', {}).subscribe(res => { + service.setData('id', {}, new HttpParams()).subscribe(res => { expect(res.outcome).toBeTruthy(); done(); }); diff --git a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.ts b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.ts index ce3918d8d..d87a9d7f1 100644 --- a/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.ts +++ b/projects/netgrif-components-core/src/lib/resources/engine-endpoint/task-resource.service.ts @@ -61,8 +61,12 @@ export class TaskResourceService extends AbstractResourceService implements Coun * GET */ // {{baseUrl}}/api/task/assign/:id - public assignTask(taskId: string): Observable { - return this._resourceProvider.get$('task/assign/' + taskId, this.SERVER_URL) + public assignTask(taskId: string, params?: HttpParams): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId)'); + } + return this._resourceProvider.get$('task/assign/' + taskId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -71,8 +75,12 @@ export class TaskResourceService extends AbstractResourceService implements Coun * GET */ // {{baseUrl}}/api/task/cancel/:id - public cancelTask(taskId: string): Observable { - return this._resourceProvider.get$('task/cancel/' + taskId, this.SERVER_URL) + public cancelTask(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId)'); + } + return this._resourceProvider.get$('task/cancel/' + taskId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -81,8 +89,12 @@ export class TaskResourceService extends AbstractResourceService implements Coun * POST */ // {{baseUrl}}/api/task/delegate/:id - public delegateTask(taskId: string, body: object): Observable { - return this._resourceProvider.post$('task/delegate/' + taskId, this.SERVER_URL, body, undefined, {'Content-Type': 'text/plain'}) + public delegateTask(taskId: string, body: object, params?: HttpParams): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId)'); + } + return this._resourceProvider.post$('task/delegate/' + taskId, this.SERVER_URL, body, params, {'Content-Type': 'text/plain'}) .pipe(map(r => this.changeType(r, undefined))); } @@ -91,8 +103,12 @@ export class TaskResourceService extends AbstractResourceService implements Coun * GET */ // {{baseUrl}}/api/task/finish/:id - public finishTask(taskId: string): Observable { - return this._resourceProvider.get$('task/finish/' + taskId, this.SERVER_URL) + public finishTask(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,task(stringId)'); + } + return this._resourceProvider.get$('task/finish/' + taskId, this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -187,8 +203,12 @@ export class TaskResourceService extends AbstractResourceService implements Coun * @returns the raw backend response without any additional processing */ // {{baseUrl}}/api/task/:id/data - public rawGetData(taskId: string): Observable { - return this._resourceProvider.get$('task/' + taskId + '/data', this.SERVER_URL) + public rawGetData(taskId: string, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,task(stringId),data'); + } + return this._resourceProvider.get$('task/' + taskId + "/data", this.SERVER_URL, params) .pipe(map(r => this.changeType(r, undefined))); } @@ -200,10 +220,11 @@ export class TaskResourceService extends AbstractResourceService implements Coun * If you want to process the raw backend response use [rawGetData]{@link TaskResourceService#rawGetData} instead. * * @param taskId ID of the task who's data should be retrieved from the server + * @param params HTTP params * @returns processed data groups of the given task. If the task has no data an empty array will be returned. */ - public getData(taskId: string): Observable> { - return this.rawGetData(taskId).pipe( + public getData(taskId: string, params?: Params): Observable> { + return this.rawGetData(taskId, params).pipe( map((responseOutcome: EventOutcomeMessageResource) => { if (responseOutcome.error) { throw new Error(responseOutcome.error); @@ -253,8 +274,12 @@ export class TaskResourceService extends AbstractResourceService implements Coun * POST */ // {{baseUrl}}/api/task/:id/data - public setData(taskId: string, body: TaskSetDataRequestBody): Observable { - return this._resourceProvider.post$('task/' + taskId + '/data', this.SERVER_URL, body) + public setData(taskId: string, body: TaskSetDataRequestBody, params?: Params): Observable { + if (!params) { + params = new HttpParams(); + params = params.set('fields', 'outcomes,outcome,case(stringId),task(stringId),changedFields'); + } + return this._resourceProvider.post$('task/' + taskId + "/data", this.SERVER_URL, body, params) .pipe(map(r => this.changeType(r, undefined))); }