projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Obtain configuration from discovery endpoint
[arvados.git]
/
src
/
common
/
api
/
common-resource-service.ts
diff --git
a/src/common/api/common-resource-service.ts
b/src/common/api/common-resource-service.ts
index 39825c0e3eb8ae661212161325f7673df7cb095b..caa4d760c9e08ef1c7af63bf86e90b34a03d4ebb 100644
(file)
--- a/
src/common/api/common-resource-service.ts
+++ b/
src/common/api/common-resource-service.ts
@@
-3,16
+3,14
@@
// SPDX-License-Identifier: AGPL-3.0
import * as _ from "lodash";
// SPDX-License-Identifier: AGPL-3.0
import * as _ from "lodash";
-import FilterBuilder from "./filter-builder";
-import OrderBuilder from "./order-builder";
import { AxiosInstance, AxiosPromise } from "axios";
import { AxiosInstance, AxiosPromise } from "axios";
-import { Resource } from "
../..
/models/resource";
+import { Resource } from "
~
/models/resource";
export interface ListArguments {
limit?: number;
offset?: number;
export interface ListArguments {
limit?: number;
offset?: number;
- filters?:
FilterBuilder
;
- order?:
OrderBuilder
;
+ filters?:
string
;
+ order?:
string
;
select?: string[];
distinct?: boolean;
count?: string;
select?: string[];
distinct?: boolean;
count?: string;
@@
-31,7
+29,7
@@
export interface Errors {
errorToken: string;
}
errorToken: string;
}
-export
default
class CommonResourceService<T extends Resource> {
+export class CommonResourceService<T extends Resource> {
static mapResponseKeys = (response: any): Promise<any> =>
CommonResourceService.mapKeys(_.camelCase)(response.data)
static mapResponseKeys = (response: any): Promise<any> =>
CommonResourceService.mapKeys(_.camelCase)(response.data)
@@
-68,10
+66,10
@@
export default class CommonResourceService<T extends Resource> {
this.resourceType = '/' + resourceType + '/';
}
this.resourceType = '/' + resourceType + '/';
}
- create(data
: Partial<T>
) {
+ create(data
?: Partial<T> | any
) {
return CommonResourceService.defaultResponse(
this.serverApi
return CommonResourceService.defaultResponse(
this.serverApi
- .post<T>(this.resourceType, CommonResourceService.mapKeys(_.snakeCase)(data)));
+ .post<T>(this.resourceType,
data &&
CommonResourceService.mapKeys(_.snakeCase)(data)));
}
delete(uuid: string): Promise<T> {
}
delete(uuid: string): Promise<T> {
@@
-90,8
+88,8
@@
export default class CommonResourceService<T extends Resource> {
const { filters, order, ...other } = args;
const params = {
...other,
const { filters, order, ...other } = args;
const params = {
...other,
- filters: filters ?
filters.serialize()
: undefined,
- order: order ? order
.getOrder()
: undefined
+ filters: filters ?
`[${filters}]`
: undefined,
+ order: order ? order : undefined
};
return CommonResourceService.defaultResponse(
this.serverApi
};
return CommonResourceService.defaultResponse(
this.serverApi
@@
-100,9
+98,11
@@
export default class CommonResourceService<T extends Resource> {
}));
}
}));
}
- update(uuid: string) {
- throw new Error("Not implemented");
- }
+ update(uuid: string, data: any) {
+ return CommonResourceService.defaultResponse(
+ this.serverApi
+ .put<T>(this.resourceType + uuid, data));
+ }
}
}