}
export interface ListArguments {
- limit: number;
- offset: number;
+ limit?: number;
+ offset?: number;
filters?: FilterBuilder;
order?: OrderBuilder;
select?: string[];
this.resourceType = '/' + resourceType + '/';
}
- create() {
- throw new Error("Not implemented");
+ create(data: Partial<T>) {
+ return this.serverApi
+ .post<T>(this.resourceType, CommonResourceService.mapKeys(_.snakeCase)(data))
+ .then(CommonResourceService.mapResponseKeys);
}
delete(uuid: string): Promise<T> {
.then(CommonResourceService.mapResponseKeys);
}
- list(args: ListArguments): Promise<ListResults<T>> {
+ list(args: ListArguments = {}): Promise<ListResults<T>> {
const { filters, order, ...other } = args;
const params = {
...other,
- filters: filters ? filters.get() : undefined,
+ filters: filters ? filters.serialize() : undefined,
order: order ? order.getOrder() : undefined
};
return this.serverApi