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.
This commit is contained in:
hamed
2026-07-13 15:37:43 +03:30
parent 5fb4c52246
commit 30ebbbd309
11 changed files with 2101 additions and 923 deletions
+138 -151
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-07-13)
## Corpus Check
- 827 files · ~599,632 words
- 831 files · ~600,848 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 10111 nodes · 14282 edges · 799 communities (625 shown, 174 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 313 edges (avg confidence: 0.8)
- 10152 nodes · 14354 edges · 798 communities (622 shown, 176 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 316 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `293eb8a0`
- Built from commit: `5fb4c522`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -797,10 +797,9 @@
- [[_COMMUNITY_Community 795|Community 795]]
- [[_COMMUNITY_Community 796|Community 796]]
- [[_COMMUNITY_Community 797|Community 797]]
- [[_COMMUNITY_Community 798|Community 798]]
## God Nodes (most connected - your core abstractions)
1. `ApiTestCase` - 96 edges
1. `ApiTestCase` - 98 edges
2. `BaseController` - 88 edges
3. `api` - 75 edges
4. `UserProfile` - 62 edges
@@ -812,29 +811,29 @@
10. `AdminApiController` - 45 edges
## Surprising Connections (you probably didn't know these)
- `PrivateRoute()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/App.tsx → assets/admin/stores/authStore.ts
- `PublicRoute()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/App.tsx → assets/admin/stores/authStore.ts
- `RoleRoute()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/App.tsx → assets/admin/stores/authStore.ts
- `ServiceTariffModal()` --calls--> `formatNumber()` [EXTRACTED]
assets/admin/components/ServiceTariffModal.tsx → assets/admin/lib/utils.ts
- `Pagination()` --calls--> `formatNumber()` [EXTRACTED]
assets/admin/components/ui/Pagination.tsx → assets/admin/lib/utils.ts
- `RepresentationSettlementPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/RepresentationSettlementPage.tsx → assets/admin/lib/utils.ts
- `SettlementsPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/SettlementsPage.tsx → assets/admin/lib/utils.ts
- `LogsPage()` --calls--> `formatDateTime()` [EXTRACTED]
assets/admin/pages/LogsPage.tsx → assets/admin/lib/utils.ts
## Import Cycles
- None detected.
## Communities (799 total, 174 thin omitted)
## Communities (798 total, 176 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.04
Nodes (63): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, get, BeforeInstallPromptEvent (+55 more)
Cohesion: 0.07
Nodes (22): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, BeforeInstallPromptEvent, usePwaInstall() (+14 more)
### Community 1 - "Community 1"
Cohesion: 0.03
Nodes (51): addMinutes(), AddrForm, addrSchema, AVATAR_COLORS, BookingMeta, calcSlotCount(), CityOpt, DateOverrideData (+43 more)
Nodes (42): AddressData, AddrForm, addrSchema, AVATAR_COLORS, BookingMeta, CityOpt, DateOverrideData, DEFAULT_BOOKING_META (+34 more)
### Community 2 - "Community 2"
Cohesion: 0.10
@@ -862,7 +861,7 @@ Nodes (11): DoctorServiceController, DoctorService, Clinic, DoctorServiceReposit
### Community 8 - "Community 8"
Cohesion: 0.06
Nodes (22): formatDate(), Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META (+14 more)
Nodes (21): formatDate(), Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META (+13 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -877,16 +876,16 @@ Cohesion: 0.50
Nodes (4): UserActiveContextRepository, ManagerRegistry, User, UserActiveContext
### Community 12 - "Community 12"
Cohesion: 0.05
Nodes (42): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+34 more)
Cohesion: 0.04
Nodes (47): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+39 more)
### Community 13 - "Community 13"
Cohesion: 0.05
Nodes (41): get, patch, usePatient(), useUpdatePatient(), api, ApiError, downloadFile(), getToken() (+33 more)
Cohesion: 0.04
Nodes (69): get, get, patch, usePatient(), useUpdatePatient(), useSubscription(), itemStyle(), menuForRole() (+61 more)
### Community 14 - "Community 14"
Cohesion: 0.15
Nodes (8): AppointmentSettingsController, Holiday, HolidayRepository, JsonResponse, Request, User, Doctor, ManagerRegistry
Cohesion: 0.10
Nodes (12): AppointmentSettingsController, DateOverride, Holiday, DateOverrideRepository, HolidayRepository, JsonResponse, Request, User (+4 more)
### Community 15 - "Community 15"
Cohesion: 0.25
@@ -914,11 +913,11 @@ Nodes (5): AdminApiController, RepresentationRepository, JsonResponse, Request,
### Community 21 - "Community 21"
Cohesion: 0.04
Nodes (46): formatDateTime(), formatNumber(), formatRial(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS (+38 more)
Nodes (42): formatNumber(), AddForm, addSchema, ClinicsPage(), HUES_LIST, AdminCharts, AdminDashboard(), AdminRecent (+34 more)
### Community 22 - "Community 22"
Cohesion: 0.11
Nodes (14): RatingController, Like, Rate, LikeRepository, RateRepository, JsonResponse, Request, User (+6 more)
Cohesion: 0.15
Nodes (9): RatingController, Like, LikeRepository, JsonResponse, Request, User, Comment, ManagerRegistry (+1 more)
### Community 23 - "Community 23"
Cohesion: 0.05
@@ -933,8 +932,8 @@ Cohesion: 0.05
Nodes (39): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+31 more)
### Community 26 - "Community 26"
Cohesion: 0.13
Nodes (8): InsuranceController, EntityInsurancePricing, EntityInsurancePricingRepository, TenantInsuranceCleanupService, JsonResponse, Request, User, ManagerRegistry
Cohesion: 0.24
Nodes (4): InsuranceController, JsonResponse, Request, User
### Community 27 - "Community 27"
Cohesion: 0.05
@@ -949,8 +948,8 @@ Cohesion: 0.06
Nodes (35): Bulk import / export, DELETE `/api/v1/admin/city/{id}`, DELETE `/api/v1/admin/province/{id}`, Errors, Errors, Errors, Errors, GET `/api/v1/admin/cities` (+27 more)
### Community 30 - "Community 30"
Cohesion: 0.04
Nodes (45): FreeVisitPrice(), Pricing, Contract, InsuranceOption, KIND_LABEL, cn(), iranMobileOptionalSchema, iranMobileSchema (+37 more)
Cohesion: 0.05
Nodes (39): cn(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile(), sanitizeMobileInput(), toDate(), toEnglishDigits() (+31 more)
### Community 31 - "Community 31"
Cohesion: 0.06
@@ -961,8 +960,8 @@ Cohesion: 0.06
Nodes (32): 10. Modal / Dialog, 11. Toast Notifications, 12. Empty States & Loading, 13. Page Header (هر صفحه), 14. تکنولوژی Stack, 15. Responsive Breakpoints, 16. Dark Mode (اختیاری — فاز دوم), 17. نمونه رنگ‌بندی صفحه داشبورد (+24 more)
### Community 33 - "Community 33"
Cohesion: 0.05
Nodes (35): CoverageRow, Draft, KIND, TenantInsurance, ServiceTariffModal(), TariffResponse, TariffRow, AdminLayout() (+27 more)
Cohesion: 0.06
Nodes (26): CoverageRow, Draft, KIND, TenantInsurance, ServiceTariffModal(), TariffResponse, TariffRow, EMPTY_ITEMS (+18 more)
### Community 34 - "Community 34"
Cohesion: 0.06
@@ -981,8 +980,8 @@ Cohesion: 0.06
Nodes (31): API endpoint موجود برای آدرس دکتر:, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}` — حذف, `docs/api/appointment-settings.md`:, `docs/api/clinic.md`:, Endpoint موجود (workaround که حذف می‌شود):, Entity `DoctorAddress`:, Frontend موجود (`DoctorDetailPage.tsx`):, `GET /api/v1/clinic/{clinicUuid}/addresses` — لیست آدرس‌ها (+23 more)
### Community 38 - "Community 38"
Cohesion: 0.22
Nodes (9): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Errors, Notification Mobile (OTP), POST `/oauth/token`, Request Body, Response `200` (+1 more)
Cohesion: 0.25
Nodes (8): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Notification Mobile (OTP), POST `/oauth/logout`, Request Body, Response `200`, Response `200`
### Community 39 - "Community 39"
Cohesion: 0.12
@@ -1025,8 +1024,8 @@ Cohesion: 0.11
Nodes (4): Payment, Appointment, self, User
### Community 49 - "Community 49"
Cohesion: 0.09
Nodes (18): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+10 more)
Cohesion: 0.07
Nodes (21): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+13 more)
### Community 50 - "Community 50"
Cohesion: 0.07
@@ -1041,8 +1040,8 @@ Cohesion: 0.07
Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان می‌دهد موبایل پزشک, باگ ۶ — نوبت‌های رزرو شده در نمایش زمانبندی (+18 more)
### Community 53 - "Community 53"
Cohesion: 0.08
Nodes (18): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, DoctorInsuranceRepository, PreRegistrationRepository, SessionServiceRepository, SmsSettingsRepository, ServiceEntityRepository (+10 more)
Cohesion: 0.07
Nodes (17): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, InvoiceItemRepository, PreRegistrationRepository, SiteConfigRepository, SmsSettingsRepository, ServiceEntityRepository (+9 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -1074,15 +1073,15 @@ Nodes (24): API های جدید که باید ساخته شوند, API های م
### Community 61 - "Community 61"
Cohesion: 0.05
Nodes (35): Billing API — صورتحساب (فاز ۴ سیستم صورتحساب/بیمه), Claims — مطالبات بیمه (فاز ۵), GET /api/v1/billing/claims, GET /api/v1/billing/invoices/{uuid}, GET /api/v1/billing/reports/insurance-debt, POST /api/v1/billing/claims, POST /api/v1/billing/claims/{uuid}/{action}, POST /api/v1/billing/invoices (+27 more)
Nodes (40): Billing API — صورتحساب (فاز ۴ سیستم صورتحساب/بیمه), Claims — مطالبات بیمه (فاز ۵), GET /api/v1/billing/claims, GET /api/v1/billing/invoices/{uuid}, GET /api/v1/billing/reports/insurance-debt, POST /api/v1/billing/claims, POST /api/v1/billing/claims/{uuid}/{action}, POST /api/v1/billing/invoices (+32 more)
### Community 62 - "Community 62"
Cohesion: 0.03
Nodes (82): PaymentConfig, PaymentGatewayInfo, ApiResponse, PaginatedResponse, STATUS_FILTERS, FILTERS, DoctorClaim, FILTERS (+74 more)
Nodes (84): PaginatedResponse, ALL_STATUSES, AppointmentDetailPage(), timeOf(), STATUS_FILTERS, FILTERS, DoctorClaim, FILTERS (+76 more)
### Community 63 - "Community 63"
Cohesion: 0.07
Nodes (21): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+13 more)
Cohesion: 0.13
Nodes (13): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+5 more)
### Community 64 - "Community 64"
Cohesion: 0.29
@@ -1158,7 +1157,7 @@ Nodes (30): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react
### Community 86 - "Community 86"
Cohesion: 0.05
Nodes (17): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemMultiStaffTest, ServiceItemStaffOwnershipTest, KernelBrowser (+9 more)
Nodes (18): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemMultiStaffTest, ServiceItemStaffOwnershipTest, EntityManagerInterface (+10 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1181,7 +1180,7 @@ Cohesion: 0.10
Nodes (20): DELETE `/api/v1/admin/users/{uuid}`, Errors, Errors, GET `/api/v1/admin/users`, GET `/api/v1/admin/users/stats`, GET `/api/v1/admin/users/{uuid}`, POST `/api/v1/admin/users/{uuid}/status`, PUT `/api/v1/admin/users/{uuid}` (+12 more)
### Community 92 - "Community 92"
Cohesion: 0.10
Cohesion: 0.09
Nodes (21): Bulk import / export, DELETE `/api/v1/admin/doctor-service/{id}`, Doctor Service API, Errors, Errors, Errors, Errors, GET `/api/v1/admin/doctor-services` (+13 more)
### Community 93 - "Community 93"
@@ -1245,8 +1244,8 @@ Cohesion: 0.33
Nodes (6): AppointmentController, Appointment, Doctor, JsonResponse, Request, User
### Community 108 - "Community 108"
Cohesion: 0.10
Nodes (13): CaptchaController, BaseController, CategoryController, DoctorImportController, SmsMessageController, JsonResponse, JsonResponse, Request (+5 more)
Cohesion: 0.13
Nodes (10): CaptchaController, BaseController, CategoryController, SiteConfigController, JsonResponse, JsonResponse, Request, User (+2 more)
### Community 109 - "Community 109"
Cohesion: 0.29
@@ -1361,8 +1360,8 @@ Cohesion: 0.38
Nodes (4): BillingController, JsonResponse, Request, User
### Community 139 - "Community 139"
Cohesion: 0.18
Nodes (6): UserProfileController, InputValidator, JsonResponse, Request, User, UserProfile
Cohesion: 0.35
Nodes (5): UserProfileController, JsonResponse, Request, User, UserProfile
### Community 140 - "Community 140"
Cohesion: 0.12
@@ -1453,8 +1452,8 @@ Cohesion: 0.10
Nodes (19): Adding an endpoint (one domain), Backend (`composer.json`), Backend endpoint & model patterns, Backend — `src/<Domain>/`, Build entry points (`webpack.config.js`), Category / bundle system, Commands (prefix with `ddev exec`), Conventions (+11 more)
### Community 163 - "Community 163"
Cohesion: 0.11
Nodes (18): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, extra (+10 more)
Cohesion: 0.13
Nodes (14): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, license (+6 more)
### Community 164 - "Community 164"
Cohesion: 0.29
@@ -1477,8 +1476,8 @@ Cohesion: 0.10
Nodes (20): api.ir (استعلام هویت — Shahkar / IbanMatch), اتصال به دیتابیس‌های مستقل (الزامی), اسرار (الزامی — قبل از اولین دیپلوی), امنیت و منابع, بررسی سلامت, دامنه‌ها و CORS, دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro (Coolify + Docker Compose) (+12 more)
### Community 169 - "Community 169"
Cohesion: 0.13
Nodes (12): AdminUserDetail, AVATAR_COLORS, EditForm, editSchema, GENDER_LABELS, getPrimaryRole(), MARITAL_LABELS, MEDICAL_SECTIONS (+4 more)
Cohesion: 0.06
Nodes (29): formatDateTime(), LogsPage(), VisitDetailModal(), SettlementDetail, SettlementDetailPage(), buildKavenegarPattern(), KavenegarGuide(), SmsPage() (+21 more)
### Community 170 - "Community 170"
Cohesion: 0.13
@@ -1597,8 +1596,8 @@ Cohesion: 0.14
Nodes (13): Endpoint ها, PATCH /api/v1/secretary/{uuid}, POST /api/v1/secretary, تسک ۱۴: ماژول منشی, توضیح, زمان تخمینی, ساختار JSON, سیستم مجوزها — Resource-Based Permissions (مقیاس‌پذیر) (+5 more)
### Community 201 - "Community 201"
Cohesion: 0.11
Nodes (19): Admin API, Clinic Invitation Management, GET `/api/v1/admin/pre-registrations`, GET `/api/v1/admin/secretaries`, GET /api/v1/admin/settings, GET `/api/v1/admin/sms/logs`, GET `/api/v1/admin/sms/templates`, PATCH /api/v1/admin/settings (+11 more)
Cohesion: 0.10
Nodes (20): Admin API, Clinic Invitation Management, GET `/api/v1/admin/financial-breakdowns`, GET `/api/v1/admin/financial-summary`, GET `/api/v1/admin/pre-registrations`, GET /api/v1/admin/settings, GET `/api/v1/admin/settings/tax-history`, GET `/api/v1/admin/settlement/{uuid}` (+12 more)
### Community 202 - "Community 202"
Cohesion: 0.15
@@ -1901,8 +1900,8 @@ Cohesion: 0.29
Nodes (4): ServiceItemRepository, ManagerRegistry, ServiceItem, ServiceSection
### Community 286 - "Community 286"
Cohesion: 0.04
Nodes (51): usePaymentConfig(), CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm (+43 more)
Cohesion: 0.05
Nodes (31): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+23 more)
### Community 287 - "Community 287"
Cohesion: 0.31
@@ -1933,8 +1932,8 @@ Cohesion: 0.20
Nodes (9): AdminApiController — dashboardCharts با بازه زمانی, DashboardController — اضافه کردن from/to, date range selector component:, تغییر Backend, تغییر Frontend — DashboardPage.tsx, فایل‌هایی که تغییر می‌کنند, معماری — تسک ۱۶: داشبورد هوشمند, نصب dependency: (+1 more)
### Community 294 - "Community 294"
Cohesion: 0.33
Nodes (4): PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
Cohesion: 0.21
Nodes (5): PatientAttachmentTest, PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
### Community 295 - "Community 295"
Cohesion: 0.20
@@ -1974,7 +1973,7 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر
### Community 304 - "Community 304"
Cohesion: 0.22
Nodes (9): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 6. کلینیک (Clinic), هدرهای اضافی, پارامترهای Query, پاسخ‌ها, پاسخ‌ها (+1 more)
Nodes (9): 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 36. 🟢 `GET` get my rate, 6. کلینیک (Clinic), هدرهای اضافی, هدرهای اضافی, پاسخ‌ها, پاسخ‌ها (+1 more)
### Community 306 - "Community 306"
Cohesion: 0.07
@@ -1985,8 +1984,8 @@ Cohesion: 0.28
Nodes (3): UserActiveContext, self, User
### Community 308 - "Community 308"
Cohesion: 0.36
Nodes (4): SiteConfigController, JsonResponse, Request, User
Cohesion: 0.05
Nodes (47): FreeVisitPrice(), Pricing, PaymentConfig, PaymentGatewayInfo, usePaymentConfig(), ApiResponse, formatRial(), rialToToman() (+39 more)
### Community 309 - "Community 309"
Cohesion: 0.22
@@ -2073,8 +2072,8 @@ Cohesion: 0.22
Nodes (8): Query های جدید, بیماران منحصربه‌فرد در بازه, درآمد بر اساس روز (از patient_sessions), فروش اشتراک بر اساس پنل (admin), نوبت‌ها بر اساس روز (admin chart), نکات مهم, هیچ migration لازم نیست, پایگاه داده — تسک ۱۶: داشبورد هوشمند
### Community 333 - "Community 333"
Cohesion: 0.25
Nodes (7): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, Doctor API, Errors, GET `/api/v1/doctors`, Query Parameters, Response `200`, Response `200`
Cohesion: 0.04
Nodes (49): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, DELETE `/api/v1/doctor/{uuid}`, Doctor API, Errors, Errors, Errors, Errors, Errors (+41 more)
### Community 334 - "Community 334"
Cohesion: 0.25
@@ -2097,8 +2096,8 @@ Cohesion: 0.39
Nodes (5): JsonContains, FunctionNode, Node, Parser, SqlWalker
### Community 340 - "Community 340"
Cohesion: 0.04
Nodes (38): ClinicAddress, ClinicDetailPage(), ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP (+30 more)
Cohesion: 0.18
Nodes (9): AdminUser, ASSIGNABLE_ROLES, ChangeRoleModal(), getPrimaryRole(), HUES_LIST, ROLE_META, ROLE_TABS, RoleBadge() (+1 more)
### Community 341 - "Community 341"
Cohesion: 0.12
@@ -2249,8 +2248,8 @@ Cohesion: 0.29
Nodes (7): بک‌اند — endpoint جدید: `GET /api/v1/my/appointments` `[IS_AUTHENTICATED_FULLY]`, فرانت‌اند — `AppointmentsPage.tsx`, مرحله ۸ — نوبت‌های فیلترشده (بک‌اند + فرانت‌اند) — API جدید, نمای جدولی (`TableView`):, نمای زمانبندی (`TimelineView`):, هدر صفحه (مشترک هر دو نما):, وضعیت‌های نوبت (باید در entity و frontend هر دو باشند):
### Community 380 - "Community 380"
Cohesion: 0.28
Nodes (7): ErrorCodes, ClinicServiceController, JsonResponse, Request, ServiceItem, ServiceSection, User
Cohesion: 0.32
Nodes (6): ClinicServiceController, JsonResponse, Request, ServiceItem, ServiceSection, User
### Community 381 - "Community 381"
Cohesion: 0.13
@@ -2328,9 +2327,13 @@ Nodes (15): `lib/utils.ts`, `SettingsPage.tsx` (ورودی‌ها ریال ذخ
Cohesion: 0.11
Nodes (17): بازطراحی معماری پرداخت — سرویس‌محور، امن، توسعه‌پذیر (Backend), تست دستی (ddev، در حالت `payment_test_mode=1`), خروجی نهایی (طبق spec — در گزارش اجرا ارائه شود), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (+9 more)
### Community 406 - "Community 406"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260609133546, Schema, Version20260614181657
### Community 407 - "Community 407"
Cohesion: 0.16
Nodes (11): MessageBusInterface, MockObject, SmsLogRepository, SmsServiceLookupOnlyTest, SmsLog, SmsLogRepository, SmsMessageTemplateRepository, SmsService (+3 more)
Nodes (11): MessageBusInterface, MockObject, SmsService, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver (+3 more)
### Community 414 - "Community 414"
Cohesion: 0.10
@@ -2344,10 +2347,6 @@ Nodes (41): grid, PatientFormOptions, patientFormSchema, PatientFormValues, Prop
Cohesion: 0.17
Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانت‌اند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more)
### Community 421 - "Community 421"
Cohesion: 0.16
Nodes (4): RanginehProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 422 - "Community 422"
Cohesion: 0.12
Nodes (15): راه‌حل, راه‌حل, راه‌حل, رفع زوم نقشه در افزودن آدرس + کپچا و موبایل در claim + حذف پروفایل توسط مالک, ریشه‌ها, زمینه, فایل‌های مرتبط, نکات مهم (+7 more)
@@ -2369,21 +2368,17 @@ Cohesion: 0.12
Nodes (16): backend (آماده — فقط annotation/doc ناقص), افزودن فیلد «تاریخ شروع فعالیت» (سال تجربه) در پنل ادمین با تقویم شمسی, زمینه, فایل‌های مرتبط, فرم ساخت پزشک — `DoctorFormPage.tsx` (خط ~282), فرم ویرایش پزشک — `DoctorDetailPage.tsx` (وضعیت فعلی، بدون فیلد تاریخ), مشکل / هدف, نکات مهم (+8 more)
### Community 433 - "Community 433"
Cohesion: 0.26
Cohesion: 0.24
Nodes (6): PatientController, JsonResponse, PatientRecord, PatientSession, Request, User
### Community 435 - "Community 435"
Cohesion: 0.13
Nodes (13): Command, CancelExpiredAppointmentsCommand, FixIrimcNamesCommand, SeedCategoriesCommand, SeedSmsMessageTemplatesCommand, InputInterface, OutputInterface, InputInterface (+5 more)
Cohesion: 0.18
Nodes (10): Command, CancelExpiredAppointmentsCommand, PruneLogsCommand, SeedSmsMessageTemplatesCommand, InputInterface, OutputInterface, InputInterface, OutputInterface (+2 more)
### Community 436 - "Community 436"
Cohesion: 0.23
Nodes (4): GatewayFactory, MellatGateway, MellatGatewayTest, SepGateway
### Community 438 - "Community 438"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260615203529, Schema, Version20260625135132
### Community 439 - "Community 439"
Cohesion: 0.17
Nodes (11): زمینه, صفحه Twig دعوت پزشک + کوتاه‌کردن URL پیامک, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, ۱. کوتاه‌کردن توکن دعوت (+3 more)
@@ -2529,8 +2524,8 @@ Cohesion: 0.12
Nodes (15): CORS — `config/packages/nelmio_cors.yaml`, MellatGateway — تشخیص فعال‌بودن, payment/config — `PaymentController::config()` (خط ۵۴۶), resolveGateway + callback (کد واقعی), رفع باگ‌های پروداکشن: CORS + payment/config 500 + درگاه‌های فعال و callback ملت, زمینه, فایل‌های مرتبط, فرانت — `SubscriptionPage.tsx` (+7 more)
### Community 496 - "Community 496"
Cohesion: 0.19
Nodes (6): CreateAdminCommand, HealthController, EntityManagerInterface, InputInterface, OutputInterface, JsonResponse
Cohesion: 0.38
Nodes (3): CreateAdminCommand, InputInterface, OutputInterface
### Community 497 - "Community 497"
Cohesion: 0.53
@@ -2665,8 +2660,8 @@ Cohesion: 0.15
Nodes (12): اجبار ارسال همه پیامک‌ها از طریق Kavenegar VerifyLookup (حذف مسیر send.json خام), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
### Community 539 - "Community 539"
Cohesion: 0.22
Nodes (3): AppException, SlotTakenException, RuntimeException
Cohesion: 0.17
Nodes (4): ErrorCodes, AppException, SlotTakenException, RuntimeException
### Community 543 - "Community 543"
Cohesion: 0.25
@@ -2733,8 +2728,8 @@ Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/admin/sms/template/{uuid}/reject`, Request Body, Response `200`
### Community 559 - "Community 559"
Cohesion: 0.48
Nodes (3): SmsMessageTemplateRepository, SmsMessageTemplate, ManagerRegistry
Cohesion: 0.25
Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry
### Community 560 - "Community 560"
Cohesion: 0.50
@@ -2816,17 +2811,13 @@ Nodes (3): Entity: Secretary, ساختار فایل‌ها, معماری — ت
Cohesion: 0.50
Nodes (3): Entity: Payment, ساختار فایل‌ها, معماری — تسک ۱۵: ماژول پرداخت
### Community 593 - "Community 593"
Cohesion: 0.13
Nodes (6): DateOverrideOwnershipTest, UniqueConstraintsTest, DateOverride, DateOverrideRepository, Doctor, ManagerRegistry
### Community 596 - "Community 596"
Cohesion: 0.29
Nodes (3): FinancialBreakdown, Payment, User
### Community 597 - "Community 597"
Cohesion: 0.29
Nodes (7): Configuration, Errors, GET `/api/v1/admin/sms/templates`, GET `/api/v1/sms/template/{uuid}`, Response `200`, Response `200`, SMS API
Cohesion: 0.20
Nodes (10): Configuration, Errors, GET `/api/v1/admin/sms/templates`, GET `/api/v1/sms/template/{uuid}`, POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200`, Response `200` (+2 more)
### Community 599 - "Community 599"
Cohesion: 0.67
@@ -2865,12 +2856,12 @@ Cohesion: 0.23
Nodes (7): Money, BillingCalculator, InvoiceService, CoverageRule, ShareBreakdown, Invoice, PatientSession
### Community 631 - "Community 631"
Cohesion: 0.39
Nodes (4): FinancialBreakdown, FinancialBreakdownRepository, ManagerRegistry, Payment
Cohesion: 0.15
Nodes (6): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, FinancialBreakdownIntegrityTest, ManagerRegistry, Payment
### Community 633 - "Community 633"
Cohesion: 0.28
Nodes (6): IbanItem, isValidIranIban(), RepProfile, RepresentationProfilePage(), toLatinDigits(), unwrap()
Cohesion: 0.08
Nodes (27): Contract, InsuranceOption, KIND_LABEL, AdminLayout(), avatarBg(), buildSections(), HUES, Props (+19 more)
### Community 634 - "Community 634"
Cohesion: 0.47
@@ -2925,8 +2916,8 @@ Cohesion: 0.20
Nodes (10): Errors (payment refund/reverse/detail), GET `/api/v1/admin/payments`, GET `/api/v1/admin/payments/{uuid}`, Payment Management, POST `/api/v1/admin/payments/{uuid}/refund`, POST `/api/v1/admin/payments/{uuid}/reverse`, Query Parameters, Query Parameters (تکمیل) (+2 more)
### Community 658 - "Community 658"
Cohesion: 0.43
Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
Cohesion: 0.22
Nodes (4): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, ManagerRegistry
### Community 659 - "Community 659"
Cohesion: 0.31
@@ -2940,6 +2931,10 @@ Nodes (10): Application Logs, DELETE `/api/v1/admin/logs`, GET `/api/v1/admin/lo
Cohesion: 0.53
Nodes (3): PaymentLog, PaymentLogRepository, ManagerRegistry
### Community 671 - "Community 671"
Cohesion: 0.33
Nodes (4): PatientMessage, PatientMessageRepository, ManagerRegistry, PatientRecord
### Community 672 - "Community 672"
Cohesion: 0.17
Nodes (11): تشخیص «ری‌استارت» سرور روی Coolify + رفع نویز لاگ + بررسی خطای ACME, زمینه, فایل‌های مرتبط, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. کاهش نویز لاگ workerها (بدون تغییر رفتار) (+3 more)
@@ -2949,8 +2944,8 @@ Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 676 - "Community 676"
Cohesion: 0.47
Nodes (3): PruneLogsCommand, InputInterface, OutputInterface
Cohesion: 0.38
Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User
### Community 681 - "Community 681"
Cohesion: 0.29
@@ -3018,7 +3013,7 @@ Nodes (4): Errors, GET `/oauth/userinfo`, Headers, Response `200`
### Community 717 - "Community 717"
Cohesion: 0.12
Nodes (6): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantInsuranceCleanupTest, TenantServiceCoverageRepository, ManagerRegistry, TenantServiceCoverage
Nodes (6): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage
### Community 718 - "Community 718"
Cohesion: 0.50
@@ -3032,13 +3027,9 @@ Nodes (3): Altcha(), AltchaProps, IntrinsicElements
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/admin/insurance`, Request Body (`application/json`), Response `201`
### Community 721 - "Community 721"
Cohesion: 0.67
Nodes (3): POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200`
### Community 724 - "Community 724"
Cohesion: 0.40
Nodes (5): GET `/api/v1/admin/financial-breakdowns`, GET `/api/v1/admin/financial-summary`, GET `/api/v1/admin/settings/tax-history`, GET `/api/v1/admin/settlement/{uuid}`, موتور مالی نمایندگی
Cohesion: 0.38
Nodes (3): FixIrimcNamesCommand, InputInterface, OutputInterface
### Community 725 - "Community 725"
Cohesion: 0.40
@@ -3072,6 +3063,10 @@ Nodes (4): 38. 🟢 `GET` Unapproved comments, هدرهای اضافی, پارا
Cohesion: 0.50
Nodes (4): 39. 🟡 `PATCH` Comment confirmation, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 736 - "Community 736"
Cohesion: 0.43
Nodes (4): DoctorImportController, JsonResponse, Request, User
### Community 737 - "Community 737"
Cohesion: 0.50
Nodes (4): Errors, POST `/oauth/token/refresh`, Request Body, Response `200`
@@ -3125,8 +3120,8 @@ Cohesion: 0.40
Nodes (3): Props, StatTone, TONE
### Community 759 - "Community 759"
Cohesion: 0.22
Nodes (4): RepositoryClassMappingTest, KernelTestCase, LoggerInterface, DbLoggerTest
Cohesion: 0.38
Nodes (3): RepositoryClassMappingTest, KernelTestCase, DbLoggerTest
### Community 760 - "Community 760"
Cohesion: 0.50
@@ -3144,9 +3139,13 @@ Nodes (4): 46. 🟡 `PATCH` patch, مثال Request, هدرهای اضافی, پ
Cohesion: 0.33
Nodes (6): GET /api/v1/sms/balance — موجودی حساب پیامک, POST /api/v1/sms/queue — افزودن به صف, ۴. سیستم حساب و صف پیامک, ۴.۱ حساب پیامک (SMS Account), ۴.۲ صف پیامک (SMS Queue), ۴.۳ API پیامک
### Community 764 - "Community 764"
Cohesion: 0.43
Nodes (3): SmsMessageController, JsonResponse, Request
### Community 765 - "Community 765"
Cohesion: 0.40
Nodes (5): Errors, Path Parameters, POST `/api/v1/admin/clinic/{uuid}/invite-doctor`, Request Body (`application/json`), Response `201`
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
### Community 766 - "Community 766"
Cohesion: 0.40
@@ -3197,8 +3196,8 @@ Cohesion: 0.67
Nodes (3): Errors, POST `/api/v1/sms/send` — ⛔ غیرفعال (Deprecated), Response `422` (همیشه)
### Community 778 - "Community 778"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/clinic/my-doctor/{doctorUuid}`, Path Parameters, Response `200`, Schedule Fields Notes
Cohesion: 0.43
Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry
### Community 779 - "Community 779"
Cohesion: 0.67
@@ -3213,76 +3212,64 @@ Cohesion: 0.67
Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها
### Community 782 - "Community 782"
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/doctor/{uuid}`, Path Parameters, Request Body (`application/json`), Response `200`
### Community 783 - "Community 783"
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Parameters, Request Body, Response `200`
Cohesion: 0.47
Nodes (3): SeedCategoriesCommand, InputInterface, OutputInterface
### Community 786 - "Community 786"
Cohesion: 0.50
Nodes (4): 45. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 787 - "Community 787"
Cohesion: 0.50
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
### Community 788 - "Community 788"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/doctor`, Request Body (`application/json`), Response `201`
Cohesion: 0.47
Nodes (6): formatPersianDate(), gToJ(), jFirstDayOfWeek(), PersianDateInput(), todayGregorian(), toPersianNums()
### Community 789 - "Community 789"
Cohesion: 0.17
Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope
### Community 790 - "Community 790"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/doctor/{uuid}`, Path Parameters, Response `200`
### Community 791 - "Community 791"
Cohesion: 0.50
Nodes (4): Errors, POST `/file/upload/clinic_pro/doctor/field_image`, Request, Response `200`
Cohesion: 0.53
Nodes (3): SessionServiceRepository, ManagerRegistry, SessionService
### Community 792 - "Community 792"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/clinic-pro/doctor-address`, Request Body, Response `201`
Cohesion: 0.40
Nodes (5): addMinutes(), calcSlotCount(), hasOverlap(), parseMinutes(), SessionEditor()
### Community 793 - "Community 793"
### Community 794 - "Community 794"
Cohesion: 0.50
Nodes (4): Errors, Path Parameters, POST `/api/v1/clinic-pro/doctor-address/from-clinic/{clinicUuid}`, Response `201`
Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Secretary Management
### Community 795 - "Community 795"
Cohesion: 0.50
Nodes (4): Errors, POST `/oauth/token`, Request Body, Response `200`
### Community 796 - "Community 796"
Cohesion: 0.67
Nodes (3): POST `/oauth/logout`, Request Body, Response `200`
Cohesion: 0.50
Nodes (4): extra, symfony, allow-contrib, require
### Community 797 - "Community 797"
Cohesion: 0.67
Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters, Response `200`
### Community 798 - "Community 798"
Cohesion: 0.67
Nodes (3): 36. 🟢 `GET` get my rate, هدرهای اضافی, پاسخ‌ها
Nodes (3): 29. 🟢 `GET` clinic list 🆕, پارامترهای Query, پاسخ‌ها
## Knowledge Gaps
- **4297 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `options`, `baseValues` (+4292 more)
- **4303 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `options`, `baseValues` (+4298 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **174 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **176 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `Altcha` connect `Community 367` to `Community 485`, `Community 719`?**
_High betweenness centrality (0.084) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 7`, `Community 138`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 15`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 424`, `Community 300`, `Community 433`, `Community 308`, `Community 696`, `Community 59`, `Community 318`, `Community 64`, `Community 75`, `Community 77`, `Community 463`, `Community 607`, `Community 480`, `Community 739`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 494`, `Community 499`, `Community 252`, `Community 245`, `Community 121`, `Community 122`, `Community 380`?**
_High betweenness centrality (0.039) - this node is a cross-community bridge._
- **Why does `MellatGateway` connect `Community 206` to `Community 16`, `Community 20`, `Community 759`?**
_High betweenness centrality (0.031) - this node is a cross-community bridge._
_High betweenness centrality (0.079) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 764`, `Community 6`, `Community 7`, `Community 138`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 15`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 424`, `Community 300`, `Community 433`, `Community 696`, `Community 59`, `Community 318`, `Community 64`, `Community 75`, `Community 77`, `Community 463`, `Community 607`, `Community 736`, `Community 480`, `Community 739`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 494`, `Community 499`, `Community 252`, `Community 245`, `Community 121`, `Community 122`, `Community 380`?**
_High betweenness centrality (0.051) - this node is a cross-community bridge._
- **Why does `Version20260705070546` connect `Community 646` to `Community 406`?**
_High betweenness centrality (0.029) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps` to the rest of the system?**
_4297 weakly-connected nodes found - possible documentation gaps or missing edges._
_4303 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.0414481897627965 - nodes in this community are weakly interconnected._
_Cohesion score 0.06756756756756757 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
_Cohesion score 0.029304029304029304 - nodes in this community are weakly interconnected._
_Cohesion score 0.028985507246376812 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
_Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._