Connect shared with me to the service
[arvados.git] / src / services / groups-service / groups-service.ts
index b285e9285518505cf6e459d357ba72ee58acec05..65ae705e01f71bc59704cca53ca36a2f362f8def 100644 (file)
@@ -3,7 +3,7 @@
 // SPDX-License-Identifier: AGPL-3.0
 
 import * as _ from "lodash";
-import { CommonResourceService, ListResults } from "~/services/common-service/common-resource-service";
+import { CommonResourceService, ListResults, ListArguments } from '~/services/common-service/common-resource-service';
 import { AxiosInstance } from "axios";
 import { CollectionResource } from "~/models/collection";
 import { ProjectResource } from "~/models/project";
@@ -20,6 +20,10 @@ export interface ContentsArguments {
     includeTrash?: boolean;
 }
 
+export interface SharedArguments extends ListArguments {
+    include?: string;
+}
+
 export type GroupContentsResource =
     CollectionResource |
     ProjectResource |
@@ -44,6 +48,12 @@ export class GroupsService<T extends TrashableResource = TrashableResource> exte
             })
             .then(CommonResourceService.mapResponseKeys);
     }
+
+    shared(params: SharedArguments = {}): Promise<ListResults<GroupContentsResource>> {
+        return this.serverApi
+            .get(this.resourceType + 'shared', { params })
+            .then(CommonResourceService.mapResponseKeys);
+    }
 }
 
 export enum GroupContentsResourcePrefix {