feat(migrations): add ownership fields to doctors table for IRIMC import

- Introduced new columns: owner_status, source, source_ref, managed_by, and claimed_at to the doctors table.
- Created indexes for owner_status and source to optimize queries related to unclaimed doctors.

feat(auth): implement SystemOwnerCommand for managing system-owner user

- Added command to create, activate, and deactivate a system-owner user for IRIMC crawler.
- Ensured the user has ROLE_ADMIN to access import endpoints.
- Handled password setting and user status management within the command.
This commit is contained in:
hamed
2026-07-11 08:59:36 +03:30
parent f30bf5dfbd
commit 9f56f4aa08
28 changed files with 3694 additions and 989 deletions
+45 -20
View File
@@ -425,8 +425,8 @@
"semantic_hash": ""
},
"assets/home/index.js": {
"mtime": 1783667976.259501,
"ast_hash": "59ed0812495bb819ff1a000ef15a9f40",
"mtime": 1783671823.3429978,
"ast_hash": "29883a5d4108818d3923623845f88f32",
"semantic_hash": ""
},
"assets/react/controllers/Hello.jsx": {
@@ -810,8 +810,8 @@
"semantic_hash": ""
},
"src/Admin/Controller/AdminApiController.php": {
"mtime": 1783663902.0176175,
"ast_hash": "1be6bc6af210c01303d49cf031d05593",
"mtime": 1783747617.3699927,
"ast_hash": "920703ac00621ed56bd030a02c077016",
"semantic_hash": ""
},
"src/Admin/Controller/AdminController.php": {
@@ -1095,8 +1095,8 @@
"semantic_hash": ""
},
"src/ClinicInvitation/Entity/ClinicDoctorInvitation.php": {
"mtime": 1782728407.1951423,
"ast_hash": "097b8f69845070f742ed6b200256d822",
"mtime": 1783747224.0887392,
"ast_hash": "3a35b6a87bac457ae3e399004e248956",
"semantic_hash": ""
},
"src/ClinicInvitation/Repository/ClinicDoctorInvitationRepository.php": {
@@ -1180,13 +1180,13 @@
"semantic_hash": ""
},
"src/Doctor/Controller/DoctorController.php": {
"mtime": 1783569345.7800236,
"ast_hash": "c056cab3f38fa4a224564ac3a2d4b728",
"mtime": 1783747336.6328127,
"ast_hash": "7828b41ebfdf61e887bf38d360c8a8e1",
"semantic_hash": ""
},
"src/Doctor/Entity/Doctor.php": {
"mtime": 1782728407.1960332,
"ast_hash": "2401a8b6ef745ef25853ac52850f0e13",
"mtime": 1783747550.8134816,
"ast_hash": "ee77b315870c0299bc02b08b3e3a8726",
"semantic_hash": ""
},
"src/Doctor/Entity/DoctorAddress.php": {
@@ -1370,8 +1370,8 @@
"semantic_hash": ""
},
"src/Payment/Gateway/MellatGateway.php": {
"mtime": 1783010796.4370883,
"ast_hash": "8cd5f8a90d5b00606c4d2f0d26832d8c",
"mtime": 1783747255.6455548,
"ast_hash": "32314cb20f2960066b05176a51447856",
"semantic_hash": ""
},
"src/Payment/Gateway/MockGateway.php": {
@@ -1535,8 +1535,8 @@
"semantic_hash": ""
},
"src/Shared/Constant/ErrorCodes.php": {
"mtime": 1783666097.015498,
"ast_hash": "6ad487190ee8ba21689c31580d564a4b",
"mtime": 1783747388.311953,
"ast_hash": "54ebad106e4dcfeda8d72953b0fb76bd",
"semantic_hash": ""
},
"src/Shared/Controller/BaseController.php": {
@@ -1560,8 +1560,8 @@
"semantic_hash": ""
},
"src/Shared/EventSubscriber/ExceptionSubscriber.php": {
"mtime": 1782747822.711537,
"ast_hash": "5f93fc4b1ded2b43397437c68599aa0a",
"mtime": 1783747430.565936,
"ast_hash": "7b9c0858f5030435c30e15082456829a",
"semantic_hash": ""
},
"src/Shared/EventSubscriber/SecurityHeadersSubscriber.php": {
@@ -2395,8 +2395,8 @@
"semantic_hash": ""
},
"docs/api/doctor.md": {
"mtime": 1783569345.7776468,
"ast_hash": "70d56cf0705dfbfa35d4ea282536acfe",
"mtime": 1783747505.4473846,
"ast_hash": "59b4a19e6e646fcde2b31cf8cd6ccc46",
"semantic_hash": ""
},
"docs/api/insurance.md": {
@@ -3805,8 +3805,8 @@
"semantic_hash": ""
},
"assets/admin/components/ui/Altcha.tsx": {
"mtime": 1783671609.167859,
"ast_hash": "7ad01997a2ec14f7effc2c7fe2b7f341",
"mtime": 1783672386.2113204,
"ast_hash": "0f7d0eb6c16728729b6698444f3775ac",
"semantic_hash": ""
},
"src/Shared/Captcha/AltchaService.php": {
@@ -3843,5 +3843,30 @@
"mtime": 1783671083.4752364,
"ast_hash": "92b8fc394a330b77058d252b26eb85e5",
"semantic_hash": ""
},
"migrations/Version20260711120000.php": {
"mtime": 1783747563.6199126,
"ast_hash": "5f26681aec61110a0f563a1637647f38",
"semantic_hash": ""
},
"src/Auth/Command/SystemOwnerCommand.php": {
"mtime": 1783747644.3113935,
"ast_hash": "ba2cafb8bf075489371912af24b34757",
"semantic_hash": ""
},
".claude/prompt/fix-server-error-logs-20260711.md": {
"mtime": 1783746878.999338,
"ast_hash": "07ba38da8be11ea753c616a29a133070",
"semantic_hash": ""
},
"docs/scenarios/irimc-doctor-import-ownership.html": {
"mtime": 1783692949.7169843,
"ast_hash": "65046faf3fcf2859db97a594fd66aeb1",
"semantic_hash": ""
},
"docs/scenarios/irimc-doctor-import-ownership.md": {
"mtime": 1783692850.4494128,
"ast_hash": "94803933a144c487e107395efcf6d764",
"semantic_hash": ""
}
}