import {AuthProvider, HttpError} from "react-admin"; import data from "./users.json"; export const authProvider: AuthProvider = { login: ({ username, password }) => { const user = data.users.find( (u) => u.username === username && u.password === password, ); if (user) { const { password, ...userToPersist } = user; localStorage.setItem("user", JSON.stringify(userToPersist)); return Promise.resolve(); } return Promise.reject( new HttpError("Invalid username or password", 401, { message: "Invalid username or password", }), ); }, async logout() { localStorage.removeItem("user"); return Promise.resolve(); }, async checkAuth() { return localStorage.getItem("user") ? Promise.resolve() : Promise.reject(); }, async getIdentity() { const persistedUser = localStorage.getItem("user"); const user = persistedUser ? JSON.parse(persistedUser) : null; return Promise.resolve(user); }, async checkError() { return Promise.resolve(); }, async getPermissions() { return Promise.resolve(undefined); }, };