projects
/
arvados-workbench2.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch '13902-ui-move-to-popup'
[arvados-workbench2.git]
/
src
/
services
/
groups-service
/
groups-service.ts
diff --git
a/src/services/groups-service/groups-service.ts
b/src/services/groups-service/groups-service.ts
index 1e5318530853fbbe4b947b45311261550a9f7235..822c810ef7ed0203666bdba829c0b13fced7d5ba 100644
(file)
--- a/
src/services/groups-service/groups-service.ts
+++ b/
src/services/groups-service/groups-service.ts
@@
-3,42
+3,38
@@
// SPDX-License-Identifier: AGPL-3.0
import * as _ from "lodash";
// SPDX-License-Identifier: AGPL-3.0
import * as _ from "lodash";
-import CommonResourceService, { Resource, ListResults } from "../../common/api/common-resource-service";
-import FilterBuilder from "../../common/api/filter-builder";
-import OrderBuilder from "../../common/api/order-builder";
+import { CommonResourceService, ListResults } from "~/common/api/common-resource-service";
import { AxiosInstance } from "axios";
import { AxiosInstance } from "axios";
+import { GroupResource } from "~/models/group";
+import { CollectionResource } from "~/models/collection";
+import { ProjectResource } from "~/models/project";
+import { ProcessResource } from "~/models/process";
-interface GroupResource extends Resource {
- name: string;
- groupClass: string;
- description: string;
- properties: string;
- writeableBy: string[];
- trashAt: string;
- deleteAt: string;
- isTrashed: boolean;
-}
-
-interface ContensArguments {
+export interface ContentsArguments {
limit?: number;
offset?: number;
limit?: number;
offset?: number;
- order?:
OrderBuilder
;
- filters?:
FilterBuilder
;
+ order?:
string
;
+ filters?:
string
;
recursive?: boolean;
}
recursive?: boolean;
}
-export default class GroupsService extends CommonResourceService<GroupResource> {
+export type GroupContentsResource =
+ CollectionResource |
+ ProjectResource |
+ ProcessResource;
+
+export class GroupsService<T extends GroupResource = GroupResource> extends CommonResourceService<T> {
constructor(serverApi: AxiosInstance) {
super(serverApi, "groups");
}
constructor(serverApi: AxiosInstance) {
super(serverApi, "groups");
}
- contents
(uuid: string, args: ContensArguments = {}): Promise<ListResults<
Resource>> {
+ contents
(uuid: string, args: ContentsArguments = {}): Promise<ListResults<GroupContents
Resource>> {
const { filters, order, ...other } = args;
const params = {
...other,
const { filters, order, ...other } = args;
const params = {
...other,
- filters: filters ?
filters.get()
: undefined,
- order: order ? order
.getOrder()
: undefined
+ filters: filters ?
`[${filters}]`
: undefined,
+ order: order ? order : undefined
};
return this.serverApi
.get(this.resourceType + `${uuid}/contents/`, {
};
return this.serverApi
.get(this.resourceType + `${uuid}/contents/`, {
@@
-46,4
+42,10
@@
export default class GroupsService extends CommonResourceService<GroupResource>
})
.then(CommonResourceService.mapResponseKeys);
}
})
.then(CommonResourceService.mapResponseKeys);
}
-}
\ No newline at end of file
+}
+
+export enum GroupContentsResourcePrefix {
+ COLLECTION = "collections",
+ PROJECT = "groups",
+ PROCESS = "container_requests"
+}