feat(admin): add user and doctor management APIs and frontend form

- Updated security configuration to include new API route for file uploads.
- Added new endpoints in AdminApiController for user statistics, toggling user status, updating user roles, and managing user details.
- Implemented doctor statistics and management endpoints, including toggling doctor status and creating new doctors.
- Enhanced user listing with filtering options for roles and status.
- Introduced DoctorFormPage component for adding new doctors with specialties selection.
- Integrated react-leaflet for mapping functionalities and added necessary dependencies.
- Updated package.json and package-lock.json to include new dependencies.
This commit is contained in:
hamed
2026-06-10 17:02:42 +03:30
parent 8ed3d41d27
commit 25701c09b7
13 changed files with 3914 additions and 419 deletions
+7
View File
@@ -1,3 +1,5 @@
import { useAuthStore } from '../stores/authStore';
const BASE_URL = '';
function getToken(): string | null {
@@ -35,6 +37,11 @@ async function request<T>(
const res = await fetch(`${BASE_URL}${path}`, { ...options, headers });
if (!res.ok) {
if (res.status === 401) {
useAuthStore.getState().logout();
window.location.replace('/admin/login');
throw new ApiError(401, 'ERR_UNAUTHORIZED', 'نشست منقضی شده است');
}
const body = await res.json().catch(() => ({}));
const firstErr = body?.errors?.[0];
throw new ApiError(