feat: Add City entity methods and migration for title field

- Created a new JSON file for the City entity's AST representation, detailing its methods and properties.
- Added a migration to alter the cities table by adding a nullable title column.
This commit is contained in:
hamed
2026-07-08 12:19:06 +03:30
parent 94541ad609
commit ccbb1d0b1f
25 changed files with 1328 additions and 925 deletions
+8 -1
View File
@@ -733,5 +733,12 @@
"731": "Community 731",
"732": "Community 732",
"733": "Community 733",
"734": "Community 734"
"734": "Community 734",
"735": "Community 735",
"736": "Community 736",
"737": "Community 737",
"738": "Community 738",
"739": "Community 739",
"740": "Community 740",
"741": "Community 741"
}
+126 -107
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-07-08)
## Corpus Check
- 717 files · ~525,524 words
- 718 files · ~526,180 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 9059 nodes · 12502 edges · 735 communities (593 shown, 142 thin omitted)
- 9068 nodes · 12516 edges · 742 communities (596 shown, 146 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 277 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `8f4f7fc9`
- Built from commit: `94541ad6`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -735,6 +735,13 @@
- [[_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]]
## God Nodes (most connected - your core abstractions)
1. `BaseController` - 76 edges
@@ -753,21 +760,21 @@
assets/admin/components/ServiceTariffModal.tsx → assets/admin/lib/utils.ts
- `Pagination()` --calls--> `formatNumber()` [EXTRACTED]
assets/admin/components/ui/Pagination.tsx → assets/admin/lib/utils.ts
- `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
- `PersianDatePicker()` --calls--> `formatDate()` [EXTRACTED]
assets/admin/components/ui/PersianDatePicker.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 (735 total, 142 thin omitted)
## Communities (742 total, 146 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.05
Nodes (38): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, DEGREE_OPTIONS, DoctorFormPage() (+30 more)
Cohesion: 0.06
Nodes (36): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, DEGREE_OPTIONS, DoctorFormPage() (+28 more)
### Community 1 - "Community 1"
Cohesion: 0.03
@@ -782,16 +789,16 @@ Cohesion: 0.10
Nodes (20): `RepresentationActionController` — welcome به‌صورت inline (بدون تمپلت), `SmsMessageTemplate::DEFAULTS` (فاقد نام تمپلت و نگاشت token), `SmsService::sendNow` — انتخاب بین lookup و متن‌آزاد, الگوی فعلی همه‌ی call-siteها (به‌جز OTP) — متن‌آزاد، بدون `templateCode`, تبدیل همه‌ی پیامک‌های سیستمی به VerifyLookup کاوه‌نگار (تمپلت نام‌دار), تنها جای درست (OTP) — که باید الگوی بقیه شود, زمینه, فایل‌های مرتبط (+12 more)
### Community 4 - "Community 4"
Cohesion: 0.05
Nodes (11): DoctorServiceController, DoctorService, Doctor, DoctorServiceRepository, Collection, self, User, WeeklySchedule (+3 more)
Cohesion: 0.06
Nodes (8): DoctorService, Doctor, DoctorServiceRepository, Collection, self, User, WeeklySchedule, ManagerRegistry
### Community 5 - "Community 5"
Cohesion: 0.07
Nodes (3): UserProfile, self, User
### Community 6 - "Community 6"
Cohesion: 0.12
Nodes (12): SettlementController, SettlementRepository, WalletTransactionRepository, Settlement, JsonResponse, Request, User, ManagerRegistry (+4 more)
Cohesion: 0.17
Nodes (8): SettlementController, SettlementRepository, Settlement, JsonResponse, Request, User, ManagerRegistry, User
### Community 7 - "Community 7"
Cohesion: 0.07
@@ -815,15 +822,15 @@ Nodes (4): UserActiveContextRepository, ManagerRegistry, User, UserActiveContext
### Community 12 - "Community 12"
Cohesion: 0.05
Nodes (44): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+36 more)
Nodes (39): Clinic Doctor Invitation API, DELETE `/api/v1/admin/clinic/invitation/{invUuid}`, Errors, Errors, Errors, Errors, Errors, Errors (+31 more)
### Community 13 - "Community 13"
Cohesion: 0.05
Nodes (33): get, PaymentConfig, PaymentGatewayInfo, api, ApiError, ApiResponse, getToken(), refreshOnce() (+25 more)
Cohesion: 0.08
Nodes (20): get, api, ApiError, getToken(), refreshOnce(), request(), { refreshMock, logoutMock }, replaceMock (+12 more)
### Community 14 - "Community 14"
Cohesion: 0.10
Nodes (12): AppointmentSettingsController, DateOverride, Holiday, DateOverrideRepository, HolidayRepository, JsonResponse, Request, User (+4 more)
Cohesion: 0.15
Nodes (8): AppointmentSettingsController, Holiday, HolidayRepository, JsonResponse, Request, User, Doctor, ManagerRegistry
### Community 15 - "Community 15"
Cohesion: 0.25
@@ -834,8 +841,8 @@ Cohesion: 0.07
Nodes (7): PatientSession, SmsWallet, Appointment, Collection, PatientRecord, self, SessionService
### Community 17 - "Community 17"
Cohesion: 0.06
Nodes (33): DELETE `/api/v1/comment/{uuid}`, Errors, Errors, Errors, Errors, Errors, Errors, Errors (+25 more)
Cohesion: 0.05
Nodes (38): DELETE `/api/v1/comment/{uuid}`, Errors, Errors, Errors, Errors, Errors, Errors, Errors (+30 more)
### Community 18 - "Community 18"
Cohesion: 0.05
@@ -843,7 +850,7 @@ Nodes (38): API, API, API, API, API, Route, Route, Route (+30 more)
### Community 19 - "Community 19"
Cohesion: 0.05
Nodes (41): PaginatedResponse, FILTERS, Breakdown, SOURCE_LABEL, Summary, LEVEL_FILTER_OPTIONS, LEVEL_META, Tab (+33 more)
Nodes (44): PaginatedResponse, formatDate(), STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL, Summary, LEVEL_FILTER_OPTIONS (+36 more)
### Community 20 - "Community 20"
Cohesion: 0.14
@@ -851,18 +858,18 @@ Nodes (3): AdminApiController, JsonResponse, Request
### Community 21 - "Community 21"
Cohesion: 0.05
Nodes (40): usePaymentConfig(), formatNumber(), formatRial(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats (+32 more)
Nodes (33): formatNumber(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS, APPT_COLOR (+25 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
Nodes (36): Changes Applied, `config/packages/rate_limiter.yaml` (new), `config/packages/security.yaml`, Configuration Changes, CRIT-01 — Weak APP_SECRET Committed to Version Control, CRIT-02 — JWT Passphrase Hardcoded in `.env`, CRIT-03 — Payment Gateway Test Credentials Committed, CRIT-04 — Unhandled Exceptions Leaking Stack Traces (+28 more)
### Community 24 - "Community 24"
Cohesion: 0.08
Cohesion: 0.07
Nodes (3): City, Province, self
### Community 25 - "Community 25"
@@ -870,8 +877,8 @@ Cohesion: 0.05
Nodes (39): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+31 more)
### Community 26 - "Community 26"
Cohesion: 0.24
Nodes (4): InsuranceController, JsonResponse, Request, User
Cohesion: 0.15
Nodes (7): InsuranceController, EntityInsurancePricing, EntityInsurancePricingRepository, JsonResponse, Request, User, ManagerRegistry
### Community 27 - "Community 27"
Cohesion: 0.06
@@ -925,6 +932,10 @@ Nodes (5): DoctorAddress, City, Doctor, Province, self
Cohesion: 0.09
Nodes (4): User, PasswordAuthenticatedUserInterface, self, UserInterface
### Community 41 - "Community 41"
Cohesion: 0.21
Nodes (5): DateOverrideOwnershipTest, DateOverride, DateOverrideRepository, Doctor, ManagerRegistry
### Community 42 - "Community 42"
Cohesion: 0.07
Nodes (29): API calls (با `useMutation`):, API موجود:, Frontend موجود:, `PATCH /api/v1/clinic/{clinicUuid}/doctor/{doctorUuid}/deactivate`, `PATCH /api/v1/clinic/{clinicUuid}/doctor/{doctorUuid}/reactivate`, UX نکات:, آپدیت `GET /api/v1/clinic/doctor-list/{clinicUuid}` (فیلدهای جدید), آپدیت interface: (+21 more)
@@ -971,7 +982,7 @@ Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, با
### Community 53 - "Community 53"
Cohesion: 0.10
Nodes (13): AppLogRepository, ClaimItemRepository, PreRegistrationRepository, SessionServiceRepository, SmsSettingsRepository, ServiceEntityRepository, SmsSettings, ManagerRegistry (+5 more)
Nodes (13): AppLogRepository, ClaimItemRepository, DoctorInsuranceRepository, InvoiceItemRepository, PreRegistrationRepository, ServiceEntityRepository, ManagerRegistry, ManagerRegistry (+5 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -990,8 +1001,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
@@ -1010,8 +1021,8 @@ 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)
### Community 63 - "Community 63"
Cohesion: 0.21
Nodes (5): ErrorCodes, AuthController, JsonResponse, Request, User
Cohesion: 0.22
Nodes (5): AuthController, RateLimiterFactory, JsonResponse, Request, User
### Community 64 - "Community 64"
Cohesion: 0.29
@@ -1038,8 +1049,8 @@ Cohesion: 0.15
Nodes (12): رفع بهم‌ریختگی کامل پنل ادمین روی iPhone 8 (Safari/Chrome iOS), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+4 more)
### Community 71 - "Community 71"
Cohesion: 0.09
Nodes (20): AddForm, addSchema, ClinicsPage(), HUES_LIST, EMPTY, PreRegistration, STATUS_META, STATUS_TABS (+12 more)
Cohesion: 0.05
Nodes (37): ApiResponse, ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP (+29 more)
### Community 72 - "Community 72"
Cohesion: 0.09
@@ -1091,7 +1102,7 @@ Nodes (30): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react
### Community 86 - "Community 86"
Cohesion: 0.08
Nodes (13): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser, CommentPaginationTest (+5 more)
Nodes (13): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemDeleteCleanupTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser (+5 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1162,8 +1173,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
@@ -1386,8 +1397,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
@@ -1410,8 +1421,8 @@ Cohesion: 0.10
Nodes (20): api.ir (استعلام هویت — Shahkar / IbanMatch), اتصال به دیتابیس‌های مستقل (الزامی), اسرار (الزامی — قبل از اولین دیپلوی), امنیت و منابع, بررسی سلامت, دامنه‌ها و CORS, دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro (Coolify + Docker Compose) (+12 more)
### Community 169 - "Community 169"
Cohesion: 0.36
Nodes (5): ClinicServiceController, JsonResponse, Request, ServiceSection, User
Cohesion: 0.31
Nodes (6): ErrorCodes, ClinicServiceController, JsonResponse, Request, ServiceSection, User
### Community 170 - "Community 170"
Cohesion: 0.13
@@ -1434,8 +1445,8 @@ 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)
### Community 175 - "Community 175"
Cohesion: 0.07
Nodes (20): Contract, InsuranceOption, KIND_LABEL, ALL_STATUSES, AppointmentDetailPage(), timeOf(), Claim, ClaimItem (+12 more)
Cohesion: 0.10
Nodes (13): Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META, IbanItem (+5 more)
### Community 176 - "Community 176"
Cohesion: 0.25
@@ -1531,7 +1542,7 @@ Nodes (13): Endpoint ها, PATCH /api/v1/secretary/{uuid}, POST /api/v1/secretar
### Community 201 - "Community 201"
Cohesion: 0.15
Nodes (13): Admin API, Clinic Invitation Management, GET `/api/v1/admin/pre-registrations`, GET `/api/v1/admin/secretaries`, GET /api/v1/admin/settings, PATCH /api/v1/admin/settings, POST `/api/v1/admin/pre-registrations/{uuid}/approve`, POST `/api/v1/admin/pre-registrations/{uuid}/reject` (+5 more)
Nodes (13): Admin API, Clinic Invitation Management, GET `/api/v1/admin/secretaries`, GET /api/v1/admin/settings, GET `/api/v1/admin/settlements`, PATCH /api/v1/admin/settings, Query Parameters, Query Parameters (+5 more)
### Community 202 - "Community 202"
Cohesion: 0.15
@@ -1542,8 +1553,8 @@ 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.16
Nodes (6): ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, LoggerInterface, ResponseEvent
Cohesion: 0.23
Nodes (5): ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, ResponseEvent
### Community 205 - "Community 205"
Cohesion: 0.10
@@ -1610,8 +1621,8 @@ Cohesion: 0.23
Nodes (5): PaymentRepository, Appointment, ManagerRegistry, Payment, User
### Community 225 - "Community 225"
Cohesion: 0.03
Nodes (54): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+46 more)
Cohesion: 0.06
Nodes (36): PaymentConfig, PaymentGatewayInfo, usePaymentConfig(), buildKavenegarPattern(), KavenegarGuide(), STATUS_LOG_META, Tab, TAG_FILTER_OPTIONS (+28 more)
### Community 226 - "Community 226"
Cohesion: 0.15
@@ -1626,8 +1637,8 @@ Cohesion: 0.20
Nodes (10): Bulk import / export, DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, GET `/api/v1/insurance/{id}`, Insurance API, Response `200`, Response `200` (+2 more)
### Community 229 - "Community 229"
Cohesion: 0.17
Nodes (11): DELETE `/api/v1/representation/{uuid}`, Errors, Errors, GET `/api/v1/representation/{uuid}`, GET `/api/v1/representation/{uuid}/dashboard/yearly`, Path Parameters, Query Parameters, Representation (Agent) API (+3 more)
Cohesion: 0.15
Nodes (12): DELETE `/api/v1/representation/{uuid}`, Errors, Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, GET `/api/v1/representation/{uuid}/dashboard/yearly`, Path Parameters, Query Parameters, Query Parameters (+4 more)
### Community 230 - "Community 230"
Cohesion: 0.35
@@ -1762,8 +1773,8 @@ Cohesion: 0.33
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.06
Nodes (33): Contract, InsuranceOption, KIND_LABEL, calcFinalPrice(), EMPTY_RECORDS, EMPTY_SESSIONS, fileNumber(), getPatientName() (+25 more)
### Community 266 - "Community 266"
Cohesion: 0.33
@@ -1798,7 +1809,7 @@ 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.20
Cohesion: 0.21
Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope
### Community 275 - "Community 275"
@@ -1902,8 +1913,8 @@ Cohesion: 0.42
Nodes (3): PreRegistrationController, JsonResponse, Request
### Community 301 - "Community 301"
Cohesion: 0.08
Nodes (31): FreeVisitPrice(), Pricing, cn(), formatDateTime(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile() (+23 more)
Cohesion: 0.04
Nodes (55): FreeVisitPrice(), Pricing, cn(), formatDateTime(), formatRial(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile() (+47 more)
### Community 302 - "Community 302"
Cohesion: 0.12
@@ -1962,8 +1973,8 @@ Cohesion: 0.31
Nodes (3): SubscriptionPlanRepository, ManagerRegistry, SubscriptionPlan
### Community 318 - "Community 318"
Cohesion: 0.25
Nodes (8): AbstractAuthenticator, AuthenticationException, Passport, RateLimiterFactory, PasswordAuthenticator, Request, Response, TokenInterface
Cohesion: 0.28
Nodes (7): AbstractAuthenticator, AuthenticationException, Passport, PasswordAuthenticator, Request, Response, TokenInterface
### Community 319 - "Community 319"
Cohesion: 0.39
@@ -2086,8 +2097,8 @@ Cohesion: 0.11
Nodes (18): `Appointment.php`, `PaymentController::pay` (نوبت را اصلاً چک نمی‌کند), `PaymentController::startOrderPayment` (فقط status، بدون چک زمان), `renderPaymentResult` labels (برچسب `expired` ندارد), الگوی موجود انقضا (`AppointmentExpiryService`) — برای مرجع, زمینه, فایل‌های مرتبط, مشکل / هدف (+10 more)
### Community 352 - "Community 352"
Cohesion: 0.15
Nodes (5): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, TenantInsuranceCleanupService, ManagerRegistry
Cohesion: 0.06
Nodes (23): CityForm, citySchema, ImportError, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm, provinceSchema (+15 more)
### Community 354 - "Community 354"
Cohesion: 0.36
@@ -2261,10 +2272,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, Version20260614182950
### Community 401 - "Community 401"
Cohesion: 0.12
Nodes (15): `lib/utils.ts`, `SettingsPage.tsx` (ورودی‌ها ریال ذخیره می‌شوند), زمینه, فایل‌های مرتبط, مشکل / هدف, نمونهٔ نمایش (Subscription), نکات مهم, واحد پول = تومان در پنل ادمین (نمایش ÷۱۰ / ورودی ×۱۰) — ذخیره و درگاه ریال می‌ماند (+7 more)
@@ -2274,8 +2281,8 @@ Cohesion: 0.11
Nodes (17): بازطراحی معماری پرداخت — سرویس‌محور، امن، توسعه‌پذیر (Backend), تست دستی (ddev، در حالت `payment_test_mode=1`), خروجی نهایی (طبق spec — در گزارش اجرا ارائه شود), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (+9 more)
### Community 407 - "Community 407"
Cohesion: 0.17
Nodes (11): MessageBusInterface, MockObject, SmsLogRepository, SmsServiceLookupOnlyTest, SmsLog, SmsLogRepository, SmsMessageTemplateRepository, SmsService (+3 more)
Cohesion: 0.27
Nodes (8): MessageBusInterface, MockObject, SmsServiceLookupOnlyTest, SmsLogRepository, SmsMessageTemplateRepository, SmsService, SmsTextResolver, KavehNegarProvider
### Community 418 - "Community 418"
Cohesion: 0.17
@@ -2285,6 +2292,10 @@ Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اش
Cohesion: 0.33
Nodes (5): SecretaryController, DoctorSecretary, JsonResponse, Request, User
### Community 431 - "Community 431"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260614181657, Schema, Version20260615061938
### Community 432 - "Community 432"
Cohesion: 0.12
Nodes (16): backend (آماده — فقط annotation/doc ناقص), افزودن فیلد «تاریخ شروع فعالیت» (سال تجربه) در پنل ادمین با تقویم شمسی, زمینه, فایل‌های مرتبط, فرم ساخت پزشک — `DoctorFormPage.tsx` (خط ~282), فرم ویرایش پزشک — `DoctorDetailPage.tsx` (وضعیت فعلی، بدون فیلد تاریخ), مشکل / هدف, نکات مهم (+8 more)
@@ -2293,6 +2304,10 @@ Nodes (16): backend (آماده — فقط annotation/doc ناقص), افزود
Cohesion: 0.39
Nodes (3): ClinicStaffRepository, ClinicStaff, ManagerRegistry
### Community 435 - "Community 435"
Cohesion: 0.33
Nodes (4): BlogController, JsonResponse, Request, User
### Community 439 - "Community 439"
Cohesion: 0.40
Nodes (5): 31. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
@@ -2302,8 +2317,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 452 - "Community 452"
Cohesion: 0.08
Nodes (16): ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP, IRAN_CENTER (+8 more)
Cohesion: 0.24
Nodes (5): WalletTransactionRepository, WalletTransactionsPaginationTest, ManagerRegistry, User, WalletTransaction
### Community 456 - "Community 456"
Cohesion: 0.15
@@ -2314,8 +2329,8 @@ Cohesion: 0.47
Nodes (6): formatPersianDate(), gToJ(), jFirstDayOfWeek(), PersianDateInput(), todayGregorian(), toPersianNums()
### Community 459 - "Community 459"
Cohesion: 0.40
Nodes (5): API موجود (نیاز به تغییر ندارند), اپیک ۳ — منشی (Secretary) — تکمیل, تغییرات مورد نیاز, توضیح, نیازمندی‌های کارکردی
Cohesion: 0.33
Nodes (6): API موجود (نیاز به تغییر ندارند), اپیک‌ها, اپیک ۳ — منشی (Secretary) — تکمیل, تغییرات مورد نیاز, توضیح, نیازمندی‌های کارکردی
### Community 460 - "Community 460"
Cohesion: 0.33
@@ -2454,8 +2469,8 @@ Cohesion: 0.40
Nodes (5): addMinutes(), calcSlotCount(), hasOverlap(), parseMinutes(), SessionEditor()
### Community 500 - "Community 500"
Cohesion: 0.33
Nodes (6): API موجود (نیاز به endpoint جدید ندارد), اپیک‌ها, اپیک ۷ — داشبورد هوشمند (Smart Dashboard), تغییر مورد نیاز, توضیح, نیازمندی‌های کارکردی
Cohesion: 0.40
Nodes (5): API موجود (نیاز به endpoint جدید ندارد), اپیک ۷ — داشبورد هوشمند (Smart Dashboard), تغییر مورد نیاز, توضیح, نیازمندی‌های کارکردی
### Community 501 - "Community 501"
Cohesion: 0.40
@@ -2574,8 +2589,8 @@ Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/verify-code`, Request Body, Response `200`
### Community 534 - "Community 534"
Cohesion: 0.07
Nodes (25): formatDate(), IbanItem, RepMe, RepresentationSettlementPage(), RepSummary, SettlementRow, STATUS_CLASS, STATUS_LABEL (+17 more)
Cohesion: 0.13
Nodes (12): AdminUserDetail, AVATAR_COLORS, EditForm, editSchema, GENDER_LABELS, getPrimaryRole(), MARITAL_LABELS, MEDICAL_SECTIONS (+4 more)
### Community 536 - "Community 536"
Cohesion: 0.12
@@ -2658,8 +2673,8 @@ Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/admin/sms/template/{uuid}/reject`, Request Body, Response `200`
### Community 559 - "Community 559"
Cohesion: 0.25
Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry
Cohesion: 0.16
Nodes (7): SmsMessageController, SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, JsonResponse, Request, ManagerRegistry
### Community 560 - "Community 560"
Cohesion: 0.50
@@ -2782,8 +2797,8 @@ Cohesion: 0.67
Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان)
### Community 618 - "Community 618"
Cohesion: 0.16
Nodes (5): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, ManagerRegistry, TenantServiceCoverage
Cohesion: 0.12
Nodes (6): ServiceCoverageNPlusOneTest, TenantInsuranceCleanupTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage
### Community 625 - "Community 625"
Cohesion: 0.16
@@ -2870,8 +2885,8 @@ Cohesion: 0.31
Nodes (4): ClinicInvitationService, Clinic, ClinicDoctorInvitation, User
### Community 661 - "Community 661"
Cohesion: 0.39
Nodes (3): TagRepository, ManagerRegistry, Tag
Cohesion: 0.36
Nodes (3): DoctorServiceController, JsonResponse, Request
### Community 662 - "Community 662"
Cohesion: 0.29
@@ -2906,8 +2921,8 @@ Cohesion: 0.29
Nodes (6): Appointment Settings API, Available Locations, Errors, `GET /api/v1/appointment-settings/available-locations/{doctorUuid}`, Response `200`, Slot Calculation Logic (Reference)
### Community 681 - "Community 681"
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
Cohesion: 0.43
Nodes (3): SmsLogRepository, SmsLog, ManagerRegistry
### Community 684 - "Community 684"
Cohesion: 0.50
@@ -2922,8 +2937,8 @@ Cohesion: 0.50
Nodes (4): Errors, PATCH `/api/v1/admin/insurance/{id}`, Path Parameters, Response `200`
### Community 688 - "Community 688"
Cohesion: 0.40
Nodes (5): Errors, Path Parameters, POST `/api/v1/like/{commentUuid}`, Request Body (`application/json`), Response `200`
Cohesion: 0.48
Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry
### Community 689 - "Community 689"
Cohesion: 0.50
@@ -2953,10 +2968,6 @@ Nodes (3): DELETE `/api/v1/sms/template/{uuid}`, Errors, Response `200`
Cohesion: 0.67
Nodes (3): Errors, POST `/api/v1/sms/send` — ⛔ غیرفعال (Deprecated), Response `422` (همیشه)
### Community 697 - "Community 697"
Cohesion: 0.43
Nodes (3): SmsMessageController, JsonResponse, Request
### Community 698 - "Community 698"
Cohesion: 0.17
Nodes (11): رفع خطاهای ارسال پیامک کاوه‌نگار در سرور prod (431 + Idle timeout), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+3 more)
@@ -3029,10 +3040,6 @@ Nodes (4): GET /api/v1/categories/cities — شهرها, GET /api/v1/categories/
Cohesion: 0.50
Nodes (4): ۲.۱۳ نظرات، لایک و امتیازدهی, ۲.۱۳.۱ نظر (Comment), ۲.۱۳.۲ لایک (Like), ۲.۱۳.۳ امتیاز (Rate)
### Community 718 - "Community 718"
Cohesion: 0.14
Nodes (3): AppLog, LogPruneService, AppointmentExpiryService
### Community 720 - "Community 720"
Cohesion: 0.33
Nodes (3): Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface
@@ -3041,10 +3048,6 @@ Nodes (3): Closure, CorsRegexEnvProcessor, EnvVarProcessorInterface
Cohesion: 0.67
Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها
### Community 722 - "Community 722"
Cohesion: 0.43
Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
### Community 723 - "Community 723"
Cohesion: 0.67
Nodes (3): 42. 🔴 `DELETE` delete, هدرهای اضافی, پاسخ‌ها
@@ -3062,39 +3065,55 @@ Cohesion: 0.53
Nodes (4): Money, BillingCalculator, CoverageRule, ShareBreakdown
### Community 730 - "Community 730"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, Path Parameters, Query Parameters, Response `200`
Cohesion: 0.53
Nodes (3): SessionServiceRepository, ManagerRegistry, SessionService
### Community 731 - "Community 731"
Cohesion: 0.40
Nodes (5): 61. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 732 - "Community 732"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/settlements`, Query Parameters, Response `200`, Settlement Management
Cohesion: 0.40
Nodes (5): Errors, Path Parameters, POST `/api/v1/doctor/invitation/{invUuid}/respond`, Request Body, Response `200`
### Community 734 - "Community 734"
Cohesion: 0.67
Nodes (3): 29. 🟢 `GET` clinic list 🆕, پارامترهای Query, پاسخ‌ها
### Community 736 - "Community 736"
Cohesion: 0.40
Nodes (3): Props, StatTone, TONE
### Community 737 - "Community 737"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/pre-registrations`, POST `/api/v1/admin/pre-registrations/{uuid}/approve`, POST `/api/v1/admin/pre-registrations/{uuid}/reject`, Pre-Registration Management
### Community 738 - "Community 738"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/representation/{uuid}`, Path Parameters, Response `200`
### Community 739 - "Community 739"
Cohesion: 0.50
Nodes (4): extra, symfony, allow-contrib, require
## Knowledge Gaps
- **3964 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps`, `TenantInsurance`, `CoverageRow` (+3959 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **142 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **146 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 `BaseController` connect `Community 108` to `Community 4`, `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 169`, `Community 300`, `Community 308`, `Community 697`, `Community 58`, `Community 59`, `Community 63`, `Community 64`, `Community 75`, `Community 77`, `Community 607`, `Community 227`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 245`, `Community 121`, `Community 122`, `Community 252`?**
_High betweenness centrality (0.027) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 397`, `Community 22`, `Community 535`, `Community 541`, `Community 41`, `Community 562`, `Community 565`, `Community 573`, `Community 574`, `Community 575`, `Community 594`, `Community 82`, `Community 728`, `Community 733`, `Community 352`, `Community 609`, `Community 484`, `Community 618`, `Community 497`, `Community 371`?**
- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 138`, `Community 139`, `Community 14`, `Community 654`, `Community 655`, `Community 15`, `Community 20`, `Community 661`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 424`, `Community 169`, `Community 300`, `Community 559`, `Community 435`, `Community 308`, `Community 59`, `Community 63`, `Community 64`, `Community 75`, `Community 77`, `Community 607`, `Community 227`, `Community 230`, `Community 104`, `Community 107`, `Community 109`, `Community 245`, `Community 121`, `Community 122`, `Community 252`?**
_High betweenness centrality (0.031) - this node is a cross-community bridge._
- **Why does `ApiTestCase` connect `Community 86` to `Community 397`, `Community 535`, `Community 541`, `Community 41`, `Community 562`, `Community 565`, `Community 573`, `Community 574`, `Community 575`, `Community 452`, `Community 594`, `Community 82`, `Community 728`, `Community 733`, `Community 735`, `Community 609`, `Community 484`, `Community 618`, `Community 497`, `Community 371`?**
_High betweenness centrality (0.020) - this node is a cross-community bridge._
- **Why does `Version20260705070546` connect `Community 646` to `Community 431`?**
_High betweenness centrality (0.019) - this node is a cross-community bridge._
- **Why does `Version20260705070546` connect `Community 646` to `Community 399`?**
_High betweenness centrality (0.017) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `Pricing`, `ImageCropModalProps` to the rest of the system?**
_3964 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.05200501253132832 - nodes in this community are weakly interconnected._
_Cohesion score 0.055152394775036286 - 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_version20260708083446_php", "label": "Version20260708083446.php", "file_type": "code", "source_file": "migrations/Version20260708083446.php", "source_location": "L1"}, {"id": "migrations_version20260708083446_version20260708083446", "label": "Version20260708083446", "file_type": "code", "source_file": "migrations/Version20260708083446.php", "source_location": "L13"}, {"id": "abstractmigration", "label": "AbstractMigration", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "migrations_version20260708083446_version20260708083446_getdescription", "label": ".getDescription()", "file_type": "code", "source_file": "migrations/Version20260708083446.php", "source_location": "L15"}, {"id": "migrations_version20260708083446_version20260708083446_up", "label": ".up()", "file_type": "code", "source_file": "migrations/Version20260708083446.php", "source_location": "L20"}, {"id": "schema", "label": "Schema", "file_type": "code", "source_file": "migrations/Version20260708083446.php", "source_location": "L20"}, {"id": "migrations_version20260708083446_version20260708083446_down", "label": ".down()", "file_type": "code", "source_file": "migrations/Version20260708083446.php", "source_location": "L26"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260708083446_php", "target": "schema", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L7", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260708083446_php", "target": "abstractmigration", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L8", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_migrations_version20260708083446_php", "target": "migrations_version20260708083446_version20260708083446", "relation": "contains", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260708083446_version20260708083446", "target": "abstractmigration", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L13", "weight": 1.0}, {"source": "migrations_version20260708083446_version20260708083446", "target": "migrations_version20260708083446_version20260708083446_getdescription", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L15", "weight": 1.0}, {"source": "migrations_version20260708083446_version20260708083446", "target": "migrations_version20260708083446_version20260708083446_up", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L20", "weight": 1.0}, {"source": "migrations_version20260708083446_version20260708083446_up", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L20", "weight": 1.0, "context": "parameter_type"}, {"source": "migrations_version20260708083446_version20260708083446", "target": "migrations_version20260708083446_version20260708083446_down", "relation": "method", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L26", "weight": 1.0}, {"source": "migrations_version20260708083446_version20260708083446_down", "target": "schema", "relation": "references", "confidence": "EXTRACTED", "source_file": "migrations/Version20260708083446.php", "source_location": "L26", "weight": 1.0, "context": "parameter_type"}], "raw_calls": [{"caller_nid": "migrations_version20260708083446_version20260708083446_up", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260708083446.php", "source_location": "L23", "receiver": null}, {"caller_nid": "migrations_version20260708083446_version20260708083446_down", "callee": "addSql", "is_member_call": true, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/migrations/Version20260708083446.php", "source_location": "L29", "receiver": null}]}
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (non-object root)"}
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
+841 -605
View File
File diff suppressed because it is too large Load Diff
+23 -18
View File
@@ -190,8 +190,8 @@
"semantic_hash": ""
},
"assets/admin/pages/CategoriesPage.tsx": {
"mtime": 1782974127.331514,
"ast_hash": "43d7e427a556469e4374224c4e665117",
"mtime": 1783499911.7162325,
"ast_hash": "e82688eee9528ece183af52ac18e32c6",
"semantic_hash": ""
},
"assets/admin/pages/ClaimsPage.tsx": {
@@ -400,8 +400,8 @@
"semantic_hash": ""
},
"assets/admin/types/index.ts": {
"mtime": 1783456035.9569273,
"ast_hash": "576af13ec86ba70117b1a421e6044513",
"mtime": 1783499946.4879165,
"ast_hash": "edd28014dfe716c5bdaf1743e17bfea4",
"semantic_hash": ""
},
"assets/app.js": {
@@ -1295,13 +1295,13 @@
"semantic_hash": ""
},
"src/Location/Controller/LocationController.php": {
"mtime": 1782974061.7243073,
"ast_hash": "eeba5749c527b2712549c2dda539e368",
"mtime": 1783499628.8124676,
"ast_hash": "6d7efcacce3e5a1af0c58bd41eaeb554",
"semantic_hash": ""
},
"src/Location/Entity/City.php": {
"mtime": 1782974046.9918911,
"ast_hash": "b37a5c9d79443b32709a30a3decffd30",
"mtime": 1783499619.3652577,
"ast_hash": "2fd20499f23ea90b3c21dbf14736474f",
"semantic_hash": ""
},
"src/Location/Entity/Province.php": {
@@ -2405,8 +2405,8 @@
"semantic_hash": ""
},
"docs/api/location.md": {
"mtime": 1782974277.4647317,
"ast_hash": "237d13c1f44f23001d6e9ab287b80898",
"mtime": 1783499999.9915078,
"ast_hash": "ab3a2fc14a40c72decd5f1dc753e4a40",
"semantic_hash": ""
},
"docs/api/patient.md": {
@@ -3420,18 +3420,18 @@
"semantic_hash": ""
},
"tests/Category/CategoryImportTest.php": {
"mtime": 1782839178.8459258,
"ast_hash": "203f5500749a42f0be4f33dc2e3dbb1f",
"mtime": 1783499837.163828,
"ast_hash": "6ddcb6489cc74405678d6c67d8a760bb",
"semantic_hash": ""
},
"docs/api/category-import.md": {
"mtime": 1782844030.4935105,
"ast_hash": "d7eaf7bd2002ca82b3a95e16b0eb34dd",
"mtime": 1783500035.987979,
"ast_hash": "b9caf621738f67ba7b5a8eac64053760",
"semantic_hash": ""
},
"data/seed/cities.json": {
"mtime": 1783069922.2119036,
"ast_hash": "24bc6b07dfdf32298ef64a5dba0effbc",
"mtime": 1783499720.4733326,
"ast_hash": "8fa9399cc8295b14436b9e0a7d8daa13",
"semantic_hash": ""
},
"data/seed/doctor_services.json": {
@@ -3455,8 +3455,8 @@
"semantic_hash": ""
},
"src/Category/Service/CategoryImporter.php": {
"mtime": 1782974082.771482,
"ast_hash": "daaeddb090469fda67b5bdf08c52cacb",
"mtime": 1783499652.5651908,
"ast_hash": "12fc348a636eba9c7b689eeb1badb6d0",
"semantic_hash": ""
},
".claude/prompt/production-fixes-cors-payment-gateways.md": {
@@ -3748,5 +3748,10 @@
"mtime": 1783497352.078513,
"ast_hash": "e9c3240a7a86744c5e2d3119388c9119",
"semantic_hash": ""
},
"migrations/Version20260708083446.php": {
"mtime": 1783499693.0322785,
"ast_hash": "ecd96845ea3d18996543917b487864c5",
"semantic_hash": ""
}
}