Commit Graph
84 Commits
Author SHA1 Message Date
hamed 3634d37cb6 chore: update graphify graph 2026-07-15 12:28:52 +03:30
hamed f2029a5ad4 chore: update graphify graph 2026-07-15 12:23:46 +03:30
hamed 57c5383baf chore: update graphify graph 2026-07-15 11:51:46 +03:30
hamed d89068e668 chore: update graphify graph 2026-07-15 11:39:57 +03:30
hamed cac2e8b46a chore: update graphify graph 2026-07-15 11:17:00 +03:30
hamedandClaude Opus 4.8 0e057e0c66 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 10:36:54 +03:30
hamedandClaude Opus 4.8 8df616683d chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 09:39:30 +03:30
hamedandClaude Opus 4.8 2220c516d7 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 09:31:57 +03:30
hamedandClaude Opus 4.8 99047458b6 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 19:41:18 +03:30
hamedandClaude Opus 4.8 4edeffe325 chore: update graphify graph (force)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 19:00:58 +03:30
hamedandClaude Opus 4.8 0a3967d0d6 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 19:00:34 +03:30
hamedandClaude Opus 4.8 8d6278e125 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 18:25:01 +03:30
hamedandClaude Opus 4.8 bfeffbc7b3 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 17:36:40 +03:30
hamedandClaude Opus 4.8 7da543d8d7 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 15:58:51 +03:30
hamedandClaude Opus 4.8 be72756058 chore: update graphify graph
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 15:40:17 +03:30
hamed c9a2db6e9d chore: update graphify graph 2026-07-14 15:26:04 +03:30
hamed 2f4d82b703 chore: update graphify graph 2026-07-14 15:16:51 +03:30
hamed a8408a2b7b chore: update graphify graph 2026-07-14 15:04:30 +03:30
hamed b6e702700a chore: update graphify graph 2026-07-14 15:00:13 +03:30
hamed 72f26ed0bf chore: update graphify graph 2026-07-14 14:56:11 +03:30
hamed 50eab9bf90 chore: update graphify graph 2026-07-14 14:50:05 +03:30
hamed 37fc56dc75 chore: update graphify graph 2026-07-14 14:43:38 +03:30
hamed 6f5ce1696f chore: update graphify graph 2026-07-14 14:32:55 +03:30
hamed ac8033574c chore: update graphify graph 2026-07-14 14:19:25 +03:30
hamed 3a5beffb4c chore: update graphify graph after dashboard port 2026-07-14 14:11:51 +03:30
hamed 3b9c5056a3 Add AST cache for patient API documentation with detailed endpoints and relationships 2026-07-14 00:27:26 +03:30
hamed 90e2894c86 Update manifest.json with new mtime and ast_hash for modified files; add new ReserveAppointmentsPage components 2026-07-14 00:11:03 +03:30
hamed ef85ab67e2 Refactor code structure for improved readability and maintainability 2026-07-14 00:02:50 +03:30
hamed 467e9c8071 Update manifest.json with new file modifications and add new components
- Updated mtime and ast_hash for existing components:
  - AppointmentStatusDropdown.tsx
  - StatusBadge.tsx
  - AppointmentsPage.tsx
  - index.ts
- Added new components:
  - AppointmentActions.tsx
  - AppointmentActions.test.tsx
  - AppointmentStatusDropdown.test.tsx
2026-07-13 23:48:11 +03:30
hamed 852f163897 Add AST JSON representation for migration Version20260713195434
This commit introduces a new JSON file that contains the abstract syntax tree (AST) representation for the migration file Version20260713195434.php. The JSON includes nodes, edges, and raw calls, providing a structured overview of the migration's components and their relationships.
2026-07-13 23:38:45 +03:30
hamedandClaude Opus 4.8 8287a48af1 chore: sync graphify graph after patient phases A–E
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 16:01:49 +03:30
hamed 30ebbbd309 Add AST JSON files for PatientMessageRepository and PatientMessageTest
- Created a JSON representation for the PatientMessageRepository class, detailing its methods, dependencies, and relationships.
- Added a JSON representation for the PatientMessageTest class, including its test methods and their interactions with the PatientMessageRepository.
- Introduced a JSON file for the patient API documentation, outlining various endpoints and their functionalities.
2026-07-13 15:37:43 +03:30
hamed 976c4f0c0a Add AST cache files for PatientMedicalRecordRepository and Patient API documentation
- Created JSON representation for PatientMedicalRecordRepository.php, detailing nodes and edges related to methods and dependencies.
- Added JSON representation for patient.md, outlining the structure of the Patient Records & Sessions API, including endpoints and their descriptions.
2026-07-13 15:28:35 +03:30
hamed 98943ac249 Add AST JSON files for PatientAttachmentRepository, FileUploadService, migration Version20260713114523, and PatientAttachment entity
- Created JSON representation for PatientAttachmentRepository with methods and dependencies.
- Added JSON for FileUploadService detailing its methods and imported classes.
- Introduced JSON for migration Version20260713114523, including its methods and schema references.
- Generated JSON for PatientAttachment entity, outlining its properties and methods.
2026-07-13 15:20:17 +03:30
hamed 4c52316a49 Update manifest.json with new mtime and ast_hash for modified files; add PatientDetailPage and its test file 2026-07-13 15:09:19 +03:30
hamed 249b8872a7 Add AST cache files for patient API and related tests
- Created JSON files for the patient API documentation and its endpoints, including methods for managing patient records and sessions.
- Added test cases for PatientRecordFields and PatientRecordTags, detailing their structure and relationships.
- Included raw call data for method invocations within the test cases to enhance traceability and debugging.
2026-07-13 15:00:00 +03:30
hamed c46800610f Update manifest.json with new mtime and ast_hash for modified components 2026-07-13 14:27:20 +03:30
hamed 1a8fab1131 Add AST cache files for migration and repository classes
- Created JSON representation for migration Version20260713103729, detailing nodes and edges for methods and dependencies.
- Added AST cache for TenantTagRepository, including its methods and relationships with imported classes.
- Introduced AST cache for TenantTagTest, capturing test methods and their interactions with dependencies.
2026-07-13 14:18:58 +03:30
hamed 19d8560c9e Update manifest.json with new modification times and AST hashes for various pages and components 2026-07-13 13:45:11 +03:30
hamed 7020d3888e Add AST cache files for ServiceItemMultiStaffTest and Version20260713093327 migrations
- Created JSON representation for ServiceItemMultiStaffTest.php, detailing nodes, edges, and raw calls.
- Created JSON representation for Version20260713093327.php migration, including nodes, edges, and raw calls.
2026-07-13 13:31:01 +03:30
hamed 5e59785854 Update manifest.json with new file metadata and add new components and pages 2026-07-13 12:47:26 +03:30
hamed 272da4ad9d Add JSON files for skill and patient update profile test data
- Created a new JSON file for skills related to Figma features, including nodes and edges representing the structure and relationships of skills.
- Added another JSON file for the PatientUpdateProfileTest, detailing the test structure, methods, and their relationships with other components in the codebase.
2026-07-13 11:52:36 +03:30
hamed 960ac72f6e Refactor code structure for improved readability and maintainability 2026-07-13 10:15:49 +03:30
hamed 476d5bb80e Refactor code structure for improved readability and maintainability 2026-07-12 09:54:44 +03:30
hamedandClaude Opus 4.8 2f0131171d 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>
2026-07-11 14:57:41 +03:30
hamedandClaude Opus 4.8 51432c7bb9 fix(doctor): strip «دکتر» prefix on IRIMC import + name-fix & purge commands
Root cause of "دکتر دکتر …" (and ellipsis-truncated "…نی") in admin: IRIMC
names already contain the «دکتر» title, while the panel renders «دکتر {name}».
Convention is to store the bare name.

- DoctorImportService: normalize name via PersianText::stripDoctorTitle
  (also fixes ي/ی, ك/ک, half-space)
- PersianText::stripDoctorTitle now strips consecutive «دکتر دکتر …» prefixes
- app:doctors:fix-irimc-names: one-off backfill for existing source='irimc'
  rows (dry-run supported) — fixed 340 rows
- app:doctors:purge: FK-safe full wipe of doctors + all dependent tables +
  orphan surrogate users, for a clean test DB (dry-run default, --force to
  apply, prod-guarded)
- tests: PersianTextTest cases for the title stripping; DoctorImportTest
  asserts stored name has no «دکتر» prefix
- docs/api/doctor-import.md: name convention + the two new commands

Verified: import "دکتر صفورا حجازی نیا" → stored "صفورا حجازی نیا" → panel
shows single «دکتر صفورا حجازی نیا».

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 14:07:18 +03:30
hamed 0b49b03a1e Refactor code structure for improved readability and maintainability 2026-07-11 13:26:22 +03:30
hamed 744a40c0f6 feat: add ClinicInvitationWebController and related templates for handling clinic invitations
- Implemented ClinicInvitationWebController to manage the invitation process via web.
- Added view and respond methods to handle invitation display and responses.
- Created result.html.twig and view.html.twig templates for rendering invitation results and views.
- Integrated CSRF protection for form submissions.
- Established routes for invitation viewing and responding.
2026-07-11 09:33:55 +03:30
hamed 9f56f4aa08 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.
2026-07-11 08:59:36 +03:30
hamed 3eee6c3886 Update community IDs, enhance CaptchaController caching, and modify home template for Altcha integration
- Changed community IDs for various components in graph.json to reflect updated associations.
- Added Cache-Control headers to the challenge and config methods in CaptchaController to prevent caching by CDNs and proxies.
- Updated the Altcha widget in home.html.twig to include a language attribute for better localization.
- Added a new AST cache file for CaptchaController to improve performance.
- Updated manifest.json with new modification times and AST hashes for several files.
2026-07-10 11:57:16 +03:30