Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Ginap12 Гуру (3627), открыт 3 недели назад
 '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
}
1 ответ
Вова Андреев Профи (874) 3 недели назад
 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;
Похожие вопросы