Skip to content
Snippets Groups Projects
index.ts 1.77 KiB
Newer Older
import { AuthProvider, DataProvider } from "ra-core";

// import authProvider from './authProvider';
// see https://marmelab.com/react-admin/Authentication.html
export const authProvider: AuthProvider = {
  // authentication
  login: (_params) => Promise.resolve(),
  checkError: (_error) => Promise.resolve(),
  checkAuth: (_params) => Promise.resolve(),
  logout: () => Promise.resolve(),
  getIdentity: () => Promise.resolve({ id: 0 }),
  // authorization
  getPermissions: (_params) => Promise.resolve(),
};

interface Entity {
  eid: string;
}

export const dataProvider: DataProvider = {
  getList: (_resource, _params) => {
    return fetch(
      "https://www.logilab.fr/view?rql=Any+C+LIMIT+10+WHERE+C+is+Card&vid=ejsonexport"
    )
      .then((resp) => resp.json())
      .then((json) => {
        return {
          data: json.map((item: Entity) => ({ ...item, id: item.eid })),
          total: json.length,
        };
      });
  },
  getOne: (_resource, _params) => {
    return fetch(
      "https://www.logilab.fr/view?rql=Any+C+LIMIT+1+WHERE+C+is+Card&vid=ejsonexport"
    )
      .then((resp) => resp.json())
      .then((json) => {
        return {
          data: json.map((entity: Entity) => ({
            ...entity,
            id: entity.eid,
          }))[0],
        };
      });
  },
  getMany: (_resource, _params) => Promise.reject("Not implemented"),
  getManyReference: (_resource, _params) => Promise.reject("Not implemented"),
  update: (_resource, _params) => Promise.reject("Not implemented"),
  updateMany: (_resource, _params) => Promise.reject("Not implemented"),
  create: (_resource, _params) => Promise.reject("Not implemented"),
  delete: (_resource, _params) => Promise.reject("Not implemented"),
  deleteMany: (_resource, _params) => Promise.reject("Not implemented"),
};