Refactor code structure for improved readability and maintainability

This commit is contained in:
hamed
2026-07-13 10:15:49 +03:30
parent a4a17bf8c7
commit 960ac72f6e
27 changed files with 4270 additions and 1670 deletions
+44
View File
@@ -303,6 +303,50 @@ Returns paginated sessions for a patient record.
---
### List Patient Appointments
```
GET /api/v1/patient/{uuid}/appointments
```
نوبت‌های همین بیمار را برمی‌گرداند. برای جلوگیری از نشتِ اطلاعات بین ارائه‌دهنده‌ها، فقط نوبت‌هایی نمایش داده می‌شوند که با پزشک(های) خودِ صاحب پرونده گرفته شده‌اند:
- ارائه‌دهنده‌ی **پزشک**: نوبت‌های بیمار با همان پزشک.
- ارائه‌دهنده‌ی **کلینیک** (و منشیِ فعالِ کلینیک): نوبت‌های بیمار با پزشکانی که دعوت پذیرفته‌شده (`accepted`) در آن کلینیک دارند.
مرتب‌شده بر اساس `starts_at` نزولی. خروجی آرایه‌ی ساده است (بدون صفحه‌بندی).
**Response 200:**
```json
{
"success": true,
"data": [
{
"uuid": "…",
"starts_at": 1754000000,
"ends_at": 1754001800,
"status": "confirmed",
"doctor_name": "دکتر ژیلا فتحی",
"service_name": null,
"price_rials": null,
"created_at": 1754000000
}
]
}
```
`status` یکی از: `pending`، `confirmed`، `completed`، `cancelled_by_doctor`، `cancelled_by_user`، `no_show`، `expired`. فیلدهای `service_name`/`price_rials` فعلاً همیشه `null` هستند (نوبت خدمت/قیمت مستقل ندارد).
**Errors:**
| Code | HTTP | Description |
|------|------|-------------|
| `ERR_PATIENT_NOT_FOUND` | 404 | Record not found or not owned by caller |
| `ERR_SUBSCRIPTION_REQUIRED` | 403 | No `patient_records` feature |
---
### Create Session
```
+6 -2
View File
@@ -733,26 +733,30 @@
"731": "Community 731",
"732": "Community 732",
"733": "Community 733",
"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",
"749": "Community 749",
"750": "Community 750",
"751": "Community 751",
"752": "Community 752",
"753": "Community 753",
"754": "Community 754",
"755": "Community 755",
"756": "Community 756",
"757": "Community 757",
"759": "Community 759",
"760": "Community 760",
"761": "Community 761",
"763": "Community 763",
"764": "Community 764",
+188 -188
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-07-12)
# Graph Report - clinicpro (2026-07-13)
## Corpus Check
- 768 files · ~567,734 words
- 772 files · ~578,507 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 9637 nodes · 13372 edges · 762 communities (606 shown, 156 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 294 edges (avg confidence: 0.8)
- 9730 nodes · 13524 edges · 766 communities (605 shown, 161 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 300 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `ca66b86c`
- Built from commit: `5c09fe8a`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -735,24 +735,28 @@
- [[_COMMUNITY_Community 731|Community 731]]
- [[_COMMUNITY_Community 732|Community 732]]
- [[_COMMUNITY_Community 733|Community 733]]
- [[_COMMUNITY_Community 734|Community 734]]
- [[_COMMUNITY_Community 735|Community 735]]
- [[_COMMUNITY_Community 736|Community 736]]
- [[_COMMUNITY_Community 737|Community 737]]
- [[_COMMUNITY_Community 738|Community 738]]
- [[_COMMUNITY_Community 739|Community 739]]
- [[_COMMUNITY_Community 740|Community 740]]
- [[_COMMUNITY_Community 741|Community 741]]
- [[_COMMUNITY_Community 742|Community 742]]
- [[_COMMUNITY_Community 743|Community 743]]
- [[_COMMUNITY_Community 744|Community 744]]
- [[_COMMUNITY_Community 745|Community 745]]
- [[_COMMUNITY_Community 746|Community 746]]
- [[_COMMUNITY_Community 747|Community 747]]
- [[_COMMUNITY_Community 748|Community 748]]
- [[_COMMUNITY_Community 749|Community 749]]
- [[_COMMUNITY_Community 750|Community 750]]
- [[_COMMUNITY_Community 751|Community 751]]
- [[_COMMUNITY_Community 752|Community 752]]
- [[_COMMUNITY_Community 753|Community 753]]
- [[_COMMUNITY_Community 754|Community 754]]
- [[_COMMUNITY_Community 757|Community 757]]
- [[_COMMUNITY_Community 759|Community 759]]
- [[_COMMUNITY_Community 760|Community 760]]
- [[_COMMUNITY_Community 761|Community 761]]
- [[_COMMUNITY_Community 763|Community 763]]
- [[_COMMUNITY_Community 764|Community 764]]
@@ -769,10 +773,10 @@
4. `api` - 56 edges
5. `UserProfile` - 52 edges
6. `Clinic` - 50 edges
7. `useAuthStore` - 43 edges
8. `ApiResponse` - 42 edges
9. `AdminApiController` - 41 edges
10. `formatDate()` - 40 edges
7. `AdminApiController` - 45 edges
8. `useAuthStore` - 43 edges
9. `ApiResponse` - 42 edges
10. `formatDate()` - 42 edges
## Surprising Connections (you probably didn't know these)
- `ServiceTariffModal()` --calls--> `formatNumber()` [EXTRACTED]
@@ -781,19 +785,19 @@
assets/admin/components/ui/Pagination.tsx → assets/admin/lib/utils.ts
- `MyFinancialPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/MyFinancialPage.tsx → assets/admin/lib/utils.ts
- `RepresentationSettlementPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/RepresentationSettlementPage.tsx → assets/admin/lib/utils.ts
- `LogsPage()` --calls--> `formatDateTime()` [EXTRACTED]
assets/admin/pages/LogsPage.tsx → assets/admin/lib/utils.ts
- `SettlementsPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/SettlementsPage.tsx → assets/admin/lib/utils.ts
- `NewAppointmentModal()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/pages/AppointmentsPage.tsx → assets/admin/stores/authStore.ts
## Import Cycles
- None detected.
## Communities (762 total, 156 thin omitted)
## Communities (766 total, 161 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.05
Nodes (39): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, AddForm, addSchema (+31 more)
Nodes (41): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, DEGREE_OPTIONS, DoctorFormPage() (+33 more)
### Community 1 - "Community 1"
Cohesion: 0.03
@@ -809,7 +813,7 @@ Nodes (20): `RepresentationActionController` — welcome به‌صورت inline
### Community 4 - "Community 4"
Cohesion: 0.06
Nodes (8): DoctorService, Doctor, DoctorServiceRepository, Collection, self, User, WeeklySchedule, ManagerRegistry
Nodes (5): Doctor, Collection, self, User, WeeklySchedule
### Community 5 - "Community 5"
Cohesion: 0.07
@@ -820,12 +824,12 @@ Cohesion: 0.12
Nodes (12): SettlementController, SettlementRepository, WalletTransactionRepository, Settlement, JsonResponse, Request, User, ManagerRegistry (+4 more)
### Community 7 - "Community 7"
Cohesion: 0.07
Nodes (5): Clinic, Collection, Doctor, self, User
Cohesion: 0.06
Nodes (8): DoctorService, Clinic, DoctorServiceRepository, Collection, Doctor, self, User, ManagerRegistry
### Community 8 - "Community 8"
Cohesion: 0.13
Nodes (18): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+10 more)
Cohesion: 0.08
Nodes (27): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+19 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -844,8 +848,8 @@ 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 (39): get, PaymentConfig, PaymentGatewayInfo, api, ApiError, ApiResponse, downloadFile(), getToken() (+31 more)
Cohesion: 0.07
Nodes (24): get, api, ApiError, downloadFile(), getToken(), refreshOnce(), request(), { refreshMock, logoutMock } (+16 more)
### Community 14 - "Community 14"
Cohesion: 0.10
@@ -857,7 +861,7 @@ Nodes (7): PaymentController, Appointment, JsonResponse, Payment, Request, Respo
### Community 16 - "Community 16"
Cohesion: 0.06
Nodes (8): PatientSession, SmsWallet, AppLog, Appointment, Collection, PatientRecord, self, SessionService
Nodes (9): PatientSession, SmsWallet, LogPruneService, AppointmentExpiryService, Appointment, Collection, PatientRecord, self (+1 more)
### Community 17 - "Community 17"
Cohesion: 0.05
@@ -869,19 +873,19 @@ Nodes (38): API, API, API, API, API, Route, Route, Route (+30 more)
### Community 19 - "Community 19"
Cohesion: 0.06
Nodes (22): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+14 more)
Nodes (21): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+13 more)
### Community 20 - "Community 20"
Cohesion: 0.13
Nodes (4): AdminApiController, JsonResponse, Request, StreamedResponse
Cohesion: 0.12
Nodes (5): AdminApiController, RepresentationRepository, JsonResponse, Request, StreamedResponse
### Community 21 - "Community 21"
Cohesion: 0.04
Nodes (58): usePaymentConfig(), formatNumber(), formatRial(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema (+50 more)
Cohesion: 0.03
Nodes (60): FreeVisitPrice(), Pricing, usePaymentConfig(), formatNumber(), formatRial(), tomanToRial(), ClinicDetailPage(), AdminCharts (+52 more)
### Community 22 - "Community 22"
Cohesion: 0.12
Nodes (10): RatingController, Like, CommentListNPlusOneTest, LikeRepository, JsonResponse, Request, User, Comment (+2 more)
Cohesion: 0.15
Nodes (9): RatingController, Like, LikeRepository, JsonResponse, Request, User, Comment, ManagerRegistry (+1 more)
### Community 23 - "Community 23"
Cohesion: 0.05
@@ -901,7 +905,7 @@ Nodes (4): InsuranceController, JsonResponse, Request, User
### Community 27 - "Community 27"
Cohesion: 0.06
Nodes (35): 55. 🟢 `GET` all tag, 56. 🟢 `GET` supplementary_insurance, 57. 🟢 `GET` categories list, 58. 🟢 `GET` all state, 59. 🟢 `GET` all city, 60. 🟢 `GET` all specially doctor, 62. 🟡 `PATCH` patch, 63. 🔴 `DELETE` DELETE (+27 more)
Nodes (35): 55. 🟢 `GET` all tag, 56. 🟢 `GET` supplementary_insurance, 57. 🟢 `GET` categories list, 58. 🟢 `GET` all state, 59. 🟢 `GET` all city, 60. 🟢 `GET` all specially doctor, 61. 🔵 `POST` post, 63. 🔴 `DELETE` DELETE (+27 more)
### Community 28 - "Community 28"
Cohesion: 0.08
@@ -913,7 +917,7 @@ Nodes (35): Bulk import / export, DELETE `/api/v1/admin/city/{id}`, DELETE `/api
### Community 30 - "Community 30"
Cohesion: 0.06
Nodes (22): ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP, IRAN_CENTER (+14 more)
Nodes (31): cn(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile(), sanitizeMobileInput(), toDate(), toEnglishDigits() (+23 more)
### Community 31 - "Community 31"
Cohesion: 0.06
@@ -924,8 +928,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.09
Nodes (17): CoverageRow, Draft, KIND, TenantInsurance, ServiceTariffModal(), TariffResponse, TariffRow, EMPTY_ITEMS (+9 more)
Cohesion: 0.05
Nodes (33): CoverageRow, Draft, KIND, TenantInsurance, ServiceTariffModal(), TariffResponse, TariffRow, Contract (+25 more)
### Community 34 - "Community 34"
Cohesion: 0.06
@@ -944,8 +948,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.25
Nodes (8): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Notification Mobile (OTP), POST `/oauth/logout`, Request Body, Response `200`, Response `200`
Cohesion: 0.04
Nodes (47): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Error Codes, Error Codes, Error Codes, Errors, Errors, Errors (+39 more)
### Community 39 - "Community 39"
Cohesion: 0.12
@@ -988,8 +992,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.08
Nodes (19): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+11 more)
### Community 50 - "Community 50"
Cohesion: 0.07
@@ -1004,8 +1008,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 (15): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, PreRegistrationRepository, ProvinceRepository, SmsSettingsRepository, ServiceEntityRepository, SmsSettings (+7 more)
Cohesion: 0.07
Nodes (17): AppLogRepository, ClaimItemRepository, DoctorClaimRequestRepository, DoctorInsuranceRepository, PreRegistrationRepository, SiteConfigRepository, SubscriptionPlanRepository, ServiceEntityRepository (+9 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -1037,19 +1041,19 @@ Nodes (24): API های جدید که باید ساخته شوند, API های م
### Community 61 - "Community 61"
Cohesion: 0.08
Nodes (22): 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 (+14 more)
Nodes (24): 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 (+16 more)
### Community 62 - "Community 62"
Cohesion: 0.08
Nodes (25): Bulk import / export, DELETE `/api/v1/admin/specialty/{id}`, Errors, Errors, Errors, Errors, GET `/api/v1/admin/specialties`, GET `/api/v1/specialties` (+17 more)
Nodes (20): Bulk import / export, DELETE `/api/v1/admin/specialty/{id}`, Errors, Errors, Errors, GET `/api/v1/admin/specialties`, GET `/api/v1/specialties`, GET `/api/v1/specialties/doctor-counts` (+12 more)
### Community 63 - "Community 63"
Cohesion: 0.09
Nodes (28): FreeVisitPrice(), Pricing, cn(), formatDateTime(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile() (+20 more)
Cohesion: 0.16
Nodes (9): rialToToman(), FormValues, schema, SectionDef, SectionId, SECTIONS, Settings, TaxHistoryRow (+1 more)
### Community 64 - "Community 64"
Cohesion: 0.29
Nodes (4): SmsWalletController, JsonResponse, Request, User
Cohesion: 0.19
Nodes (7): SmsWalletController, SmsSettingsRepository, SmsSettings, JsonResponse, Request, User, ManagerRegistry
### Community 65 - "Community 65"
Cohesion: 0.08
@@ -1060,7 +1064,7 @@ Cohesion: 0.11
Nodes (4): Invoice, Collection, InvoiceItem, self
### Community 68 - "Community 68"
Cohesion: 0.12
Cohesion: 0.11
Nodes (4): ServiceItem, ClinicStaff, self, ServiceSection
### Community 69 - "Community 69"
@@ -1120,8 +1124,8 @@ Cohesion: 0.07
Nodes (30): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, core-js, @csstools/postcss-oklab-function, @hotwired/stimulus (+22 more)
### Community 86 - "Community 86"
Cohesion: 0.06
Nodes (15): AppointmentExpiryServiceTest, DateOverrideOwnershipTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemStaffOwnershipTest, EntityManagerInterface (+7 more)
Cohesion: 0.04
Nodes (18): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemDeleteCleanupTest, ServiceItemStaffOwnershipTest, UniqueConstraintsTest (+10 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1144,7 +1148,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"
@@ -1192,8 +1196,8 @@ Cohesion: 0.11
Nodes (18): `AdminApiController::paymentDetail` — الان فقط GET, `MellatGateway.php` — الگوی موجود REST/SOAP (پس از کار sandbox), `PaymentGatewayInterface.php`, `PaymentManager.php` — الگوی log و transaction, برگشت/استرداد وجه ملت از پنل ادمین (bpReversalRequest / bpRefundRequest), زمینه, فایل‌های مرتبط, نکات مهم (+10 more)
### Community 104 - "Community 104"
Cohesion: 0.35
Nodes (3): TagController, JsonResponse, Request
Cohesion: 0.18
Nodes (6): TagController, TagRepository, JsonResponse, Request, ManagerRegistry, Tag
### Community 105 - "Community 105"
Cohesion: 0.11
@@ -1208,8 +1212,8 @@ Cohesion: 0.33
Nodes (6): AppointmentController, Appointment, Doctor, JsonResponse, Request, User
### Community 108 - "Community 108"
Cohesion: 0.11
Nodes (13): CaptchaController, BaseController, CategoryController, DoctorImportController, SiteContextController, JsonResponse, JsonResponse, Request (+5 more)
Cohesion: 0.13
Nodes (11): BaseController, CategoryController, DoctorImportController, SiteContextController, JsonResponse, JsonResponse, Request, User (+3 more)
### Community 109 - "Community 109"
Cohesion: 0.29
@@ -1252,7 +1256,7 @@ Cohesion: 0.11
Nodes (17): بازطراحی UI/UX پنج صفحه کلینیک‌پرو, زمینه, سیستم CSS موجود, فایل‌های مرتبط, نکات مهم, وضعیت فعلی هر صفحه, وظایف, ۱. MyPatientsPage (+9 more)
### Community 119 - "Community 119"
Cohesion: 0.22
Cohesion: 0.21
Nodes (5): AppointmentRepository, Appointment, Doctor, ManagerRegistry, User
### Community 120 - "Community 120"
@@ -1416,8 +1420,8 @@ Cohesion: 0.13
Nodes (13): Architecture, Auth, Backend (PHP/Symfony), Backend — `src/`, Category / Bundle system, Commands, Database, First-time setup (+5 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
@@ -1440,8 +1444,8 @@ Cohesion: 0.10
Nodes (20): api.ir (استعلام هویت — Shahkar / IbanMatch), اتصال به دیتابیس‌های مستقل (الزامی), اسرار (الزامی — قبل از اولین دیپلوی), امنیت و منابع, بررسی سلامت, دامنه‌ها و CORS, دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro (Coolify + Docker Compose) (+12 more)
### Community 169 - "Community 169"
Cohesion: 0.22
Nodes (4): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, ManagerRegistry
Cohesion: 0.05
Nodes (42): formatDateTime(), ALL_STATUSES, AppointmentDetailPage(), timeOf(), LogsPage(), VisitDetailModal(), PAYMENT_TYPE_LABELS, PaymentDetailPage() (+34 more)
### Community 170 - "Community 170"
Cohesion: 0.13
@@ -1460,8 +1464,8 @@ Cohesion: 0.14
Nodes (13): compilerOptions, allowSyntheticDefaultImports, esModuleInterop, jsx, module, moduleResolution, paths, skipLibCheck (+5 more)
### Community 174 - "Community 174"
Cohesion: 0.14
Nodes (14): Doctor Management, Errors, Errors, GET `/api/v1/admin/doctors`, GET `/api/v1/admin/doctors/stats`, POST `/api/v1/admin/clinic`, POST `/api/v1/admin/doctors`, POST `/api/v1/admin/doctors/{uuid}/status` (+6 more)
Cohesion: 0.12
Nodes (17): Doctor Management, Errors, Errors, Errors, GET `/api/v1/admin/doctors`, GET `/api/v1/admin/doctors/stats`, POST `/api/v1/admin/clinic`, POST `/api/v1/admin/doctors` (+9 more)
### Community 175 - "Community 175"
Cohesion: 0.13
@@ -1560,8 +1564,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.12
Nodes (16): Admin API, Clinic Invitation Management, Dashboard, GET `/api/v1/admin/dashboard/charts`, GET `/api/v1/admin/dashboard/recent`, GET `/api/v1/admin/dashboard/stats`, GET `/api/v1/admin/pre-registrations`, GET /api/v1/admin/settings (+8 more)
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)
### Community 202 - "Community 202"
Cohesion: 0.15
@@ -1572,16 +1576,16 @@ Cohesion: 0.15
Nodes (12): Clinic Services API, DELETE /api/v1/service-item/{uuid}, DELETE /api/v1/service-section/{uuid}, GET /api/v1/service-items/{sectionUuid}, GET /api/v1/service-items/{uuid}/tariffs, GET /api/v1/service-sections, PATCH /api/v1/service-item/{uuid}, PATCH /api/v1/service-section/{uuid} (+4 more)
### Community 204 - "Community 204"
Cohesion: 0.21
Nodes (6): AuthenticationException, ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, ResponseEvent
Cohesion: 0.23
Nodes (5): ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, ResponseEvent
### Community 205 - "Community 205"
Cohesion: 0.21
Nodes (4): SeedDemoDataCommand, InputInterface, OutputInterface, SymfonyStyle
### Community 206 - "Community 206"
Cohesion: 0.08
Nodes (14): MellatGateway, MockGateway, SepGateway, SoapClient, PaymentGatewayInterface, PaymentInitResult, PaymentRefundResult, PaymentVerifyResult (+6 more)
Cohesion: 0.21
Nodes (5): MellatGateway, SoapClient, PaymentInitResult, PaymentRefundResult, PaymentVerifyResult
### Community 207 - "Community 207"
Cohesion: 0.15
@@ -1641,7 +1645,7 @@ Nodes (5): PaymentRepository, Appointment, ManagerRegistry, Payment, User
### Community 225 - "Community 225"
Cohesion: 0.05
Nodes (32): formatDate(), Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META (+24 more)
Nodes (28): formatDate(), Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META (+20 more)
### Community 226 - "Community 226"
Cohesion: 0.15
@@ -1657,7 +1661,7 @@ Nodes (47): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE
### Community 229 - "Community 229"
Cohesion: 0.14
Nodes (13): DELETE `/api/v1/representation/{uuid}`, Errors, Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, GET `/api/v1/site-context`, Path Parameters, Query Parameters, Query Parameters (+5 more)
Nodes (13): Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, GET `/api/v1/representation/{uuid}/dashboard/yearly`, GET `/api/v1/site-context`, Path Parameters, Query Parameters, Query Parameters, Query Parameters (+5 more)
### Community 230 - "Community 230"
Cohesion: 0.35
@@ -1716,8 +1720,8 @@ Cohesion: 0.28
Nodes (4): SubscriptionService, ClinicSubscription, Payment, SubscriptionPlan
### Community 245 - "Community 245"
Cohesion: 0.14
Nodes (10): ChargeForm, chargeSchema, EMPTY_LOGS, POST_VISIT_VARS, REMINDER_HOUR_OPTIONS, SmsSettings, SmsWalletBalance, SmsWalletLog (+2 more)
Cohesion: 0.09
Nodes (18): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+10 more)
### Community 246 - "Community 246"
Cohesion: 0.17
@@ -1736,8 +1740,8 @@ Cohesion: 0.17
Nodes (11): Endpoint ها, تسک ۱۸: ماژول تسویه نماینده (Settlement), توضیح, زمان تخمینی, فلوی کمیسیون (از مستند), نمونه Request — POST /api/v1/representation/{id}/settlement, نمونه Response — GET /api/v1/representation/{id}/wallet, نمونه Response — GET /api/v1/representation/{id}/wallet/transactions (+3 more)
### Community 250 - "Community 250"
Cohesion: 0.18
Nodes (11): Appointment Management, Error Responses, GET `/api/v1/admin/appointments`, GET `/api/v1/admin/appointments/today-stats`, POST `/api/v1/admin/appointment`, Query Parameters, Query Parameters, Request Body (+3 more)
Cohesion: 0.17
Nodes (12): Appointment Management, Error Responses, GET `/api/v1/admin/appointments`, GET `/api/v1/admin/appointments/today-stats`, POST `/api/v1/admin/appointment`, Query Parameters, Query Parameters, Request Body (+4 more)
### Community 251 - "Community 251"
Cohesion: 0.11
@@ -1792,8 +1796,8 @@ Cohesion: 0.30
Nodes (4): RepresentationRepository, ManagerRegistry, Representation, User
### Community 265 - "Community 265"
Cohesion: 0.08
Nodes (27): calcFinalPrice(), EMPTY_RECORDS, EMPTY_SESSIONS, fileNumber(), getPatientName(), getPatientPhone(), InsurancePricing, MyPatientsPageInner() (+19 more)
Cohesion: 0.11
Nodes (22): APPT_ACTIVE_STATUSES, APPT_STATUS_BADGE, APPT_STATUS_LABELS, calcFinalPrice(), EMPTY_RECORDS, EMPTY_SESSIONS, fileNumber(), getPatientName() (+14 more)
### Community 266 - "Community 266"
Cohesion: 0.33
@@ -1828,12 +1832,12 @@ Cohesion: 0.18
Nodes (10): Endpoint های موجود که تغییر می‌کنند, GET /api/v1/admin/dashboard/charts?from=UNIX&to=UNIX, GET /api/v1/dashboard/clinic, GET /api/v1/dashboard/doctor, تسک ۱۶: داشبورد هوشمند — چارت + فیلتر زمانی, توضیح, زمان تخمینی, فیلتر بازه زمانی (+2 more)
### Community 274 - "Community 274"
Cohesion: 0.16
Cohesion: 0.40
Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope
### Community 275 - "Community 275"
Cohesion: 0.11
Nodes (6): BillingCalculatorTest, BillingCalculator, ErrorCodesTest, KavehNegarProviderTest, TestCase, KavehNegarProvider
Cohesion: 0.17
Nodes (6): MellatGateway, MellatGatewayTest, ErrorCodesTest, KavehNegarProviderTest, TestCase, KavehNegarProvider
### Community 276 - "Community 276"
Cohesion: 0.20
@@ -1864,7 +1868,7 @@ Cohesion: 0.23
Nodes (4): ClaimRepository, Claim, ManagerRegistry, QueryBuilder
### Community 284 - "Community 284"
Cohesion: 0.36
Cohesion: 0.33
Nodes (4): ClinicDoctorInvitationRepository, ClinicDoctorInvitation, Doctor, ManagerRegistry
### Community 285 - "Community 285"
@@ -1904,8 +1908,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.29
Nodes (6): AbstractAuthenticator, Passport, PasswordAuthenticator, Request, Response, TokenInterface
Cohesion: 0.27
Nodes (7): AbstractAuthenticator, AuthenticationException, Passport, PasswordAuthenticator, Request, Response, TokenInterface
### Community 295 - "Community 295"
Cohesion: 0.20
@@ -1916,8 +1920,8 @@ Cohesion: 0.22
Nodes (9): Clinic Management, DELETE `/api/v1/admin/clinic/{uuid}`, Errors, GET `/api/v1/admin/clinics`, PATCH `/api/v1/admin/clinic/{uuid}/status`, Query Parameters, Response `200`, Response `200` (+1 more)
### Community 297 - "Community 297"
Cohesion: 0.22
Nodes (9): DELETE `/api/v1/representation/iban/{id}`, Errors, Errors, GET `/api/v1/representation/doctors/stats`, GET `/api/v1/representation/me`, Response `200`, Response `200`, Response `200` (+1 more)
Cohesion: 0.15
Nodes (13): DELETE `/api/v1/representation/iban/{id}`, Errors, Errors, Errors, GET `/api/v1/representation/doctors`, GET `/api/v1/representation/doctors/stats`, GET `/api/v1/representation/me`, Query Parameters (+5 more)
### Community 298 - "Community 298"
Cohesion: 0.22
@@ -1932,8 +1936,8 @@ Cohesion: 0.42
Nodes (3): PreRegistrationController, JsonResponse, Request
### Community 301 - "Community 301"
Cohesion: 0.08
Nodes (21): Contract, InsuranceOption, KIND_LABEL, AdminDoctor, DEGREE_BADGE, DEGREE_LABEL, DoctorsPage(), DoctorStats (+13 more)
Cohesion: 0.18
Nodes (9): AdminUser, ASSIGNABLE_ROLES, ChangeRoleModal(), getPrimaryRole(), HUES_LIST, ROLE_META, ROLE_TABS, RoleBadge() (+1 more)
### Community 302 - "Community 302"
Cohesion: 0.12
@@ -1945,7 +1949,7 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر
### Community 304 - "Community 304"
Cohesion: 0.22
Nodes (9): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 36. 🟢 `GET` get my rate, 6. کلینیک (Clinic), هدرهای اضافی, پارامترهای Query, پاسخ‌ها, پاسخ‌ها (+1 more)
Nodes (9): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 42. 🔴 `DELETE` delete, 6. کلینیک (Clinic), هدرهای اضافی, پارامترهای Query, پاسخ‌ها, پاسخ‌ها (+1 more)
### Community 306 - "Community 306"
Cohesion: 0.07
@@ -1988,8 +1992,8 @@ Cohesion: 0.39
Nodes (4): SubscriptionPeriodRepository, ManagerRegistry, SubscriptionPeriod, SubscriptionPlan
### Community 316 - "Community 316"
Cohesion: 0.31
Nodes (3): SubscriptionPlanRepository, ManagerRegistry, SubscriptionPlan
Cohesion: 0.12
Nodes (15): mapping صفحات clinicpro → فریم فیگما, الف-۱. توکن‌های رنگ (light + dark), الف-۲. سلکتور رنگ کاربر, الف-۳. ابعاد و رفتار layout, الف-۴. شعاع‌ها و input/button, الف-۵. کامپوننت‌های مشترک مطابق فیگما, ایندکس فریم‌های فیگما (۴ section، node-id دسکتاپ), بخش الف — سیستم طراحی مشترک (یک‌بار، پایه‌ی همه‌ی صفحات) (+7 more)
### Community 318 - "Community 318"
Cohesion: 0.22
@@ -2044,8 +2048,8 @@ Cohesion: 0.22
Nodes (8): Query های جدید, بیماران منحصربه‌فرد در بازه, درآمد بر اساس روز (از patient_sessions), فروش اشتراک بر اساس پنل (admin), نوبت‌ها بر اساس روز (admin chart), نکات مهم, هیچ migration لازم نیست, پایگاه داده — تسک ۱۶: داشبورد هوشمند
### Community 333 - "Community 333"
Cohesion: 0.05
Nodes (39): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, DELETE `/api/v1/doctor/{uuid}`, Doctor API, Errors, Errors, Errors, Errors, Errors (+31 more)
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`
### Community 334 - "Community 334"
Cohesion: 0.25
@@ -2068,8 +2072,8 @@ Cohesion: 0.39
Nodes (5): JsonContains, FunctionNode, Node, Parser, SqlWalker
### Community 340 - "Community 340"
Cohesion: 0.03
Nodes (85): PaginatedResponse, ALL_STATUSES, FILTERS, DoctorClaim, FILTERS, METHOD_LABEL, STATUS_BADGE, LEVEL_FILTER_OPTIONS (+77 more)
Cohesion: 0.04
Nodes (58): PaymentConfig, PaymentGatewayInfo, ApiResponse, PaginatedResponse, STATUS_FILTERS, AddForm, addSchema, ClinicsPage() (+50 more)
### Community 341 - "Community 341"
Cohesion: 0.12
@@ -2264,8 +2268,8 @@ Cohesion: 0.29
Nodes (6): ترتیب پیشنهادی اجرا, تسک‌های پیاده‌سازی ClinicPro در Symfony, خلاصه پروژه, دستورات DDEV پرکاربرد, ساختار هر تسک, لیست تسک‌ها به ترتیب اولویت
### Community 391 - "Community 391"
Cohesion: 0.33
Nodes (6): GET `/api/v1/admin/sms/logs`, GET `/api/v1/admin/sms/templates`, Query Parameters, Response `200`, Response `200`, SMS Management (Admin)
Cohesion: 0.13
Nodes (14): زمینه, فایل‌های مرتبط, مشکل / هدف, نمایش تعلق دکتر به نماینده + صفحه‌ی نماینده با تعداد دکتر و نوبت, نکات مهم, وضعیت فعلی, وظایف, ۱. Backend — expose نماینده روی جزئیات دکتر (`show()`) (+6 more)
### Community 392 - "Community 392"
Cohesion: 0.67
@@ -2291,10 +2295,6 @@ Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doct
Cohesion: 0.22
Nodes (7): initiate(), refund(), reverse(), verify(), PaymentInitResult, PaymentRefundResult, PaymentVerifyResult
### Community 399 - "Community 399"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260609130407, Schema, Version20260610175105
### Community 401 - "Community 401"
Cohesion: 0.12
Nodes (15): `lib/utils.ts`, `SettingsPage.tsx` (ورودی‌ها ریال ذخیره می‌شوند), زمینه, فایل‌های مرتبط, مشکل / هدف, نمونهٔ نمایش (Subscription), نکات مهم, واحد پول = تومان در پنل ادمین (نمایش ÷۱۰ / ورودی ×۱۰) — ذخیره و درگاه ریال می‌ماند (+7 more)
@@ -2304,7 +2304,7 @@ Cohesion: 0.11
Nodes (17): بازطراحی معماری پرداخت — سرویس‌محور، امن، توسعه‌پذیر (Backend), تست دستی (ddev، در حالت `payment_test_mode=1`), خروجی نهایی (طبق spec — در گزارش اجرا ارائه شود), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (+9 more)
### Community 407 - "Community 407"
Cohesion: 0.27
Cohesion: 0.24
Nodes (8): MessageBusInterface, MockObject, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver, KavehNegarProvider
### Community 414 - "Community 414"
@@ -2332,7 +2332,7 @@ Cohesion: 0.12
Nodes (16): backend (آماده — فقط annotation/doc ناقص), افزودن فیلد «تاریخ شروع فعالیت» (سال تجربه) در پنل ادمین با تقویم شمسی, زمینه, فایل‌های مرتبط, فرم ساخت پزشک — `DoctorFormPage.tsx` (خط ~282), فرم ویرایش پزشک — `DoctorDetailPage.tsx` (وضعیت فعلی، بدون فیلد تاریخ), مشکل / هدف, نکات مهم (+8 more)
### Community 433 - "Community 433"
Cohesion: 0.35
Cohesion: 0.33
Nodes (5): PatientController, JsonResponse, PatientSession, Request, User
### Community 435 - "Community 435"
@@ -2360,8 +2360,8 @@ Cohesion: 0.24
Nodes (10): gridItemStyle, JALALI_MONTHS, jalaliFirstWeekday(), jalaliToGregorian(), navBtnStyle, PersianCalendar(), pf, Props (+2 more)
### Community 459 - "Community 459"
Cohesion: 0.33
Nodes (6): API موجود (نیاز به تغییر ندارند), اپیک‌ها, اپیک ۳ — منشی (Secretary) — تکمیل, تغییرات مورد نیاز, توضیح, نیازمندی‌های کارکردی
Cohesion: 0.40
Nodes (5): API موجود (نیاز به تغییر ندارند), اپیک ۳ — منشی (Secretary) — تکمیل, تغییرات مورد نیاز, توضیح, نیازمندی‌های کارکردی
### Community 460 - "Community 460"
Cohesion: 0.33
@@ -2467,10 +2467,6 @@ Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User
Cohesion: 0.12
Nodes (15): `Modal.tsx` (بدون Portal), `PersianCalendar.tsx` (buttonها بدون `type`) — نمونه‌ها, باگ ۱ — علت, باگ ۲ — علت, رفع دو باگ Modal و تقویم شمسی در پنل ادمین, زمینه, فایل‌های مرتبط, مشکل / هدف (+7 more)
### Community 492 - "Community 492"
Cohesion: 0.18
Nodes (4): KavehNegarProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 493 - "Community 493"
Cohesion: 0.20
Nodes (9): Backend Audit Backlog — ClinicPro, ☐ CRITICAL, ✅ DONE (committed on backend-audit), ☐ EPICS (design debt — cross-repo, defer; do NOT quick-fix), ☐ HIGH, ☐ LOW, ☐ MEDIUM, Progress (this audit session) (+1 more)
@@ -2483,10 +2479,6 @@ Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
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.23
Nodes (4): GatewayFactory, MellatGateway, MellatGatewayTest, SepGateway
### Community 497 - "Community 497"
Cohesion: 0.53
Nodes (3): SlotUniquenessTest, Appointment, Doctor
@@ -2500,8 +2492,8 @@ Cohesion: 0.36
Nodes (4): ClinicInvitationWebController, ClinicDoctorInvitation, Request, Response
### Community 500 - "Community 500"
Cohesion: 0.40
Nodes (5): API موجود (نیاز به endpoint جدید ندارد), اپیک ۷ — داشبورد هوشمند (Smart Dashboard), تغییر مورد نیاز, توضیح, نیازمندی‌های کارکردی
Cohesion: 0.33
Nodes (6): API موجود (نیاز به endpoint جدید ندارد), اپیک‌ها, اپیک ۷ — داشبورد هوشمند (Smart Dashboard), تغییر مورد نیاز, توضیح, نیازمندی‌های کارکردی
### Community 501 - "Community 501"
Cohesion: 0.40
@@ -2591,13 +2583,17 @@ Nodes (12): ارسال پیامک OTP فقط از طریق Kavenegar VerifyLooku
Cohesion: 0.13
Nodes (14): Doctor Profile Claim API (تصاحب پروفایل پزشک ایمپورت‌شده), env های مرتبط, Errors, GET `/api/v1/admin/doctor-claims`, GET `/api/v1/doctor/{uuid}/claim-info`, POST `/api/v1/admin/doctors/{uuid}/transfer`, POST `/api/v1/doctor/{uuid}/claim`, Request (+6 more)
### Community 527 - "Community 527"
Cohesion: 0.16
Nodes (4): RanginehProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 528 - "Community 528"
Cohesion: 0.47
Nodes (3): CommissionService, Payment, Representation
### Community 529 - "Community 529"
Cohesion: 0.50
Nodes (4): Errors, POST `/oauth/token/refresh`, Request Body, Response `200`
Cohesion: 0.18
Nodes (5): MockGateway, PaymentGatewayInterface, PaymentInitResult, PaymentRefundResult, PaymentVerifyResult
### Community 531 - "Community 531"
Cohesion: 0.42
@@ -2608,8 +2604,8 @@ Cohesion: 0.33
Nodes (4): PatientService, Appointment, PatientRecord, PatientSession
### Community 533 - "Community 533"
Cohesion: 0.31
Nodes (4): BaseKernel, Closure, MicroKernelTrait, Kernel
Cohesion: 0.19
Nodes (6): BaseKernel, Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface, MicroKernelTrait, Kernel
### Community 534 - "Community 534"
Cohesion: 0.30
@@ -2623,6 +2619,10 @@ Nodes (15): `MellatGateway.php` — ثابت‌ها و مسیر prod فعلی (P
Cohesion: 0.15
Nodes (12): اجبار ارسال همه پیامک‌ها از طریق Kavenegar VerifyLookup (حذف مسیر send.json خام), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
### Community 538 - "Community 538"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260628165710, Schema, Version20260707202553
### Community 539 - "Community 539"
Cohesion: 0.22
Nodes (3): AppException, SlotTakenException, RuntimeException
@@ -2699,10 +2699,6 @@ Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, Ma
Cohesion: 0.50
Nodes (4): GET /api/v1/sms/wallet/balance, GET /api/v1/sms/wallet/logs, POST /api/v1/sms/wallet/charge, SMS Wallet
### Community 561 - "Community 561"
Cohesion: 0.29
Nodes (3): CorsRegexEnvProcessor, EnvVarProcessorInterface, CorsRegexEnvProcessorTest
### Community 563 - "Community 563"
Cohesion: 0.67
Nodes (3): submit(), Claim, ClaimSubmissionResult
@@ -2824,8 +2820,8 @@ Cohesion: 0.67
Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان)
### Community 618 - "Community 618"
Cohesion: 0.12
Nodes (6): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage
Cohesion: 0.13
Nodes (7): EntityInsurancePricing, EntityInsurancePricingRepository, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, ManagerRegistry, TenantServiceCoverage
### Community 625 - "Community 625"
Cohesion: 0.40
@@ -2836,12 +2832,12 @@ Cohesion: 0.23
Nodes (7): Money, BillingCalculator, InvoiceService, CoverageRule, ShareBreakdown, Invoice, PatientSession
### Community 631 - "Community 631"
Cohesion: 0.15
Nodes (6): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, FinancialBreakdownIntegrityTest, ManagerRegistry, Payment
Cohesion: 0.39
Nodes (4): FinancialBreakdown, FinancialBreakdownRepository, ManagerRegistry, Payment
### Community 632 - "Community 632"
Cohesion: 0.39
Nodes (3): TagRepository, ManagerRegistry, Tag
Cohesion: 0.23
Nodes (4): SepGateway, PaymentInitResult, PaymentRefundResult, PaymentVerifyResult
### Community 633 - "Community 633"
Cohesion: 0.40
@@ -2875,12 +2871,8 @@ Nodes (13): زمینه, فایل‌های مرتبط, مشکل / هدف, نکا
Cohesion: 0.14
Nodes (13): زمینه, فایل‌های مرتبط, قیمت هر پیامک در تنظیمات + رفع تنظیمات ارسال پیامک کیف‌پول, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+5 more)
### Community 652 - "Community 652"
Cohesion: 0.50
Nodes (4): Error Codes, POST `/api/v1/pre-registration`, Request Body, Response `200`
### Community 654 - "Community 654"
Cohesion: 0.35
Cohesion: 0.31
Nodes (6): DashboardController, Clinic, DoctorSecretary, JsonResponse, Request, User
### Community 655 - "Community 655"
@@ -2911,6 +2903,10 @@ Nodes (5): 32. 🔵 `POST` post, Request Body, مثال Request, هدرهای ا
Cohesion: 0.20
Nodes (10): Application Logs, DELETE `/api/v1/admin/logs`, GET `/api/v1/admin/logs`, GET `/api/v1/admin/logs/export`, Log Retention, Query Parameters, Query Parameters, Response `200` (+2 more)
### Community 666 - "Community 666"
Cohesion: 0.28
Nodes (6): IbanItem, isValidIranIban(), RepProfile, RepresentationProfilePage(), toLatinDigits(), unwrap()
### Community 667 - "Community 667"
Cohesion: 0.40
Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
@@ -2924,8 +2920,8 @@ Cohesion: 0.17
Nodes (11): تشخیص «ری‌استارت» سرور روی Coolify + رفع نویز لاگ + بررسی خطای ACME, زمینه, فایل‌های مرتبط, نکات مهم, وضعیت فعلی, وظایف, پروژه, ۱. کاهش نویز لاگ workerها (بدون تغییر رفتار) (+3 more)
### Community 675 - "Community 675"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Secretary Management
Cohesion: 0.39
Nodes (3): ProvinceRepository, ManagerRegistry, Province
### Community 676 - "Community 676"
Cohesion: 0.40
@@ -2940,12 +2936,8 @@ Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 681 - "Community 681"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/auth/switch-context`, Request Body, Response `200`
### Community 684 - "Community 684"
Cohesion: 0.50
Nodes (4): Error Codes, POST `/api/v1/user/otp-login`, Request Body, Response `200`
Cohesion: 0.29
Nodes (7): Dashboard, GET `/api/v1/admin/dashboard/charts`, GET `/api/v1/admin/dashboard/recent`, GET `/api/v1/admin/dashboard/stats`, Response `200`, Response `200`, Response `200`
### Community 686 - "Community 686"
Cohesion: 0.40
@@ -2964,12 +2956,8 @@ Cohesion: 0.43
Nodes (3): CategoryImportController, JsonResponse, Request
### Community 692 - "Community 692"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/representations`, Query Parameters, Representation Management, Response `200`
### Community 694 - "Community 694"
Cohesion: 0.50
Nodes (4): Error Codes, POST `/api/v1/user/reset-password`, Request Body, Response `200`
Cohesion: 0.12
Nodes (16): Errors, Errors, Errors, GET `/api/v1/admin/representations`, GET `/api/v1/admin/representations/{uuid}/appointments`, GET `/api/v1/admin/representations/{uuid}/doctors`, POST `/api/v1/admin/representations/{uuid}/doctors`, Query Parameters (+8 more)
### Community 695 - "Community 695"
Cohesion: 0.67
@@ -2991,21 +2979,13 @@ Nodes (3): SessionServiceRepository, ManagerRegistry, SessionService
Cohesion: 0.17
Nodes (11): رفع خطای `Class "SoapClient" not found` در پرداخت ملت (سرور prod), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more)
### Community 703 - "Community 703"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/send-code`, Request Body, Response `200`
### Community 706 - "Community 706"
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
### Community 707 - "Community 707"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/register`, Request Body, Response `201`
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Parameters, Request Body, Response `200`
### Community 708 - "Community 708"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/login`, Request Body, Response `200`
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/admin/specialty/{id}`, Path Parameters, Request Body (all optional), Response `200`
### Community 710 - "Community 710"
Cohesion: 0.50
@@ -3017,24 +2997,16 @@ Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای ا
### Community 714 - "Community 714"
Cohesion: 0.40
Nodes (5): 61. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
Nodes (5): 62. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 716 - "Community 716"
Cohesion: 0.50
Nodes (4): Errors, GET `/oauth/userinfo`, Headers, Response `200`
### Community 717 - "Community 717"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/notification-mobile/verify`, Request Body, Response `200`
### Community 718 - "Community 718"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/verify-code`, Request Body, Response `200`
### Community 719 - "Community 719"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/admin/insurances`, Query Parameters, Response `200`
### Community 720 - "Community 720"
Cohesion: 0.50
Nodes (4): 39. 🟡 `PATCH` Comment confirmation, مثال Request, هدرهای اضافی, پاسخ‌ها
@@ -3051,9 +3023,13 @@ Nodes (4): 44. 🟢 `GET` list comment, هدرهای اضافی, پارامتر
Cohesion: 0.50
Nodes (4): 45. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 725 - "Community 725"
Cohesion: 0.50
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
### Community 726 - "Community 726"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/representation/doctors`, Query Parameters, Response `200`
Nodes (4): Errors, POST `/api/v1/doctor`, Request Body (`application/json`), Response `201`
### Community 727 - "Community 727"
Cohesion: 0.50
@@ -3072,20 +3048,32 @@ Cohesion: 0.50
Nodes (4): 46. 🟡 `PATCH` patch, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 731 - "Community 731"
Cohesion: 0.67
Nodes (3): Errors, GET `/api/v1/notification-mobile/{target}`, Response `200`
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/doctor/{uuid}`, Path Parameters, Response `200`
### Community 732 - "Community 732"
Cohesion: 0.67
Nodes (3): 42. 🔴 `DELETE` delete, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.50
Nodes (4): Errors, POST `/file/upload/clinic_pro/doctor/field_image`, Request, Response `200`
### Community 733 - "Community 733"
Cohesion: 0.67
Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها
### Community 734 - "Community 734"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/clinic-pro/doctor-address`, Request Body, Response `201`
### Community 735 - "Community 735"
Cohesion: 0.50
Nodes (4): Errors, Path Parameters, POST `/api/v1/clinic-pro/doctor-address/from-clinic/{clinicUuid}`, Response `201`
### Community 736 - "Community 736"
Cohesion: 0.67
Nodes (3): GET `/api/v1/representation/{uuid}/dashboard/yearly`, Query Parameters, Response `200`
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/admin/insurance`, Request Body (`application/json`), Response `201`
### Community 737 - "Community 737"
Cohesion: 0.50
Nodes (4): extra, symfony, allow-contrib, require
### Community 738 - "Community 738"
Cohesion: 0.50
@@ -3095,10 +3083,18 @@ Nodes (4): Errors, GET `/api/v1/representation/{uuid}`, Path Parameters, Respons
Cohesion: 0.38
Nodes (4): DoctorClaimController, JsonResponse, Request, User
### Community 741 - "Community 741"
Cohesion: 0.67
Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters, Response `200`
### Community 744 - "Community 744"
Cohesion: 0.33
Nodes (5): DoctorImportResult, DoctorImportService, Collection, Doctor, User
### Community 745 - "Community 745"
Cohesion: 0.67
Nodes (3): DELETE `/api/v1/representation/{uuid}`, Errors, Response `200`
### Community 748 - "Community 748"
Cohesion: 0.38
Nodes (3): BackfillSurrogateRoleCommand, InputInterface, OutputInterface
@@ -3107,17 +3103,21 @@ Nodes (3): BackfillSurrogateRoleCommand, InputInterface, OutputInterface
Cohesion: 0.38
Nodes (3): CreateAdminCommand, InputInterface, OutputInterface
### Community 751 - "Community 751"
Cohesion: 0.67
Nodes (3): 36. 🟢 `GET` get my rate, هدرهای اضافی, پاسخ‌ها
### Community 753 - "Community 753"
Cohesion: 0.38
Nodes (3): FixIrimcNamesCommand, InputInterface, OutputInterface
### Community 757 - "Community 757"
Cohesion: 0.38
Nodes (3): SystemOwnerCommand, InputInterface, OutputInterface
Cohesion: 0.19
Nodes (6): SystemOwnerCommand, HealthController, EntityManagerInterface, InputInterface, OutputInterface, JsonResponse
### Community 759 - "Community 759"
Cohesion: 0.38
Nodes (3): RepositoryClassMappingTest, KernelTestCase, DbLoggerTest
Cohesion: 0.20
Nodes (4): RepositoryClassMappingTest, KernelTestCase, LoggerInterface, DbLoggerTest
### Community 761 - "Community 761"
Cohesion: 0.47
@@ -3152,23 +3152,23 @@ Cohesion: 0.67
Nodes (3): POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200`
## Knowledge Gaps
- **4168 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `TenantInsurance`, `CoverageRow` (+4163 more)
- **4217 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `TenantInsurance`, `CoverageRow` (+4212 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **156 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **161 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 0`, `Community 485`?**
_High betweenness centrality (0.067) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 6`, `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 690`, `Community 308`, `Community 58`, `Community 59`, `Community 318`, `Community 64`, `Community 577`, `Community 75`, `Community 77`, `Community 607`, `Community 480`, `Community 739`, `Community 483`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 499`, `Community 252`, `Community 121`, `Community 122`, `Community 380`?**
_High betweenness centrality (0.039) - this node is a cross-community bridge._
- **Why does `Version20260705070546` connect `Community 646` to `Community 399`?**
_High betweenness centrality (0.024) - this node is a cross-community bridge._
_High betweenness centrality (0.074) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 6`, `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 684`, `Community 300`, `Community 433`, `Community 690`, `Community 308`, `Community 58`, `Community 59`, `Community 318`, `Community 64`, `Community 577`, `Community 75`, `Community 77`, `Community 607`, `Community 480`, `Community 739`, `Community 483`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 499`, `Community 252`, `Community 121`, `Community 122`, `Community 380`?**
_High betweenness centrality (0.048) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 640`, `Community 397`, `Community 531`, `Community 534`, `Community 535`, `Community 541`, `Community 562`, `Community 565`, `Community 574`, `Community 575`, `Community 705`, `Community 713`, `Community 717`, `Community 719`, `Community 594`, `Community 82`, `Community 609`, `Community 484`, `Community 486`, `Community 743`, `Community 497`, `Community 757`?**
_High betweenness centrality (0.026) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps` to the rest of the system?**
_4168 weakly-connected nodes found - possible documentation gaps or missing edges._
_4217 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.0514216575922565 - nodes in this community are weakly interconnected._
_Cohesion score 0.048087431693989074 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
_Cohesion score 0.028985507246376812 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260713050114_php", "label": "Version20260713050114.php", "file_type": "code", "source_file": "migrations/Version20260713050114.php", "source_location": "L1"}, {"id": "migrations_version20260713050114_version20260713050114", "label": "Version20260713050114", "file_type": "code", "source_file": "migrations/Version20260713050114.php", "source_location": "L13"}, {"id": "abstractmigration", "label": "AbstractMigration", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "migrations_version20260713050114_version20260713050114_getdescription", "label": ".getDescription()", "file_type": "code", "source_file": "migrations/Version20260713050114.php", "source_location": "L15"}, {"id": "migrations_version20260713050114_version20260713050114_up", "label": ".up()", "file_type": "code", "source_file": "migrations/Version20260713050114.php", "source_location": "L20"}, {"id": "schema", "label": "Schema", "file_type": "code", "source_file": "migrations/Version20260713050114.php", "source_location": "L20"}, {"id": "migrations_version20260713050114_version20260713050114_down", "label": ".down()", "file_type": "code", "source_file": "migrations/Version20260713050114.php", "source_location": "L26"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260713050114_php", "target": "schema", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260713050114_php", "target": "abstractmigration", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260713050114_php", "target": "migrations_version20260713050114_version20260713050114", "relation": "contains", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260713050114_version20260713050114", "target": "abstractmigration", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260713050114_version20260713050114", "target": "migrations_version20260713050114_version20260713050114_getdescription", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L15", "weight": 1.0}, {"source": "migrations_version20260713050114_version20260713050114", "target": "migrations_version20260713050114_version20260713050114_up", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L20", "weight": 1.0}, {"source": "migrations_version20260713050114_version20260713050114_up", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L20", "weight": 1.0, "context": "parameter_type"}, {"source": "migrations_version20260713050114_version20260713050114", "target": "migrations_version20260713050114_version20260713050114_down", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L26", "weight": 1.0}, {"source": "migrations_version20260713050114_version20260713050114_down", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260713050114.php", "source_location": "L26", "weight": 1.0, "context": "parameter_type"}], "raw_calls": [{"caller_nid": "migrations_version20260713050114_version20260713050114_up", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260713050114.php", "source_location": "L23", "receiver": null}, {"caller_nid": "migrations_version20260713050114_version20260713050114_down", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260713050114.php", "source_location": "L29", "receiver": null}]}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+3934 -1423
View File
File diff suppressed because it is too large Load Diff
+76 -56
View File
@@ -210,8 +210,8 @@
"semantic_hash": ""
},
"assets/admin/pages/ClinicServicesPage.tsx": {
"mtime": 1783061096.3412282,
"ast_hash": "4126cd738d2fffaae14b587ce665cd83",
"mtime": 1783919282.475997,
"ast_hash": "8bd107450cbf11f1e258ba08c3178185",
"semantic_hash": ""
},
"assets/admin/pages/ClinicsPage.tsx": {
@@ -225,13 +225,13 @@
"semantic_hash": ""
},
"assets/admin/pages/DashboardPage.tsx": {
"mtime": 1783014538.7834437,
"ast_hash": "7fda4f20c50443ec72ea00a7d92816e3",
"mtime": 1783921928.8825357,
"ast_hash": "8e1bc6560d54c3a4c2201babcbca46ec",
"semantic_hash": ""
},
"assets/admin/pages/DoctorDetailPage.tsx": {
"mtime": 1783788126.7986403,
"ast_hash": "9e14c9cc70e4707bddaab0a5267e54c0",
"mtime": 1783853074.1420455,
"ast_hash": "f04ad6adcb144ad3b3bfadb00a05a424",
"semantic_hash": ""
},
"assets/admin/pages/DoctorFormPage.tsx": {
@@ -245,13 +245,13 @@
"semantic_hash": ""
},
"assets/admin/pages/DoctorsPage.tsx": {
"mtime": 1783788126.800466,
"ast_hash": "d2092c284b360169efff2f5405469893",
"mtime": 1783855432.480768,
"ast_hash": "409afc5e7f30d9d61079be4fd20e1449",
"semantic_hash": ""
},
"assets/admin/pages/FinancialReportPage.tsx": {
"mtime": 1783014538.788071,
"ast_hash": "471bacb2480d911d8659e3adb72de194",
"mtime": 1783855102.614041,
"ast_hash": "a54c80015be26a4185d5eae5593084e5",
"semantic_hash": ""
},
"assets/admin/pages/InsurancePricingPage.tsx": {
@@ -275,8 +275,8 @@
"semantic_hash": ""
},
"assets/admin/pages/MyPatientsPage.tsx": {
"mtime": 1782234589.73135,
"ast_hash": "63df8f1dc60843d6e2afe8db79b7fcc0",
"mtime": 1783924925.0622292,
"ast_hash": "fced4bda58120eba67ff82ff7035c759",
"semantic_hash": ""
},
"assets/admin/pages/MySecretariesPage.tsx": {
@@ -310,8 +310,8 @@
"semantic_hash": ""
},
"assets/admin/pages/RepresentationDetailPage.tsx": {
"mtime": 1781281864.435463,
"ast_hash": "a6a316a5def7cc8cb42ad3a332fff02f",
"mtime": 1783854947.3435414,
"ast_hash": "7aacd2fb598696123d5c4cff52699b44",
"semantic_hash": ""
},
"assets/admin/pages/RepresentationFinancePage.tsx": {
@@ -330,8 +330,8 @@
"semantic_hash": ""
},
"assets/admin/pages/RepresentationsPage.tsx": {
"mtime": 1783569345.7762475,
"ast_hash": "55e5abec0221125a26d09949eb7e3f20",
"mtime": 1783848050.2099984,
"ast_hash": "4c1e281abeff54dd7cb4dd8de38b34a5",
"semantic_hash": ""
},
"assets/admin/pages/SecretariesPage.tsx": {
@@ -385,8 +385,8 @@
"semantic_hash": ""
},
"assets/admin/pages/UsersPage.tsx": {
"mtime": 1783189698.4759433,
"ast_hash": "73d8276816592940a2d66d013443ca39",
"mtime": 1783853362.3363707,
"ast_hash": "54f6a5cc35b1794c6c49d5b57ead8afe",
"semantic_hash": ""
},
"assets/admin/stores/authStore.ts": {
@@ -395,13 +395,13 @@
"semantic_hash": ""
},
"assets/admin/stores/uiStore.ts": {
"mtime": 1781106649.6620028,
"ast_hash": "153515a25bb63b00701fe12453320d49",
"mtime": 1783879583.7487466,
"ast_hash": "458cb2a95184e7bd15f594bbc6a532f2",
"semantic_hash": ""
},
"assets/admin/types/index.ts": {
"mtime": 1783569345.7764525,
"ast_hash": "caee3b2fd870a2e6f75ee6fb889ec0b1",
"mtime": 1783924172.6519418,
"ast_hash": "a13aac51716c1fdf1c8756223be5ec4e",
"semantic_hash": ""
},
"assets/app.js": {
@@ -810,8 +810,8 @@
"semantic_hash": ""
},
"src/Admin/Controller/AdminApiController.php": {
"mtime": 1783788126.859703,
"ast_hash": "73acc68912b526d1c608c10b92fac3f0",
"mtime": 1783855312.3303921,
"ast_hash": "8d3201ffe4255477ef49faa73e6565ce",
"semantic_hash": ""
},
"src/Admin/Controller/AdminController.php": {
@@ -870,8 +870,8 @@
"semantic_hash": ""
},
"src/Appointment/Repository/AppointmentRepository.php": {
"mtime": 1782728407.1906495,
"ast_hash": "51876e9f5a4343659054e72b3039885f",
"mtime": 1783924758.7706256,
"ast_hash": "49c91237e463ad3ef8304d1f4d80b0ec",
"semantic_hash": ""
},
"src/Appointment/Repository/DateOverrideRepository.php": {
@@ -930,8 +930,8 @@
"semantic_hash": ""
},
"src/Auth/Entity/User.php": {
"mtime": 1783788126.8620605,
"ast_hash": "85cd7c4923a991aab2f1003d8996fc32",
"mtime": 1783853654.892607,
"ast_hash": "a6212a8e178ce65a8810e342511efd20",
"semantic_hash": ""
},
"src/Auth/Entity/UserActiveContext.php": {
@@ -980,8 +980,8 @@
"semantic_hash": ""
},
"src/Billing/Controller/BillingController.php": {
"mtime": 1782728407.192799,
"ast_hash": "23d73689d535ff8949f1d8f68d46d40a",
"mtime": 1783881569.4765885,
"ast_hash": "59779585106782055c920fe9c2bf59e5",
"semantic_hash": ""
},
"src/Billing/Entity/Claim.php": {
@@ -1100,8 +1100,8 @@
"semantic_hash": ""
},
"src/ClinicInvitation/Repository/ClinicDoctorInvitationRepository.php": {
"mtime": 1781293272.835809,
"ast_hash": "03f266556672aa4336ac2b06719e5ab9",
"mtime": 1783924771.996648,
"ast_hash": "0f3cf24e28f88416e0ff65e4e1c9d81a",
"semantic_hash": ""
},
"src/ClinicInvitation/Service/ClinicInvitationService.php": {
@@ -1110,13 +1110,13 @@
"semantic_hash": ""
},
"src/ClinicService/Controller/ClinicServiceController.php": {
"mtime": 1782728407.1953874,
"ast_hash": "14f5a17c5bc99eb78256baabed03673f",
"mtime": 1783918800.7080069,
"ast_hash": "35fcdbb6bbaccb441d5980f25ab473aa",
"semantic_hash": ""
},
"src/ClinicService/Entity/ServiceItem.php": {
"mtime": 1782260462.8914137,
"ast_hash": "030b028322fb5b0a315416f812ecc686",
"mtime": 1783918773.0777974,
"ast_hash": "6359a5b222169e09ea7fb59e04717e29",
"semantic_hash": ""
},
"src/ClinicService/Entity/ServiceSection.php": {
@@ -1175,13 +1175,13 @@
"semantic_hash": ""
},
"src/Dashboard/Controller/DashboardController.php": {
"mtime": 1782895903.5178185,
"ast_hash": "8f4817a710736a74b1bb317fafc58614",
"mtime": 1783921578.3993614,
"ast_hash": "bce0b75c0d17735ae73e64b468744126",
"semantic_hash": ""
},
"src/Doctor/Controller/DoctorController.php": {
"mtime": 1783788126.8683126,
"ast_hash": "57c2d4ba148aa5084683dbfd08f8e2b0",
"mtime": 1783847730.5986216,
"ast_hash": "b7ed8d0e0e2b2d4349fe7a5a50ca8ed3",
"semantic_hash": ""
},
"src/Doctor/Entity/Doctor.php": {
@@ -1320,8 +1320,8 @@
"semantic_hash": ""
},
"src/Patient/Controller/PatientController.php": {
"mtime": 1782728407.197648,
"ast_hash": "dbf1e7138d885fad914e38b49bcaf9ca",
"mtime": 1783924793.4561608,
"ast_hash": "0e24d9d5096fdcc543d0235911443c49",
"semantic_hash": ""
},
"src/Patient/Entity/PatientRecord.php": {
@@ -1330,8 +1330,8 @@
"semantic_hash": ""
},
"src/Patient/Entity/PatientSession.php": {
"mtime": 1782728407.1979117,
"ast_hash": "272af884798ca2bb27de25d9914c606a",
"mtime": 1783881339.1705847,
"ast_hash": "c0bde168a1889f493327a15fd6303f51",
"semantic_hash": ""
},
"src/Patient/Entity/SessionService.php": {
@@ -2340,8 +2340,8 @@
"semantic_hash": ""
},
"docs/api/admin.md": {
"mtime": 1783788126.8033333,
"ast_hash": "1fe7f1b55de999bb218ab72f44360021",
"mtime": 1783855445.2596958,
"ast_hash": "a88aebae2db5493c6564aa55b7133c25",
"semantic_hash": ""
},
"docs/api/appointment-settings.md": {
@@ -2360,8 +2360,8 @@
"semantic_hash": ""
},
"docs/api/billing.md": {
"mtime": 1782728407.1078966,
"ast_hash": "0866219af2626141c1df0f0c9f874470",
"mtime": 1783881773.6809924,
"ast_hash": "84413cd061ecd78420b2d3c7dd29c62e",
"semantic_hash": ""
},
"docs/api/blog.md": {
@@ -2375,8 +2375,8 @@
"semantic_hash": ""
},
"docs/api/clinic-services.md": {
"mtime": 1782728407.1083,
"ast_hash": "06e7cab24284ccf31c55348b6cdbb61a",
"mtime": 1783919445.376785,
"ast_hash": "d38e725b6f4a889ee3b024dff1a8b75d",
"semantic_hash": ""
},
"docs/api/clinic.md": {
@@ -2385,8 +2385,8 @@
"semantic_hash": ""
},
"docs/api/dashboard.md": {
"mtime": 1781516938.5608273,
"ast_hash": "b8c8449d58c7d9088ebaffab92e4e128",
"mtime": 1783921999.6038008,
"ast_hash": "d1bdc9a03422298bf8edb8255f9ab88a",
"semantic_hash": ""
},
"docs/api/doctor-service.md": {
@@ -2395,8 +2395,8 @@
"semantic_hash": ""
},
"docs/api/doctor.md": {
"mtime": 1783837299.5845804,
"ast_hash": "e005659040d9c17548dd409ac5582a55",
"mtime": 1783848214.541781,
"ast_hash": "f3af2e05fa765ddd56818eb33b009581",
"semantic_hash": ""
},
"docs/api/insurance.md": {
@@ -2410,8 +2410,8 @@
"semantic_hash": ""
},
"docs/api/patient.md": {
"mtime": 1782289600.4894524,
"ast_hash": "dbb64cd5f77ae397ec13ce763886b004",
"mtime": 1783924904.42998,
"ast_hash": "308b5b71522affcb5782bfdc125438b0",
"semantic_hash": ""
},
"docs/api/payment.md": {
@@ -3998,5 +3998,25 @@
"mtime": 1783837029.9093144,
"ast_hash": "28d51dff4de504fcbee2d44877dc2498",
"semantic_hash": ""
},
"migrations/Version20260713050014.php": {
"mtime": 1783918824.9967182,
"ast_hash": "db8332e2e655912a793c0b508ce62db9",
"semantic_hash": ""
},
"migrations/Version20260713050114.php": {
"mtime": 1783918885.1191626,
"ast_hash": "bea8ae994542648a9ab8c38045314d64",
"semantic_hash": ""
},
".claude/prompt/admin-ui-match-tauri.md": {
"mtime": 1783877922.139963,
"ast_hash": "426f66e2d8d19659339f85a9854ad558",
"semantic_hash": ""
},
".claude/prompt/doctor-representation-visibility.md": {
"mtime": 1783847658.468426,
"ast_hash": "817ec2f2e65d0fff3dc6ceeb5befbde9",
"semantic_hash": ""
}
}