Top.Mail.Ru
Ответы

Как указать свой путь запроса на сервер для <Resource name='user' в getOne?

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
 'use client'; 
 
import { Admin, Resource } from 'react-admin'; 
import { useUserStore } from '@/store/use-user-store'; 
import { redirect } from 'next/navigation'; 
import { ReportList } from './reports/list'; 
import customDataProvider from '@/api/custom-data-provider'; 
// import simpleRestProvider from "ra-data-simple-rest"; 
// import { axiosWithAuth } from '@/api/interceptors'; 
import { UserList } from './users/list'; 
import { UserEdit } from './users/edit'; 
 
const dataProvider = customDataProvider(`${process.env.NEXT_PUBLIC_SERVER_URL}/api`); 
 
const AdminsPage = () => { 
	const { user, isLoading: isUserLoading } = useUserStore(); 
	if (isUserLoading) return null; 
	if (!user?.isAdmin) return redirect('/'); 
 
	console.log('isUserLoading  ', isUserLoading, user?.isAdmin); 
 
	return ( 
		<Admin dataProvider={dataProvider} > 
			<Resource 
				name='report' 
				recordRepresentation='title' 
				list={ReportList} 
				// create={ReportCreate} 
				// edit={ReportEdit} 
			/> 
			<Resource 
				name='user' 
				recordRepresentation='title' 
				list={UserList} 
				edit={UserEdit} 
			/> 
		</Admin> 
	); 
}; 
 
export default AdminsPage; 
 
 
 
 
 
 
  @Get('get-by-id/:id')  
  @Auth() 
  @HttpCode(200) 
  async getById(@Param('id') id: string) { 
    const data = await this.userService.getById(id) 
    return data 
  } 
По дате
По рейтингу
Аватар пользователя
Мастер
7мес
1234567891011121314151617181920212223242526272829
 import { Admin, Resource } from 'react-admin'; 
// ... other imports 
 
const userDataProvider = { 
  ...customDataProvider(`${process.env.NEXT_PUBLIC_SERVER_URL}/api`), 
  getOne: (resource, params) => customDataProvider(`${process.env.NEXT_PUBLIC_SERVER_URL}/api`).getOne(resource, { 
    ...params, 
    path: `custom-path-for-get-by-id/${params.id}` 
  }) 
}; 
 
const AdminsPage = () => { 
  // ... other code 
 
  return ( 
    <Admin dataProvider={userDataProvider}> 
      // ... other resources 
      <Resource 
        name='user' 
        recordRepresentation='title' 
        list={UserList} 
        edit={UserEdit} 
        dataProvider={userDataProvider} // Use the custom data provider for the 'user' resource 
      /> 
    </Admin> 
  ); 
}; 
 
export default AdminsPage;