//
// SPDX-License-Identifier: AGPL-3.0
-import { snakeCase, camelCase } from 'lodash';
+import { CancelToken } from 'axios';
+import { snakeCase, camelCase } from "lodash";
import { CommonResourceService } from 'services/common-service/common-resource-service';
import {
ListResults,
super(serverApi, 'groups', actions);
}
- async contents(
- uuid: string,
- args: ContentsArguments = {},
- session?: Session
- ): Promise<ListResults<GroupContentsResource>> {
+async contents(uuid: string, args: ContentsArguments = {}, session?: Session, cancelToken?: CancelToken): Promise<ListResults<GroupContentsResource>> {
const { filters, order, ...other } = args;
const params = {
- ...other,
- filters: filters ? `[${filters}]` : undefined,
- order: order ? order : undefined,
+ ...other,
+ filters: filters ? `[${filters}]` : undefined,
+ order: order ? order : undefined
};
const pathUrl = uuid ? `/${uuid}/contents` : '/contents';
-
const cfg: AxiosRequestConfig = {
params: CommonResourceService.mapKeys(snakeCase)(params),
};
+
if (session) {
cfg.baseURL = session.baseUrl;
cfg.headers = { Authorization: 'Bearer ' + session.token };
}
+ if (cancelToken) {
+ cfg.cancelToken = cancelToken;
+ }
+
const response = await CommonResourceService.defaultResponse(
this.serverApi.get(this.resourceType + pathUrl, cfg),
this.actions,