From 70bf37e9881a433b740cc70376d4b6680a582910 Mon Sep 17 00:00:00 2001 From: Janicki Artur Date: Mon, 19 Nov 2018 11:13:34 +0100 Subject: [PATCH] change services Feature #14433_properties_inside_project_services Arvados-DCO-1.1-Signed-off-by: Janicki Artur --- src/services/groups-service/groups-service.ts | 2 +- .../project-service/project-service.ts | 26 ++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/services/groups-service/groups-service.ts b/src/services/groups-service/groups-service.ts index bdb51198..d1e2eff2 100644 --- a/src/services/groups-service/groups-service.ts +++ b/src/services/groups-service/groups-service.ts @@ -59,7 +59,7 @@ export class GroupsService extends Tras const { items, ...res } = response; const mappedItems = items.map((item: GroupContentsResource) => { const mappedItem = TrashableResourceService.mapKeys(_.camelCase)(item); - if (item.kind === ResourceKind.COLLECTION) { + if (item.kind === ResourceKind.COLLECTION || item.kind === ResourceKind.PROJECT) { const { properties } = item; return { ...mappedItem, properties }; } else { diff --git a/src/services/project-service/project-service.ts b/src/services/project-service/project-service.ts index 2dc3eeb0..d6003471 100644 --- a/src/services/project-service/project-service.ts +++ b/src/services/project-service/project-service.ts @@ -7,7 +7,8 @@ import { ProjectResource } from "~/models/project"; import { GroupClass } from "~/models/group"; import { ListArguments } from "~/services/common-service/common-resource-service"; import { FilterBuilder, joinFilters } from "~/services/api/filter-builder"; - +import { TrashableResourceService } from '~/services/common-service/trashable-resource-service'; +import { snakeCase } from 'lodash'; export class ProjectService extends GroupsService { create(data: Partial) { @@ -15,6 +16,29 @@ export class ProjectService extends GroupsService { return super.create(projectData); } + update(uuid: string, data: Partial) { + if (uuid && data && data.properties) { + const { properties } = data; + const mappedData = { + ...TrashableResourceService.mapKeys(snakeCase)(data), + properties, + }; + return TrashableResourceService + .defaultResponse( + this.serverApi + .put(this.resourceType + uuid, mappedData), + this.actions, + false + ); + } + return TrashableResourceService + .defaultResponse( + this.serverApi + .put(this.resourceType + uuid, data && TrashableResourceService.mapKeys(snakeCase)(data)), + this.actions + ); + } + list(args: ListArguments = {}) { return super.list({ ...args, -- 2.30.2