api-platform / admin

A beautiful and fully-featured administration interface builder for hypermedia APIs
https://api-platform.com/docs/admin/
MIT License
481 stars 130 forks source link

"Server communication error" even if delete request was successful #440

Closed anjeylink closed 2 years ago

anjeylink commented 2 years ago

Admin version: 2.8.3

Description
I get "Server communication error" every time I delete a record.

Possible solution
All delete requests done by dataProvider.delete() got rejected by fetchJsonLd because of changes done in this commit

gartner commented 2 years ago

I see the same behavior in Admin 3.0.0-rc

theMadness commented 2 years ago

My current workaround is to decorate the dataProvider

return {
  ...dataProvider,
  // @ts-ignore
  delete: (
    resource: string,
    params: ApiPlatformAdminDeleteParams,
  ): Promise<DeleteResult<ApiPlatformAdminRecord>> =>
    dataProvider.delete(resource, params).then(
      result => result,
      error => {
        return error.response.status === 204
          ? { data: params.previousData }
          : Promise.reject(error);
      },
    ),
};

(also accepting suggestions on how to get rid of the typescript issues that force me to use @ts-ignore. :P

alanpoulain commented 2 years ago

It should be solved in 2.8.4.