From 57cdabb27166c3921f8775fff8f488c7f299aafc Mon Sep 17 00:00:00 2001 From: Lucas Di Pentima Date: Thu, 3 Dec 2020 18:58:22 -0300 Subject: [PATCH] 17152: Adjusts the collection service methods to preserve versions. As the create() method sets preserve_version to true, it's better to re-set it to true after each update, so that the modified_at timestamp of the previous version doesn't change. Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima --- .../collection-service/collection-service.ts | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/services/collection-service/collection-service.ts b/src/services/collection-service/collection-service.ts index 0aa0aa84..3280d05e 100644 --- a/src/services/collection-service/collection-service.ts +++ b/src/services/collection-service/collection-service.ts @@ -27,6 +27,18 @@ export class CollectionService extends TrashableResourceService) { + return super.create({ ...data, preserveVersion: true }); + } + + async update(uuid: string, data: Partial) { + // First make the changes + const collection = await super.update(uuid, data); + if (data === { preserveVersion: true }) { return collection; } + // Then set the head version to be preserved + return await super.update(uuid, { preserveVersion: true }); + } + async files(uuid: string) { const request = await this.webdavClient.propfind(`c=${uuid}`); if (request.responseXML != null) { @@ -36,6 +48,7 @@ export class CollectionService extends TrashableResourceService { -- 2.39.5