chore: update graphify graph

This commit is contained in:
hamed
2026-07-16 09:18:53 +03:30
parent 170cd5f37e
commit a6c11a20bd
36 changed files with 6711 additions and 2007 deletions
+17 -1
View File
@@ -803,10 +803,12 @@
"801": "Community 801",
"802": "Community 802",
"803": "Community 803",
"804": "Community 804",
"805": "Community 805",
"806": "Community 806",
"807": "Community 807",
"808": "Community 808",
"809": "Community 809",
"810": "Community 810",
"811": "Community 811",
"812": "Community 812",
@@ -816,11 +818,22 @@
"816": "Community 816",
"817": "Community 817",
"818": "Community 818",
"819": "Community 819",
"820": "Community 820",
"821": "Community 821",
"822": "Community 822",
"823": "Community 823",
"824": "Community 824",
"825": "Community 825",
"826": "Community 826",
"827": "Community 827",
"828": "Community 828",
"829": "Community 829",
"830": "Community 830",
"831": "Community 831",
"832": "Community 832",
"833": "Community 833",
"834": "Community 834",
"835": "Community 835",
"836": "Community 836",
"837": "Community 837",
@@ -828,5 +841,8 @@
"839": "Community 839",
"840": "Community 840",
"841": "Community 841",
"842": "Community 842"
"842": "Community 842",
"843": "Community 843",
"844": "Community 844",
"845": "Community 845"
}
+176 -133
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-07-15)
# Graph Report - clinicpro (2026-07-16)
## Corpus Check
- 947 files · ~663,739 words
- 962 files · ~677,671 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 11127 nodes · 16282 edges · 830 communities (642 shown, 188 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 355 edges (avg confidence: 0.8)
- 11282 nodes · 16567 edges · 846 communities (650 shown, 196 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 364 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `5548d79d`
- Built from commit: `170cd5f3`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -803,10 +803,12 @@
- [[_COMMUNITY_Community 801|Community 801]]
- [[_COMMUNITY_Community 802|Community 802]]
- [[_COMMUNITY_Community 803|Community 803]]
- [[_COMMUNITY_Community 804|Community 804]]
- [[_COMMUNITY_Community 805|Community 805]]
- [[_COMMUNITY_Community 806|Community 806]]
- [[_COMMUNITY_Community 807|Community 807]]
- [[_COMMUNITY_Community 808|Community 808]]
- [[_COMMUNITY_Community 809|Community 809]]
- [[_COMMUNITY_Community 810|Community 810]]
- [[_COMMUNITY_Community 811|Community 811]]
- [[_COMMUNITY_Community 812|Community 812]]
@@ -816,11 +818,22 @@
- [[_COMMUNITY_Community 816|Community 816]]
- [[_COMMUNITY_Community 817|Community 817]]
- [[_COMMUNITY_Community 818|Community 818]]
- [[_COMMUNITY_Community 819|Community 819]]
- [[_COMMUNITY_Community 820|Community 820]]
- [[_COMMUNITY_Community 821|Community 821]]
- [[_COMMUNITY_Community 822|Community 822]]
- [[_COMMUNITY_Community 823|Community 823]]
- [[_COMMUNITY_Community 824|Community 824]]
- [[_COMMUNITY_Community 825|Community 825]]
- [[_COMMUNITY_Community 826|Community 826]]
- [[_COMMUNITY_Community 827|Community 827]]
- [[_COMMUNITY_Community 828|Community 828]]
- [[_COMMUNITY_Community 829|Community 829]]
- [[_COMMUNITY_Community 830|Community 830]]
- [[_COMMUNITY_Community 831|Community 831]]
- [[_COMMUNITY_Community 832|Community 832]]
- [[_COMMUNITY_Community 833|Community 833]]
- [[_COMMUNITY_Community 834|Community 834]]
- [[_COMMUNITY_Community 835|Community 835]]
- [[_COMMUNITY_Community 836|Community 836]]
- [[_COMMUNITY_Community 837|Community 837]]
@@ -829,15 +842,17 @@
- [[_COMMUNITY_Community 840|Community 840]]
- [[_COMMUNITY_Community 841|Community 841]]
- [[_COMMUNITY_Community 842|Community 842]]
- [[_COMMUNITY_Community 843|Community 843]]
- [[_COMMUNITY_Community 844|Community 844]]
## God Nodes (most connected - your core abstractions)
1. `ApiTestCase` - 124 edges
2. `api` - 104 edges
1. `ApiTestCase` - 132 edges
2. `api` - 107 edges
3. `BaseController` - 92 edges
4. `useAuthStore` - 78 edges
5. `UserProfile` - 62 edges
6. `formatRial()` - 61 edges
7. `ApiResponse` - 60 edges
4. `useAuthStore` - 79 edges
5. `ApiResponse` - 62 edges
6. `UserProfile` - 62 edges
7. `formatRial()` - 61 edges
8. `Doctor` - 60 edges
9. `formatDate()` - 57 edges
10. `Appointment` - 50 edges
@@ -849,19 +864,19 @@
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
- `TauriStatCards()` --calls--> `formatRial()` [INFERRED]
assets/admin/components/dashboard/TauriStatCards.tsx → assets/admin/lib/utils.ts
- `PatientCaseBanner()` --calls--> `formatDate()` [EXTRACTED]
assets/admin/components/PatientCaseBanner.tsx → assets/admin/lib/utils.ts
- `PatientTagsCell()` --calls--> `formatNumber()` [EXTRACTED]
assets/admin/components/PatientTagsCell.tsx → assets/admin/lib/utils.ts
## Import Cycles
- None detected.
## Communities (830 total, 188 thin omitted)
## Communities (846 total, 196 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.04
Nodes (57): Invoice, InvoiceItem, InvoiceSummaryModal(), STATUS_LABEL, Breadcrumb(), PatientCaseBanner(), Tag, SessionCardData (+49 more)
Nodes (51): Breadcrumb(), PatientCaseBanner(), Tag, EMPTY, PatientFilters, PricingInsurance, TenantTag, PatientTagsCell() (+43 more)
### Community 1 - "Community 1"
Cohesion: 0.03
@@ -884,16 +899,16 @@ Cohesion: 0.06
Nodes (3): UserProfile, self, User
### Community 6 - "Community 6"
Cohesion: 0.17
Nodes (8): SettlementController, SettlementRepository, Settlement, JsonResponse, Request, User, ManagerRegistry, User
Cohesion: 0.09
Nodes (13): SettlementController, PatientFinancialsTest, SettlementRepository, WalletTransactionRepository, Settlement, JsonResponse, Request, User (+5 more)
### Community 7 - "Community 7"
Cohesion: 0.05
Nodes (11): DoctorServiceController, DoctorService, Clinic, DoctorServiceRepository, Collection, Doctor, self, User (+3 more)
Cohesion: 0.07
Nodes (5): Clinic, Collection, Doctor, self, User
### Community 8 - "Community 8"
Cohesion: 0.03
Nodes (54): DoctorTab, td, th, CANCELLED_STATUSES, EMPTY_SLOT_CONFIG, STATUS, turnStatusConfig, emptySlot (+46 more)
Cohesion: 0.05
Nodes (31): DoctorTab, td, th, CANCELLED_STATUSES, EMPTY_SLOT_CONFIG, STATUS, turnStatusConfig, emptySlot (+23 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -912,20 +927,20 @@ 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.03
Cohesion: 0.02
Nodes (107): appt, get, openMenu(), patch, get, post, renderDrawer(), get (+99 more)
### Community 14 - "Community 14"
Cohesion: 0.10
Nodes (12): AppointmentSettingsController, DateOverride, Holiday, DateOverrideRepository, HolidayRepository, JsonResponse, Request, User (+4 more)
Nodes (13): AppointmentSettingsController, DateOverride, Holiday, DateOverrideRepository, HolidayRepository, Doctor, JsonResponse, Request (+5 more)
### Community 15 - "Community 15"
Cohesion: 0.25
Nodes (7): PaymentController, Appointment, JsonResponse, Payment, Request, Response, User
### Community 16 - "Community 16"
Cohesion: 0.05
Nodes (10): PatientSession, SmsWallet, AppLog, LogPruneService, AppointmentExpiryService, Appointment, Collection, PatientRecord (+2 more)
Cohesion: 0.06
Nodes (8): PatientSession, SmsWallet, AppointmentExpiryService, Appointment, Collection, PatientRecord, self, SessionService
### Community 17 - "Community 17"
Cohesion: 0.05
@@ -945,7 +960,7 @@ Nodes (5): AdminApiController, RepresentationRepository, JsonResponse, Request,
### Community 21 - "Community 21"
Cohesion: 0.06
Nodes (43): grid, PatientFormOptions, patientFormSchema, PatientFormValues, PatientRecordInfoForm(), Props, baseValues, options (+35 more)
Nodes (42): grid, PatientFormOptions, patientFormSchema, PatientFormValues, Props, baseValues, options, dateStrToTs() (+34 more)
### Community 22 - "Community 22"
Cohesion: 0.12
@@ -960,8 +975,8 @@ Cohesion: 0.07
Nodes (3): City, Province, self
### Community 25 - "Community 25"
Cohesion: 0.05
Nodes (39): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+31 more)
Cohesion: 0.04
Nodes (46): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+38 more)
### Community 26 - "Community 26"
Cohesion: 0.24
@@ -980,8 +995,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.33
Nodes (3): InvoiceService, Invoice, PatientSession
Cohesion: 0.20
Nodes (7): Money, BillingCalculator, InvoiceService, CoverageRule, ShareBreakdown, Invoice, PatientSession
### Community 31 - "Community 31"
Cohesion: 0.06
@@ -992,8 +1007,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.08
Nodes (30): PaymentConfig, PaymentGatewayInfo, usePaymentConfig(), ApiResponse, PaymentDetails, PaymentSuccessPage(), ChargeForm, chargeSchema (+22 more)
Cohesion: 0.05
Nodes (37): ServiceSlot, AppointmentInfoModal(), ModalKind, PickedPatient, PickerOption, toEpoch(), TransferReserveModal(), WalletChargeLink() (+29 more)
### Community 34 - "Community 34"
Cohesion: 0.06
@@ -1057,7 +1072,7 @@ Nodes (4): Payment, Appointment, self, User
### Community 49 - "Community 49"
Cohesion: 0.04
Nodes (51): CoverageRow, Draft, KIND, TenantInsurance, ServiceTariffModal(), TariffResponse, TariffRow, useCreateBankAccount() (+43 more)
Nodes (41): Invoice, InvoiceItem, InvoiceSummaryModal(), STATUS_LABEL, CoverageRow, Draft, KIND, TenantInsurance (+33 more)
### Community 50 - "Community 50"
Cohesion: 0.07
@@ -1073,7 +1088,7 @@ Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, با
### Community 53 - "Community 53"
Cohesion: 0.07
Nodes (17): AppLogRepository, ClaimItemRepository, ClinicStaffRepository, DoctorClaimRequestRepository, DoctorInsuranceRepository, PreRegistrationRepository, SiteConfigRepository, ServiceEntityRepository (+9 more)
Nodes (17): DoctorService, AppLogRepository, CityRepository, ClaimItemRepository, DoctorClaimRequestRepository, DoctorServiceRepository, PreRegistrationRepository, SiteConfigRepository (+9 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -1092,8 +1107,8 @@ Cohesion: 0.08
Nodes (24): Blog API, DELETE `/api/v1/blog/{uuid}`, Errors, Errors, Errors, Errors, Errors, GET `/api/v1/blog/{slug}` (+16 more)
### Community 58 - "Community 58"
Cohesion: 0.15
Nodes (8): Blog, BlogController, BlogRepository, JsonResponse, Request, User, ManagerRegistry, QueryBuilder
Cohesion: 0.28
Nodes (4): Blog, BlogRepository, ManagerRegistry, QueryBuilder
### Community 59 - "Community 59"
Cohesion: 0.22
@@ -1108,16 +1123,16 @@ Cohesion: 0.22
Nodes (9): Create Patient Record, Create Session, Endpoints, Get Patient Record, List Patient Appointments, List Patient Sessions, List Patients, Update Patient Basic Info (+1 more)
### Community 62 - "Community 62"
Cohesion: 0.04
Nodes (43): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, Props, AddForm (+35 more)
Cohesion: 0.06
Nodes (34): FreeVisitPrice(), Pricing, buildInsurancePayload(), Contract, contractToForm(), EMPTY_FORM, InsuranceFormValues, InsuranceModal() (+26 more)
### Community 63 - "Community 63"
Cohesion: 0.02
Nodes (101): BANK_KEY, BankAccount, BankAccountInput, Pos, POS_KEY, PosInput, useBankAccounts(), usePosDevices() (+93 more)
Nodes (112): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, PaginatedResponse, formatDate() (+104 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
@@ -1128,7 +1143,7 @@ Cohesion: 0.11
Nodes (4): Invoice, Collection, InvoiceItem, self
### Community 68 - "Community 68"
Cohesion: 0.11
Cohesion: 0.10
Nodes (5): ServiceItem, ClinicStaff, Collection, self, ServiceSection
### Community 69 - "Community 69"
@@ -1188,8 +1203,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.04
Nodes (20): AppointmentExpiryServiceTest, DateOverrideOwnershipTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemDeleteCleanupTest, ServiceItemMultiStaffTest (+12 more)
Cohesion: 0.03
Nodes (23): AppointmentExpiryServiceTest, BookingModeImmutableTest, BookingServicesPublicTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, CaptchaFlowTest, ServiceItemDeleteCleanupTest (+15 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1212,7 +1227,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.09
Cohesion: 0.10
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"
@@ -1272,12 +1287,12 @@ Cohesion: 0.11
Nodes (18): Endpoint ها, gate check در تسک‌های بعدی, GET /api/v1/subscription/my, GET /api/v1/subscription/plans, POST /api/v1/admin/subscription/period, POST /api/v1/subscription-payment (موجود), POST /api/v1/subscription/trial, POST /api/v1/subscription/trial (خطا — قبلاً استفاده شده) (+10 more)
### Community 107 - "Community 107"
Cohesion: 0.33
Cohesion: 0.30
Nodes (6): AppointmentController, Appointment, Doctor, JsonResponse, Request, User
### Community 108 - "Community 108"
Cohesion: 0.10
Nodes (13): CaptchaController, BaseController, CategoryController, CategoryImportController, DoctorImportController, JsonResponse, JsonResponse, Request (+5 more)
Cohesion: 0.11
Nodes (13): CaptchaController, BaseController, CategoryController, DoctorImportController, SiteContextController, JsonResponse, JsonResponse, Request (+5 more)
### Community 109 - "Community 109"
Cohesion: 0.29
@@ -1320,7 +1335,7 @@ Cohesion: 0.11
Nodes (17): بازطراحی UI/UX پنج صفحه کلینیک‌پرو, زمینه, سیستم CSS موجود, فایل‌های مرتبط, نکات مهم, وضعیت فعلی هر صفحه, وظایف, ۱. MyPatientsPage (+9 more)
### Community 119 - "Community 119"
Cohesion: 0.21
Cohesion: 0.20
Nodes (5): AppointmentRepository, Appointment, Doctor, ManagerRegistry, User
### Community 120 - "Community 120"
@@ -1476,16 +1491,16 @@ Cohesion: 0.13
Nodes (15): Date Overrides, DELETE `/api/v1/appointment-settings/date-override/{uuid}`, Errors, Errors, GET `/api/v1/appointment-settings/date-override/list/{doctorUuid}`, GET `/api/v1/appointment-settings/date-override/{uuid}`, PATCH `/api/v1/appointment-settings/date-override/{uuid}`, POST `/api/v1/appointment-settings/date-override` (+7 more)
### Community 161 - "Community 161"
Cohesion: 0.11
Nodes (13): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, ClaimSubmitterInterface, ClaimService, ManualClaimSubmitter, Claim, Invoice (+5 more)
Cohesion: 0.24
Nodes (7): ClaimSubmitterInterface, ClaimService, ManualClaimSubmitter, Claim, Invoice, Claim, ClaimSubmissionResult
### Community 162 - "Community 162"
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.17
Nodes (11): autoload-dev, psr-4, conflict, symfony/symfony, description, license, minimum-stability, name (+3 more)
### Community 165 - "Community 165"
Cohesion: 0.13
@@ -1552,7 +1567,7 @@ Cohesion: 0.16
Nodes (4): PatientRecord, Collection, self, User
### Community 181 - "Community 181"
Cohesion: 0.23
Cohesion: 0.22
Nodes (3): WeeklySchedule, Doctor, self
### Community 183 - "Community 183"
@@ -1624,8 +1639,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
@@ -1713,7 +1728,7 @@ Nodes (11): تشخیص عمیق down شدن سرور بعد از ~۱۰ سیکل
### Community 228 - "Community 228"
Cohesion: 0.04
Nodes (47): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/billing/tenant-insurances/{uuid}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, Errors, Errors, Errors (+39 more)
Nodes (51): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/billing/tenant-insurances/{uuid}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, Errors, Errors, Errors (+43 more)
### Community 229 - "Community 229"
Cohesion: 0.14
@@ -1928,7 +1943,7 @@ Cohesion: 0.33
Nodes (4): ClinicDoctorInvitationRepository, ClinicDoctorInvitation, Doctor, ManagerRegistry
### Community 285 - "Community 285"
Cohesion: 0.29
Cohesion: 0.23
Nodes (4): ServiceItemRepository, ManagerRegistry, ServiceItem, ServiceSection
### Community 286 - "Community 286"
@@ -1964,8 +1979,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.21
Nodes (5): PatientAttachmentTest, PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
Cohesion: 0.33
Nodes (4): PatientAttachment, PatientAttachmentRepository, ManagerRegistry, PatientRecord
### Community 295 - "Community 295"
Cohesion: 0.20
@@ -2004,8 +2019,8 @@ Cohesion: 0.12
Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی روی Coolify با Docker Compose, زمینه, فایل‌های مرتبط, نکات مهم (محدودیت‌ها و edge caseها), هدف, وظایف, ۱. ساخت `Dockerfile` چندمرحله‌ای, ۱۰. ساخت راهنمای `docs/deploy/coolify.md` (+8 more)
### Community 304 - "Community 304"
Cohesion: 0.04
Nodes (52): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 35. 🟡 `PATCH` patch, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 38. 🟢 `GET` Unapproved comments (+44 more)
Cohesion: 0.03
Nodes (60): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 32. 🔵 `POST` post, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 38. 🟢 `GET` Unapproved comments (+52 more)
### Community 306 - "Community 306"
Cohesion: 0.07
@@ -2051,12 +2066,16 @@ Nodes (11): useSubscription(), ClinicDoctor, EMPTY_PERMISSIONS, FormState, Modal
Cohesion: 0.12
Nodes (15): mapping صفحات clinicpro → فریم فیگما, الف-۱. توکن‌های رنگ (light + dark), الف-۲. سلکتور رنگ کاربر, الف-۳. ابعاد و رفتار layout, الف-۴. شعاع‌ها و input/button, الف-۵. کامپوننت‌های مشترک مطابق فیگما, ایندکس فریم‌های فیگما (۴ section، node-id دسکتاپ), بخش الف — سیستم طراحی مشترک (یک‌بار، پایه‌ی همه‌ی صفحات) (+7 more)
### Community 317 - "Community 317"
Cohesion: 0.29
Nodes (3): CorsRegexEnvProcessor, EnvVarProcessorInterface, CorsRegexEnvProcessorTest
### Community 318 - "Community 318"
Cohesion: 0.32
Nodes (4): PatientListFilterTest, Doctor, PatientRecord, TenantTag
### Community 319 - "Community 319"
Cohesion: 0.36
Cohesion: 0.39
Nodes (3): UserRepository, ManagerRegistry, User
### Community 322 - "Community 322"
@@ -2344,8 +2363,8 @@ Cohesion: 0.33
Nodes (6): Refactoring Plan, فاز ۰ — مستندسازی (۳ تا ۵ روز، قبل از هر کدنویسی), فاز ۱ — زیرساخت پایه (task-01), فاز ۲ — پیاده‌سازی ماژول‌ها (به ترتیب dependency), فاز ۳ — بهینه‌سازی (بعد از پیاده‌سازی), فاز ۴ — آماده‌سازی تولید
### Community 397 - "Community 397"
Cohesion: 0.18
Nodes (5): PatientFinancialsTest, WalletTransactionRepository, ManagerRegistry, User, WalletTransaction
Cohesion: 0.06
Nodes (23): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+15 more)
### Community 398 - "Community 398"
Cohesion: 0.22
@@ -2360,20 +2379,20 @@ Cohesion: 0.11
Nodes (17): بازطراحی معماری پرداخت — سرویس‌محور، امن، توسعه‌پذیر (Backend), تست دستی (ddev، در حالت `payment_test_mode=1`), خروجی نهایی (طبق spec — در گزارش اجرا ارائه شود), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (+9 more)
### Community 407 - "Community 407"
Cohesion: 0.27
Nodes (8): MessageBusInterface, MockObject, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver, KavehNegarProvider
Cohesion: 0.16
Nodes (11): MessageBusInterface, MockObject, SmsService, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver (+3 more)
### Community 410 - "Community 410"
Cohesion: 0.03
Nodes (73): FreeVisitPrice(), Pricing, buildInsurancePayload(), Contract, contractToForm(), EMPTY_FORM, InsuranceFormValues, InsuranceModal() (+65 more)
Cohesion: 0.04
Nodes (48): cn(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile(), sanitizeMobileInput(), toDate(), toEnglishDigits() (+40 more)
### Community 414 - "Community 414"
Cohesion: 0.10
Nodes (20): edge cases, خلاصهٔ خطاها و اولویت, راه‌حل, راه‌حل, راه‌حل, راه‌حل, رفع خطاهای لاگ سرور (production) — ۱۴۰۵/۰۴/۲۰, ریشه (+12 more)
### Community 416 - "Community 416"
Cohesion: 0.07
Nodes (32): EMPTY_CATS, EMPTY_ITEMS, EMPTY_META, EMPTY_PACKAGES, EMPTY_STATS, InventoryItem, InventoryMeta, InventoryPackage (+24 more)
Cohesion: 0.05
Nodes (44): EMPTY_CATS, EMPTY_ITEMS, EMPTY_META, EMPTY_PACKAGES, EMPTY_STATS, InventoryItem, InventoryMeta, InventoryPackage (+36 more)
### Community 418 - "Community 418"
Cohesion: 0.17
@@ -2388,8 +2407,8 @@ Cohesion: 0.12
Nodes (15): راه‌حل, راه‌حل, راه‌حل, رفع زوم نقشه در افزودن آدرس + کپچا و موبایل در claim + حذف پروفایل توسط مالک, ریشه‌ها, زمینه, فایل‌های مرتبط, نکات مهم (+7 more)
### Community 424 - "Community 424"
Cohesion: 0.04
Nodes (49): EMPTY, PatientFilters, PricingInsurance, TenantTag, PatientTagsCell(), TenantTag, TauriStatCards(), AddTurn() (+41 more)
Cohesion: 0.03
Nodes (76): ServiceTariffModal(), TariffResponse, TariffRow, TauriStatCards(), PaymentConfig, PaymentGatewayInfo, usePaymentConfig(), AddPackageModal() (+68 more)
### Community 428 - "Community 428"
Cohesion: 0.31
@@ -2416,8 +2435,8 @@ Cohesion: 0.12
Nodes (16): `book()` عمومی — الگوی درستِ موجود (کپی از `AppointmentController::book`, خط ۲۴۲–۲۶۳), زمینه, فایل‌های مرتبط, فرم — بدون فیلد کد ملی (کپی از `AppointmentCreatePage.tsx`), مسیر ادمین — بیمار فقط با موبایل (کپی از `MyAppointmentsController::createAppointment`, خط ۸۱–۸۷), نوبت‌دهی ادمین بر اساس کد ملی + موبایل (پرونده یکتا با کد ملی), نکات مهم, هدف (+8 more)
### Community 438 - "Community 438"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260614182950, Schema, Version20260622160119
Cohesion: 0.16
Nodes (7): AbstractMigration, Schema, Version20260614182549, Schema, Version20260614182950, Schema, Version20260628153625
### Community 439 - "Community 439"
Cohesion: 0.17
@@ -2428,8 +2447,8 @@ Cohesion: 0.11
Nodes (18): [F10] راهنمای کهنه در `CLAUDE.md`: endpoint `categorys/{bundle}` منتقل شده, [F11] داشبورد دکتر `GET /api/v1/dashboard/doctor` همیشه 500 (فیلد ناموجود در DQL) — ✅ رفع شد, [F1] phpstan: مقایسهٔ همیشه‌درست در محاسبهٔ estimated SMS — ✅ رفع شد, [F2] تست‌های PHPUnit به API خارجی Kavenegar درخواست واقعی می‌زنند, [F3] دیتابیس تست seed نشده — فقط کاربر ادمین وجود دارد, [F4] اسکریپت seeder `create_test_users.php` وجود ندارد, [F5] ادمین با JWT معتبر به `/api/doc` (Swagger UI) دسترسی ندارد (401), [F6] ناسازگاری کدهای خطا بین دامنه‌ها (+10 more)
### Community 442 - "Community 442"
Cohesion: 0.13
Nodes (13): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+5 more)
Cohesion: 0.12
Nodes (20): BANK_KEY, BankAccount, BankAccountInput, Pos, POS_KEY, PosInput, useBankAccounts(), useCreateBankAccount() (+12 more)
### Community 444 - "Community 444"
Cohesion: 0.23
@@ -2528,11 +2547,11 @@ Cohesion: 0.33
Nodes (5): ایندکس‌ها, جدول: sms_accounts (حساب پیامک), جدول: sms_queue (صف پیامک), نکات مهم, پایگاه داده — تسک ۱۷: ماژول پیامک
### Community 478 - "Community 478"
Cohesion: 0.36
Nodes (3): CityRepository, City, ManagerRegistry
Cohesion: 0.10
Nodes (20): book() فعلی فقط slot_start/slot_end می‌گیرد, overlap واقعی از قبل درست است, زمینه, ساخت اسلاتِ ثابت (حالت فعلی = slot mode), فایل‌های مرتبط, متای برنامهٔ هفتگی, مدت خدمت — هست ولی استفاده نمی‌شود, نوبت‌دهی بر اساس مدت سرویس (Service-based booking) — Backend + Admin (+12 more)
### Community 479 - "Community 479"
Cohesion: 0.17
Cohesion: 0.16
Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope
### Community 481 - "Community 481"
@@ -2572,7 +2591,7 @@ Cohesion: 0.13
Nodes (14): زمینه, فایل‌های مرتبط, مرجع درست — `SubscriptionPage.tsx` (محتوا داخل پنل سفید), مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+6 more)
### Community 497 - "Community 497"
Cohesion: 0.53
Cohesion: 0.49
Nodes (3): SlotUniquenessTest, Appointment, Doctor
### Community 498 - "Community 498"
@@ -2676,8 +2695,8 @@ 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.15
Nodes (6): UniqueConstraintsTest, FinancialBreakdown, FinancialBreakdownRepository, FinancialBreakdownIntegrityTest, ManagerRegistry, Payment
Cohesion: 0.39
Nodes (4): FinancialBreakdown, FinancialBreakdownRepository, ManagerRegistry, Payment
### Community 528 - "Community 528"
Cohesion: 0.33
@@ -2692,8 +2711,8 @@ Cohesion: 0.16
Nodes (3): BankAccount, self, User
### Community 533 - "Community 533"
Cohesion: 0.19
Nodes (6): BaseKernel, Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface, MicroKernelTrait, Kernel
Cohesion: 0.31
Nodes (4): BaseKernel, Closure, MicroKernelTrait, Kernel
### Community 534 - "Community 534"
Cohesion: 0.30
@@ -2892,8 +2911,8 @@ Cohesion: 0.67
Nodes (3): Errors, POST `/api/v1/sms/template/{uuid}/submit`, Response `200`
### Community 602 - "Community 602"
Cohesion: 0.05
Nodes (42): InvoiceRowStatus, MY_PAYMENTS_LIMIT, PatientInvoiceRow, PatientInvoicesPayload, PaymentFilters, PaymentRow, PaymentRowStatus, get (+34 more)
Cohesion: 0.06
Nodes (32): InvoiceRowStatus, MY_PAYMENTS_LIMIT, PatientInvoiceRow, PatientInvoicesPayload, PaymentFilters, PaymentRow, PaymentRowStatus, get (+24 more)
### Community 603 - "Community 603"
Cohesion: 0.67
@@ -2920,8 +2939,8 @@ Cohesion: 0.67
Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان)
### Community 625 - "Community 625"
Cohesion: 0.17
Nodes (6): DoctorClaimRequest, DoctorClaimService, PersianTextTest, Doctor, User, PersianText
Cohesion: 0.42
Nodes (4): DoctorClaimRequest, DoctorClaimService, Doctor, User
### Community 626 - "Community 626"
Cohesion: 0.38
@@ -2939,6 +2958,10 @@ Nodes (3): ImageCropModalProps, createImage(), getCroppedImage()
Cohesion: 0.12
Nodes (16): Runbook — تشخیص «ری‌استارت» سرور: recycle عادی یا خرابی واقعی؟, اقدامات تکمیلی روی سرور (خارج از repo), تأیید روی سرور — اسکریپت آماده, جدول تفسیر خروجی اسکریپت, خلاصه یک‌خطی, علامت مشکل, چرا این اتفاق می‌افتاد (و فیکس اعمال‌شده), چک‌لیست رفع (+8 more)
### Community 636 - "Community 636"
Cohesion: 0.13
Nodes (12): AdminUserDetail, AVATAR_COLORS, EditForm, editSchema, GENDER_LABELS, getPrimaryRole(), MARITAL_LABELS, MEDICAL_SECTIONS (+4 more)
### Community 640 - "Community 640"
Cohesion: 0.38
Nodes (3): FixIrimcNamesCommand, InputInterface, OutputInterface
@@ -2956,8 +2979,8 @@ Cohesion: 0.14
Nodes (13): اصلاح فیلتر شهر/استان در لیست عمومی پزشکان (`GET /api/v1/doctors`), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+5 more)
### Community 648 - "Community 648"
Cohesion: 0.16
Nodes (6): BillingCalculatorTest, BillingCalculator, Money, BillingCalculator, CoverageRule, ShareBreakdown
Cohesion: 0.12
Nodes (5): BillingCalculatorTest, BillingCalculator, ErrorCodesTest, TimezoneTest, TestCase
### Community 649 - "Community 649"
Cohesion: 0.14
@@ -2972,7 +2995,7 @@ Cohesion: 0.31
Nodes (6): DashboardController, Clinic, DoctorSecretary, JsonResponse, Request, User
### Community 655 - "Community 655"
Cohesion: 0.17
Cohesion: 0.22
Nodes (6): MyAppointmentsController, InputValidator, Doctor, JsonResponse, Request, User
### Community 656 - "Community 656"
@@ -3068,21 +3091,25 @@ Cohesion: 0.29
Nodes (8): Error Codes, Errors, POST `/api/v1/user/change-password`, POST `/api/v1/user/reset-password`, Request Body, Request Body, Response `200`, Response `200`
### Community 708 - "Community 708"
Cohesion: 0.48
Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry
Cohesion: 0.12
Nodes (15): API کامپوننت `SearchableSelect` (مرجع — تغییرش نده), الگوی A — controlled با `value` + `onChange` (بیشترین), الگوی B — گزینه‌های وابسته / disabled, الگوی C — React Hook Form با `register` (خاص — نیازمند Controller), جایگزینی همه‌ی `<select>` بومی پنل ادمین با `SearchableSelect`, زمینه, فایل‌های دارای `<select>` بومی (۱۶ فایل، ~۳۵ مورد), نکات مهم (+7 more)
### Community 714 - "Community 714"
Cohesion: 0.53
Nodes (3): SessionServiceRepository, ManagerRegistry, SessionService
### Community 716 - "Community 716"
Cohesion: 0.47
Nodes (3): SiteContextController, JsonResponse, Request
Cohesion: 0.12
Nodes (15): رفع باگ: نوبت‌های رزروشده در سایت عمومی «آزاد» نمایش داده می‌شوند, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+7 more)
### Community 717 - "Community 717"
Cohesion: 0.11
Nodes (8): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, ManagerRegistry, TenantServiceCoverage
### Community 719 - "Community 719"
Cohesion: 0.21
Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doctor, User
### Community 725 - "Community 725"
Cohesion: 0.43
Nodes (3): SmsTemplateRepository, SmsTemplate, ManagerRegistry
@@ -3095,9 +3122,13 @@ Nodes (3): ApiError, { refreshMock, logoutMock }, replaceMock
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/login`, Request Body, Response `200`
### Community 729 - "Community 729"
Cohesion: 0.43
Nodes (3): PatientResolver, User, UserProfile
### Community 732 - "Community 732"
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.15
Nodes (12): call siteهای فعلی PersianDateInput (نباید تغییر کنند — فقط برای اطمینان از سازگاری Props), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, همه‌ی تقویم‌های پنل ادمین باید شمسی باشند (رفع تقویم میلادی PersianDateInput), وضعیت فعلی (کد مشکل‌دار), وظایف (+4 more)
### Community 734 - "Community 734"
Cohesion: 0.40
@@ -3143,10 +3174,6 @@ Nodes (3): RepositoryClassMappingTest, KernelTestCase, DbLoggerTest
Cohesion: 0.43
Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry
### Community 753 - "Community 753"
Cohesion: 0.18
Nodes (4): KavehNegarProvider, SmsService, SendSmsMessage, SmsProviderInterface
### Community 757 - "Community 757"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/register`, Request Body, Response `201`
@@ -3160,8 +3187,8 @@ Cohesion: 0.33
Nodes (5): DoctorImportResult, DoctorImportService, Collection, Doctor, User
### Community 761 - "Community 761"
Cohesion: 0.50
Nodes (4): Errors, PATCH `/api/v1/insurance/{id}`, Request Body, Response `200`
Cohesion: 0.33
Nodes (4): BlogController, JsonResponse, Request, User
### Community 763 - "Community 763"
Cohesion: 0.33
@@ -3179,10 +3206,6 @@ Nodes (3): AppointmentWorkflowFieldsTest, Appointment, Doctor
Cohesion: 0.40
Nodes (5): ۲.۸ تنظیمات نوبت (Appointment Settings), ۲.۸.۱ برنامه هفتگی (Weekly Schedule), ۲.۸.۲ تعطیلات (Holidays), ۲.۸.۳ لغو تعطیل (Date Override), ۲.۸.۴ الگوریتم محاسبه اسلات‌های خالی
### Community 767 - "Community 767"
Cohesion: 0.40
Nodes (5): 32. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 768 - "Community 768"
Cohesion: 0.50
Nodes (4): GET /api/v1/appointment-settings/slots — دریافت اسلات‌های خالی, POST /api/v1/appointment-settings/holidays — ثبت تعطیلی (فقط ادمین), POST /api/v1/appointment-settings/overrides — ثبت Override توسط دکتر, Task-09: API تنظیمات نوبت
@@ -3235,10 +3258,6 @@ Nodes (3): CommissionService, Payment, Representation
Cohesion: 0.31
Nodes (3): InventoryItemRepository, InventoryItem, ManagerRegistry
### Community 784 - "Community 784"
Cohesion: 0.50
Nodes (4): 40. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 786 - "Community 786"
Cohesion: 0.47
Nodes (3): SeedCategoriesCommand, InputInterface, OutputInterface
@@ -3260,8 +3279,8 @@ Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/auth/switch-context`, Request Body, Response `200`
### Community 794 - "Community 794"
Cohesion: 0.50
Nodes (3): Altcha(), AltchaProps, IntrinsicElements
Cohesion: 0.36
Nodes (3): DoctorServiceController, JsonResponse, Request
### Community 795 - "Community 795"
Cohesion: 0.38
@@ -3279,6 +3298,10 @@ Nodes (3): PaymentLog, PaymentLogRepository, ManagerRegistry
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/verify-code`, Request Body, Response `200`
### Community 804 - "Community 804"
Cohesion: 0.39
Nodes (3): ClinicStaffRepository, ClinicStaff, ManagerRegistry
### Community 805 - "Community 805"
Cohesion: 0.25
Nodes (8): Auto-Creation on Appointment Confirm, DELETE `/api/v1/patient/attachment/{uuid}`, Errors, GET `/api/v1/patient/{uuid}/attachments`, Overview, Patient Records & Sessions API, POST `/api/v1/patient/{uuid}/attachment`, ضمیمه‌های بیمار (Attachments)
@@ -3295,10 +3318,6 @@ Nodes (6): Errors, GET `/api/v1/patient/{uuid}/payments`, GET `/api/v1/patient/{
Cohesion: 0.67
Nodes (3): Errors, GET `/api/v1/notification-mobile/{target}`, Response `200`
### Community 813 - "Community 813"
Cohesion: 0.16
Nodes (6): UserProfileDemographicsTest, ErrorCodesTest, KavehNegarProviderTest, TestCase, UserProfile, KavehNegarProvider
### Community 814 - "Community 814"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/clinic/my-doctor/{doctorUuid}`, Path Parameters, Response `200`, Schedule Fields Notes
@@ -3315,22 +3334,46 @@ Nodes (3): POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`appl
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/doctor/{uuid}`, Path Parameters, Request Body (`application/json`), Response `200`
### Community 821 - "Community 821"
Cohesion: 0.50
Nodes (4): 44. 🟢 `GET` list comment, هدرهای اضافی, پارامترهای Query, پاسخ‌ها
### Community 819 - "Community 819"
Cohesion: 0.43
Nodes (3): CategoryImportController, JsonResponse, Request
### Community 820 - "Community 820"
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
### Community 824 - "Community 824"
Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 825 - "Community 825"
Cohesion: 0.40
Nodes (5): Error Responses, GET `/api/v1/my/appointment/patient-lookup`, Query Parameters, Response `200` — یافت شد, Response `200` — یافت نشد
### Community 827 - "Community 827"
Cohesion: 0.40
Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 828 - "Community 828"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Secretary Management
### Community 829 - "Community 829"
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Parameters, Request Body, Response `200`
### Community 831 - "Community 831"
Cohesion: 0.50
Nodes (4): autoload, files, psr-4, App\\
### Community 832 - "Community 832"
Cohesion: 0.67
Nodes (3): GET `/api/v1/representation/{uuid}/dashboard/yearly`, Query Parameters, Response `200`
### Community 833 - "Community 833"
Cohesion: 0.50
Nodes (4): extra, symfony, allow-contrib, require
### Community 835 - "Community 835"
Cohesion: 0.50
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
@@ -3364,24 +3407,24 @@ Cohesion: 0.67
Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters, Response `200`
## Knowledge Gaps
- **4513 isolated node(s):** `ALLOWED_ROLES`, `get`, `patch`, `appt`, `ModalKind` (+4508 more)
- **4580 isolated node(s):** `ALLOWED_ROLES`, `get`, `patch`, `appt`, `ModalKind` (+4575 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **188 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **196 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 794`, `Community 485`?**
_High betweenness centrality (0.095) - this node is a cross-community bridge._
- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 7`, `Community 646`, `Community 265`, `Community 138`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 529`, `Community 15`, `Community 275`, `Community 20`, `Community 22`, `Community 26`, `Community 676`, `Community 421`, `Community 295`, `Community 300`, `Community 815`, `Community 433`, `Community 690`, `Community 58`, `Community 314`, `Community 59`, `Community 699`, `Community 64`, `Community 75`, `Community 716`, `Community 77`, `Community 607`, `Community 739`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 245`, `Community 121`, `Community 122`, `Community 252`?**
_High betweenness centrality (0.041) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 775`, `Community 779`, `Community 652`, `Community 397`, `Community 527`, `Community 531`, `Community 22`, `Community 534`, `Community 792`, `Community 535`, `Community 539`, `Community 541`, `Community 161`, `Community 674`, `Community 294`, `Community 685`, `Community 431`, `Community 562`, `Community 818`, `Community 565`, `Community 574`, `Community 575`, `Community 318`, `Community 710`, `Community 715`, `Community 717`, `Community 594`, `Community 82`, `Community 480`, `Community 609`, `Community 737`, `Community 482`, `Community 484`, `Community 486`, `Community 743`, `Community 744`, `Community 494`, `Community 497`, `Community 625`, `Community 633`, `Community 765`?**
_High betweenness centrality (0.036) - this node is a cross-community bridge._
- **Why does `Altcha` connect `Community 367` to `Community 410`, `Community 485`?**
_High betweenness centrality (0.106) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 6`, `Community 775`, `Community 779`, `Community 652`, `Community 784`, `Community 531`, `Community 22`, `Community 534`, `Community 792`, `Community 535`, `Community 539`, `Community 541`, `Community 674`, `Community 809`, `Community 685`, `Community 431`, `Community 562`, `Community 818`, `Community 565`, `Community 826`, `Community 574`, `Community 575`, `Community 318`, `Community 710`, `Community 715`, `Community 844`, `Community 717`, `Community 719`, `Community 594`, `Community 82`, `Community 480`, `Community 609`, `Community 737`, `Community 482`, `Community 484`, `Community 486`, `Community 743`, `Community 744`, `Community 494`, `Community 497`, `Community 625`, `Community 633`, `Community 765`?**
_High betweenness centrality (0.046) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `get`, `patch` to the rest of the system?**
_4513 weakly-connected nodes found - possible documentation gaps or missing edges._
_4580 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.03862803862803863 - nodes in this community are weakly interconnected._
_Cohesion score 0.0406885758998435 - 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?**
_Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._
- **Should `Community 3` be split into smaller, more focused modules?**
_Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_timezonetest_php", "label": "TimezoneTest.php", "file_type": "code", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L1"}, {"id": "shared_timezonetest_timezonetest", "label": "TimezoneTest", "file_type": "code", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L11"}, {"id": "testcase", "label": "TestCase", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "shared_timezonetest_timezonetest_testdefaulttimezoneistehran", "label": ".testDefaultTimezoneIsTehran()", "file_type": "code", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L13"}, {"id": "shared_timezonetest_timezonetest_testdatefunctionsusetehran", "label": ".testDateFunctionsUseTehran()", "file_type": "code", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L18"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_timezonetest_php", "target": "testcase", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_tests_shared_timezonetest_php", "target": "shared_timezonetest_timezonetest", "relation": "contains", "confidence": "EXTRACTED", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L11", "weight": 1.0}, {"source": "shared_timezonetest_timezonetest", "target": "testcase", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L11", "weight": 1.0}, {"source": "shared_timezonetest_timezonetest", "target": "shared_timezonetest_timezonetest_testdefaulttimezoneistehran", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L13", "weight": 1.0}, {"source": "shared_timezonetest_timezonetest", "target": "shared_timezonetest_timezonetest_testdatefunctionsusetehran", "relation": "method", "confidence": "EXTRACTED", "source_file": "tests/Shared/TimezoneTest.php", "source_location": "L18", "weight": 1.0}], "raw_calls": [{"caller_nid": "shared_timezonetest_timezonetest_testdefaulttimezoneistehran", "callee": "assertSame", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/TimezoneTest.php", "source_location": "L15", "receiver": null}, {"caller_nid": "shared_timezonetest_timezonetest_testdefaulttimezoneistehran", "callee": "date_default_timezone_get", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/TimezoneTest.php", "source_location": "L15", "receiver": null}, {"caller_nid": "shared_timezonetest_timezonetest_testdatefunctionsusetehran", "callee": "assertSame", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/TimezoneTest.php", "source_location": "L22", "receiver": null}, {"caller_nid": "shared_timezonetest_timezonetest_testdatefunctionsusetehran", "callee": "date", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/TimezoneTest.php", "source_location": "L22", "receiver": null}, {"caller_nid": "shared_timezonetest_timezonetest_testdatefunctionsusetehran", "callee": "assertSame", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/TimezoneTest.php", "source_location": "L23", "receiver": null}, {"caller_nid": "shared_timezonetest_timezonetest_testdatefunctionsusetehran", "callee": "date", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/tests/Shared/TimezoneTest.php", "source_location": "L23", "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
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715192758_php", "label": "Version20260715192758.php", "file_type": "code", "source_file": "migrations/Version20260715192758.php", "source_location": "L1"}, {"id": "migrations_version20260715192758_version20260715192758", "label": "Version20260715192758", "file_type": "code", "source_file": "migrations/Version20260715192758.php", "source_location": "L13"}, {"id": "abstractmigration", "label": "AbstractMigration", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "migrations_version20260715192758_version20260715192758_getdescription", "label": ".getDescription()", "file_type": "code", "source_file": "migrations/Version20260715192758.php", "source_location": "L15"}, {"id": "migrations_version20260715192758_version20260715192758_up", "label": ".up()", "file_type": "code", "source_file": "migrations/Version20260715192758.php", "source_location": "L20"}, {"id": "schema", "label": "Schema", "file_type": "code", "source_file": "migrations/Version20260715192758.php", "source_location": "L20"}, {"id": "migrations_version20260715192758_version20260715192758_down", "label": ".down()", "file_type": "code", "source_file": "migrations/Version20260715192758.php", "source_location": "L26"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715192758_php", "target": "schema", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715192758_php", "target": "abstractmigration", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260715192758_php", "target": "migrations_version20260715192758_version20260715192758", "relation": "contains", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260715192758_version20260715192758", "target": "abstractmigration", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260715192758_version20260715192758", "target": "migrations_version20260715192758_version20260715192758_getdescription", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L15", "weight": 1.0}, {"source": "migrations_version20260715192758_version20260715192758", "target": "migrations_version20260715192758_version20260715192758_up", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L20", "weight": 1.0}, {"source": "migrations_version20260715192758_version20260715192758_up", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L20", "weight": 1.0, "context": "parameter_type"}, {"source": "migrations_version20260715192758_version20260715192758", "target": "migrations_version20260715192758_version20260715192758_down", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L26", "weight": 1.0}, {"source": "migrations_version20260715192758_version20260715192758_down", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260715192758.php", "source_location": "L26", "weight": 1.0, "context": "parameter_type"}], "raw_calls": [{"caller_nid": "migrations_version20260715192758_version20260715192758_up", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260715192758.php", "source_location": "L23", "receiver": null}, {"caller_nid": "migrations_version20260715192758_version20260715192758_down", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260715192758.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
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_config_bootstrap_tz_php", "label": "bootstrap_tz.php", "file_type": "code", "source_file": "config/bootstrap_tz.php", "source_location": "L1"}], "edges": [], "raw_calls": []}
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
+6309 -1770
View File
File diff suppressed because it is too large Load Diff
+177 -102
View File
@@ -25,8 +25,8 @@
"semantic_hash": ""
},
"assets/admin/components/layout/Sidebar.tsx": {
"mtime": 1784120285.188529,
"ast_hash": "bd3f36c586aaa7db0c7a0cf0dc2f1a7e",
"mtime": 1784127422.1735263,
"ast_hash": "9da73c66364fe2185d7a74bf4fe5d362",
"semantic_hash": ""
},
"assets/admin/components/layout/Topbar.tsx": {
@@ -90,8 +90,8 @@
"semantic_hash": ""
},
"assets/admin/components/ui/PersianDateInput.tsx": {
"mtime": 1781170637.651191,
"ast_hash": "23aae0af77bc29dbb09864796484a3ae",
"mtime": 1784177558.783677,
"ast_hash": "9ccd0be0bfe806c3c3d63213c84b7400",
"semantic_hash": ""
},
"assets/admin/components/ui/PersianDatePicker.tsx": {
@@ -155,8 +155,8 @@
"semantic_hash": ""
},
"assets/admin/lib/utils.ts": {
"mtime": 1784108510.2054794,
"ast_hash": "d73f6a7882f4c3a369da2c923ded87e1",
"mtime": 1784148532.96165,
"ast_hash": "c6df44802ef9539765d4de2390fbe07f",
"semantic_hash": ""
},
"assets/admin/pages/AdminSubscriptionPage.tsx": {
@@ -170,8 +170,8 @@
"semantic_hash": ""
},
"assets/admin/pages/AppointmentsPage.tsx": {
"mtime": 1784119290.9106748,
"ast_hash": "a787d395481ebc93a03047d0c764d315",
"mtime": 1784179448.3711884,
"ast_hash": "54b3ee8a2a910c29b80fa0ca132e1a57",
"semantic_hash": ""
},
"assets/admin/pages/BlogFormPage.tsx": {
@@ -205,8 +205,8 @@
"semantic_hash": ""
},
"assets/admin/pages/ClinicServicesPage.tsx": {
"mtime": 1784120274.2906349,
"ast_hash": "c1ae8e780e4c4ad1ddafd3fead35eb6f",
"mtime": 1784144309.3587048,
"ast_hash": "e1e0c30acf344ca863c218a8ee120ca3",
"semantic_hash": ""
},
"assets/admin/pages/ClinicsPage.tsx": {
@@ -225,8 +225,8 @@
"semantic_hash": ""
},
"assets/admin/pages/DoctorDetailPage.tsx": {
"mtime": 1784020073.1650603,
"ast_hash": "d46894f7de1a010c18a1f4ace3ae0d7b",
"mtime": 1784179448.3719375,
"ast_hash": "f5742dde402165ea63ad7ddd4662d09d",
"semantic_hash": ""
},
"assets/admin/pages/DoctorFormPage.tsx": {
@@ -270,8 +270,8 @@
"semantic_hash": ""
},
"assets/admin/pages/MyPatientsPage.tsx": {
"mtime": 1784020073.172882,
"ast_hash": "6bf26fe4abfc136f0b8e6cf0814efdaa",
"mtime": 1784179448.3726864,
"ast_hash": "93f4accf09eaedcee3197bdfba019c19",
"semantic_hash": ""
},
"assets/admin/pages/MySecretariesPage.tsx": {
@@ -320,8 +320,8 @@
"semantic_hash": ""
},
"assets/admin/pages/RepresentationSettlementPage.tsx": {
"mtime": 1783060990.6327345,
"ast_hash": "239a3515ee1b06600f34aae4b42b74ad",
"mtime": 1784179448.3736196,
"ast_hash": "fd16f6a9c7c1ca9399fa43733b9a174d",
"semantic_hash": ""
},
"assets/admin/pages/RepresentationsPage.tsx": {
@@ -395,8 +395,8 @@
"semantic_hash": ""
},
"assets/admin/types/index.ts": {
"mtime": 1784104820.5105581,
"ast_hash": "ed8219ee35294cea97348671ef6e9117",
"mtime": 1784144296.3842175,
"ast_hash": "cc27a46c9109d61921b7a9905216f203",
"semantic_hash": ""
},
"assets/app.js": {
@@ -445,8 +445,8 @@
"semantic_hash": ""
},
"composer.json": {
"mtime": 1783666096.953897,
"ast_hash": "fcf018bd5c7fc59ecd3c76c463e7e9a8",
"mtime": 1784148411.5779374,
"ast_hash": "2a3665cc8c1e2a99b6de58bc3f196dae",
"semantic_hash": ""
},
"config/bundles.php": {
@@ -805,8 +805,8 @@
"semantic_hash": ""
},
"src/Admin/Controller/AdminApiController.php": {
"mtime": 1784126410.2857897,
"ast_hash": "42370a199066e73ce2c47d25071e5e7d",
"mtime": 1784128233.1135666,
"ast_hash": "03aa1d9038a31dac3e3cc4c92c387a33",
"semantic_hash": ""
},
"src/Admin/Controller/AdminController.php": {
@@ -820,23 +820,23 @@
"semantic_hash": ""
},
"src/Appointment/Controller/AppointmentController.php": {
"mtime": 1784020073.2751951,
"ast_hash": "e3c94f6f2db1e54bbfa03a384b32748b",
"mtime": 1784146086.7186909,
"ast_hash": "d9e0411d8d963c9c7e3c26b3518b8aad",
"semantic_hash": ""
},
"src/Appointment/Controller/AppointmentSettingsController.php": {
"mtime": 1782728407.188976,
"ast_hash": "5d405418e1ada6e08903b1e336fa681b",
"mtime": 1784145357.3323116,
"ast_hash": "0f0134780a56b01382b31ccce85d9960",
"semantic_hash": ""
},
"src/Appointment/Controller/MyAppointmentsController.php": {
"mtime": 1784126410.2861176,
"ast_hash": "7318060834e28cdf51969745ee019a14",
"mtime": 1784143916.2370102,
"ast_hash": "9abb6588c8c86ae5ab21e4c5d39f1c8a",
"semantic_hash": ""
},
"src/Appointment/Entity/Appointment.php": {
"mtime": 1784020073.2760692,
"ast_hash": "1109b3084b53ec0663ebea87379054f4",
"mtime": 1784129478.1274219,
"ast_hash": "c1ecbec734015edbbfe34f2a6250906b",
"semantic_hash": ""
},
"src/Appointment/Entity/DateOverride.php": {
@@ -850,8 +850,8 @@
"semantic_hash": ""
},
"src/Appointment/Entity/WeeklySchedule.php": {
"mtime": 1782650883.6029913,
"ast_hash": "f9ee5ba51a20b76b50dc2978f4d2244a",
"mtime": 1784145452.6252706,
"ast_hash": "a62398e6e2d1b06e431473f9d659166a",
"semantic_hash": ""
},
"src/Appointment/Message/ExpireAppointmentsMessage.php": {
@@ -865,8 +865,8 @@
"semantic_hash": ""
},
"src/Appointment/Repository/AppointmentRepository.php": {
"mtime": 1784020073.276517,
"ast_hash": "49c91237e463ad3ef8304d1f4d80b0ec",
"mtime": 1784143996.2192612,
"ast_hash": "f45ddfd4f6707cb999ce5b7f960cbf58",
"semantic_hash": ""
},
"src/Appointment/Repository/DateOverrideRepository.php": {
@@ -895,8 +895,8 @@
"semantic_hash": ""
},
"src/Appointment/Service/SlotCalculatorService.php": {
"mtime": 1782217986.4381547,
"ast_hash": "331eec6b048ed6279a5aa817e4eda409",
"mtime": 1784143767.4892478,
"ast_hash": "a724b70134dfdab468d498de31149ced",
"semantic_hash": ""
},
"src/Auth/Controller/AuthController.php": {
@@ -945,8 +945,8 @@
"semantic_hash": ""
},
"src/Auth/Repository/UserRepository.php": {
"mtime": 1784126410.2864175,
"ast_hash": "7bb648968192596c7c25d3267e00bc95",
"mtime": 1784128250.2640142,
"ast_hash": "6d8dd5b145c2b10efb595a92d09937ce",
"semantic_hash": ""
},
"src/Auth/Security/PasswordAuthenticator.php": {
@@ -1105,13 +1105,13 @@
"semantic_hash": ""
},
"src/ClinicService/Controller/ClinicServiceController.php": {
"mtime": 1784020073.2782173,
"ast_hash": "4b1ef481060aa33562bb2508f40be0bf",
"mtime": 1784143618.2363176,
"ast_hash": "cd0731ce0470b7e0875ec072f083573b",
"semantic_hash": ""
},
"src/ClinicService/Entity/ServiceItem.php": {
"mtime": 1784020073.2785506,
"ast_hash": "ccc1ae4ab9b99233ebd582005b380f89",
"mtime": 1784143602.4658246,
"ast_hash": "787dc62073d259f618e93dbe171d8bec",
"semantic_hash": ""
},
"src/ClinicService/Entity/ServiceSection.php": {
@@ -1125,8 +1125,8 @@
"semantic_hash": ""
},
"src/ClinicService/Repository/ServiceItemRepository.php": {
"mtime": 1784020073.2798977,
"ast_hash": "5cc885f56f0ebb101d0989afa2e399a2",
"mtime": 1784146070.520941,
"ast_hash": "03d8b128bb66934808f8afd89d7a9565",
"semantic_hash": ""
},
"src/ClinicService/Repository/ServiceSectionRepository.php": {
@@ -2255,8 +2255,8 @@
"semantic_hash": ""
},
"config/packages/security.yaml": {
"mtime": 1783788126.802166,
"ast_hash": "d6adafd1b3cf1b7ec18d3c729b70dcb8",
"mtime": 1784146118.1681638,
"ast_hash": "2f13446c2657704ce6787525902c3289",
"semantic_hash": ""
},
"config/packages/twig.yaml": {
@@ -2335,18 +2335,18 @@
"semantic_hash": ""
},
"docs/api/admin.md": {
"mtime": 1784126410.2847717,
"ast_hash": "150a6003d7f9f32f905a17c06e0668ee",
"mtime": 1784128390.3493185,
"ast_hash": "a769b5e594fe7dbb3c8101521d19a4f4",
"semantic_hash": ""
},
"docs/api/appointment-settings.md": {
"mtime": 1782728407.106611,
"ast_hash": "340ea903ea45d63825001c90b6baa8c0",
"mtime": 1784145725.26663,
"ast_hash": "37608a9c03633a32d0ef296fae285310",
"semantic_hash": ""
},
"docs/api/appointment.md": {
"mtime": 1784126410.2851198,
"ast_hash": "56588001381a1a7e0e630e32f8ad656d",
"mtime": 1784146203.477365,
"ast_hash": "64e9895ebe8a29de23b68731a384594c",
"semantic_hash": ""
},
"docs/api/auth.md": {
@@ -2370,8 +2370,8 @@
"semantic_hash": ""
},
"docs/api/clinic-services.md": {
"mtime": 1784020073.1902275,
"ast_hash": "9c7747e136d642175ecb9efb08dced55",
"mtime": 1784144923.7645853,
"ast_hash": "99cad194a9653876c88f804a777d96a8",
"semantic_hash": ""
},
"docs/api/clinic.md": {
@@ -3075,8 +3075,8 @@
"semantic_hash": ""
},
"tests/Appointment/SlotUniquenessTest.php": {
"mtime": 1782728407.2069545,
"ast_hash": "7357ff810a81d8278c096ce2747023f6",
"mtime": 1784129608.8320577,
"ast_hash": "7e8fde73ddc549e87abcda7f842ca22d",
"semantic_hash": ""
},
"tests/Audit/LowTierFixesTest.php": {
@@ -4200,13 +4200,13 @@
"semantic_hash": ""
},
"assets/admin/pages/PatientRecordFormPage.test.tsx": {
"mtime": 1784020073.175126,
"ast_hash": "46a80c75126e3d5004fd007ccb979387",
"mtime": 1784179515.7116892,
"ast_hash": "6aa9ddd614b3afc86cea7ebdf25a276c",
"semantic_hash": ""
},
"assets/admin/pages/PatientRecordFormPage.tsx": {
"mtime": 1784020073.1767864,
"ast_hash": "46282cfbfeac1d0d6beff0dae02b7b2a",
"mtime": 1784179448.3732789,
"ast_hash": "6e86beca8bdaca7f4f44f7def896b7e3",
"semantic_hash": ""
},
"assets/admin/pages/PatientsListPage.test.tsx": {
@@ -4340,8 +4340,8 @@
"semantic_hash": ""
},
"tests/Appointment/AppointmentCreateReserveTest.php": {
"mtime": 1784126410.2867372,
"ast_hash": "0272d08c068766fb945f53c09fa4015a",
"mtime": 1784134947.989677,
"ast_hash": "663f1737b092b2759d8e2f4092c10bf1",
"semantic_hash": ""
},
"tests/Appointment/AppointmentUpdateTest.php": {
@@ -4355,13 +4355,13 @@
"semantic_hash": ""
},
"assets/admin/components/AppointmentActions.test.tsx": {
"mtime": 1784020073.1405804,
"ast_hash": "e22257f4b20c7499142d190b916c1b7e",
"mtime": 1784179448.3664348,
"ast_hash": "930abec2b20f894576761f268d3223d8",
"semantic_hash": ""
},
"assets/admin/components/AppointmentActions.tsx": {
"mtime": 1784020073.1409526,
"ast_hash": "c6089916ff6b69b14849d50df611d473",
"mtime": 1784179448.3670273,
"ast_hash": "653beb0cf0e77b8050909eaf323fd883",
"semantic_hash": ""
},
"assets/admin/components/ui/AppointmentStatusDropdown.test.tsx": {
@@ -4370,13 +4370,13 @@
"semantic_hash": ""
},
"assets/admin/components/NewAppointmentDrawer.test.tsx": {
"mtime": 1784126410.28249,
"ast_hash": "2bf8d787b293496a31e0a1c22e66be06",
"mtime": 1784179448.3676825,
"ast_hash": "a520e11cf2ba01a72335f3f6ec0fbee9",
"semantic_hash": ""
},
"assets/admin/components/NewAppointmentDrawer.tsx": {
"mtime": 1784126410.2836783,
"ast_hash": "788ace3eeae31d769a52d936759edf71",
"mtime": 1784179448.3688238,
"ast_hash": "16b86e1dc601f4d3c27d35e53848800d",
"semantic_hash": ""
},
"assets/admin/components/AppointmentFiltersModal.test.tsx": {
@@ -4385,18 +4385,18 @@
"semantic_hash": ""
},
"assets/admin/components/AppointmentFiltersModal.tsx": {
"mtime": 1784020073.1431007,
"ast_hash": "a06b42a70c9764d1336e2cb671095204",
"mtime": 1784179448.3673394,
"ast_hash": "13f825322af830ea8ab641e89d026016",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentEditPage.test.tsx": {
"mtime": 1784020073.158651,
"ast_hash": "f5e8d6925e76a1407c6bc80bb82f7853",
"mtime": 1784179480.6405501,
"ast_hash": "80689d6e5f02c700e1adeb2f62185469",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentEditPage.tsx": {
"mtime": 1784119313.6031487,
"ast_hash": "1b87467baf455a20bb55581f3f49b1bc",
"mtime": 1784179448.370914,
"ast_hash": "f406223ab3a5bfa5d3350106c5ac4547",
"semantic_hash": ""
},
"assets/admin/pages/ReserveAppointmentsPage.test.tsx": {
@@ -4405,8 +4405,8 @@
"semantic_hash": ""
},
"assets/admin/pages/ReserveAppointmentsPage.tsx": {
"mtime": 1784020073.1809042,
"ast_hash": "e0b9a71ea922d3c4e5f1140b9b82073c",
"mtime": 1784179448.3742685,
"ast_hash": "22de382b5e8963c3ccbfd8bfe91fccac",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentsPage.pagination.test.tsx": {
@@ -4415,8 +4415,8 @@
"semantic_hash": ""
},
"assets/admin/components/dashboard/NewAppointmentsTable.tsx": {
"mtime": 1784023697.7470117,
"ast_hash": "fa46c4b6b56b32002b0c8ed49e1d2473",
"mtime": 1784148634.6709824,
"ast_hash": "7e7ade0ddb3b01790320752920666b26",
"semantic_hash": ""
},
"assets/admin/components/dashboard/TauriCharts.test.tsx": {
@@ -4430,8 +4430,8 @@
"semantic_hash": ""
},
"assets/admin/components/dashboard/TauriDashboardView.tsx": {
"mtime": 1784026074.314997,
"ast_hash": "df2c4298201cfc6b1230eea475d08f71",
"mtime": 1784179448.36962,
"ast_hash": "6430668215a42fb9a3369f3f99fdfc38",
"semantic_hash": ""
},
"assets/admin/components/dashboard/TauriStatCards.tsx": {
@@ -4495,8 +4495,8 @@
"semantic_hash": ""
},
"assets/admin/pages/MyPaymentsPage.tsx": {
"mtime": 1784042921.2172487,
"ast_hash": "20c482b0ba78b71ab76dea9bbfe06f42",
"mtime": 1784179448.372976,
"ast_hash": "397733b3c3fde8bec4eb0be55f291e99",
"semantic_hash": ""
},
"tests/Billing/PatientPaymentsTest.php": {
@@ -4510,8 +4510,8 @@
"semantic_hash": ""
},
"assets/admin/components/PatientsFilterModal.tsx": {
"mtime": 1784044621.8919873,
"ast_hash": "ae65dc1d3e1e128a186c85c4a227799b",
"mtime": 1784179448.369293,
"ast_hash": "00c6686bf2ac06cfdaf1280897b46c8f",
"semantic_hash": ""
},
"tests/Patient/PatientListFilterTest.php": {
@@ -4680,8 +4680,8 @@
"semantic_hash": ""
},
"assets/admin/components/inventory/AddPackageModal.tsx": {
"mtime": 1784110681.7905548,
"ast_hash": "1c0153461a7c08b4b55df3b9492bb3fa",
"mtime": 1784179448.369952,
"ast_hash": "b9d6f873e2f6ce960a4446ed7b09b461",
"semantic_hash": ""
},
"assets/admin/components/inventory/InventoryActionsMenu.tsx": {
@@ -4720,8 +4720,8 @@
"semantic_hash": ""
},
"assets/admin/pages/InventoryPage.tsx": {
"mtime": 1784113028.651921,
"ast_hash": "d1d9274a0139082b7384a81aa13a536c",
"mtime": 1784179448.372278,
"ast_hash": "9bafae5fc273a182d72c4495751b1fd0",
"semantic_hash": ""
},
"migrations/Version20260715100324.php": {
@@ -4800,8 +4800,8 @@
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsTimeline.tsx": {
"mtime": 1784117514.3276236,
"ast_hash": "9baa8de887f28f2c98c7f35d0bc0ed0a",
"mtime": 1784180050.4502513,
"ast_hash": "71ee43f49f8eae5d03ba03202c5d535d",
"semantic_hash": ""
},
"assets/admin/components/appointments/TurnsViewToggle.tsx": {
@@ -4820,18 +4820,18 @@
"semantic_hash": ""
},
"assets/admin/components/layout/Sidebar.test.tsx": {
"mtime": 1784120290.7718494,
"ast_hash": "39ac4743cb8d3dcb863fe3455faa1984",
"mtime": 1784127422.1780255,
"ast_hash": "18d9c888d8dd85fe56cd8d504eb01d54",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentCreatePage.test.tsx": {
"mtime": 1784126410.284031,
"ast_hash": "28a6db3b726370c0d5c953c746f7b5eb",
"mtime": 1784147446.200377,
"ast_hash": "99a00d2e4f31fb0994db7ed4988bba0c",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentCreatePage.tsx": {
"mtime": 1784126410.2843106,
"ast_hash": "e148385340636bf35ce290ab737489d3",
"mtime": 1784180822.330943,
"ast_hash": "70b4c5c335ddfc6d2851af7633091f49",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentsPage.test.tsx": {
@@ -4880,18 +4880,93 @@
"semantic_hash": ""
},
"src/Patient/Service/PatientResolver.php": {
"mtime": 1784126410.3032959,
"ast_hash": "9974bab917463c3ba709ea1cab52b34a",
"mtime": 1784128199.8128772,
"ast_hash": "1f0b09e0730be48afcef638a4d1c59a3",
"semantic_hash": ""
},
"tests/Appointment/AppointmentNationalCodeTest.php": {
"mtime": 1784126410.3034916,
"ast_hash": "81daa60857449d922005844a8e4ab655",
"mtime": 1784128318.1109495,
"ast_hash": "dc68e9ae1deb6dfd949fee083107c6ec",
"semantic_hash": ""
},
".claude/prompt/appointment-book-national-code.md": {
"mtime": 1784126410.3031077,
"ast_hash": "178e67a30bf86d7f628debe578333fd4",
"semantic_hash": ""
},
"assets/admin/components/appointments/ServiceSlotPicker.tsx": {
"mtime": 1784147101.3118663,
"ast_hash": "0f583e8266675a0b47d5faa51e658a36",
"semantic_hash": ""
},
"assets/admin/components/ui/PersianDateInput.test.tsx": {
"mtime": 1784177656.9383228,
"ast_hash": "d0cb0c95066ad98532cc8a86257afc3d",
"semantic_hash": ""
},
"assets/admin/hooks/useDoctorBookingServices.ts": {
"mtime": 1784147070.0058453,
"ast_hash": "4f2ecae235d364d8a2f43c28a91fa8a3",
"semantic_hash": ""
},
"assets/admin/pages/AppointmentBookingModal.test.tsx": {
"mtime": 1784127558.032953,
"ast_hash": "a9509699ab0bd979e1058fec83b7b307",
"semantic_hash": ""
},
"config/bootstrap_tz.php": {
"mtime": 1784148402.4689424,
"ast_hash": "9b970f5e2c7da2906e91fdbf32e8d1ef",
"semantic_hash": ""
},
"migrations/Version20260715192758.php": {
"mtime": 1784143689.1634362,
"ast_hash": "9d89976faf32db19b90640369b9ad46c",
"semantic_hash": ""
},
"tests/Appointment/BookingModeImmutableTest.php": {
"mtime": 1784145646.813864,
"ast_hash": "c6d6d04afacaa2eb0365af730863cd39",
"semantic_hash": ""
},
"tests/Appointment/BookingServicesPublicTest.php": {
"mtime": 1784146170.1302702,
"ast_hash": "ac2c85cc54ffc37901cb4547df04e7a4",
"semantic_hash": ""
},
"tests/Appointment/PatientLookupTest.php": {
"mtime": 1784128342.572115,
"ast_hash": "f64f456662ad3008d7c3875bac3e5057",
"semantic_hash": ""
},
"tests/Appointment/ServiceBasedSlotsTest.php": {
"mtime": 1784144594.02796,
"ast_hash": "4114940c6638c0fa731b7d99a9be208d",
"semantic_hash": ""
},
"tests/Shared/TimezoneTest.php": {
"mtime": 1784148768.671402,
"ast_hash": "2e6a797c996c67bbda5d6231ef9c8598",
"semantic_hash": ""
},
".claude/prompt/admin-jalali-date-input.md": {
"mtime": 1784177495.4270067,
"ast_hash": "0e0f23a78ca159e82e728ca744fcf413",
"semantic_hash": ""
},
".claude/prompt/admin-native-select-to-searchableselect.md": {
"mtime": 1784178196.949597,
"ast_hash": "68a92748a3dc56ca4215827637db346d",
"semantic_hash": ""
},
".claude/prompt/fix-reserved-slots-shown-free.md": {
"mtime": 1784129127.0325568,
"ast_hash": "c0ce2f8e8528b5fd5faf1fe3e7472732",
"semantic_hash": ""
},
".claude/prompt/service-based-booking.md": {
"mtime": 1784143473.6352594,
"ast_hash": "ed1b2304393e8807190f4bffaedee10d",
"semantic_hash": ""
}
}