return mapKeys ? CommonService.mapResponseKeys(response) : response.data;
})
.catch(({ response }) => {
- actions.progressFn(reqId, false);
- const errors = CommonService.mapResponseKeys(response) as Errors;
- errors.status = response.status;
- actions.errorFn(reqId, errors, showErrors);
- throw errors;
+ if (response) {
+ actions.progressFn(reqId, false);
+ const errors = CommonService.mapResponseKeys(response) as Errors;
+ errors.status = response.status;
+ actions.errorFn(reqId, errors, showErrors);
+ throw errors;
+ }
});
}
);
}
- delete(uuid: string): Promise<T> {
+ delete(uuid: string, showErrors?: boolean): Promise<T> {
this.validateUuid(uuid);
return CommonService.defaultResponse(
this.serverApi
.delete(`/${this.resourceType}/${uuid}`),
- this.actions
+ this.actions,
+ true, // mapKeys
+ showErrors
);
}
return CommonService.defaultResponse(
this.serverApi.get(`/${this.resourceType}`, { params }),
this.actions,
+ true,
showErrors
);
} else {
// Using the POST special case to avoid URI length 414 errors.
- const formData = new FormData();
+ // We must use urlencoded post body since api doesn't support form data
+ // const formData = new FormData();
+ const formData = new URLSearchParams();
formData.append("_method", "GET");
Object.keys(params).forEach(key => {
if (params[key] !== undefined) {
}
});
return CommonService.defaultResponse(
- this.serverApi.post(`/${this.resourceType}`, formData, {
- params: {
- _method: 'GET'
- }
- }),
+ this.serverApi.post(`/${this.resourceType}`, formData, {}),
this.actions,
+ true,
showErrors
);
}
}
- update(uuid: string, data: Partial<T>) {
+ update(uuid: string, data: Partial<T>, showErrors?: boolean) {
this.validateUuid(uuid);
return CommonService.defaultResponse(
this.serverApi
.put<T>(`/${this.resourceType}/${uuid}`, data && CommonService.mapKeys(snakeCase)(data)),
- this.actions
+ this.actions,
+ undefined, // mapKeys
+ showErrors
);
}
}