Merge branch '14258-table-filters-tree' into 14258-collection-filtering
[arvados.git] / src / services / groups-service / groups-service.ts
index 92af0516f48068ea8578b7c903bf6a630d4abb89..d1e2eff2791c101ef7fd21b2b52ff6e6fb0ed438 100644 (file)
@@ -20,6 +20,7 @@ export interface ContentsArguments {
     filters?: string;
     recursive?: boolean;
     includeTrash?: boolean;
+    excludeHomeProject?: boolean;
 }
 
 export interface SharedArguments extends ListArguments {
@@ -45,18 +46,20 @@ export class GroupsService<T extends GroupResource = GroupResource> extends Tras
             order: order ? order : undefined
         };
 
+        const pathUrl = uuid ? `${uuid}/contents` : 'contents';
         const response = await CommonResourceService.defaultResponse(
-            this.serverApi
-                .get(this.resourceType + `${uuid}/contents`, {
-                    params: CommonResourceService.mapKeys(_.snakeCase)(params)
-                }),
-            this.actions, 
-            false
-        );
+                this.serverApi
+                    .get(this.resourceType + pathUrl, {
+                        params: CommonResourceService.mapKeys(_.snakeCase)(params)
+                    }),
+                this.actions, 
+                false
+            );
+
         const { items, ...res } = response;
-        const mappedItems = items.map((item: any) => {
+        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 {