rsf-admin/src/config/MyDataProvider.js
@@ -38,7 +38,15 @@
  // get a list of records based on an array of ids
  getMany: async (resource, params) => {
    // console.log("getMany", resource, params);
    const res = await request.post(resource + "/many/" + params.ids);
    // Old format: [1, 2, 3] (array of integers)
    // New format: [{id: 1, sort: 1}, {id: 2, sort: 2}] (array of objects)
    const ids = params.ids.map(id => {
      if (typeof id === 'object' && id !== null && 'id' in id) {
        return id.id;
      }
      return id;
    });
    const res = await request.post(resource + "/many/" + ids.join(','));
    const { code, msg, data } = res.data;
    if (code === 200) {
      return Promise.resolve({
@@ -90,9 +98,18 @@
  // update a list of records based on an array of ids and a common patch
  updateMany: async (resource, params) => {
    console.log("updateMany", resource, params);
    // Extract IDs from params.ids - handle both formats:
    // Old format: [1, 2, 3] (array of integers)
    // New format: [{id: 1, sort: 1}, {id: 2, sort: 2}] (array of objects)
    const ids = params.ids.map(id => {
      if (typeof id === 'object' && id !== null && 'id' in id) {
        return id.id;
      }
      return id; // Already a number
    });
    const res = await request.post(
      resource + "/update/many",
      params.ids.map((id) => ({ id, ...params.data })),
      ids.map((id) => ({ id, ...params.data })),
    );
    const { code, msg, data } = res.data;
    if (code === 200) {
@@ -121,7 +138,16 @@
  // delete a list of records based on an array of ids
  deleteMany: async (resource, params) => {
    console.log("deleteMany", resource, params);
    const res = await request.post(resource + "/remove/" + params?.ids);
    // Extract IDs from params.ids - handle both formats:
    // Old format: [1, 2, 3] (array of integers)
    // New format: [{id: 1, sort: 1}, {id: 2, sort: 2}] (array of objects)
    const ids = params?.ids ? params.ids.map(id => {
      if (typeof id === 'object' && id !== null && 'id' in id) {
        return id.id;
      }
      return id; // Already a number
    }) : [];
    const res = await request.post(resource + "/remove/" + ids.join(','));
    const { code, msg, data } = res.data;
    if (code === 200) {
      return Promise.resolve({