Update community IDs in graph.json and manifest.json; modify migration command in liara_pre_start.sh; enhance error logging in ExceptionSubscriber.php; add new AST cache files.

This commit is contained in:
hamed
2026-06-29 19:29:10 +03:30
parent 97958ecc7d
commit afb5b28272
10 changed files with 119 additions and 115 deletions
-1
View File
@@ -666,7 +666,6 @@
"664": "Community 664", "664": "Community 664",
"665": "Community 665", "665": "Community 665",
"666": "Community 666", "666": "Community 666",
"667": "Community 667",
"668": "Community 668", "668": "Community 668",
"669": "Community 669", "669": "Community 669",
"670": "Community 670", "670": "Community 670",
+24 -33
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-06-29) # Graph Report - clinicpro (2026-06-29)
## Corpus Check ## Corpus Check
- 646 files · ~446,822 words - 646 files · ~446,886 words
- Verdict: corpus is large enough that graph structure adds value. - Verdict: corpus is large enough that graph structure adds value.
## Summary ## Summary
- 8212 nodes · 11323 edges · 672 communities (551 shown, 121 thin omitted) - 8212 nodes · 11323 edges · 671 communities (549 shown, 122 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 261 edges (avg confidence: 0.8) - Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 261 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output - Token cost: 0 input · 0 output
## Graph Freshness ## Graph Freshness
- Built from commit: `c71d674d` - Built from commit: `97958ecc`
- Run `git rev-parse HEAD` and compare to check if the graph is stale. - Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost). - Run `graphify update .` after code changes (no API cost).
@@ -668,7 +668,6 @@
- [[_COMMUNITY_Community 664|Community 664]] - [[_COMMUNITY_Community 664|Community 664]]
- [[_COMMUNITY_Community 665|Community 665]] - [[_COMMUNITY_Community 665|Community 665]]
- [[_COMMUNITY_Community 666|Community 666]] - [[_COMMUNITY_Community 666|Community 666]]
- [[_COMMUNITY_Community 667|Community 667]]
- [[_COMMUNITY_Community 668|Community 668]] - [[_COMMUNITY_Community 668|Community 668]]
- [[_COMMUNITY_Community 669|Community 669]] - [[_COMMUNITY_Community 669|Community 669]]
- [[_COMMUNITY_Community 671|Community 671]] - [[_COMMUNITY_Community 671|Community 671]]
@@ -700,7 +699,7 @@
## Import Cycles ## Import Cycles
- None detected. - None detected.
## Communities (672 total, 121 thin omitted) ## Communities (671 total, 122 thin omitted)
### Community 0 - "Community 0" ### Community 0 - "Community 0"
Cohesion: 0.05 Cohesion: 0.05
@@ -915,8 +914,8 @@ Cohesion: 0.07
Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان می‌دهد موبایل پزشک, باگ ۶ — نوبت‌های رزرو شده در نمایش زمانبندی (+18 more) Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان می‌دهد موبایل پزشک, باگ ۶ — نوبت‌های رزرو شده در نمایش زمانبندی (+18 more)
### Community 53 - "Community 53" ### Community 53 - "Community 53"
Cohesion: 0.09 Cohesion: 0.10
Nodes (13): ClaimItemRepository, ClinicStaffRepository, PreRegistrationRepository, SessionServiceRepository, SiteConfigRepository, ServiceEntityRepository, ManagerRegistry, ManagerRegistry (+5 more) Nodes (14): ClaimItemRepository, ClinicStaffRepository, PreRegistrationRepository, SessionServiceRepository, SmsSettingsRepository, ServiceEntityRepository, SmsSettings, ManagerRegistry (+6 more)
### Community 54 - "Community 54" ### Community 54 - "Community 54"
Cohesion: 0.10 Cohesion: 0.10
@@ -1036,7 +1035,7 @@ Nodes (29): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react
### Community 86 - "Community 86" ### Community 86 - "Community 86"
Cohesion: 0.07 Cohesion: 0.07
Nodes (13): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser, CommentPaginationTest (+5 more) Nodes (14): AppointmentExpiryServiceTest, LowTierFixesTest, SendCodeMobileRateLimitTest, ClaimsListPaginationTest, ServiceItemStaffOwnershipTest, EntityManagerInterface, KernelBrowser, CommentPaginationTest (+6 more)
### Community 87 - "Community 87" ### Community 87 - "Community 87"
Cohesion: 0.10 Cohesion: 0.10
@@ -1476,7 +1475,7 @@ Nodes (13): Endpoint ها, PATCH /api/v1/secretary/{uuid}, POST /api/v1/secretar
### Community 201 - "Community 201" ### Community 201 - "Community 201"
Cohesion: 0.15 Cohesion: 0.15
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) 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" ### Community 202 - "Community 202"
Cohesion: 0.15 Cohesion: 0.15
@@ -1856,7 +1855,7 @@ Nodes (16): آماده‌سازی پروژه ClinicPro برای دیپلوی ر
### Community 304 - "Community 304" ### Community 304 - "Community 304"
Cohesion: 0.22 Cohesion: 0.22
Nodes (9): 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 36. 🟢 `GET` get my rate, 6. کلینیک (Clinic), هدرهای اضافی, هدرهای اضافی, پاسخ‌ها, پاسخ‌ها (+1 more) Nodes (9): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 36. 🟢 `GET` get my rate, 6. کلینیک (Clinic), هدرهای اضافی, پارامترهای Query, پاسخ‌ها, پاسخ‌ها (+1 more)
### Community 306 - "Community 306" ### Community 306 - "Community 306"
Cohesion: 0.07 Cohesion: 0.07
@@ -2202,14 +2201,14 @@ Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doct
Cohesion: 0.33 Cohesion: 0.33
Nodes (4): initiate(), verify(), PaymentInitResult, PaymentVerifyResult Nodes (4): initiate(), verify(), PaymentInitResult, PaymentVerifyResult
### Community 399 - "Community 399"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260609130407, Schema, Version20260609132009
### Community 401 - "Community 401" ### Community 401 - "Community 401"
Cohesion: 0.38 Cohesion: 0.38
Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User Nodes (5): Rate, RateRepository, Doctor, ManagerRegistry, User
### Community 406 - "Community 406"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260609134112, Schema, Version20260625135132
### Community 418 - "Community 418" ### Community 418 - "Community 418"
Cohesion: 0.17 Cohesion: 0.17
Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانت‌اند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more) Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانت‌اند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more)
@@ -2447,8 +2446,8 @@ Cohesion: 0.40
Nodes (4): ساختار فایل‌ها, معماری — تسک ۱۶: ماژول داشبورد دکتر, نمودار جریان, کوئری درآمد سالانه (بر اساس ماه‌های شمسی) Nodes (4): ساختار فایل‌ها, معماری — تسک ۱۶: ماژول داشبورد دکتر, نمودار جریان, کوئری درآمد سالانه (بر اساس ماه‌های شمسی)
### Community 522 - "Community 522" ### Community 522 - "Community 522"
Cohesion: 0.47 Cohesion: 0.20
Nodes (3): CommissionService, Payment, Representation Nodes (7): WalletTransactionRepository, CommissionService, ManagerRegistry, User, Payment, Representation, WalletTransaction
### Community 523 - "Community 523" ### Community 523 - "Community 523"
Cohesion: 0.43 Cohesion: 0.43
@@ -2710,10 +2709,6 @@ Nodes (3): نقاط ضعف, نقاط قوت, ۶. تحلیل API Design
Cohesion: 0.40 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 (فاز ۱ سیستم صورتحساب) 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.24
Nodes (5): WalletTransactionRepository, WalletTransactionsPaginationTest, ManagerRegistry, User, WalletTransaction
### Community 608 - "Community 608" ### Community 608 - "Community 608"
Cohesion: 0.40 Cohesion: 0.40
Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
@@ -2726,10 +2721,6 @@ Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم
Cohesion: 0.25 Cohesion: 0.25
Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry
### Community 625 - "Community 625"
Cohesion: 0.48
Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry
### Community 631 - "Community 631" ### Community 631 - "Community 631"
Cohesion: 0.50 Cohesion: 0.50
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200` Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
@@ -2778,6 +2769,10 @@ Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
Cohesion: 0.40 Cohesion: 0.40
Nodes (5): ۲.۸ تنظیمات نوبت (Appointment Settings), ۲.۸.۱ برنامه هفتگی (Weekly Schedule), ۲.۸.۲ تعطیلات (Holidays), ۲.۸.۳ لغو تعطیل (Date Override), ۲.۸.۴ الگوریتم محاسبه اسلات‌های خالی Nodes (5): ۲.۸ تنظیمات نوبت (Appointment Settings), ۲.۸.۱ برنامه هفتگی (Weekly Schedule), ۲.۸.۲ تعطیلات (Holidays), ۲.۸.۳ لغو تعطیل (Date Override), ۲.۸.۴ الگوریتم محاسبه اسلات‌های خالی
### Community 649 - "Community 649"
Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/payments`, Payment Management, Query Parameters, Response `200`
### Community 650 - "Community 650" ### Community 650 - "Community 650"
Cohesion: 0.40 Cohesion: 0.40
Nodes (3): Props, StatTone, TONE Nodes (3): Props, StatTone, TONE
@@ -2788,7 +2783,7 @@ Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 652 - "Community 652" ### Community 652 - "Community 652"
Cohesion: 0.50 Cohesion: 0.50
Nodes (4): GET `/api/v1/admin/secretaries`, Query Parameters, Response `200`, Secretary Management 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 653 - "Community 653" ### Community 653 - "Community 653"
Cohesion: 0.50 Cohesion: 0.50
@@ -2827,8 +2822,8 @@ Cohesion: 0.50
Nodes (4): ۲.۱۳ نظرات، لایک و امتیازدهی, ۲.۱۳.۱ نظر (Comment), ۲.۱۳.۲ لایک (Like), ۲.۱۳.۳ امتیاز (Rate) Nodes (4): ۲.۱۳ نظرات، لایک و امتیازدهی, ۲.۱۳.۱ نظر (Comment), ۲.۱۳.۲ لایک (Like), ۲.۱۳.۳ امتیاز (Rate)
### Community 662 - "Community 662" ### Community 662 - "Community 662"
Cohesion: 0.50 Cohesion: 0.67
Nodes (4): GET `/api/v1/admin/settlements`, Query Parameters, Response `200`, Settlement Management Nodes (3): 33. 🔵 `POST` image_clinic, هدرهای اضافی, پاسخ‌ها
### Community 664 - "Community 664" ### Community 664 - "Community 664"
Cohesion: 0.67 Cohesion: 0.67
@@ -2838,10 +2833,6 @@ Nodes (3): 42. 🔴 `DELETE` delete, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.67 Cohesion: 0.67
Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها
### Community 667 - "Community 667"
Cohesion: 0.67
Nodes (3): 29. 🟢 `GET` clinic list 🆕, پارامترهای Query, پاسخ‌ها
### Community 671 - "Community 671" ### Community 671 - "Community 671"
Cohesion: 0.67 Cohesion: 0.67
Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها
@@ -2849,7 +2840,7 @@ Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها
## Knowledge Gaps ## Knowledge Gaps
- **3533 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3528 more) - **3533 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3528 more)
These have ≤1 connection - possible missing edges or undocumented components. These have ≤1 connection - possible missing edges or undocumented components.
- **121 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes. - **122 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions ## Suggested Questions
_Questions this graph is uniquely positioned to answer:_ _Questions this graph is uniquely positioned to answer:_
@@ -2858,7 +2849,7 @@ _Questions this graph is uniquely positioned to answer:_
_High betweenness centrality (0.026) - this node is a cross-community bridge._ _High betweenness centrality (0.026) - this node is a cross-community bridge._
- **Why does `AppointmentRepository` connect `Community 119` to `Community 53`?** - **Why does `AppointmentRepository` connect `Community 119` to `Community 53`?**
_High betweenness centrality (0.018) - 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 399`?** - **Why does `Version20260614181657` connect `Community 431` to `Community 406`?**
_High betweenness centrality (0.016) - this node is a cross-community bridge._ _High betweenness centrality (0.016) - this node is a cross-community bridge._
- **What connects `ALLOWED_ROLES`, `Pricing`, `TenantInsurance` to the rest of the system?** - **What connects `ALLOWED_ROLES`, `Pricing`, `TenantInsurance` to the rest of the system?**
_3533 weakly-connected nodes found - possible documentation gaps or missing edges._ _3533 weakly-connected nodes found - possible documentation gaps or missing edges._
@@ -0,0 +1 @@
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
@@ -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}]}
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
+69 -69
View File
@@ -8142,7 +8142,7 @@
"source_location": "", "source_location": "",
"_origin": "ast", "_origin": "ast",
"id": "abstractmigration", "id": "abstractmigration",
"community": 399, "community": 406,
"norm_label": "abstractmigration" "norm_label": "abstractmigration"
}, },
{ {
@@ -8322,7 +8322,7 @@
"source_location": "L1", "source_location": "L1",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260609132009", "id": "migrations_version20260609132009",
"community": 399, "community": 625,
"norm_label": "version20260609132009.php" "norm_label": "version20260609132009.php"
}, },
{ {
@@ -8332,7 +8332,7 @@
"source_location": "L13", "source_location": "L13",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260609132009_version20260609132009", "id": "migrations_version20260609132009_version20260609132009",
"community": 399, "community": 625,
"norm_label": "version20260609132009" "norm_label": "version20260609132009"
}, },
{ {
@@ -8342,7 +8342,7 @@
"source_location": "L15", "source_location": "L15",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260609132009_version20260609132009_getdescription", "id": "migrations_version20260609132009_version20260609132009_getdescription",
"community": 399, "community": 625,
"norm_label": ".getdescription()" "norm_label": ".getdescription()"
}, },
{ {
@@ -8352,7 +8352,7 @@
"source_location": "L20", "source_location": "L20",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260609132009_version20260609132009_up", "id": "migrations_version20260609132009_version20260609132009_up",
"community": 399, "community": 625,
"norm_label": ".up()" "norm_label": ".up()"
}, },
{ {
@@ -8362,7 +8362,7 @@
"source_location": "L20", "source_location": "L20",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260609132009_php_schema", "id": "migrations_version20260609132009_php_schema",
"community": 399, "community": 625,
"norm_label": "schema" "norm_label": "schema"
}, },
{ {
@@ -8372,7 +8372,7 @@
"source_location": "L27", "source_location": "L27",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260609132009_version20260609132009_down", "id": "migrations_version20260609132009_version20260609132009_down",
"community": 399, "community": 625,
"norm_label": ".down()" "norm_label": ".down()"
}, },
{ {
@@ -11742,7 +11742,7 @@
"source_location": "L1", "source_location": "L1",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260625135132", "id": "migrations_version20260625135132",
"community": 649, "community": 406,
"norm_label": "version20260625135132.php" "norm_label": "version20260625135132.php"
}, },
{ {
@@ -11752,7 +11752,7 @@
"source_location": "L13", "source_location": "L13",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260625135132_version20260625135132", "id": "migrations_version20260625135132_version20260625135132",
"community": 649, "community": 406,
"norm_label": "version20260625135132" "norm_label": "version20260625135132"
}, },
{ {
@@ -11762,7 +11762,7 @@
"source_location": "L15", "source_location": "L15",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260625135132_version20260625135132_getdescription", "id": "migrations_version20260625135132_version20260625135132_getdescription",
"community": 649, "community": 406,
"norm_label": ".getdescription()" "norm_label": ".getdescription()"
}, },
{ {
@@ -11772,7 +11772,7 @@
"source_location": "L20", "source_location": "L20",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260625135132_version20260625135132_up", "id": "migrations_version20260625135132_version20260625135132_up",
"community": 649, "community": 406,
"norm_label": ".up()" "norm_label": ".up()"
}, },
{ {
@@ -11782,7 +11782,7 @@
"source_location": "L20", "source_location": "L20",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260625135132_php_schema", "id": "migrations_version20260625135132_php_schema",
"community": 649, "community": 406,
"norm_label": "schema" "norm_label": "schema"
}, },
{ {
@@ -11792,7 +11792,7 @@
"source_location": "L26", "source_location": "L26",
"_origin": "ast", "_origin": "ast",
"id": "migrations_version20260625135132_version20260625135132_down", "id": "migrations_version20260625135132_version20260625135132_down",
"community": 649, "community": 406,
"norm_label": ".down()" "norm_label": ".down()"
}, },
{ {
@@ -22682,7 +22682,7 @@
"source_location": "L1", "source_location": "L1",
"_origin": "ast", "_origin": "ast",
"id": "repository_siteconfigrepository", "id": "repository_siteconfigrepository",
"community": 53, "community": 607,
"norm_label": "siteconfigrepository.php" "norm_label": "siteconfigrepository.php"
}, },
{ {
@@ -22692,7 +22692,7 @@
"source_location": "L9", "source_location": "L9",
"_origin": "ast", "_origin": "ast",
"id": "repository_siteconfigrepository_siteconfigrepository", "id": "repository_siteconfigrepository_siteconfigrepository",
"community": 53, "community": 607,
"norm_label": "siteconfigrepository" "norm_label": "siteconfigrepository"
}, },
{ {
@@ -22702,7 +22702,7 @@
"source_location": "L40", "source_location": "L40",
"_origin": "ast", "_origin": "ast",
"id": "repository_siteconfigrepository_siteconfigrepository_construct", "id": "repository_siteconfigrepository_siteconfigrepository_construct",
"community": 53, "community": 607,
"norm_label": ".__construct()" "norm_label": ".__construct()"
}, },
{ {
@@ -22712,7 +22712,7 @@
"source_location": "L40", "source_location": "L40",
"_origin": "ast", "_origin": "ast",
"id": "src_config_repository_siteconfigrepository_php_managerregistry", "id": "src_config_repository_siteconfigrepository_php_managerregistry",
"community": 53, "community": 607,
"norm_label": "managerregistry" "norm_label": "managerregistry"
}, },
{ {
@@ -22722,7 +22722,7 @@
"source_location": "L45", "source_location": "L45",
"_origin": "ast", "_origin": "ast",
"id": "repository_siteconfigrepository_siteconfigrepository_get", "id": "repository_siteconfigrepository_siteconfigrepository_get",
"community": 53, "community": 607,
"norm_label": ".get()" "norm_label": ".get()"
}, },
{ {
@@ -22732,7 +22732,7 @@
"source_location": "L54", "source_location": "L54",
"_origin": "ast", "_origin": "ast",
"id": "repository_siteconfigrepository_siteconfigrepository_getall", "id": "repository_siteconfigrepository_siteconfigrepository_getall",
"community": 53, "community": 607,
"norm_label": ".getall()" "norm_label": ".getall()"
}, },
{ {
@@ -22742,7 +22742,7 @@
"source_location": "L70", "source_location": "L70",
"_origin": "ast", "_origin": "ast",
"id": "repository_siteconfigrepository_siteconfigrepository_set", "id": "repository_siteconfigrepository_siteconfigrepository_set",
"community": 53, "community": 607,
"norm_label": ".set()" "norm_label": ".set()"
}, },
{ {
@@ -33022,7 +33022,7 @@
"source_location": "L1", "source_location": "L1",
"_origin": "ast", "_origin": "ast",
"id": "repository_wallettransactionrepository", "id": "repository_wallettransactionrepository",
"community": 607, "community": 522,
"norm_label": "wallettransactionrepository.php" "norm_label": "wallettransactionrepository.php"
}, },
{ {
@@ -33032,7 +33032,7 @@
"source_location": "L10", "source_location": "L10",
"_origin": "ast", "_origin": "ast",
"id": "repository_wallettransactionrepository_wallettransactionrepository", "id": "repository_wallettransactionrepository_wallettransactionrepository",
"community": 607, "community": 522,
"norm_label": "wallettransactionrepository" "norm_label": "wallettransactionrepository"
}, },
{ {
@@ -33042,7 +33042,7 @@
"source_location": "L12", "source_location": "L12",
"_origin": "ast", "_origin": "ast",
"id": "repository_wallettransactionrepository_wallettransactionrepository_construct", "id": "repository_wallettransactionrepository_wallettransactionrepository_construct",
"community": 607, "community": 522,
"norm_label": ".__construct()" "norm_label": ".__construct()"
}, },
{ {
@@ -33052,7 +33052,7 @@
"source_location": "L12", "source_location": "L12",
"_origin": "ast", "_origin": "ast",
"id": "src_settlement_repository_wallettransactionrepository_php_managerregistry", "id": "src_settlement_repository_wallettransactionrepository_php_managerregistry",
"community": 607, "community": 522,
"norm_label": "managerregistry" "norm_label": "managerregistry"
}, },
{ {
@@ -33062,7 +33062,7 @@
"source_location": "L18", "source_location": "L18",
"_origin": "ast", "_origin": "ast",
"id": "repository_wallettransactionrepository_wallettransactionrepository_findbyuser", "id": "repository_wallettransactionrepository_wallettransactionrepository_findbyuser",
"community": 607, "community": 522,
"norm_label": ".findbyuser()" "norm_label": ".findbyuser()"
}, },
{ {
@@ -33072,7 +33072,7 @@
"source_location": "L18", "source_location": "L18",
"_origin": "ast", "_origin": "ast",
"id": "src_settlement_repository_wallettransactionrepository_php_user", "id": "src_settlement_repository_wallettransactionrepository_php_user",
"community": 607, "community": 522,
"norm_label": "user" "norm_label": "user"
}, },
{ {
@@ -33082,7 +33082,7 @@
"source_location": "L23", "source_location": "L23",
"_origin": "ast", "_origin": "ast",
"id": "repository_wallettransactionrepository_wallettransactionrepository_countbyuser", "id": "repository_wallettransactionrepository_wallettransactionrepository_countbyuser",
"community": 607, "community": 522,
"norm_label": ".countbyuser()" "norm_label": ".countbyuser()"
}, },
{ {
@@ -33092,7 +33092,7 @@
"source_location": "L28", "source_location": "L28",
"_origin": "ast", "_origin": "ast",
"id": "repository_wallettransactionrepository_wallettransactionrepository_save", "id": "repository_wallettransactionrepository_wallettransactionrepository_save",
"community": 607, "community": 522,
"norm_label": ".save()" "norm_label": ".save()"
}, },
{ {
@@ -33102,7 +33102,7 @@
"source_location": "L28", "source_location": "L28",
"_origin": "ast", "_origin": "ast",
"id": "wallettransaction", "id": "wallettransaction",
"community": 607, "community": 522,
"norm_label": "wallettransaction" "norm_label": "wallettransaction"
}, },
{ {
@@ -33599,7 +33599,7 @@
"label": ".getSubscribedEvents()", "label": ".getSubscribedEvents()",
"file_type": "code", "file_type": "code",
"source_file": "src/Shared/EventSubscriber/ExceptionSubscriber.php", "source_file": "src/Shared/EventSubscriber/ExceptionSubscriber.php",
"source_location": "L123", "source_location": "L131",
"_origin": "ast", "_origin": "ast",
"id": "eventsubscriber_exceptionsubscriber_exceptionsubscriber_getsubscribedevents", "id": "eventsubscriber_exceptionsubscriber_exceptionsubscriber_getsubscribedevents",
"community": 204, "community": 204,
@@ -35632,7 +35632,7 @@
"source_location": "L1", "source_location": "L1",
"_origin": "ast", "_origin": "ast",
"id": "repository_smssettingsrepository", "id": "repository_smssettingsrepository",
"community": 625, "community": 53,
"norm_label": "smssettingsrepository.php" "norm_label": "smssettingsrepository.php"
}, },
{ {
@@ -35642,7 +35642,7 @@
"source_location": "L9", "source_location": "L9",
"_origin": "ast", "_origin": "ast",
"id": "repository_smssettingsrepository_smssettingsrepository", "id": "repository_smssettingsrepository_smssettingsrepository",
"community": 625, "community": 53,
"norm_label": "smssettingsrepository" "norm_label": "smssettingsrepository"
}, },
{ {
@@ -35652,7 +35652,7 @@
"source_location": "L11", "source_location": "L11",
"_origin": "ast", "_origin": "ast",
"id": "repository_smssettingsrepository_smssettingsrepository_construct", "id": "repository_smssettingsrepository_smssettingsrepository_construct",
"community": 625, "community": 53,
"norm_label": ".__construct()" "norm_label": ".__construct()"
}, },
{ {
@@ -35662,7 +35662,7 @@
"source_location": "L11", "source_location": "L11",
"_origin": "ast", "_origin": "ast",
"id": "src_sms_repository_smssettingsrepository_php_managerregistry", "id": "src_sms_repository_smssettingsrepository_php_managerregistry",
"community": 625, "community": 53,
"norm_label": "managerregistry" "norm_label": "managerregistry"
}, },
{ {
@@ -35672,7 +35672,7 @@
"source_location": "L16", "source_location": "L16",
"_origin": "ast", "_origin": "ast",
"id": "repository_smssettingsrepository_smssettingsrepository_findbyentity", "id": "repository_smssettingsrepository_smssettingsrepository_findbyentity",
"community": 625, "community": 53,
"norm_label": ".findbyentity()" "norm_label": ".findbyentity()"
}, },
{ {
@@ -35682,7 +35682,7 @@
"source_location": "L16", "source_location": "L16",
"_origin": "ast", "_origin": "ast",
"id": "smssettings", "id": "smssettings",
"community": 625, "community": 53,
"norm_label": "smssettings" "norm_label": "smssettings"
}, },
{ {
@@ -35692,7 +35692,7 @@
"source_location": "L21", "source_location": "L21",
"_origin": "ast", "_origin": "ast",
"id": "repository_smssettingsrepository_smssettingsrepository_save", "id": "repository_smssettingsrepository_smssettingsrepository_save",
"community": 625, "community": 53,
"norm_label": ".save()" "norm_label": ".save()"
}, },
{ {
@@ -41092,7 +41092,7 @@
"source_location": "L1", "source_location": "L1",
"_origin": "ast", "_origin": "ast",
"id": "settlement_wallettransactionspaginationtest", "id": "settlement_wallettransactionspaginationtest",
"community": 607, "community": 86,
"norm_label": "wallettransactionspaginationtest.php" "norm_label": "wallettransactionspaginationtest.php"
}, },
{ {
@@ -41102,7 +41102,7 @@
"source_location": "L12", "source_location": "L12",
"_origin": "ast", "_origin": "ast",
"id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest", "id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest",
"community": 607, "community": 86,
"norm_label": "wallettransactionspaginationtest" "norm_label": "wallettransactionspaginationtest"
}, },
{ {
@@ -41112,7 +41112,7 @@
"source_location": "L14", "source_location": "L14",
"_origin": "ast", "_origin": "ast",
"id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest_testpaginatesandreportstotals", "id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest_testpaginatesandreportstotals",
"community": 607, "community": 86,
"norm_label": ".testpaginatesandreportstotals()" "norm_label": ".testpaginatesandreportstotals()"
}, },
{ {
@@ -58372,7 +58372,7 @@
"source_location": "L2643", "source_location": "L2643",
"_origin": "ast", "_origin": "ast",
"id": "docs_clinicpro_manual_v2_29_get_clinic_list", "id": "docs_clinicpro_manual_v2_29_get_clinic_list",
"community": 667, "community": 304,
"norm_label": "29. \ud83d\udfe2 `get` clinic list \ud83c\udd95" "norm_label": "29. \ud83d\udfe2 `get` clinic list \ud83c\udd95"
}, },
{ {
@@ -58382,7 +58382,7 @@
"source_location": "L2653", "source_location": "L2653",
"_origin": "ast", "_origin": "ast",
"id": "docs_clinicpro_manual_v2_\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc_query_2653", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc_query_2653",
"community": 667, "community": 304,
"norm_label": "\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc query" "norm_label": "\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc query"
}, },
{ {
@@ -58392,7 +58392,7 @@
"source_location": "L2664", "source_location": "L2664",
"_origin": "ast", "_origin": "ast",
"id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_2664", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_2664",
"community": 667, "community": 304,
"norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627"
}, },
{ {
@@ -58522,7 +58522,7 @@
"source_location": "L3153", "source_location": "L3153",
"_origin": "ast", "_origin": "ast",
"id": "docs_clinicpro_manual_v2_33_post_image_clinic", "id": "docs_clinicpro_manual_v2_33_post_image_clinic",
"community": 304, "community": 662,
"norm_label": "33. \ud83d\udd35 `post` image_clinic" "norm_label": "33. \ud83d\udd35 `post` image_clinic"
}, },
{ {
@@ -58532,7 +58532,7 @@
"source_location": "L3161", "source_location": "L3161",
"_origin": "ast", "_origin": "ast",
"id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3161", "id": "docs_clinicpro_manual_v2_\u0647\u062f\u0631\u0647\u0627\u06cc_\u0627\u0636\u0627\u0641\u06cc_3161",
"community": 304, "community": 662,
"norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc" "norm_label": "\u0647\u062f\u0631\u0647\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc"
}, },
{ {
@@ -58542,7 +58542,7 @@
"source_location": "L3169", "source_location": "L3169",
"_origin": "ast", "_origin": "ast",
"id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3169", "id": "docs_clinicpro_manual_v2_\u067e\u0627\u0633\u062e_\u0647\u0627_3169",
"community": 304, "community": 662,
"norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627" "norm_label": "\u067e\u0627\u0633\u062e\u200c\u0647\u0627"
}, },
{ {
@@ -63212,7 +63212,7 @@
"source_location": "L585", "source_location": "L585",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_payment_management", "id": "api_admin_payment_management",
"community": 201, "community": 649,
"norm_label": "payment management" "norm_label": "payment management"
}, },
{ {
@@ -63222,7 +63222,7 @@
"source_location": "L587", "source_location": "L587",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_get_api_v1_admin_payments", "id": "api_admin_get_api_v1_admin_payments",
"community": 201, "community": 649,
"norm_label": "get `/api/v1/admin/payments`" "norm_label": "get `/api/v1/admin/payments`"
}, },
{ {
@@ -63232,7 +63232,7 @@
"source_location": "L593", "source_location": "L593",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_query_parameters_593", "id": "api_admin_query_parameters_593",
"community": 201, "community": 649,
"norm_label": "query parameters" "norm_label": "query parameters"
}, },
{ {
@@ -63242,7 +63242,7 @@
"source_location": "L600", "source_location": "L600",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_response_200_600", "id": "api_admin_response_200_600",
"community": 201, "community": 649,
"norm_label": "response `200`" "norm_label": "response `200`"
}, },
{ {
@@ -63252,7 +63252,7 @@
"source_location": "L620", "source_location": "L620",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_settlement_management", "id": "api_admin_settlement_management",
"community": 662, "community": 201,
"norm_label": "settlement management" "norm_label": "settlement management"
}, },
{ {
@@ -63262,7 +63262,7 @@
"source_location": "L622", "source_location": "L622",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_get_api_v1_admin_settlements", "id": "api_admin_get_api_v1_admin_settlements",
"community": 662, "community": 201,
"norm_label": "get `/api/v1/admin/settlements`" "norm_label": "get `/api/v1/admin/settlements`"
}, },
{ {
@@ -63272,7 +63272,7 @@
"source_location": "L628", "source_location": "L628",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_query_parameters_628", "id": "api_admin_query_parameters_628",
"community": 662, "community": 201,
"norm_label": "query parameters" "norm_label": "query parameters"
}, },
{ {
@@ -63282,7 +63282,7 @@
"source_location": "L635", "source_location": "L635",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_response_200_635", "id": "api_admin_response_200_635",
"community": 662, "community": 201,
"norm_label": "response `200`" "norm_label": "response `200`"
}, },
{ {
@@ -63332,7 +63332,7 @@
"source_location": "L696", "source_location": "L696",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_secretary_management", "id": "api_admin_secretary_management",
"community": 652, "community": 201,
"norm_label": "secretary management" "norm_label": "secretary management"
}, },
{ {
@@ -63342,7 +63342,7 @@
"source_location": "L698", "source_location": "L698",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_get_api_v1_admin_secretaries", "id": "api_admin_get_api_v1_admin_secretaries",
"community": 652, "community": 201,
"norm_label": "get `/api/v1/admin/secretaries`" "norm_label": "get `/api/v1/admin/secretaries`"
}, },
{ {
@@ -63352,7 +63352,7 @@
"source_location": "L704", "source_location": "L704",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_query_parameters_704", "id": "api_admin_query_parameters_704",
"community": 652, "community": 201,
"norm_label": "query parameters" "norm_label": "query parameters"
}, },
{ {
@@ -63362,7 +63362,7 @@
"source_location": "L711", "source_location": "L711",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_response_200_711", "id": "api_admin_response_200_711",
"community": 652, "community": 201,
"norm_label": "response `200`" "norm_label": "response `200`"
}, },
{ {
@@ -63522,7 +63522,7 @@
"source_location": "L904", "source_location": "L904",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_pre_registration_management", "id": "api_admin_pre_registration_management",
"community": 201, "community": 652,
"norm_label": "pre-registration management" "norm_label": "pre-registration management"
}, },
{ {
@@ -63532,7 +63532,7 @@
"source_location": "L906", "source_location": "L906",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_get_api_v1_admin_pre_registrations", "id": "api_admin_get_api_v1_admin_pre_registrations",
"community": 201, "community": 652,
"norm_label": "get `/api/v1/admin/pre-registrations`" "norm_label": "get `/api/v1/admin/pre-registrations`"
}, },
{ {
@@ -63542,7 +63542,7 @@
"source_location": "L940", "source_location": "L940",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_post_api_v1_admin_pre_registrations_uuid_approve", "id": "api_admin_post_api_v1_admin_pre_registrations_uuid_approve",
"community": 201, "community": 652,
"norm_label": "post `/api/v1/admin/pre-registrations/{uuid}/approve`" "norm_label": "post `/api/v1/admin/pre-registrations/{uuid}/approve`"
}, },
{ {
@@ -63552,7 +63552,7 @@
"source_location": "L958", "source_location": "L958",
"_origin": "ast", "_origin": "ast",
"id": "api_admin_post_api_v1_admin_pre_registrations_uuid_reject", "id": "api_admin_post_api_v1_admin_pre_registrations_uuid_reject",
"community": 201, "community": 652,
"norm_label": "post `/api/v1/admin/pre-registrations/{uuid}/reject`" "norm_label": "post `/api/v1/admin/pre-registrations/{uuid}/reject`"
}, },
{ {
@@ -133372,9 +133372,9 @@
"source_file": "src/Kernel.php", "source_file": "src/Kernel.php",
"source_location": "L16", "source_location": "L16",
"weight": 1.0, "weight": 1.0,
"confidence_score": 1.0,
"source": "src_kernel_kernel", "source": "src_kernel_kernel",
"target": "src_kernel_kernel_writablebase", "target": "src_kernel_kernel_writablebase"
"confidence_score": 1.0
}, },
{ {
"relation": "calls", "relation": "calls",
@@ -133383,9 +133383,9 @@
"source_file": "src/Kernel.php", "source_file": "src/Kernel.php",
"source_location": "L23", "source_location": "L23",
"weight": 1.0, "weight": 1.0,
"confidence_score": 1.0,
"source": "src_kernel_kernel_getcachedir", "source": "src_kernel_kernel_getcachedir",
"target": "src_kernel_kernel_writablebase", "target": "src_kernel_kernel_writablebase"
"confidence_score": 1.0
}, },
{ {
"relation": "calls", "relation": "calls",
@@ -133394,9 +133394,9 @@
"source_file": "src/Kernel.php", "source_file": "src/Kernel.php",
"source_location": "L28", "source_location": "L28",
"weight": 1.0, "weight": 1.0,
"confidence_score": 1.0,
"source": "src_kernel_kernel_getlogdir", "source": "src_kernel_kernel_getlogdir",
"target": "src_kernel_kernel_writablebase", "target": "src_kernel_kernel_writablebase"
"confidence_score": 1.0
}, },
{ {
"relation": "imports", "relation": "imports",
@@ -199358,5 +199358,5 @@
} }
], ],
"hyperedges": [], "hyperedges": [],
"built_at_commit": "c71d674d225e8ae32e8813b9f518986f8ce3a576" "built_at_commit": "97958ecc7d8793c324d112089f763d6f9702f2b9"
} }
+6 -6
View File
@@ -1560,8 +1560,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"src/Shared/EventSubscriber/ExceptionSubscriber.php": { "src/Shared/EventSubscriber/ExceptionSubscriber.php": {
"mtime": 1781115497.21734, "mtime": 1782747822.711537,
"ast_hash": "189094aed1f9c7a3d3f7b16dde6e6ea8", "ast_hash": "5f93fc4b1ded2b43397437c68599aa0a",
"semantic_hash": "" "semantic_hash": ""
}, },
"src/Shared/EventSubscriber/SecurityHeadersSubscriber.php": { "src/Shared/EventSubscriber/SecurityHeadersSubscriber.php": {
@@ -3335,8 +3335,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"liara.json": { "liara.json": {
"mtime": 1782743130.087785, "mtime": 1782743447.3951278,
"ast_hash": "46b9255bc002a7d9606afe36c7fbd95b", "ast_hash": "e559256c2690ba25cc7c5ba88db15e40",
"semantic_hash": "" "semantic_hash": ""
}, },
"liara_pre_build.sh": { "liara_pre_build.sh": {
@@ -3345,8 +3345,8 @@
"semantic_hash": "" "semantic_hash": ""
}, },
"liara_pre_start.sh": { "liara_pre_start.sh": {
"mtime": 1782735576.5106137, "mtime": 1782747838.5426629,
"ast_hash": "549d60504da99414eaa75b1e1b7589ec", "ast_hash": "b0c36b61d41c9896352f7d9167b1dd71",
"semantic_hash": "" "semantic_hash": ""
}, },
".claude/prompt/admin-spa-test-suite.md": { ".claude/prompt/admin-spa-test-suite.md": {
+5 -2
View File
@@ -21,5 +21,8 @@ php bin/console lexik:jwt:generate-keypair --skip-if-exists --no-interaction
php bin/console cache:clear --no-warmup php bin/console cache:clear --no-warmup
php bin/console cache:warmup php bin/console cache:warmup
# Apply pending migrations inside a transaction. # Apply pending migrations. NOT --all-or-nothing: MariaDB auto-commits on DDL
php bin/console doctrine:migrations:migrate --all-or-nothing --no-interaction # (CREATE/ALTER TABLE), which discards the outer transaction's savepoints and
# triggers "SAVEPOINT DOCTRINE_x does not exist" (errno 1305). Transactional DDL
# only works on engines like PostgreSQL.
php bin/console doctrine:migrations:migrate --no-interaction
@@ -108,10 +108,18 @@ class ExceptionSubscriber implements EventSubscriberInterface
return; return;
} }
// Generic fallback: never leak stack traces or internal details in API responses // Generic fallback: never leak stack traces or internal details in API responses.
$this->logger->error('Unhandled exception', [ // The class/message/location go into the log MESSAGE itself so they surface in
// platforms (e.g. Liara) whose default logger only prints the message string.
$this->logger->error(sprintf(
'Unhandled exception: %s: %s @ %s:%d [path=%s]',
$exception::class,
$exception->getMessage(),
$exception->getFile(),
$exception->getLine(),
$event->getRequest()->getPathInfo(),
), [
'exception' => $exception, 'exception' => $exception,
'path' => $event->getRequest()->getPathInfo(),
]); ]);
$event->setResponse(new JsonResponse( $event->setResponse(new JsonResponse(