From 6207497fa41aecd4c2ca0e8a3488d846d591b31a Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Mon, 15 Nov 2021 15:59:53 -0300 Subject: [PATCH] 18215: Requests back only updated fields on collection update calls. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- src/services/collection-service/collection-service.ts | 3 ++- src/services/common-service/common-resource-service.ts | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/services/collection-service/collection-service.ts b/src/services/collection-service/collection-service.ts index 92437806..64c73cbf 100644 --- a/src/services/collection-service/collection-service.ts +++ b/src/services/collection-service/collection-service.ts @@ -33,7 +33,8 @@ export class CollectionService extends TrashableResourceService) { - return super.update(uuid, { ...data, preserveVersion: true }); + const select = Object.keys(data) + return super.update(uuid, { ...data, preserveVersion: true }, select); } async files(uuid: string) { diff --git a/src/services/common-service/common-resource-service.ts b/src/services/common-service/common-resource-service.ts index 66e694a0..c6306779 100644 --- a/src/services/common-service/common-resource-service.ts +++ b/src/services/common-service/common-resource-service.ts @@ -37,13 +37,16 @@ export class CommonResourceService extends CommonService return super.create(payload); } - update(uuid: string, data: Partial) { + update(uuid: string, data: Partial, select?: string[]) { let payload: any; if (data !== undefined) { this.readOnlyFields.forEach( field => delete data[field] ); payload = { [this.resourceType.slice(0, -1)]: CommonService.mapKeys(snakeCase)(data), }; + if (select !== undefined && select.length > 0) { + payload.select = ['uuid', ...select.map(field => snakeCase(field))]; + }; } return super.update(uuid, payload); } -- 2.30.2