// 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 { FilterBuilder } from "../../common/api/filter-builder";
+import { OrderBuilder } from "../../common/api/order-builder";
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 ContensArguments {
+export interface ContentsArguments {
limit?: number;
offset?: number;
order?: OrderBuilder;
ProjectResource |
ProcessResource;
-export default class GroupsService extends CommonResourceService<GroupResource> {
+export class GroupsService<T extends GroupResource = GroupResource> extends CommonResourceService<T> {
constructor(serverApi: AxiosInstance) {
super(serverApi, "groups");
}
- contents(uuid: string, args: ContensArguments = {}): Promise<ListResults<GroupContentsResource>> {
+ contents(uuid: string, args: ContentsArguments = {}): Promise<ListResults<GroupContentsResource>> {
const { filters, order, ...other } = args;
const params = {
...other,
Collection = "collections",
Project = "groups",
Process = "container_requests"
-}
\ No newline at end of file
+}