feat(doctor): claim captcha+mobile, owner profile delete, admin map zoom fix
- DoctorClaimController: ALTCHA CaptchaGuard on /claim (dev no-op via ALTCHA_ENABLED=false); optional `mobile` field must match the logged-in user's number (422 ERR_CONFLICT_001 on mismatch) - DoctorController::delete: now IS_AUTHENTICATED_FULLY — admin (any) or the owner of a claimed profile (IDOR-guarded); FK appointment guard kept - DoctorDetailPage address map: MapController calls map.invalidateSize() before flyTo (fixes needing to pick a city twice on a freshly-mounted map); geocode retries once (nominatim empty/429 on first hit) - tests: mobile mismatch, owner-delete allowed + others 403, unclaimed not deletable by random user - docs: doctor-claim.md (mobile+captcha), doctor.md (delete permission) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -713,7 +713,6 @@
|
||||
"711": "Community 711",
|
||||
"712": "Community 712",
|
||||
"713": "Community 713",
|
||||
"714": "Community 714",
|
||||
"715": "Community 715",
|
||||
"716": "Community 716",
|
||||
"717": "Community 717",
|
||||
@@ -727,8 +726,6 @@
|
||||
"725": "Community 725",
|
||||
"726": "Community 726",
|
||||
"727": "Community 727",
|
||||
"728": "Community 728",
|
||||
"729": "Community 729",
|
||||
"730": "Community 730",
|
||||
"731": "Community 731",
|
||||
"732": "Community 732",
|
||||
@@ -736,15 +733,11 @@
|
||||
"734": "Community 734",
|
||||
"735": "Community 735",
|
||||
"736": "Community 736",
|
||||
"737": "Community 737",
|
||||
"738": "Community 738",
|
||||
"739": "Community 739",
|
||||
"740": "Community 740",
|
||||
"741": "Community 741",
|
||||
"742": "Community 742",
|
||||
"743": "Community 743",
|
||||
"744": "Community 744",
|
||||
"745": "Community 745",
|
||||
"746": "Community 746",
|
||||
"747": "Community 747",
|
||||
"748": "Community 748",
|
||||
@@ -757,19 +750,15 @@
|
||||
"755": "Community 755",
|
||||
"756": "Community 756",
|
||||
"757": "Community 757",
|
||||
"758": "Community 758",
|
||||
"759": "Community 759",
|
||||
"760": "Community 760",
|
||||
"761": "Community 761",
|
||||
"762": "Community 762",
|
||||
"763": "Community 763",
|
||||
"764": "Community 764",
|
||||
"765": "Community 765",
|
||||
"766": "Community 766",
|
||||
"767": "Community 767",
|
||||
"768": "Community 768",
|
||||
"769": "Community 769",
|
||||
"770": "Community 770",
|
||||
"771": "Community 771",
|
||||
"772": "Community 772"
|
||||
"771": "Community 771"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user