Add new JSON files for documentation and scripts in the graphify cache

- Created JSON file for admin SPA test suite with detailed nodes and edges.
- Added JSON file for Liara deployment documentation, including various steps and references.
- Introduced JSON files for Liara pre-build and pre-start scripts, detailing their structure and entry points.
- Included an empty JSON file indicating skipped data for non-config/manifest content.
This commit is contained in:
hamed
2026-06-29 17:38:05 +03:30
parent 9bff63bf5b
commit c71d674d22
17 changed files with 3641 additions and 684 deletions
+6 -1
View File
@@ -664,5 +664,10 @@
"662": "Community 662",
"663": "Community 663",
"664": "Community 664",
"665": "Community 665"
"665": "Community 665",
"666": "Community 666",
"667": "Community 667",
"668": "Community 668",
"669": "Community 669",
"670": "Community 670"
}
+132 -108
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-06-28)
# Graph Report - clinicpro (2026-06-29)
## Corpus Check
- 628 files · ~429,014 words
- 646 files · ~446,773 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 8093 nodes · 11163 edges · 666 communities (542 shown, 124 thin omitted)
- 8211 nodes · 11320 edges · 671 communities (548 shown, 123 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 261 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `89451e8d`
- Built from commit: `9bff63bf`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -667,18 +667,22 @@
- [[_COMMUNITY_Community 663|Community 663]]
- [[_COMMUNITY_Community 664|Community 664]]
- [[_COMMUNITY_Community 665|Community 665]]
- [[_COMMUNITY_Community 666|Community 666]]
- [[_COMMUNITY_Community 667|Community 667]]
- [[_COMMUNITY_Community 668|Community 668]]
- [[_COMMUNITY_Community 669|Community 669]]
## God Nodes (most connected - your core abstractions)
1. `BaseController` - 74 edges
2. `ApiTestCase` - 68 edges
3. `UserProfile` - 52 edges
4. `api` - 50 edges
3. `api` - 54 edges
4. `UserProfile` - 52 edges
5. `Clinic` - 50 edges
6. `Doctor` - 48 edges
7. `useAuthStore` - 41 edges
7. `useAuthStore` - 43 edges
8. `ApiResponse` - 40 edges
9. `formatDate()` - 38 edges
10. `formatRial()` - 35 edges
9. `formatDate()` - 39 edges
10. `formatRial()` - 36 edges
## Surprising Connections (you probably didn't know these)
- `ServiceTariffModal()` --calls--> `formatNumber()` [EXTRACTED]
@@ -687,31 +691,31 @@
assets/admin/components/ui/Pagination.tsx → assets/admin/lib/utils.ts
- `PersianDatePicker()` --calls--> `formatDate()` [EXTRACTED]
assets/admin/components/ui/PersianDatePicker.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
- `SettlementsPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/SettlementsPage.tsx → assets/admin/lib/utils.ts
- `SmsPage()` --calls--> `formatDateTime()` [EXTRACTED]
assets/admin/pages/SmsPage.tsx → assets/admin/lib/utils.ts
## Import Cycles
- None detected.
## Communities (666 total, 124 thin omitted)
## Communities (671 total, 123 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.05
Nodes (43): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, LogoUploadField(), TabActions() (+35 more)
Nodes (40): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, AddForm, addSchema (+32 more)
### Community 1 - "Community 1"
Cohesion: 0.03
Nodes (42): iranMobileOptionalSchema, AddressData, AddrForm, addrSchema, AVATAR_COLORS, BookingMeta, CityOpt, DateOverrideData (+34 more)
Nodes (41): AddressData, AddrForm, addrSchema, AVATAR_COLORS, BookingMeta, CityOpt, DateOverrideData, DEFAULT_BOOKING_META (+33 more)
### Community 2 - "Community 2"
Cohesion: 0.06
Nodes (31): api, ApiResponse, getToken(), refreshOnce(), request(), FinancialSummary, MonthlyEntry, MyFinancialPage() (+23 more)
Cohesion: 0.09
Nodes (19): get, api, ApiError, getToken(), refreshOnce(), request(), { refreshMock, logoutMock }, replaceMock (+11 more)
### Community 3 - "Community 3"
Cohesion: 0.05
Nodes (39): PaginatedResponse, formatDate(), maskMobile(), STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL, Summary (+31 more)
Nodes (42): PaginatedResponse, formatDate(), STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL, Summary, STATUS_FILTERS (+34 more)
### Community 4 - "Community 4"
Cohesion: 0.06
@@ -722,16 +726,16 @@ 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
Nodes (5): Clinic, Collection, Doctor, self, User
### Community 8 - "Community 8"
Cohesion: 0.09
Nodes (26): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+18 more)
Cohesion: 0.08
Nodes (27): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+19 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -742,52 +746,52 @@ Cohesion: 0.04
Nodes (46): Clinic Address Management, Clinic API, DELETE `/api/v1/admin/clinic/{clinicUuid}/doctor/{doctorUuid}`, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}`, Errors, Errors, Errors, Errors (+38 more)
### Community 11 - "Community 11"
Cohesion: 0.12
Nodes (9): Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META, PersianDatePicker() (+1 more)
Cohesion: 0.25
Nodes (6): IbanItem, RepProfile, RepresentationProfilePage(), unwrap(), PersianDatePicker(), Props
### 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)
### Community 13 - "Community 13"
Cohesion: 0.06
Nodes (26): iranMobileSchema, isValidIranMobile(), sanitizeMobileInput(), toEnglishDigits(), ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm (+18 more)
Cohesion: 0.08
Nodes (29): ApiResponse, cn(), formatDateTime(), iranMobileOptionalSchema, iranMobileSchema, isValidIranMobile(), maskMobile(), sanitizeMobileInput() (+21 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.10
Nodes (13): PaymentController, MockGateway, SepGateway, JsonResponse, Payment, PaymentGatewayInterface, Request, Response (+5 more)
### Community 16 - "Community 16"
Cohesion: 0.09
Nodes (6): PatientSession, Appointment, Collection, PatientRecord, self, SessionService
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
Nodes (38): API, API, API, API, API, Route, Route, Route (+30 more)
### Community 19 - "Community 19"
Cohesion: 0.06
Nodes (27): Contract, InsuranceOption, KIND_LABEL, FormData, schema, Contract, CoverageRow, fieldLabel (+19 more)
Cohesion: 0.07
Nodes (21): Contract, InsuranceOption, KIND_LABEL, Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL (+13 more)
### Community 20 - "Community 20"
Cohesion: 0.15
Nodes (3): AdminApiController, JsonResponse, Request
Cohesion: 0.12
Nodes (4): AdminApiController, InputValidator, JsonResponse, Request
### Community 21 - "Community 21"
Cohesion: 0.07
Nodes (28): formatNumber(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS, APPT_COLOR (+20 more)
Cohesion: 0.05
Nodes (34): formatNumber(), ClinicDetailPage(), AdminCharts, AdminDashboard(), AdminRecent, AdminStats, APPT_CLS, APPT_COLOR (+26 more)
### Community 22 - "Community 22"
Cohesion: 0.15
Nodes (9): RatingController, Like, LikeRepository, JsonResponse, Request, User, Comment, ManagerRegistry (+1 more)
Cohesion: 0.11
Nodes (14): RatingController, Like, Rate, LikeRepository, RateRepository, JsonResponse, Request, User (+6 more)
### Community 23 - "Community 23"
Cohesion: 0.05
@@ -806,8 +810,8 @@ Cohesion: 0.24
Nodes (4): InsuranceController, JsonResponse, Request, User
### Community 27 - "Community 27"
Cohesion: 0.06
Nodes (35): 55. 🟢 `GET` all tag, 56. 🟢 `GET` supplementary_insurance, 57. 🟢 `GET` categories list, 58. 🟢 `GET` all state, 59. 🟢 `GET` all city, 60. 🟢 `GET` all specially doctor, 61. 🔵 `POST` post, 63. 🔴 `DELETE` DELETE (+27 more)
Cohesion: 0.05
Nodes (40): 55. 🟢 `GET` all tag, 56. 🟢 `GET` supplementary_insurance, 57. 🟢 `GET` categories list, 58. 🟢 `GET` all state, 59. 🟢 `GET` all city, 60. 🟢 `GET` all specially doctor, 61. 🔵 `POST` post, 62. 🟡 `PATCH` patch (+32 more)
### Community 28 - "Community 28"
Cohesion: 0.09
@@ -863,7 +867,7 @@ Nodes (4): User, PasswordAuthenticatedUserInterface, self, UserInterface
### Community 41 - "Community 41"
Cohesion: 0.04
Nodes (52): ALL_STATUSES, CityForm, citySchema, InsuranceForm, insuranceSchema, ProvinceForm, provinceSchema, ServiceForm (+44 more)
Nodes (52): ALL_STATUSES, AppointmentDetailPage(), CityForm, citySchema, InsuranceForm, insuranceSchema, LogoUploadField(), ProvinceForm (+44 more)
### Community 42 - "Community 42"
Cohesion: 0.07
@@ -894,8 +898,8 @@ Cohesion: 0.11
Nodes (4): Payment, Appointment, self, User
### Community 49 - "Community 49"
Cohesion: 0.08
Nodes (19): toGregorianDate(), AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx (+11 more)
Cohesion: 0.09
Nodes (18): AppointmentsPage(), BookingSlot, CancelledBadge(), DateNavigator(), EMPTY_ARR, getPersianWeekDay(), navBtnSx, NewAppointmentModal() (+10 more)
### Community 50 - "Community 50"
Cohesion: 0.07
@@ -911,7 +915,7 @@ Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, با
### Community 53 - "Community 53"
Cohesion: 0.10
Nodes (14): ClaimItemRepository, ClinicStaffRepository, InvoiceItemRepository, PreRegistrationRepository, TaxRateHistoryRepository, ServiceEntityRepository, ManagerRegistry, ManagerRegistry (+6 more)
Nodes (14): ClaimItemRepository, DoctorInsuranceRepository, PreRegistrationRepository, SessionServiceRepository, SmsSettingsRepository, ServiceEntityRepository, SmsSettings, ManagerRegistry (+6 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -930,8 +934,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
@@ -954,17 +958,13 @@ Cohesion: 0.22
Nodes (5): AuthController, RateLimiterFactory, JsonResponse, Request, User
### Community 64 - "Community 64"
Cohesion: 0.20
Nodes (7): SmsWalletController, SmsSettingsRepository, SmsSettings, JsonResponse, Request, User, ManagerRegistry
Cohesion: 0.32
Nodes (4): SmsWalletController, JsonResponse, Request, User
### Community 65 - "Community 65"
Cohesion: 0.08
Nodes (24): 2. کاربر (User), 4. 🔵 `POST` verify code, 5. 🔵 `POST` send code, 6. 🔵 `POST` register, 7. 🔴 `DELETE` delete user, 8. 🟡 `PATCH` patch, 9. 🟢 `GET` list secretary, Request Body (+16 more)
### Community 66 - "Community 66"
Cohesion: 0.06
Nodes (6): ClinicStaff, SiteConfig, SmsWallet, AppointmentExpiryService, self, self
### Community 67 - "Community 67"
Cohesion: 0.11
Nodes (4): Invoice, Collection, InvoiceItem, self
@@ -1026,12 +1026,12 @@ Cohesion: 0.10
Nodes (20): 10. مدیریت نظرات (Comment Moderation), 11. مدیریت امتیازدهی (Rating Management), 12. مدیریت پیامک (SMS Management), 13. مدیریت دسته‌بندی‌ها (Categories), 14. مدیریت بلاگ (Blog Management), 15. مدیریت منشی‌ها (Secretary Management), 16. ساختار Navigation (Sidebar), 17. Global Components (+12 more)
### Community 85 - "Community 85"
Cohesion: 0.10
Nodes (21): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, core-js, @hotwired/stimulus, postcss (+13 more)
Cohesion: 0.07
Nodes (29): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react, @babel/preset-typescript, core-js, @hotwired/stimulus, jsdom (+21 more)
### Community 86 - "Community 86"
Cohesion: 0.07
Nodes (14): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemDeleteCleanupTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser (+6 more)
Nodes (14): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser, CommentListNPlusOneTest (+6 more)
### Community 87 - "Community 87"
Cohesion: 0.10
@@ -1102,8 +1102,8 @@ Cohesion: 0.35
Nodes (5): PatientController, JsonResponse, PatientSession, Request, User
### 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
@@ -1362,8 +1362,8 @@ Cohesion: 0.13
Nodes (14): Endpoint ها, GET /api/v1/staff, PATCH /api/v1/staff/{uuid}, PATCH /api/v1/staff/{uuid}/toggle, PATCH /api/v1/staff/{uuid}/toggle, POST /api/v1/staff, POST /api/v1/staff (موفق), تسک ۱۰: مدیریت پرسنل (Staff) (+6 more)
### Community 173 - "Community 173"
Cohesion: 0.13
Nodes (14): compilerOptions, allowSyntheticDefaultImports, baseUrl, esModuleInterop, jsx, module, moduleResolution, paths (+6 more)
Cohesion: 0.14
Nodes (13): compilerOptions, allowSyntheticDefaultImports, esModuleInterop, jsx, module, moduleResolution, paths, skipLibCheck (+5 more)
### Community 174 - "Community 174"
Cohesion: 0.14
@@ -1398,8 +1398,8 @@ Cohesion: 0.23
Nodes (3): WeeklySchedule, Doctor, self
### Community 182 - "Community 182"
Cohesion: 0.06
Nodes (30): usePaymentConfig(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm (+22 more)
Cohesion: 0.04
Nodes (45): FreeVisitPrice(), Pricing, usePaymentConfig(), formatRial(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm (+37 more)
### Community 183 - "Community 183"
Cohesion: 0.14
@@ -1471,7 +1471,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/secretaries`, GET /api/v1/admin/settings, GET `/api/v1/admin/settlements`, PATCH /api/v1/admin/settings, Query Parameters, Query Parameters (+5 more)
Nodes (13): Admin API, Clinic Invitation Management, GET `/api/v1/admin/payments`, GET `/api/v1/admin/pre-registrations`, GET /api/v1/admin/settings, PATCH /api/v1/admin/settings, Payment Management, POST `/api/v1/admin/pre-registrations/{uuid}/approve` (+5 more)
### Community 202 - "Community 202"
Cohesion: 0.15
@@ -1486,8 +1486,8 @@ Cohesion: 0.21
Nodes (6): AuthenticationException, ExceptionSubscriber, SecurityHeadersSubscriber, EventSubscriberInterface, ExceptionEvent, ResponseEvent
### Community 205 - "Community 205"
Cohesion: 0.10
Nodes (14): Command, CancelExpiredAppointmentsCommand, CreateAdminCommand, SeedSmsMessageTemplatesCommand, SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, InputInterface (+6 more)
Cohesion: 0.16
Nodes (10): Command, CancelExpiredAppointmentsCommand, CreateAdminCommand, SeedSmsMessageTemplatesCommand, InputInterface, OutputInterface, InputInterface, OutputInterface (+2 more)
### Community 206 - "Community 206"
Cohesion: 0.35
@@ -1698,8 +1698,8 @@ Cohesion: 0.33
Nodes (4): RepresentationRepository, ManagerRegistry, Representation, User
### Community 265 - "Community 265"
Cohesion: 0.09
Nodes (28): FreeVisitPrice(), Pricing, formatDateTime(), formatRial(), toDate(), AppointmentDetailPage(), calcFinalPrice(), EMPTY_RECORDS (+20 more)
Cohesion: 0.08
Nodes (27): calcFinalPrice(), EMPTY_RECORDS, EMPTY_SESSIONS, fileNumber(), getPatientName(), getPatientPhone(), InsurancePricing, MyPatientsPageInner() (+19 more)
### Community 266 - "Community 266"
Cohesion: 0.33
@@ -1851,11 +1851,11 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر
### Community 304 - "Community 304"
Cohesion: 0.22
Nodes (9): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 6. کلینیک (Clinic), هدرهای اضافی, پارامترهای Query, پاسخ‌ها, پاسخ‌ها (+1 more)
Nodes (9): 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 6. کلینیک (Clinic), هدرهای اضافی, هدرهای اضافی, پاسخ‌ها, پاسخ‌ها (+1 more)
### Community 306 - "Community 306"
Cohesion: 0.38
Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User
Cohesion: 0.07
Nodes (27): دیپلوی‌های بعدی, راهنمای دیپلوی ClinicPro روی لیارا (پلتفرم PHP), رفع اشکال, ریسک‌های شناخته‌شده, فایل‌های دخیل (همه ساخته شده‌اند), نمای کلی, نگاشت compose → لیارا (PHP platform), پیش‌نیاز (+19 more)
### Community 307 - "Community 307"
Cohesion: 0.28
@@ -1902,8 +1902,8 @@ Cohesion: 0.36
Nodes (3): TariffRepository, ManagerRegistry, Tariff
### Community 318 - "Community 318"
Cohesion: 0.21
Nodes (4): ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, ManagerRegistry, TenantServiceCoverage
Cohesion: 0.12
Nodes (6): ServiceItemDeleteCleanupTest, ServiceCoverageNPlusOneTest, TenantServiceCoverageRepository, TenantInsuranceCleanupService, ManagerRegistry, TenantServiceCoverage
### Community 319 - "Community 319"
Cohesion: 0.39
@@ -2014,8 +2014,8 @@ Cohesion: 0.39
Nodes (3): ProvinceRepository, ManagerRegistry, Province
### Community 349 - "Community 349"
Cohesion: 0.15
Nodes (5): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, TenantInsuranceCleanupService, ManagerRegistry
Cohesion: 0.22
Nodes (4): EntityInsurancePricing, TenantInsuranceCleanupTest, EntityInsurancePricingRepository, ManagerRegistry
### Community 350 - "Community 350"
Cohesion: 0.43
@@ -2081,6 +2081,10 @@ Nodes (7): ادمین, دکتر نمونه کامل — تبریز, دکتران
Cohesion: 0.29
Nodes (7): Dashboard, GET `/api/v1/admin/dashboard/charts`, GET `/api/v1/admin/dashboard/recent`, GET `/api/v1/admin/dashboard/stats`, Response `200`, Response `200`, Response `200`
### Community 368 - "Community 368"
Cohesion: 0.21
Nodes (5): DateOverrideOwnershipTest, DateOverride, DateOverrideRepository, Doctor, ManagerRegistry
### Community 369 - "Community 369"
Cohesion: 0.29
Nodes (7): php-http/discovery, symfony/flex, symfony/runtime, config, allow-plugins, bump-after-update, sort-packages
@@ -2193,14 +2197,18 @@ Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doct
Cohesion: 0.33
Nodes (4): initiate(), verify(), PaymentInitResult, PaymentVerifyResult
### Community 400 - "Community 400"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260609131553, Schema, Version20260625135132
### Community 418 - "Community 418"
Cohesion: 0.17
Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانت‌اند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more)
### Community 423 - "Community 423"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260610183655, Schema, Version20260624030339
### Community 452 - "Community 452"
Cohesion: 0.10
Nodes (12): ClinicAddress, ClinicDoctorItem, ClinicInvitation, EditForm, editSchema, HUES_LIST, INV_STATUS_MAP, IRAN_CENTER (+4 more)
### Community 456 - "Community 456"
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)
@@ -2225,6 +2233,10 @@ Nodes (6): ادمین — همه لینک‌های فعلی (بدون تغییر
Cohesion: 0.33
Nodes (6): سناریوهای چند-context, قانون انتخاب context:, مفاهیم کلیدی معماری Multi-Context (مهم — قبل از پیاده‌سازی بخوان), مفهوم `available_contexts`, مفهوم `db_key`, مفهوم `db_uuid`
### Community 465 - "Community 465"
Cohesion: 0.12
Nodes (16): راه‌اندازی تست و نوشتن تست‌سوئیت کامل برای Admin SPA, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی, وظایف, پروژه (+8 more)
### Community 466 - "Community 466"
Cohesion: 0.33
Nodes (5): آدرس مطب, آپدیت میانگین امتیاز, فیلتر لیست دکترها, مجوزها, نکات پیاده‌سازی — تسک ۰۵: ماژول دکتر
@@ -2338,8 +2350,8 @@ Cohesion: 0.53
Nodes (3): SlotUniquenessTest, Appointment, Doctor
### Community 498 - "Community 498"
Cohesion: 0.25
Nodes (7): license, private, scripts, build, dev, dev-server, watch
Cohesion: 0.18
Nodes (10): license, private, scripts, build, dev, dev-server, test, test:cov (+2 more)
### Community 499 - "Community 499"
Cohesion: 0.40
@@ -2430,8 +2442,8 @@ Cohesion: 0.43
Nodes (3): SmsTemplateRepository, SmsTemplate, ManagerRegistry
### Community 524 - "Community 524"
Cohesion: 0.39
Nodes (3): TagRepository, ManagerRegistry, Tag
Cohesion: 0.12
Nodes (16): دیپلوی ClinicPro (Symfony) روی لیارا با پلتفرم PHP (بدون داکر), زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+8 more)
### Community 525 - "Community 525"
Cohesion: 0.50
@@ -2570,7 +2582,7 @@ Cohesion: 0.50
Nodes (4): GET /api/v1/sms/wallet/balance, GET /api/v1/sms/wallet/logs, POST /api/v1/sms/wallet/charge, SMS Wallet
### Community 561 - "Community 561"
Cohesion: 0.67
Cohesion: 0.40
Nodes (3): BaseKernel, MicroKernelTrait, Kernel
### Community 563 - "Community 563"
@@ -2602,8 +2614,8 @@ Cohesion: 0.50
Nodes (4): ریسک‌های بحرانی, ریسک‌های عملیاتی, ریسک‌های مهم, ۱۰. ریسک‌های شناسایی‌شده
### Community 572 - "Community 572"
Cohesion: 0.48
Nodes (3): DoctorInsuranceRepository, DoctorInsurance, ManagerRegistry
Cohesion: 0.12
Nodes (15): دیپلوی ClinicPro (Symfony) روی لیارا با Docker, زمینه, فایل‌های مرتبط, مشکل / هدف, نکات مهم, وضعیت فعلی (کد واقعی), وظایف, پروژه (+7 more)
### Community 581 - "Community 581"
Cohesion: 0.50
@@ -2665,6 +2677,10 @@ Nodes (3): Errors, POST `/api/v1/sms/template/{uuid}/submit`, Response `200`
Cohesion: 0.67
Nodes (3): POST `/api/v1/admin/sms/template/{uuid}/approve`, Request Body (`application/json`), Response `200`
### Community 602 - "Community 602"
Cohesion: 0.33
Nodes (4): BlogController, JsonResponse, Request, User
### Community 603 - "Community 603"
Cohesion: 0.67
Nodes (3): Anti-Pattern هایی که مشاهده می‌شوند, Pattern هایی که استفاده شده‌اند, ۳. تحلیل Design Patterns
@@ -2682,8 +2698,8 @@ Cohesion: 0.40
Nodes (5): DELETE `/api/v1/billing/tenant-insurances/{uuid}`, GET `/api/v1/billing/tenant-insurances`, PATCH `/api/v1/billing/tenant-insurances/{uuid}`, POST `/api/v1/billing/tenant-insurances`, TenantInsurance — قراردادهای بیمه‌ی tenant (فاز ۱ سیستم صورتحساب)
### Community 607 - "Community 607"
Cohesion: 0.40
Nodes (5): Errors, Path Parameters, POST `/api/v1/like/{commentUuid}`, Request Body (`application/json`), Response `200`
Cohesion: 0.24
Nodes (5): WalletTransactionRepository, WalletTransactionsPaginationTest, ManagerRegistry, User, WalletTransaction
### Community 608 - "Community 608"
Cohesion: 0.40
@@ -2693,9 +2709,13 @@ Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای ا
Cohesion: 0.67
Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان)
### Community 618 - "Community 618"
Cohesion: 0.25
Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry
### Community 625 - "Community 625"
Cohesion: 0.53
Nodes (3): SessionServiceRepository, ManagerRegistry, SessionService
Cohesion: 0.39
Nodes (3): ClinicStaffRepository, ClinicStaff, ManagerRegistry
### Community 631 - "Community 631"
Cohesion: 0.50
@@ -2738,8 +2758,8 @@ Cohesion: 0.40
Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 647 - "Community 647"
Cohesion: 0.40
Nodes (5): 62. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.43
Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
### Community 648 - "Community 648"
Cohesion: 0.40
@@ -2750,12 +2770,12 @@ Cohesion: 0.40
Nodes (3): Props, StatTone, TONE
### Community 651 - "Community 651"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/payments`, Payment Management, Query Parameters, Response `200`
Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 652 - "Community 652"
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
Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Secretary Management
### Community 653 - "Community 653"
Cohesion: 0.50
@@ -2794,8 +2814,8 @@ Cohesion: 0.50
Nodes (4): ۲.۱۳ نظرات، لایک و امتیازدهی, ۲.۱۳.۱ نظر (Comment), ۲.۱۳.۲ لایک (Like), ۲.۱۳.۳ امتیاز (Rate)
### Community 662 - "Community 662"
Cohesion: 0.67
Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/settlements`, Query Parameters, Response `200`, Settlement Management
### Community 663 - "Community 663"
Cohesion: 0.67
@@ -2809,25 +2829,29 @@ Nodes (3): 42. 🔴 `DELETE` delete, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.67
Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها
### Community 667 - "Community 667"
Cohesion: 0.67
Nodes (3): 29. 🟢 `GET` clinic list 🆕, پارامترهای Query, پاسخ‌ها
## Knowledge Gaps
- **3448 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3443 more)
- **3533 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3528 more)
These have ≤1 connection - possible missing edges or undocumented components.
- **124 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **123 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 6`, `Community 138`, `Community 139`, `Community 14`, `Community 15`, `Community 275`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 300`, `Community 301`, `Community 175`, `Community 176`, `Community 177`, `Community 58`, `Community 59`, `Community 63`, `Community 64`, `Community 70`, `Community 71`, `Community 75`, `Community 206`, `Community 230`, `Community 103`, `Community 104`, `Community 107`, `Community 109`, `Community 121`, `Community 122`, `Community 251`, `Community 252`?**
- **Why does `BaseController` connect `Community 108` to `Community 6`, `Community 138`, `Community 139`, `Community 14`, `Community 15`, `Community 275`, `Community 20`, `Community 22`, `Community 26`, `Community 164`, `Community 295`, `Community 300`, `Community 301`, `Community 175`, `Community 176`, `Community 177`, `Community 59`, `Community 63`, `Community 64`, `Community 70`, `Community 71`, `Community 75`, `Community 206`, `Community 602`, `Community 230`, `Community 103`, `Community 104`, `Community 107`, `Community 109`, `Community 121`, `Community 122`, `Community 251`, `Community 252`?**
_High betweenness centrality (0.030) - this node is a cross-community bridge._
- **Why does `AppointmentRepository` connect `Community 119` to `Community 53`?**
_High betweenness centrality (0.020) - this node is a cross-community bridge._
- **Why does `Version20260614181657` connect `Community 431` to `Community 400`?**
_High betweenness centrality (0.019) - this node is a cross-community bridge._
_High betweenness centrality (0.018) - this node is a cross-community bridge._
- **Why does `Version20260614181657` connect `Community 431` to `Community 423`?**
_High betweenness centrality (0.017) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `Pricing`, `TenantInsurance` to the rest of the system?**
_3448 weakly-connected nodes found - possible documentation gaps or missing edges._
_3533 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.049094097019286964 - nodes in this community are weakly interconnected._
_Cohesion score 0.05137844611528822 - nodes in this community are weakly interconnected._
- **Should `Community 1` be split into smaller, more focused modules?**
_Cohesion score 0.02857142857142857 - nodes in this community are weakly interconnected._
_Cohesion score 0.028985507246376812 - nodes in this community are weakly interconnected._
- **Should `Community 2` be split into smaller, more focused modules?**
_Cohesion score 0.06201550387596899 - nodes in this community are weakly interconnected._
_Cohesion score 0.0873015873015873 - nodes in this community are weakly interconnected._
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_kernel_php", "label": "Kernel.php", "file_type": "code", "source_file": "src/Kernel.php", "source_location": "L1"}, {"id": "src_kernel_kernel", "label": "Kernel", "file_type": "code", "source_file": "src/Kernel.php", "source_location": "L8"}, {"id": "basekernel", "label": "BaseKernel", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "microkerneltrait", "label": "MicroKernelTrait", "file_type": "code", "source_file": "", "source_location": ""}, {"id": "src_kernel_kernel_getcachedir", "label": ".getCacheDir()", "file_type": "code", "source_file": "src/Kernel.php", "source_location": "L14"}, {"id": "src_kernel_kernel_getlogdir", "label": ".getLogDir()", "file_type": "code", "source_file": "src/Kernel.php", "source_location": "L19"}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_kernel_php", "target": "microkerneltrait", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L5", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_kernel_php", "target": "kernel", "relation": "imports", "context": "import", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L6", "weight": 1.0}, {"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_src_kernel_php", "target": "src_kernel_kernel", "relation": "contains", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L8", "weight": 1.0}, {"source": "src_kernel_kernel", "target": "basekernel", "relation": "inherits", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L8", "weight": 1.0}, {"source": "src_kernel_kernel", "target": "microkerneltrait", "relation": "mixes_in", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L10", "weight": 1.0}, {"source": "src_kernel_kernel", "target": "src_kernel_kernel_getcachedir", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L14", "weight": 1.0}, {"source": "src_kernel_kernel", "target": "src_kernel_kernel_getlogdir", "relation": "method", "confidence": "EXTRACTED", "source_file": "src/Kernel.php", "source_location": "L19", "weight": 1.0}], "raw_calls": [{"caller_nid": "src_kernel_kernel_getcachedir", "callee": "parent", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Kernel.php", "source_location": "L16", "receiver": null}, {"caller_nid": "src_kernel_kernel_getlogdir", "callee": "parent", "is_member_call": false, "source_file": "/Users/hamed/pj/my_pj/clinic_pro/clinicpro/src/Kernel.php", "source_location": "L21", "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_liara_pre_build_sh", "label": "liara_pre_build.sh", "file_type": "code", "source_file": "liara_pre_build.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_build_sh__entry", "label": "liara_pre_build.sh script", "file_type": "code", "source_file": "liara_pre_build.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_build_sh", "target": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_build_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "liara_pre_build.sh", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [{"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_start_sh", "label": "liara_pre_start.sh", "file_type": "code", "source_file": "liara_pre_start.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "file"}}, {"id": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_start_sh__entry", "label": "liara_pre_start.sh script", "file_type": "code", "source_file": "liara_pre_start.sh", "source_location": "L1", "metadata": {"language": "bash", "kind": "bash_entrypoint"}}], "edges": [{"source": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_start_sh", "target": "users_hamed_pj_my_pj_clinic_pro_clinicpro_liara_pre_start_sh__entry", "relation": "contains", "confidence": "EXTRACTED", "source_file": "liara_pre_start.sh", "source_location": "L1", "weight": 1.0}]}
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
+1 -1
View File
File diff suppressed because one or more lines are too long
+3272 -452
View File
File diff suppressed because it is too large Load Diff
+207 -122
View File
@@ -195,7 +195,7 @@
"semantic_hash": ""
},
"assets/admin/pages/ClaimsPage.tsx": {
"mtime": 1782670591.9715617,
"mtime": 1782728407.0972986,
"ast_hash": "f51bc395abfba9d3366081b5605e0748",
"semantic_hash": ""
},
@@ -325,7 +325,7 @@
"semantic_hash": ""
},
"assets/admin/pages/RepresentationSettlementPage.tsx": {
"mtime": 1782670698.4477146,
"mtime": 1782728407.0997715,
"ast_hash": "a32a0e43ff05aa409ebf2fa0c5f6a4f4",
"semantic_hash": ""
},
@@ -469,11 +469,6 @@
"ast_hash": "1e01f7309c6e72a2c70614f7550386fe",
"semantic_hash": ""
},
"create_test_users.php": {
"mtime": 1781168063.6740775,
"ast_hash": "2c953cd5d2fa33df51a9867f41c56e24",
"semantic_hash": ""
},
"migrations/Version20260609130407.php": {
"mtime": 1781010250.8961918,
"ast_hash": "89dec0e721494ab1a01cd7fa65105af1",
@@ -785,8 +780,8 @@
"semantic_hash": ""
},
"package.json": {
"mtime": 1782581894.343592,
"ast_hash": "03eea024b2798d81c18e69a378258ca5",
"mtime": 1782728407.1808863,
"ast_hash": "954f828ef2f79f0ac46b6154fb18c6dd",
"semantic_hash": ""
},
"postcss.config.js": {
@@ -815,7 +810,7 @@
"semantic_hash": ""
},
"src/Admin/Controller/AdminApiController.php": {
"mtime": 1782668409.1638422,
"mtime": 1782728407.188377,
"ast_hash": "d0fb995cfa2841c3abd52a2c61ab2936",
"semantic_hash": ""
},
@@ -835,22 +830,22 @@
"semantic_hash": ""
},
"src/Appointment/Controller/AppointmentSettingsController.php": {
"mtime": 1782665096.4850338,
"mtime": 1782728407.188976,
"ast_hash": "5d405418e1ada6e08903b1e336fa681b",
"semantic_hash": ""
},
"src/Appointment/Controller/MyAppointmentsController.php": {
"mtime": 1782668409.1624396,
"mtime": 1782728407.1895916,
"ast_hash": "28cd12de40d0e2c87ef5c24cbceaf636",
"semantic_hash": ""
},
"src/Appointment/Entity/Appointment.php": {
"mtime": 1782663726.062719,
"mtime": 1782728407.1901643,
"ast_hash": "846b7a62fa3dec3970ea3d28331e1bab",
"semantic_hash": ""
},
"src/Appointment/Entity/DateOverride.php": {
"mtime": 1782667883.6894755,
"mtime": 1782728407.1904023,
"ast_hash": "4b7a172514cc7a2369733527f25f5294",
"semantic_hash": ""
},
@@ -875,7 +870,7 @@
"semantic_hash": ""
},
"src/Appointment/Repository/AppointmentRepository.php": {
"mtime": 1782660375.3159957,
"mtime": 1782728407.1906495,
"ast_hash": "51876e9f5a4343659054e72b3039885f",
"semantic_hash": ""
},
@@ -900,7 +895,7 @@
"semantic_hash": ""
},
"src/Appointment/Service/AppointmentExpiryService.php": {
"mtime": 1782653885.5151448,
"mtime": 1782728407.1909392,
"ast_hash": "0c5e26809c6e391525a6c1e6aee6a20d",
"semantic_hash": ""
},
@@ -910,7 +905,7 @@
"semantic_hash": ""
},
"src/Auth/Controller/AuthController.php": {
"mtime": 1782670928.250485,
"mtime": 1782728407.1912344,
"ast_hash": "b7cad6d36b6d0a354a2acb29d6000e1c",
"semantic_hash": ""
},
@@ -920,7 +915,7 @@
"semantic_hash": ""
},
"src/Auth/Controller/PreRegistrationController.php": {
"mtime": 1782669023.5416987,
"mtime": 1782728407.191858,
"ast_hash": "f67fc43368ba9bbccb55d58f1f67aa64",
"semantic_hash": ""
},
@@ -935,7 +930,7 @@
"semantic_hash": ""
},
"src/Auth/Entity/User.php": {
"mtime": 1782667851.6383612,
"mtime": 1782728407.1921442,
"ast_hash": "c21a256d856199dfa5d76b7c4193306d",
"semantic_hash": ""
},
@@ -985,7 +980,7 @@
"semantic_hash": ""
},
"src/Billing/Controller/BillingController.php": {
"mtime": 1782666727.4795668,
"mtime": 1782728407.192799,
"ast_hash": "23d73689d535ff8949f1d8f68d46d40a",
"semantic_hash": ""
},
@@ -1015,7 +1010,7 @@
"semantic_hash": ""
},
"src/Billing/Repository/ClaimRepository.php": {
"mtime": 1782666727.4797997,
"mtime": 1782728407.193827,
"ast_hash": "5cfde232706900b96783e29c97cb9b9c",
"semantic_hash": ""
},
@@ -1075,7 +1070,7 @@
"semantic_hash": ""
},
"src/Category/Controller/CategoryController.php": {
"mtime": 1782668409.162896,
"mtime": 1782728407.1942468,
"ast_hash": "a39be36d0787a2152341d42c18033283",
"semantic_hash": ""
},
@@ -1085,7 +1080,7 @@
"semantic_hash": ""
},
"src/Clinic/Entity/Clinic.php": {
"mtime": 1782653297.718325,
"mtime": 1782728407.1946046,
"ast_hash": "f4586face3694b30f638a7e96c4f4b70",
"semantic_hash": ""
},
@@ -1095,12 +1090,12 @@
"semantic_hash": ""
},
"src/ClinicInvitation/Controller/ClinicInvitationController.php": {
"mtime": 1782668409.1647654,
"mtime": 1782728407.1949377,
"ast_hash": "c03ba842befcb44b2ccef09082b905c8",
"semantic_hash": ""
},
"src/ClinicInvitation/Entity/ClinicDoctorInvitation.php": {
"mtime": 1782653394.0403428,
"mtime": 1782728407.1951423,
"ast_hash": "097b8f69845070f742ed6b200256d822",
"semantic_hash": ""
},
@@ -1115,7 +1110,7 @@
"semantic_hash": ""
},
"src/ClinicService/Controller/ClinicServiceController.php": {
"mtime": 1782668790.7511938,
"mtime": 1782728407.1953874,
"ast_hash": "14f5a17c5bc99eb78256baabed03673f",
"semantic_hash": ""
},
@@ -1185,12 +1180,12 @@
"semantic_hash": ""
},
"src/Doctor/Controller/DoctorController.php": {
"mtime": 1782665096.487926,
"mtime": 1782728407.195775,
"ast_hash": "5a7f22cf91ac6726ce3427c88eea1a82",
"semantic_hash": ""
},
"src/Doctor/Entity/Doctor.php": {
"mtime": 1782653288.2128472,
"mtime": 1782728407.1960332,
"ast_hash": "2401a8b6ef745ef25853ac52850f0e13",
"semantic_hash": ""
},
@@ -1205,7 +1200,7 @@
"semantic_hash": ""
},
"src/Doctor/Repository/DoctorRepository.php": {
"mtime": 1782663763.4548173,
"mtime": 1782728407.1963685,
"ast_hash": "e45b9dfd55967b2bb5082c25d947293b",
"semantic_hash": ""
},
@@ -1225,12 +1220,12 @@
"semantic_hash": ""
},
"src/Insurance/Controller/InsuranceController.php": {
"mtime": 1782665096.488538,
"mtime": 1782728407.196781,
"ast_hash": "dfd2f646daaa51e37e7cda5a5ee4bb6b",
"semantic_hash": ""
},
"src/Insurance/Entity/DoctorInsurance.php": {
"mtime": 1782653384.57436,
"mtime": 1782728407.1970296,
"ast_hash": "e5be7156725a486060f7fa6c0e534ee7",
"semantic_hash": ""
},
@@ -1295,8 +1290,8 @@
"semantic_hash": ""
},
"src/Kernel.php": {
"mtime": 1781009656.0891478,
"ast_hash": "065c02fc2d62bfff3cd16f3a0b46d9ee",
"mtime": 1782741976.619887,
"ast_hash": "7315899793a1f539c3f68a2eade4200a",
"semantic_hash": ""
},
"src/Location/Controller/LocationController.php": {
@@ -1325,7 +1320,7 @@
"semantic_hash": ""
},
"src/Patient/Controller/PatientController.php": {
"mtime": 1782669023.542159,
"mtime": 1782728407.197648,
"ast_hash": "dbf1e7138d885fad914e38b49bcaf9ca",
"semantic_hash": ""
},
@@ -1335,7 +1330,7 @@
"semantic_hash": ""
},
"src/Patient/Entity/PatientSession.php": {
"mtime": 1782654147.215054,
"mtime": 1782728407.1979117,
"ast_hash": "272af884798ca2bb27de25d9914c606a",
"semantic_hash": ""
},
@@ -1365,12 +1360,12 @@
"semantic_hash": ""
},
"src/Payment/Controller/PaymentController.php": {
"mtime": 1782663746.0171902,
"mtime": 1782728407.1982014,
"ast_hash": "d5a27f54ec1c8e8b2fe60a882f057d3d",
"semantic_hash": ""
},
"src/Payment/Entity/Payment.php": {
"mtime": 1782667861.5496802,
"mtime": 1782728407.1985424,
"ast_hash": "e51a6e6ba0e8ee390d56474f58c6a660",
"semantic_hash": ""
},
@@ -1380,7 +1375,7 @@
"semantic_hash": ""
},
"src/Payment/Gateway/MockGateway.php": {
"mtime": 1782659752.8339548,
"mtime": 1782728407.1989012,
"ast_hash": "af7b427acbde56329bbaf52ba04cbc16",
"semantic_hash": ""
},
@@ -1405,7 +1400,7 @@
"semantic_hash": ""
},
"src/Payment/Repository/PaymentRepository.php": {
"mtime": 1782660962.3540335,
"mtime": 1782728407.1991549,
"ast_hash": "28807b35e2c83ddd917bb2914cc71175",
"semantic_hash": ""
},
@@ -1415,7 +1410,7 @@
"semantic_hash": ""
},
"src/Rating/Controller/RatingController.php": {
"mtime": 1782666235.8895924,
"mtime": 1782728407.1993864,
"ast_hash": "19a05cd6788d427b52c6c2b604ec69af",
"semantic_hash": ""
},
@@ -1435,7 +1430,7 @@
"semantic_hash": ""
},
"src/Rating/Repository/CommentRepository.php": {
"mtime": 1782666235.891223,
"mtime": 1782728407.199666,
"ast_hash": "ae548e42f7ef2db01e6db42e735edc8a",
"semantic_hash": ""
},
@@ -1450,12 +1445,12 @@
"semantic_hash": ""
},
"src/Representation/Controller/RepresentationActionController.php": {
"mtime": 1782668936.1289527,
"mtime": 1782728407.200476,
"ast_hash": "2e713e442ac0f71bcf2aebc00324d126",
"semantic_hash": ""
},
"src/Representation/Controller/RepresentationController.php": {
"mtime": 1782654720.2930808,
"mtime": 1782728407.2007582,
"ast_hash": "321713adc028713c1ead67a8ac9fbc09",
"semantic_hash": ""
},
@@ -1485,12 +1480,12 @@
"semantic_hash": ""
},
"src/Secretary/Entity/DoctorSecretary.php": {
"mtime": 1782653374.0753815,
"mtime": 1782728407.2010329,
"ast_hash": "b8ff3a3c72e8a856f97debcaabfff21d",
"semantic_hash": ""
},
"src/Secretary/Repository/DoctorSecretaryRepository.php": {
"mtime": 1782666789.8097777,
"mtime": 1782728407.201263,
"ast_hash": "cd4cda35edaafda68949c2aa3d9e1407",
"semantic_hash": ""
},
@@ -1500,12 +1495,12 @@
"semantic_hash": ""
},
"src/Settlement/Controller/SettlementController.php": {
"mtime": 1782666235.8916874,
"mtime": 1782728407.2015102,
"ast_hash": "794936a5ec8bcaeb5c1521f14400bc88",
"semantic_hash": ""
},
"src/Settlement/Entity/FinancialBreakdown.php": {
"mtime": 1782667894.4905455,
"mtime": 1782728407.2017767,
"ast_hash": "b932ed5e2055b5168018d899fd61e006",
"semantic_hash": ""
},
@@ -1515,7 +1510,7 @@
"semantic_hash": ""
},
"src/Settlement/Entity/WalletTransaction.php": {
"mtime": 1782665817.4777627,
"mtime": 1782728407.2020044,
"ast_hash": "6b57d2dc5b5acfbd976bc4f31eacd9ce",
"semantic_hash": ""
},
@@ -1525,12 +1520,12 @@
"semantic_hash": ""
},
"src/Settlement/Repository/SettlementRepository.php": {
"mtime": 1782666235.8922334,
"mtime": 1782728407.2021737,
"ast_hash": "982b3c0dd88e3ba7ab22d1b6e9758aef",
"semantic_hash": ""
},
"src/Settlement/Repository/WalletTransactionRepository.php": {
"mtime": 1782663815.3106244,
"mtime": 1782728407.202498,
"ast_hash": "0c13c554d5138c0d4e8bc7d72e24f9a7",
"semantic_hash": ""
},
@@ -1540,7 +1535,7 @@
"semantic_hash": ""
},
"src/Shared/Constant/ErrorCodes.php": {
"mtime": 1782668320.487247,
"mtime": 1782728407.2028558,
"ast_hash": "6555622a4f54511406726cc156eac7aa",
"semantic_hash": ""
},
@@ -1570,7 +1565,7 @@
"semantic_hash": ""
},
"src/Shared/EventSubscriber/SecurityHeadersSubscriber.php": {
"mtime": 1782672841.0804546,
"mtime": 1782728407.2032897,
"ast_hash": "57d66396929ab5b7823859143ec1f563",
"semantic_hash": ""
},
@@ -1755,12 +1750,12 @@
"semantic_hash": ""
},
"src/Subscription/Entity/ClinicSubscription.php": {
"mtime": 1782653425.7476604,
"mtime": 1782728407.2035344,
"ast_hash": "61f1165a60cd7f49d3b0b80e7e2ce044",
"semantic_hash": ""
},
"src/Subscription/Entity/SubscriptionPeriod.php": {
"mtime": 1782653415.0947878,
"mtime": 1782728407.2038393,
"ast_hash": "b9b7b206ee3d242bdbb65d0773fbddd3",
"semantic_hash": ""
},
@@ -1830,12 +1825,12 @@
"semantic_hash": ""
},
"tsconfig.json": {
"mtime": 1781030340.1373036,
"ast_hash": "f1344b25ccb4c46869b7f07453224862",
"mtime": 1782729422.5886931,
"ast_hash": "4fb4141f1835bf43ec78f3c6538be2b7",
"semantic_hash": ""
},
"webpack.config.js": {
"mtime": 1782673407.0593028,
"mtime": 1782728407.2144063,
"ast_hash": "71e12f71509122e00c4029e1d2f34685",
"semantic_hash": ""
},
@@ -2345,27 +2340,27 @@
"semantic_hash": ""
},
"docs/api/admin.md": {
"mtime": 1782661547.590976,
"mtime": 1782728407.10617,
"ast_hash": "05cd1f677bf970d48e78b6d022ca81a6",
"semantic_hash": ""
},
"docs/api/appointment-settings.md": {
"mtime": 1782665230.8272429,
"mtime": 1782728407.106611,
"ast_hash": "340ea903ea45d63825001c90b6baa8c0",
"semantic_hash": ""
},
"docs/api/appointment.md": {
"mtime": 1782660869.5477676,
"mtime": 1782728407.1071143,
"ast_hash": "ae2bbfd8dc1e905f3b664d665c9dc1c3",
"semantic_hash": ""
},
"docs/api/auth.md": {
"mtime": 1782671014.2525263,
"mtime": 1782728407.1075277,
"ast_hash": "c193f86d49bb42a6198807d0497ff145",
"semantic_hash": ""
},
"docs/api/billing.md": {
"mtime": 1782664621.0454378,
"mtime": 1782728407.1078966,
"ast_hash": "0866219af2626141c1df0f0c9f874470",
"semantic_hash": ""
},
@@ -2380,7 +2375,7 @@
"semantic_hash": ""
},
"docs/api/clinic-services.md": {
"mtime": 1782665252.0360606,
"mtime": 1782728407.1083,
"ast_hash": "06e7cab24284ccf31c55348b6cdbb61a",
"semantic_hash": ""
},
@@ -2400,12 +2395,12 @@
"semantic_hash": ""
},
"docs/api/doctor.md": {
"mtime": 1782661541.6195734,
"mtime": 1782728407.108632,
"ast_hash": "6dedc0cdfc171e0f7c31fb29647cb27b",
"semantic_hash": ""
},
"docs/api/insurance.md": {
"mtime": 1782665188.4955945,
"mtime": 1782728407.109222,
"ast_hash": "05f4fa9a2628811066a8f2cb90b6db4d",
"semantic_hash": ""
},
@@ -2420,17 +2415,17 @@
"semantic_hash": ""
},
"docs/api/payment.md": {
"mtime": 1782661090.1167414,
"mtime": 1782728407.1095557,
"ast_hash": "599a89165ddf5f33daeb04a6d97a3b5a",
"semantic_hash": ""
},
"docs/api/rating.md": {
"mtime": 1782666388.1536908,
"mtime": 1782728407.1106706,
"ast_hash": "ab1f1c46ee73542ebd50f8eddc428efb",
"semantic_hash": ""
},
"docs/api/representation.md": {
"mtime": 1782655595.4275486,
"mtime": 1782728407.1112525,
"ast_hash": "3f525b4581e326a353afc4a563f19fca",
"semantic_hash": ""
},
@@ -2440,7 +2435,7 @@
"semantic_hash": ""
},
"docs/api/settlement.md": {
"mtime": 1782666370.943677,
"mtime": 1782728407.112459,
"ast_hash": "4a65139e00f3140eb6c3b7f56b08e178",
"semantic_hash": ""
},
@@ -3010,37 +3005,37 @@
"semantic_hash": ""
},
"migrations/Version20260628133044.php": {
"mtime": 1782653560.947538,
"mtime": 1782728407.1770864,
"ast_hash": "88f07d72feb2a881c0843255de295486",
"semantic_hash": ""
},
"migrations/Version20260628134241.php": {
"mtime": 1782654201.2779126,
"mtime": 1782728407.1773741,
"ast_hash": "ae82d3856daf48b996129549fdf92dd1",
"semantic_hash": ""
},
"migrations/Version20260628152738.php": {
"mtime": 1782660576.358943,
"mtime": 1782728407.1776521,
"ast_hash": "e52ffd53d21895a7f83a28672f65a71e",
"semantic_hash": ""
},
"migrations/Version20260628153625.php": {
"mtime": 1782660999.5018735,
"mtime": 1782728407.177952,
"ast_hash": "4923b39b5b6fcf4404397d0c661bd001",
"semantic_hash": ""
},
"migrations/Version20260628153855.php": {
"mtime": 1782661140.8410785,
"mtime": 1782728407.1791277,
"ast_hash": "fc025cf57c2896f4140defcf20ecef3a",
"semantic_hash": ""
},
"migrations/Version20260628165710.php": {
"mtime": 1782665831.8166125,
"mtime": 1782728407.1797354,
"ast_hash": "e491c3e51eda2febcbb091c6251807c8",
"semantic_hash": ""
},
"migrations/Version20260628173151.php": {
"mtime": 1782667913.1194494,
"mtime": 1782728407.1803336,
"ast_hash": "3cdd05a18c538c18a302eec5b48632e7",
"semantic_hash": ""
},
@@ -3050,177 +3045,177 @@
"semantic_hash": ""
},
"src/Insurance/Service/TenantInsuranceCleanupService.php": {
"mtime": 1782661405.9118536,
"mtime": 1782728407.1973555,
"ast_hash": "a6d704398677f90b212001f455f43183",
"semantic_hash": ""
},
"tests/ApiTestCase.php": {
"mtime": 1782671188.9168994,
"mtime": 1782728407.2050433,
"ast_hash": "78787171f4d519d0cc34ac3901ffb97f",
"semantic_hash": ""
},
"tests/Appointment/AppointmentExpiryServiceTest.php": {
"mtime": 1782662042.9346354,
"mtime": 1782728407.2053933,
"ast_hash": "b8c99aedf95e0a80e21b20de0b1084eb",
"semantic_hash": ""
},
"tests/Appointment/AppointmentSettingsListOwnershipTest.php": {
"mtime": 1782665059.1741493,
"mtime": 1782728407.205828,
"ast_hash": "8f4960572b1a6769a4fbb9d8fa14a577",
"semantic_hash": ""
},
"tests/Appointment/BookingScopeTest.php": {
"mtime": 1782660082.5290158,
"mtime": 1782728407.206109,
"ast_hash": "8dddb14fdd8a1527e9bf84777d6a8d2c",
"semantic_hash": ""
},
"tests/Appointment/DateOverrideOwnershipTest.php": {
"mtime": 1782652681.677713,
"mtime": 1782728407.20649,
"ast_hash": "8df85038521ce981c1a51905c4ce9a6a",
"semantic_hash": ""
},
"tests/Appointment/ScheduleOwnershipTest.php": {
"mtime": 1782652534.9351707,
"mtime": 1782728407.206779,
"ast_hash": "db29485db63e38839cd5e4b6260b84d1",
"semantic_hash": ""
},
"tests/Appointment/SlotUniquenessTest.php": {
"mtime": 1782660629.9719422,
"mtime": 1782728407.2069545,
"ast_hash": "7357ff810a81d8278c096ce2747023f6",
"semantic_hash": ""
},
"tests/Audit/LowTierFixesTest.php": {
"mtime": 1782668999.9270597,
"mtime": 1782728407.2072024,
"ast_hash": "6a9841c1dc0ac0a5c09232bcb938d0f4",
"semantic_hash": ""
},
"tests/Auth/RefreshTokenTest.php": {
"mtime": 1782670959.9981542,
"mtime": 1782728407.2074602,
"ast_hash": "9b8483bd31aaf43af35ec7222b5e3da1",
"semantic_hash": ""
},
"tests/Auth/SendCodeMobileRateLimitTest.php": {
"mtime": 1782666311.5472748,
"mtime": 1782728407.2076511,
"ast_hash": "146443b81579b108d14f1fb927d83068",
"semantic_hash": ""
},
"tests/Billing/ClaimAmountBoundsTest.php": {
"mtime": 1782664554.4432037,
"mtime": 1782728407.2078786,
"ast_hash": "75e5fed4950a23a918d7acdf5afc0f98",
"semantic_hash": ""
},
"tests/Billing/ClaimsListNPlusOneTest.php": {
"mtime": 1782666701.2404473,
"mtime": 1782728407.2080624,
"ast_hash": "a2f3bc2ed52af68be1e376a90859374f",
"semantic_hash": ""
},
"tests/Billing/ClaimsListPaginationTest.php": {
"mtime": 1782662978.856204,
"mtime": 1782728407.208282,
"ast_hash": "1f500cb3cf368e474450f5fe81b8d8c8",
"semantic_hash": ""
},
"tests/ClinicService/ServiceItemDeleteCleanupTest.php": {
"mtime": 1782668763.4270394,
"mtime": 1782728407.2085278,
"ast_hash": "2ab692fe132df5bb37346bf89afe041e",
"semantic_hash": ""
},
"tests/ClinicService/ServiceItemStaffOwnershipTest.php": {
"mtime": 1782665021.1548548,
"mtime": 1782728407.2087383,
"ast_hash": "5f32350c6c902f8cc38a72b2a951360a",
"semantic_hash": ""
},
"tests/Database/UniqueConstraintsTest.php": {
"mtime": 1782667982.4640343,
"mtime": 1782728407.2089782,
"ast_hash": "4781b89cd246be44f463b3906b326af3",
"semantic_hash": ""
},
"tests/Doctor/ClinicDoctorListNPlusOneTest.php": {
"mtime": 1782661950.634204,
"mtime": 1782728407.209224,
"ast_hash": "68d87509db91217fbb2cb5edbfa77ffe",
"semantic_hash": ""
},
"tests/Doctor/DoctorAddressOwnershipTest.php": {
"mtime": 1782664988.7849998,
"mtime": 1782728407.2094796,
"ast_hash": "a8037c547a12f31defa1377c6a9975ff",
"semantic_hash": ""
},
"tests/Doctrine/RepositoryClassMappingTest.php": {
"mtime": 1782652790.6057801,
"mtime": 1782728407.2097275,
"ast_hash": "e1336628ec1526d91120262b61755624",
"semantic_hash": ""
},
"tests/Insurance/DoctorInsuranceOwnershipTest.php": {
"mtime": 1782664702.7122505,
"mtime": 1782728407.2099898,
"ast_hash": "60aa6ab86bc8aa69ed67e6ade1ae910a",
"semantic_hash": ""
},
"tests/Insurance/ServiceCoverageNPlusOneTest.php": {
"mtime": 1782664207.2372098,
"mtime": 1782728407.210225,
"ast_hash": "b028d5be254e68f6a90a253fd428523e",
"semantic_hash": ""
},
"tests/Insurance/TenantInsuranceCleanupTest.php": {
"mtime": 1782664099.1812236,
"mtime": 1782728407.210448,
"ast_hash": "d9738bcdd51bf3510d5cd15f65862642",
"semantic_hash": ""
},
"tests/Payment/PaymentCallbackAmountTest.php": {
"mtime": 1782661071.7290833,
"mtime": 1782728407.210719,
"ast_hash": "01d8cfb4e2faf2bfc6a46137b3374ae8",
"semantic_hash": ""
},
"tests/Rating/CommentListNPlusOneTest.php": {
"mtime": 1782664010.6708503,
"mtime": 1782728407.2109313,
"ast_hash": "c9e2ed76fd5db1c45982211e207c72d4",
"semantic_hash": ""
},
"tests/Rating/CommentPaginationTest.php": {
"mtime": 1782666197.5164032,
"mtime": 1782728407.211217,
"ast_hash": "f00d804aa6589a29567d358ef402795f",
"semantic_hash": ""
},
"tests/Representation/RepresentationCommissionTest.php": {
"mtime": 1782655559.6346638,
"mtime": 1782728407.2115068,
"ast_hash": "85807266fc70e728a762cf36f281ddc5",
"semantic_hash": ""
},
"tests/Secretary/SecretaryListNPlusOneTest.php": {
"mtime": 1782666646.8106012,
"mtime": 1782728407.211849,
"ast_hash": "73b9c08f34ddbccbfb6a0921f92671b0",
"semantic_hash": ""
},
"tests/Settlement/FinancialBreakdownIntegrityTest.php": {
"mtime": 1782661206.5308816,
"mtime": 1782728407.2121055,
"ast_hash": "7478c5d9d46bbc112d42313f26209824",
"semantic_hash": ""
},
"tests/Settlement/SettlementListPaginationTest.php": {
"mtime": 1782666183.589831,
"mtime": 1782728407.21282,
"ast_hash": "5736b40b57ce71a54ee5127064936b52",
"semantic_hash": ""
},
"tests/Settlement/WalletTransactionsPaginationTest.php": {
"mtime": 1782662961.2148592,
"mtime": 1782728407.2130265,
"ast_hash": "0814185b92318173eab40f1fad745244",
"semantic_hash": ""
},
"tests/Shared/ErrorCodesTest.php": {
"mtime": 1782668503.6962647,
"mtime": 1782728407.213281,
"ast_hash": "1fff9cc1dcf45b8bd5acc3e621b18475",
"semantic_hash": ""
},
"tests/Smoke/InfraSmokeTest.php": {
"mtime": 1782665870.2654965,
"mtime": 1782728407.2136247,
"ast_hash": "6f4962c26cf8b7e19822bf3e9f6e86b2",
"semantic_hash": ""
},
"tests/doctrine_object_manager.php": {
"mtime": 1782654329.4797242,
"mtime": 1782728407.2138007,
"ast_hash": "a87c6a100d39e19aea4595d388c34e5c",
"semantic_hash": ""
},
".claude/prompt/admin-spa-adapt-backend-audit.md": {
"mtime": 1782670342.4687297,
"mtime": 1782728407.0836873,
"ast_hash": "879c2ef4dafb48efff90b2d7eb254d06",
"semantic_hash": ""
},
@@ -3235,12 +3230,12 @@
"semantic_hash": ""
},
".claude/prompt/full-backend-audit.md": {
"mtime": 1782651345.997419,
"mtime": 1782728407.0847602,
"ast_hash": "c51946d5fac11151790029f45a7d5dd5",
"semantic_hash": ""
},
".claude/prompt/home-landing-copy-and-mobile.md": {
"mtime": 1782671706.0198143,
"mtime": 1782728407.085277,
"ast_hash": "74dc4297980df3c07bcecef4d7f7cbdd",
"semantic_hash": ""
},
@@ -3249,11 +3244,6 @@
"ast_hash": "ce61b5cb4d57dd3cf21eb0319e532f4a",
"semantic_hash": ""
},
".github/workflows/ci.yml": {
"mtime": 1782669209.6750412,
"ast_hash": "1a36434d0667926747fb2a29cec67443",
"semantic_hash": ""
},
"docker-compose.yml": {
"mtime": 1782647901.237114,
"ast_hash": "660297f246a6e4ee3ea0115c5f69bb90",
@@ -3265,7 +3255,7 @@
"semantic_hash": ""
},
"docs/audit-backlog.md": {
"mtime": 1782671239.31608,
"mtime": 1782728407.1130211,
"ast_hash": "b31f305f8de7ec382d066614a8609cd7",
"semantic_hash": ""
},
@@ -3275,18 +3265,113 @@
"semantic_hash": ""
},
"src/Shared/Controller/SeoController.php": {
"mtime": 1782672834.274309,
"mtime": 1782728407.2030673,
"ast_hash": "7b148f2bee655e2b1e70adf6476b5598",
"semantic_hash": ""
},
"public/og-image.png": {
"mtime": 1782673183.848443,
"mtime": 1782728407.187079,
"ast_hash": "a4ae2b446e543c75e984f180d8cd0aec",
"semantic_hash": ""
},
"public/og-image.svg": {
"mtime": 1782673172.9846177,
"mtime": 1782728407.1873448,
"ast_hash": "ad555ec6db4ea096da240087e1e0b025",
"semantic_hash": ""
},
"assets/admin/components/ui/ui.test.tsx": {
"mtime": 1782728407.0897648,
"ast_hash": "d23501b61a83800225e3c15365a936bf",
"semantic_hash": ""
},
"assets/admin/hooks/hooks.test.tsx": {
"mtime": 1782728407.0925536,
"ast_hash": "211876b92667979d0f1363a73c351183",
"semantic_hash": ""
},
"assets/admin/lib/api.test.ts": {
"mtime": 1782728407.0935147,
"ast_hash": "454149aa14128f3b6f324b69df04b652",
"semantic_hash": ""
},
"assets/admin/lib/utils.test.ts": {
"mtime": 1782728407.0943124,
"ast_hash": "02c5c9fb7810480bb1f449a523eb6e99",
"semantic_hash": ""
},
"assets/admin/pages/BlogFormPage.test.tsx": {
"mtime": 1782728407.095391,
"ast_hash": "cc7455a29a9259d50b2c4c7e6527fbca",
"semantic_hash": ""
},
"assets/admin/pages/BlogsPage.test.tsx": {
"mtime": 1782728407.0965009,
"ast_hash": "8f5e7a0b434eb6a320cb08a55d51f9a8",
"semantic_hash": ""
},
"assets/admin/pages/LoginPage.test.tsx": {
"mtime": 1782728407.0990508,
"ast_hash": "2cedd88e0a4f2adaa6643dde132e8277",
"semantic_hash": ""
},
"assets/admin/stores/authStore.test.ts": {
"mtime": 1782728407.102513,
"ast_hash": "881d48d1b4f64ecfc37d729fc974132b",
"semantic_hash": ""
},
"assets/admin/stores/uiStore.test.ts": {
"mtime": 1782728407.102826,
"ast_hash": "5311235df93b5947bf354d3afdc9ef8f",
"semantic_hash": ""
},
"assets/admin/test/setup.ts": {
"mtime": 1782728407.10308,
"ast_hash": "09b64c1cf14ba20beb8d99d2c4ef45a2",
"semantic_hash": ""
},
"assets/admin/test/utils.tsx": {
"mtime": 1782728407.1044447,
"ast_hash": "9e808360b157c97e99cd3ab7a3e98ebc",
"semantic_hash": ""
},
"liara.json": {
"mtime": 1782740970.8957605,
"ast_hash": "e57f848d8ea44e16583ee9c918c76449",
"semantic_hash": ""
},
"liara_pre_build.sh": {
"mtime": 1782735663.7857206,
"ast_hash": "a3dc064d76ef9c612d32251ff0bddde0",
"semantic_hash": ""
},
"liara_pre_start.sh": {
"mtime": 1782735576.5106137,
"ast_hash": "549d60504da99414eaa75b1e1b7589ec",
"semantic_hash": ""
},
".claude/prompt/admin-spa-test-suite.md": {
"mtime": 1782728407.0841885,
"ast_hash": "b208917e996ea2a2f57290632bdf7bd8",
"semantic_hash": ""
},
".claude/prompt/deploy-liara-docker.md": {
"mtime": 1782732118.9900346,
"ast_hash": "724d1a12456379c77ebd13766a575997",
"semantic_hash": ""
},
".claude/prompt/deploy-liara-php.md": {
"mtime": 1782735439.0258229,
"ast_hash": "3c0a7f23da723b066a07b0db111f0ea7",
"semantic_hash": ""
},
"docs/deploy-liara-php.md": {
"mtime": 1782736008.651393,
"ast_hash": "966158035ac6d09fa58b0110f2669047",
"semantic_hash": ""
},
"docs/deploy-liara.md": {
"mtime": 1782732335.2708814,
"ast_hash": "935e36360352c12270b34ff25e66c483",
"semantic_hash": ""
}
}
+12
View File
@@ -8,4 +8,16 @@ use Symfony\Component\HttpKernel\Kernel as BaseKernel;
class Kernel extends BaseKernel
{
use MicroKernelTrait;
// On read-only-root PaaS (Liara), var/ is not writable. Redirect cache/log to a
// writable path (e.g. /tmp) via env; falls back to the default var/ locally.
public function getCacheDir(): string
{
return $_SERVER['APP_CACHE_DIR'] ?? parent::getCacheDir();
}
public function getLogDir(): string
{
return $_SERVER['APP_LOG_DIR'] ?? parent::getLogDir();
}
}