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
+29
View File
@@ -1189,6 +1189,11 @@
resolved "https://registry.npmjs.org/@oxc-project/types/-/types-0.133.0.tgz"
integrity sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==
"@react-leaflet/core@^3.0.0":
version "3.0.0"
resolved "https://registry.npmjs.org/@react-leaflet/core/-/core-3.0.0.tgz"
integrity sha512-3EWmekh4Nz+pGcr+xjf0KNyYfC3U2JjnkWsh0zcqaexYqmmB5ZhH37kz41JXGmKzpaMZCnPofBBm64i+YrEvGQ==
"@reduxjs/toolkit@^1.9.0 || 2.x.x":
version "2.12.0"
resolved "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.12.0.tgz"
@@ -1493,6 +1498,11 @@
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz"
integrity sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==
"@types/geojson@*":
version "7946.0.16"
resolved "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz"
integrity sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.6":
version "2.0.6"
resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz"
@@ -1517,6 +1527,13 @@
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
"@types/leaflet@^1.9.21":
version "1.9.21"
resolved "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.21.tgz"
integrity sha512-TbAd9DaPGSnzp6QvtYngntMZgcRk+igFELwR2N99XZn7RXUdKgsXMR+28bUO0rPsWp8MIu/f47luLIQuSLYv/w==
dependencies:
"@types/geojson" "*"
"@types/node@*", "@types/node@^20.0.0 || ^22.0.0 || >=24.0.0", "@types/node@^20.19.0 || >=22.12.0":
version "25.9.2"
resolved "https://registry.npmjs.org/@types/node/-/node-25.9.2.tgz"
@@ -2921,6 +2938,11 @@ kind-of@^6.0.2:
resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
leaflet@^1.9.0, leaflet@^1.9.4:
version "1.9.4"
resolved "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz"
integrity sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==
lightningcss-darwin-arm64@^1.32.0, lightningcss-darwin-arm64@1.32.0:
version "1.32.0"
resolved "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz"
@@ -3562,6 +3584,13 @@ react-is@^17.0.1:
resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
react-leaflet@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/react-leaflet/-/react-leaflet-5.0.0.tgz"
integrity sha512-CWbTpr5vcHw5bt9i4zSlPEVQdTVcML390TjeDG0cK59z1ylexpqC6M1PJFjV8jD7CF+ACBFsLIDs6DRMoLEofw==
dependencies:
"@react-leaflet/core" "^3.0.0"
"react-redux@^7.2.1 || ^8.1.3 || ^9.0.0", "react-redux@8.x.x || 9.x.x":
version "9.3.0"
resolved "https://registry.npmjs.org/react-redux/-/react-redux-9.3.0.tgz"