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:
@@ -666,7 +666,6 @@
|
||||
"664": "Community 664",
|
||||
"665": "Community 665",
|
||||
"666": "Community 666",
|
||||
"667": "Community 667",
|
||||
"668": "Community 668",
|
||||
"669": "Community 669",
|
||||
"670": "Community 670",
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
# Graph Report - clinicpro (2026-06-29)
|
||||
|
||||
## Corpus Check
|
||||
- 646 files · ~446,822 words
|
||||
- 646 files · ~446,886 words
|
||||
- Verdict: corpus is large enough that graph structure adds value.
|
||||
|
||||
## 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)
|
||||
- Token cost: 0 input · 0 output
|
||||
|
||||
## 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 `graphify update .` after code changes (no API cost).
|
||||
|
||||
@@ -668,7 +668,6 @@
|
||||
- [[_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]]
|
||||
- [[_COMMUNITY_Community 671|Community 671]]
|
||||
@@ -700,7 +699,7 @@
|
||||
## Import Cycles
|
||||
- None detected.
|
||||
|
||||
## Communities (672 total, 121 thin omitted)
|
||||
## Communities (671 total, 122 thin omitted)
|
||||
|
||||
### Community 0 - "Community 0"
|
||||
Cohesion: 0.05
|
||||
@@ -915,8 +914,8 @@ Cohesion: 0.07
|
||||
Nodes (26): الزامات UI, باگفیکس صفحه نوبتها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان میدهد موبایل پزشک, باگ ۶ — نوبتهای رزرو شده در نمایش زمانبندی (+18 more)
|
||||
|
||||
### Community 53 - "Community 53"
|
||||
Cohesion: 0.09
|
||||
Nodes (13): ClaimItemRepository, ClinicStaffRepository, PreRegistrationRepository, SessionServiceRepository, SiteConfigRepository, ServiceEntityRepository, ManagerRegistry, ManagerRegistry (+5 more)
|
||||
Cohesion: 0.10
|
||||
Nodes (14): ClaimItemRepository, ClinicStaffRepository, PreRegistrationRepository, SessionServiceRepository, SmsSettingsRepository, ServiceEntityRepository, SmsSettings, ManagerRegistry (+6 more)
|
||||
|
||||
### Community 54 - "Community 54"
|
||||
Cohesion: 0.10
|
||||
@@ -1036,7 +1035,7 @@ Nodes (29): devDependencies, @babel/core, @babel/preset-env, @babel/preset-react
|
||||
|
||||
### Community 86 - "Community 86"
|
||||
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"
|
||||
Cohesion: 0.10
|
||||
@@ -1476,7 +1475,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/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"
|
||||
Cohesion: 0.15
|
||||
@@ -1856,7 +1855,7 @@ Nodes (16): آمادهسازی پروژه ClinicPro برای دیپلوی ر
|
||||
|
||||
### Community 304 - "Community 304"
|
||||
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"
|
||||
Cohesion: 0.07
|
||||
@@ -2202,14 +2201,14 @@ Nodes (6): ClaimAmountBoundsTest, ClaimsListNPlusOneTest, ClaimItem, Claim, Doct
|
||||
Cohesion: 0.33
|
||||
Nodes (4): initiate(), verify(), PaymentInitResult, PaymentVerifyResult
|
||||
|
||||
### Community 399 - "Community 399"
|
||||
Cohesion: 0.23
|
||||
Nodes (5): AbstractMigration, Schema, Version20260609130407, Schema, Version20260609132009
|
||||
|
||||
### Community 401 - "Community 401"
|
||||
Cohesion: 0.38
|
||||
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"
|
||||
Cohesion: 0.17
|
||||
Nodes (11): دیپلوی ClinicPro روی Coolify (Docker Compose), رفع اشکال, مراحل دیپلوی, معماری دیپلوی, نکات عملیاتی, چند دامنه فرانتاند (مهم), ۱. ساخت Resource در Coolify, ۲. اختصاص دامنه (+3 more)
|
||||
@@ -2447,8 +2446,8 @@ Cohesion: 0.40
|
||||
Nodes (4): ساختار فایلها, معماری — تسک ۱۶: ماژول داشبورد دکتر, نمودار جریان, کوئری درآمد سالانه (بر اساس ماههای شمسی)
|
||||
|
||||
### Community 522 - "Community 522"
|
||||
Cohesion: 0.47
|
||||
Nodes (3): CommissionService, Payment, Representation
|
||||
Cohesion: 0.20
|
||||
Nodes (7): WalletTransactionRepository, CommissionService, ManagerRegistry, User, Payment, Representation, WalletTransaction
|
||||
|
||||
### Community 523 - "Community 523"
|
||||
Cohesion: 0.43
|
||||
@@ -2710,10 +2709,6 @@ Nodes (3): نقاط ضعف, نقاط قوت, ۶. تحلیل API Design
|
||||
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.24
|
||||
Nodes (5): WalletTransactionRepository, WalletTransactionsPaginationTest, ManagerRegistry, User, WalletTransaction
|
||||
|
||||
### Community 608 - "Community 608"
|
||||
Cohesion: 0.40
|
||||
Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخها
|
||||
@@ -2726,10 +2721,6 @@ Nodes (3): بکاند, فرانتاند, وضعیت فعلی کد (مهم
|
||||
Cohesion: 0.25
|
||||
Nodes (4): SmsMessageTemplateRepository, SmsTextResolver, SmsMessageTemplate, ManagerRegistry
|
||||
|
||||
### Community 625 - "Community 625"
|
||||
Cohesion: 0.48
|
||||
Nodes (3): SmsSettingsRepository, SmsSettings, ManagerRegistry
|
||||
|
||||
### Community 631 - "Community 631"
|
||||
Cohesion: 0.50
|
||||
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
|
||||
@@ -2778,6 +2769,10 @@ Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
|
||||
Cohesion: 0.40
|
||||
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"
|
||||
Cohesion: 0.40
|
||||
Nodes (3): Props, StatTone, TONE
|
||||
@@ -2788,7 +2783,7 @@ Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
|
||||
|
||||
### Community 652 - "Community 652"
|
||||
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"
|
||||
Cohesion: 0.50
|
||||
@@ -2827,8 +2822,8 @@ Cohesion: 0.50
|
||||
Nodes (4): ۲.۱۳ نظرات، لایک و امتیازدهی, ۲.۱۳.۱ نظر (Comment), ۲.۱۳.۲ لایک (Like), ۲.۱۳.۳ امتیاز (Rate)
|
||||
|
||||
### Community 662 - "Community 662"
|
||||
Cohesion: 0.50
|
||||
Nodes (4): GET `/api/v1/admin/settlements`, Query Parameters, Response `200`, Settlement Management
|
||||
Cohesion: 0.67
|
||||
Nodes (3): 33. 🔵 `POST` image_clinic, هدرهای اضافی, پاسخها
|
||||
|
||||
### Community 664 - "Community 664"
|
||||
Cohesion: 0.67
|
||||
@@ -2838,10 +2833,6 @@ 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, پاسخها
|
||||
|
||||
### Community 671 - "Community 671"
|
||||
Cohesion: 0.67
|
||||
Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخها
|
||||
@@ -2849,7 +2840,7 @@ Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخها
|
||||
## Knowledge Gaps
|
||||
- **3533 isolated node(s):** `ALLOWED_ROLES`, `Pricing`, `TenantInsurance`, `CoverageRow`, `Draft` (+3528 more)
|
||||
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
|
||||
_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._
|
||||
- **Why does `AppointmentRepository` connect `Community 119` to `Community 53`?**
|
||||
_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._
|
||||
- **What connects `ALLOWED_ROLES`, `Pricing`, `TenantInsurance` to the rest of the system?**
|
||||
_3533 weakly-connected nodes found - possible documentation gaps or missing edges._
|
||||
|
||||
graphify-out/cache/ast/v0.8.44/337416608afe2e6e989bfd903bb5bca1e977e6f8eb5cc02ca05a46bbda53edc4.json
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"nodes": [], "edges": [], "skipped": "data json (not a config/manifest)"}
|
||||
graphify-out/cache/ast/v0.8.44/c5d143014bb281d056f6c286cf66faa4894b059584cceeacd150b01648cbde52.json
Vendored
+1
@@ -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}]}
|
||||
graphify-out/cache/ast/v0.8.44/cc3e848cbd0237379c1c26afed58de7230b93b095d87ca672ffc16e88a7bac40.json
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+69
-69
@@ -8142,7 +8142,7 @@
|
||||
"source_location": "",
|
||||
"_origin": "ast",
|
||||
"id": "abstractmigration",
|
||||
"community": 399,
|
||||
"community": 406,
|
||||
"norm_label": "abstractmigration"
|
||||
},
|
||||
{
|
||||
@@ -8322,7 +8322,7 @@
|
||||
"source_location": "L1",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260609132009",
|
||||
"community": 399,
|
||||
"community": 625,
|
||||
"norm_label": "version20260609132009.php"
|
||||
},
|
||||
{
|
||||
@@ -8332,7 +8332,7 @@
|
||||
"source_location": "L13",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260609132009_version20260609132009",
|
||||
"community": 399,
|
||||
"community": 625,
|
||||
"norm_label": "version20260609132009"
|
||||
},
|
||||
{
|
||||
@@ -8342,7 +8342,7 @@
|
||||
"source_location": "L15",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260609132009_version20260609132009_getdescription",
|
||||
"community": 399,
|
||||
"community": 625,
|
||||
"norm_label": ".getdescription()"
|
||||
},
|
||||
{
|
||||
@@ -8352,7 +8352,7 @@
|
||||
"source_location": "L20",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260609132009_version20260609132009_up",
|
||||
"community": 399,
|
||||
"community": 625,
|
||||
"norm_label": ".up()"
|
||||
},
|
||||
{
|
||||
@@ -8362,7 +8362,7 @@
|
||||
"source_location": "L20",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260609132009_php_schema",
|
||||
"community": 399,
|
||||
"community": 625,
|
||||
"norm_label": "schema"
|
||||
},
|
||||
{
|
||||
@@ -8372,7 +8372,7 @@
|
||||
"source_location": "L27",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260609132009_version20260609132009_down",
|
||||
"community": 399,
|
||||
"community": 625,
|
||||
"norm_label": ".down()"
|
||||
},
|
||||
{
|
||||
@@ -11742,7 +11742,7 @@
|
||||
"source_location": "L1",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260625135132",
|
||||
"community": 649,
|
||||
"community": 406,
|
||||
"norm_label": "version20260625135132.php"
|
||||
},
|
||||
{
|
||||
@@ -11752,7 +11752,7 @@
|
||||
"source_location": "L13",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260625135132_version20260625135132",
|
||||
"community": 649,
|
||||
"community": 406,
|
||||
"norm_label": "version20260625135132"
|
||||
},
|
||||
{
|
||||
@@ -11762,7 +11762,7 @@
|
||||
"source_location": "L15",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260625135132_version20260625135132_getdescription",
|
||||
"community": 649,
|
||||
"community": 406,
|
||||
"norm_label": ".getdescription()"
|
||||
},
|
||||
{
|
||||
@@ -11772,7 +11772,7 @@
|
||||
"source_location": "L20",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260625135132_version20260625135132_up",
|
||||
"community": 649,
|
||||
"community": 406,
|
||||
"norm_label": ".up()"
|
||||
},
|
||||
{
|
||||
@@ -11782,7 +11782,7 @@
|
||||
"source_location": "L20",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260625135132_php_schema",
|
||||
"community": 649,
|
||||
"community": 406,
|
||||
"norm_label": "schema"
|
||||
},
|
||||
{
|
||||
@@ -11792,7 +11792,7 @@
|
||||
"source_location": "L26",
|
||||
"_origin": "ast",
|
||||
"id": "migrations_version20260625135132_version20260625135132_down",
|
||||
"community": 649,
|
||||
"community": 406,
|
||||
"norm_label": ".down()"
|
||||
},
|
||||
{
|
||||
@@ -22682,7 +22682,7 @@
|
||||
"source_location": "L1",
|
||||
"_origin": "ast",
|
||||
"id": "repository_siteconfigrepository",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": "siteconfigrepository.php"
|
||||
},
|
||||
{
|
||||
@@ -22692,7 +22692,7 @@
|
||||
"source_location": "L9",
|
||||
"_origin": "ast",
|
||||
"id": "repository_siteconfigrepository_siteconfigrepository",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": "siteconfigrepository"
|
||||
},
|
||||
{
|
||||
@@ -22702,7 +22702,7 @@
|
||||
"source_location": "L40",
|
||||
"_origin": "ast",
|
||||
"id": "repository_siteconfigrepository_siteconfigrepository_construct",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": ".__construct()"
|
||||
},
|
||||
{
|
||||
@@ -22712,7 +22712,7 @@
|
||||
"source_location": "L40",
|
||||
"_origin": "ast",
|
||||
"id": "src_config_repository_siteconfigrepository_php_managerregistry",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": "managerregistry"
|
||||
},
|
||||
{
|
||||
@@ -22722,7 +22722,7 @@
|
||||
"source_location": "L45",
|
||||
"_origin": "ast",
|
||||
"id": "repository_siteconfigrepository_siteconfigrepository_get",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": ".get()"
|
||||
},
|
||||
{
|
||||
@@ -22732,7 +22732,7 @@
|
||||
"source_location": "L54",
|
||||
"_origin": "ast",
|
||||
"id": "repository_siteconfigrepository_siteconfigrepository_getall",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": ".getall()"
|
||||
},
|
||||
{
|
||||
@@ -22742,7 +22742,7 @@
|
||||
"source_location": "L70",
|
||||
"_origin": "ast",
|
||||
"id": "repository_siteconfigrepository_siteconfigrepository_set",
|
||||
"community": 53,
|
||||
"community": 607,
|
||||
"norm_label": ".set()"
|
||||
},
|
||||
{
|
||||
@@ -33022,7 +33022,7 @@
|
||||
"source_location": "L1",
|
||||
"_origin": "ast",
|
||||
"id": "repository_wallettransactionrepository",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": "wallettransactionrepository.php"
|
||||
},
|
||||
{
|
||||
@@ -33032,7 +33032,7 @@
|
||||
"source_location": "L10",
|
||||
"_origin": "ast",
|
||||
"id": "repository_wallettransactionrepository_wallettransactionrepository",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": "wallettransactionrepository"
|
||||
},
|
||||
{
|
||||
@@ -33042,7 +33042,7 @@
|
||||
"source_location": "L12",
|
||||
"_origin": "ast",
|
||||
"id": "repository_wallettransactionrepository_wallettransactionrepository_construct",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": ".__construct()"
|
||||
},
|
||||
{
|
||||
@@ -33052,7 +33052,7 @@
|
||||
"source_location": "L12",
|
||||
"_origin": "ast",
|
||||
"id": "src_settlement_repository_wallettransactionrepository_php_managerregistry",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": "managerregistry"
|
||||
},
|
||||
{
|
||||
@@ -33062,7 +33062,7 @@
|
||||
"source_location": "L18",
|
||||
"_origin": "ast",
|
||||
"id": "repository_wallettransactionrepository_wallettransactionrepository_findbyuser",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": ".findbyuser()"
|
||||
},
|
||||
{
|
||||
@@ -33072,7 +33072,7 @@
|
||||
"source_location": "L18",
|
||||
"_origin": "ast",
|
||||
"id": "src_settlement_repository_wallettransactionrepository_php_user",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": "user"
|
||||
},
|
||||
{
|
||||
@@ -33082,7 +33082,7 @@
|
||||
"source_location": "L23",
|
||||
"_origin": "ast",
|
||||
"id": "repository_wallettransactionrepository_wallettransactionrepository_countbyuser",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": ".countbyuser()"
|
||||
},
|
||||
{
|
||||
@@ -33092,7 +33092,7 @@
|
||||
"source_location": "L28",
|
||||
"_origin": "ast",
|
||||
"id": "repository_wallettransactionrepository_wallettransactionrepository_save",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": ".save()"
|
||||
},
|
||||
{
|
||||
@@ -33102,7 +33102,7 @@
|
||||
"source_location": "L28",
|
||||
"_origin": "ast",
|
||||
"id": "wallettransaction",
|
||||
"community": 607,
|
||||
"community": 522,
|
||||
"norm_label": "wallettransaction"
|
||||
},
|
||||
{
|
||||
@@ -33599,7 +33599,7 @@
|
||||
"label": ".getSubscribedEvents()",
|
||||
"file_type": "code",
|
||||
"source_file": "src/Shared/EventSubscriber/ExceptionSubscriber.php",
|
||||
"source_location": "L123",
|
||||
"source_location": "L131",
|
||||
"_origin": "ast",
|
||||
"id": "eventsubscriber_exceptionsubscriber_exceptionsubscriber_getsubscribedevents",
|
||||
"community": 204,
|
||||
@@ -35632,7 +35632,7 @@
|
||||
"source_location": "L1",
|
||||
"_origin": "ast",
|
||||
"id": "repository_smssettingsrepository",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": "smssettingsrepository.php"
|
||||
},
|
||||
{
|
||||
@@ -35642,7 +35642,7 @@
|
||||
"source_location": "L9",
|
||||
"_origin": "ast",
|
||||
"id": "repository_smssettingsrepository_smssettingsrepository",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": "smssettingsrepository"
|
||||
},
|
||||
{
|
||||
@@ -35652,7 +35652,7 @@
|
||||
"source_location": "L11",
|
||||
"_origin": "ast",
|
||||
"id": "repository_smssettingsrepository_smssettingsrepository_construct",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": ".__construct()"
|
||||
},
|
||||
{
|
||||
@@ -35662,7 +35662,7 @@
|
||||
"source_location": "L11",
|
||||
"_origin": "ast",
|
||||
"id": "src_sms_repository_smssettingsrepository_php_managerregistry",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": "managerregistry"
|
||||
},
|
||||
{
|
||||
@@ -35672,7 +35672,7 @@
|
||||
"source_location": "L16",
|
||||
"_origin": "ast",
|
||||
"id": "repository_smssettingsrepository_smssettingsrepository_findbyentity",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": ".findbyentity()"
|
||||
},
|
||||
{
|
||||
@@ -35682,7 +35682,7 @@
|
||||
"source_location": "L16",
|
||||
"_origin": "ast",
|
||||
"id": "smssettings",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": "smssettings"
|
||||
},
|
||||
{
|
||||
@@ -35692,7 +35692,7 @@
|
||||
"source_location": "L21",
|
||||
"_origin": "ast",
|
||||
"id": "repository_smssettingsrepository_smssettingsrepository_save",
|
||||
"community": 625,
|
||||
"community": 53,
|
||||
"norm_label": ".save()"
|
||||
},
|
||||
{
|
||||
@@ -41092,7 +41092,7 @@
|
||||
"source_location": "L1",
|
||||
"_origin": "ast",
|
||||
"id": "settlement_wallettransactionspaginationtest",
|
||||
"community": 607,
|
||||
"community": 86,
|
||||
"norm_label": "wallettransactionspaginationtest.php"
|
||||
},
|
||||
{
|
||||
@@ -41102,7 +41102,7 @@
|
||||
"source_location": "L12",
|
||||
"_origin": "ast",
|
||||
"id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest",
|
||||
"community": 607,
|
||||
"community": 86,
|
||||
"norm_label": "wallettransactionspaginationtest"
|
||||
},
|
||||
{
|
||||
@@ -41112,7 +41112,7 @@
|
||||
"source_location": "L14",
|
||||
"_origin": "ast",
|
||||
"id": "settlement_wallettransactionspaginationtest_wallettransactionspaginationtest_testpaginatesandreportstotals",
|
||||
"community": 607,
|
||||
"community": 86,
|
||||
"norm_label": ".testpaginatesandreportstotals()"
|
||||
},
|
||||
{
|
||||
@@ -58372,7 +58372,7 @@
|
||||
"source_location": "L2643",
|
||||
"_origin": "ast",
|
||||
"id": "docs_clinicpro_manual_v2_29_get_clinic_list",
|
||||
"community": 667,
|
||||
"community": 304,
|
||||
"norm_label": "29. \ud83d\udfe2 `get` clinic list \ud83c\udd95"
|
||||
},
|
||||
{
|
||||
@@ -58382,7 +58382,7 @@
|
||||
"source_location": "L2653",
|
||||
"_origin": "ast",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
@@ -58392,7 +58392,7 @@
|
||||
"source_location": "L2664",
|
||||
"_origin": "ast",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
@@ -58522,7 +58522,7 @@
|
||||
"source_location": "L3153",
|
||||
"_origin": "ast",
|
||||
"id": "docs_clinicpro_manual_v2_33_post_image_clinic",
|
||||
"community": 304,
|
||||
"community": 662,
|
||||
"norm_label": "33. \ud83d\udd35 `post` image_clinic"
|
||||
},
|
||||
{
|
||||
@@ -58532,7 +58532,7 @@
|
||||
"source_location": "L3161",
|
||||
"_origin": "ast",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
@@ -58542,7 +58542,7 @@
|
||||
"source_location": "L3169",
|
||||
"_origin": "ast",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
@@ -63212,7 +63212,7 @@
|
||||
"source_location": "L585",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_payment_management",
|
||||
"community": 201,
|
||||
"community": 649,
|
||||
"norm_label": "payment management"
|
||||
},
|
||||
{
|
||||
@@ -63222,7 +63222,7 @@
|
||||
"source_location": "L587",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_get_api_v1_admin_payments",
|
||||
"community": 201,
|
||||
"community": 649,
|
||||
"norm_label": "get `/api/v1/admin/payments`"
|
||||
},
|
||||
{
|
||||
@@ -63232,7 +63232,7 @@
|
||||
"source_location": "L593",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_query_parameters_593",
|
||||
"community": 201,
|
||||
"community": 649,
|
||||
"norm_label": "query parameters"
|
||||
},
|
||||
{
|
||||
@@ -63242,7 +63242,7 @@
|
||||
"source_location": "L600",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_response_200_600",
|
||||
"community": 201,
|
||||
"community": 649,
|
||||
"norm_label": "response `200`"
|
||||
},
|
||||
{
|
||||
@@ -63252,7 +63252,7 @@
|
||||
"source_location": "L620",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_settlement_management",
|
||||
"community": 662,
|
||||
"community": 201,
|
||||
"norm_label": "settlement management"
|
||||
},
|
||||
{
|
||||
@@ -63262,7 +63262,7 @@
|
||||
"source_location": "L622",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_get_api_v1_admin_settlements",
|
||||
"community": 662,
|
||||
"community": 201,
|
||||
"norm_label": "get `/api/v1/admin/settlements`"
|
||||
},
|
||||
{
|
||||
@@ -63272,7 +63272,7 @@
|
||||
"source_location": "L628",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_query_parameters_628",
|
||||
"community": 662,
|
||||
"community": 201,
|
||||
"norm_label": "query parameters"
|
||||
},
|
||||
{
|
||||
@@ -63282,7 +63282,7 @@
|
||||
"source_location": "L635",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_response_200_635",
|
||||
"community": 662,
|
||||
"community": 201,
|
||||
"norm_label": "response `200`"
|
||||
},
|
||||
{
|
||||
@@ -63332,7 +63332,7 @@
|
||||
"source_location": "L696",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_secretary_management",
|
||||
"community": 652,
|
||||
"community": 201,
|
||||
"norm_label": "secretary management"
|
||||
},
|
||||
{
|
||||
@@ -63342,7 +63342,7 @@
|
||||
"source_location": "L698",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_get_api_v1_admin_secretaries",
|
||||
"community": 652,
|
||||
"community": 201,
|
||||
"norm_label": "get `/api/v1/admin/secretaries`"
|
||||
},
|
||||
{
|
||||
@@ -63352,7 +63352,7 @@
|
||||
"source_location": "L704",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_query_parameters_704",
|
||||
"community": 652,
|
||||
"community": 201,
|
||||
"norm_label": "query parameters"
|
||||
},
|
||||
{
|
||||
@@ -63362,7 +63362,7 @@
|
||||
"source_location": "L711",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_response_200_711",
|
||||
"community": 652,
|
||||
"community": 201,
|
||||
"norm_label": "response `200`"
|
||||
},
|
||||
{
|
||||
@@ -63522,7 +63522,7 @@
|
||||
"source_location": "L904",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_pre_registration_management",
|
||||
"community": 201,
|
||||
"community": 652,
|
||||
"norm_label": "pre-registration management"
|
||||
},
|
||||
{
|
||||
@@ -63532,7 +63532,7 @@
|
||||
"source_location": "L906",
|
||||
"_origin": "ast",
|
||||
"id": "api_admin_get_api_v1_admin_pre_registrations",
|
||||
"community": 201,
|
||||
"community": 652,
|
||||
"norm_label": "get `/api/v1/admin/pre-registrations`"
|
||||
},
|
||||
{
|
||||
@@ -63542,7 +63542,7 @@
|
||||
"source_location": "L940",
|
||||
"_origin": "ast",
|
||||
"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`"
|
||||
},
|
||||
{
|
||||
@@ -63552,7 +63552,7 @@
|
||||
"source_location": "L958",
|
||||
"_origin": "ast",
|
||||
"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`"
|
||||
},
|
||||
{
|
||||
@@ -133372,9 +133372,9 @@
|
||||
"source_file": "src/Kernel.php",
|
||||
"source_location": "L16",
|
||||
"weight": 1.0,
|
||||
"confidence_score": 1.0,
|
||||
"source": "src_kernel_kernel",
|
||||
"target": "src_kernel_kernel_writablebase",
|
||||
"confidence_score": 1.0
|
||||
"target": "src_kernel_kernel_writablebase"
|
||||
},
|
||||
{
|
||||
"relation": "calls",
|
||||
@@ -133383,9 +133383,9 @@
|
||||
"source_file": "src/Kernel.php",
|
||||
"source_location": "L23",
|
||||
"weight": 1.0,
|
||||
"confidence_score": 1.0,
|
||||
"source": "src_kernel_kernel_getcachedir",
|
||||
"target": "src_kernel_kernel_writablebase",
|
||||
"confidence_score": 1.0
|
||||
"target": "src_kernel_kernel_writablebase"
|
||||
},
|
||||
{
|
||||
"relation": "calls",
|
||||
@@ -133394,9 +133394,9 @@
|
||||
"source_file": "src/Kernel.php",
|
||||
"source_location": "L28",
|
||||
"weight": 1.0,
|
||||
"confidence_score": 1.0,
|
||||
"source": "src_kernel_kernel_getlogdir",
|
||||
"target": "src_kernel_kernel_writablebase",
|
||||
"confidence_score": 1.0
|
||||
"target": "src_kernel_kernel_writablebase"
|
||||
},
|
||||
{
|
||||
"relation": "imports",
|
||||
@@ -199358,5 +199358,5 @@
|
||||
}
|
||||
],
|
||||
"hyperedges": [],
|
||||
"built_at_commit": "c71d674d225e8ae32e8813b9f518986f8ce3a576"
|
||||
"built_at_commit": "97958ecc7d8793c324d112089f763d6f9702f2b9"
|
||||
}
|
||||
@@ -1560,8 +1560,8 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/Shared/EventSubscriber/ExceptionSubscriber.php": {
|
||||
"mtime": 1781115497.21734,
|
||||
"ast_hash": "189094aed1f9c7a3d3f7b16dde6e6ea8",
|
||||
"mtime": 1782747822.711537,
|
||||
"ast_hash": "5f93fc4b1ded2b43397437c68599aa0a",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"src/Shared/EventSubscriber/SecurityHeadersSubscriber.php": {
|
||||
@@ -3335,8 +3335,8 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"liara.json": {
|
||||
"mtime": 1782743130.087785,
|
||||
"ast_hash": "46b9255bc002a7d9606afe36c7fbd95b",
|
||||
"mtime": 1782743447.3951278,
|
||||
"ast_hash": "e559256c2690ba25cc7c5ba88db15e40",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"liara_pre_build.sh": {
|
||||
@@ -3345,8 +3345,8 @@
|
||||
"semantic_hash": ""
|
||||
},
|
||||
"liara_pre_start.sh": {
|
||||
"mtime": 1782735576.5106137,
|
||||
"ast_hash": "549d60504da99414eaa75b1e1b7589ec",
|
||||
"mtime": 1782747838.5426629,
|
||||
"ast_hash": "b0c36b61d41c9896352f7d9167b1dd71",
|
||||
"semantic_hash": ""
|
||||
},
|
||||
".claude/prompt/admin-spa-test-suite.md": {
|
||||
|
||||
+5
-2
@@ -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:warmup
|
||||
|
||||
# Apply pending migrations inside a transaction.
|
||||
php bin/console doctrine:migrations:migrate --all-or-nothing --no-interaction
|
||||
# Apply pending migrations. NOT --all-or-nothing: MariaDB auto-commits on DDL
|
||||
# (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;
|
||||
}
|
||||
|
||||
// Generic fallback: never leak stack traces or internal details in API responses
|
||||
$this->logger->error('Unhandled exception', [
|
||||
// Generic fallback: never leak stack traces or internal details in API responses.
|
||||
// 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,
|
||||
'path' => $event->getRequest()->getPathInfo(),
|
||||
]);
|
||||
|
||||
$event->setResponse(new JsonResponse(
|
||||
|
||||
Reference in New Issue
Block a user