Add AST cache files for representation API and ApiIrService

- Created a new JSON file for the representation API documentation, including nodes and edges that describe the API structure and relationships.
- Added another JSON file for the ApiIrService class, detailing its methods, imports, and relationships with other components.
This commit is contained in:
hamed
2026-06-25 19:42:42 +03:30
parent c2c6ae4d02
commit 60b2224ec3
10 changed files with 20928 additions and 20968 deletions
@@ -52,11 +52,12 @@ export default function RepresentationProfilePage() {
});
const addIbanMut = useMutation({
mutationFn: (v: string) =>
api.post<ApiResponse<RepProfile>>('/api/v1/representation/iban', { iban: v }),
mutationFn: (payload: { iban: string; birth_date: string }) =>
api.post<ApiResponse<RepProfile>>('/api/v1/representation/iban', payload),
onSuccess: () => {
toast.success('شماره شبا تأیید و اضافه شد');
setIban('');
setBirthDate('');
qc.invalidateQueries({ queryKey: ['representation-me'] });
},
onError: (e: Error) => toast.error(e.message),
@@ -80,7 +81,10 @@ export default function RepresentationProfilePage() {
const submitIban = () => {
if (!iban.trim()) { toast.error('شماره شبا را وارد کنید'); return; }
addIbanMut.mutate(iban.trim());
if (!/^\d{4}[\/\-.]\d{1,2}[\/\-.]\d{1,2}$/.test(birthDate.trim())) {
toast.error('تاریخ تولد را به صورت 1370/01/01 وارد کنید'); return;
}
addIbanMut.mutate({ iban: iban.trim(), birth_date: birthDate.trim() });
};
return (
@@ -167,11 +171,16 @@ export default function RepresentationProfilePage() {
onChange={(e) => setIban(e.target.value)}
style={{ width: 320, height: 38, padding: '0 12px', borderRadius: 'var(--r-sm)', border: '1px solid var(--border)', background: 'var(--surface)', color: 'var(--text)', fontSize: 13, boxSizing: 'border-box', fontFamily: 'monospace' }}
/>
<input
type="text" dir="ltr" value={birthDate} placeholder="تاریخ تولد ۱۳۷۰/۰۱/۰۱"
onChange={(e) => setBirthDate(e.target.value)}
style={{ width: 180, height: 38, padding: '0 12px', borderRadius: 'var(--r-sm)', border: '1px solid var(--border)', background: 'var(--surface)', color: 'var(--text)', fontSize: 13, boxSizing: 'border-box', textAlign: 'center' }}
/>
<button className="btn primary" onClick={submitIban} disabled={addIbanMut.isPending} style={{ display: 'inline-flex', alignItems: 'center', gap: 4 }}>
<PlusIcon style={{ width: 16, height: 16 }} />
{addIbanMut.isPending ? 'در حال بررسی...' : 'افزودن شبا'}
</button>
<span className="muted" style={{ fontSize: 12 }}>مالکیت با استعلام بررسی میشود</span>
<span className="muted" style={{ fontSize: 12, width: '100%' }}>تاریخ تولد فقط برای استعلام مالکیت شبا استفاده میشود و ذخیره نمیشود.</span>
</div>
)}
</div>
+3 -2
View File
@@ -301,11 +301,12 @@ Get yearly earnings dashboard for a representation.
#### Request Body
```json
{ "iban": "IR000000000000000000000000" }
{ "iban": "IR000000000000000000000000", "birth_date": "1370/01/01" }
```
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `iban` | string | ✅ | شماره شبا (با/بدون `IR` و فاصله؛ نرمال‌سازی می‌شود) |
| `birth_date` | string | ✅ | تاریخ تولد شمسی `Y/m/d` (نمونه `1370/01/01`). فقط برای استعلام IbanMatch؛ **ذخیره نمی‌شود.** |
#### Response `200`
آبجکت پروفایل نماینده با `bank_account` به‌روزشده.
@@ -315,7 +316,7 @@ Get yearly earnings dashboard for a representation.
|------|------|-------------|
| `ERR_IDENTITY_004` | 409 | کد ملی هنوز تأیید نشده |
| `ERR_IDENTITY_003` | 409 | سقف ۲ شبا پر است |
| `ERR_VALIDATION_001` | 422 | شبا نامعتبر (`field: iban`) |
| `ERR_VALIDATION_001` | 422 | شبا نامعتبر (`field: iban`) یا تاریخ تولد نامعتبر (`field: birth_date`) |
| `ERR_IDENTITY_002` | 422 | شبا متعلق به نماینده نیست (`field: iban`) |
| `ERR_EXTERNAL_001` | 502 | خطا در استعلام |
| `ERR_EXTERNAL_002` | 503 | سرویس استعلام پیکربندی نشده |
-14
View File
@@ -540,7 +540,6 @@
"538": "Community 538",
"539": "Community 539",
"540": "Community 540",
"541": "Community 541",
"542": "Community 542",
"543": "Community 543",
"544": "Community 544",
@@ -571,12 +570,7 @@
"569": "Community 569",
"570": "Community 570",
"571": "Community 571",
"572": "Community 572",
"573": "Community 573",
"574": "Community 574",
"575": "Community 575",
"576": "Community 576",
"577": "Community 577",
"578": "Community 578",
"579": "Community 579",
"580": "Community 580",
@@ -592,10 +586,6 @@
"590": "Community 590",
"591": "Community 591",
"592": "Community 592",
"593": "Community 593",
"594": "Community 594",
"595": "Community 595",
"596": "Community 596",
"597": "Community 597",
"598": "Community 598",
"599": "Community 599",
@@ -605,10 +595,6 @@
"603": "Community 603",
"604": "Community 604",
"605": "Community 605",
"606": "Community 606",
"607": "Community 607",
"608": "Community 608",
"609": "Community 609",
"610": "Community 610",
"611": "Community 611",
"612": "Community 612",
+85 -155
View File
@@ -1,16 +1,16 @@
# Graph Report - clinicpro (2026-06-25)
## Corpus Check
- 582 files · ~424,369 words
- 582 files · ~424,686 words
- Verdict: corpus is large enough that graph structure adds value.
## Summary
- 7728 nodes · 10590 edges · 631 communities (525 shown, 106 thin omitted)
- 7729 nodes · 10592 edges · 617 communities (511 shown, 106 thin omitted)
- Extraction: 98% EXTRACTED · 2% INFERRED · 0% AMBIGUOUS · INFERRED: 254 edges (avg confidence: 0.8)
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `9b608aae`
- Built from commit: `c2c6ae4d`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -556,7 +556,6 @@
- [[_COMMUNITY_Community 538|Community 538]]
- [[_COMMUNITY_Community 539|Community 539]]
- [[_COMMUNITY_Community 540|Community 540]]
- [[_COMMUNITY_Community 541|Community 541]]
- [[_COMMUNITY_Community 542|Community 542]]
- [[_COMMUNITY_Community 543|Community 543]]
- [[_COMMUNITY_Community 544|Community 544]]
@@ -585,12 +584,7 @@
- [[_COMMUNITY_Community 569|Community 569]]
- [[_COMMUNITY_Community 570|Community 570]]
- [[_COMMUNITY_Community 571|Community 571]]
- [[_COMMUNITY_Community 572|Community 572]]
- [[_COMMUNITY_Community 573|Community 573]]
- [[_COMMUNITY_Community 574|Community 574]]
- [[_COMMUNITY_Community 575|Community 575]]
- [[_COMMUNITY_Community 576|Community 576]]
- [[_COMMUNITY_Community 577|Community 577]]
- [[_COMMUNITY_Community 578|Community 578]]
- [[_COMMUNITY_Community 579|Community 579]]
- [[_COMMUNITY_Community 580|Community 580]]
@@ -604,10 +598,6 @@
- [[_COMMUNITY_Community 590|Community 590]]
- [[_COMMUNITY_Community 591|Community 591]]
- [[_COMMUNITY_Community 592|Community 592]]
- [[_COMMUNITY_Community 593|Community 593]]
- [[_COMMUNITY_Community 594|Community 594]]
- [[_COMMUNITY_Community 595|Community 595]]
- [[_COMMUNITY_Community 596|Community 596]]
- [[_COMMUNITY_Community 597|Community 597]]
- [[_COMMUNITY_Community 598|Community 598]]
- [[_COMMUNITY_Community 599|Community 599]]
@@ -617,10 +607,6 @@
- [[_COMMUNITY_Community 603|Community 603]]
- [[_COMMUNITY_Community 604|Community 604]]
- [[_COMMUNITY_Community 605|Community 605]]
- [[_COMMUNITY_Community 606|Community 606]]
- [[_COMMUNITY_Community 607|Community 607]]
- [[_COMMUNITY_Community 608|Community 608]]
- [[_COMMUNITY_Community 609|Community 609]]
- [[_COMMUNITY_Community 610|Community 610]]
- [[_COMMUNITY_Community 611|Community 611]]
- [[_COMMUNITY_Community 612|Community 612]]
@@ -649,21 +635,21 @@
assets/admin/components/ServiceTariffModal.tsx → assets/admin/lib/utils.ts
- `Pagination()` --calls--> `formatNumber()` [EXTRACTED]
assets/admin/components/ui/Pagination.tsx → assets/admin/lib/utils.ts
- `PersianDatePicker()` --calls--> `formatDate()` [EXTRACTED]
assets/admin/components/ui/PersianDatePicker.tsx → assets/admin/lib/utils.ts
- `SettlementsPage()` --calls--> `formatRial()` [EXTRACTED]
assets/admin/pages/SettlementsPage.tsx → assets/admin/lib/utils.ts
- `NewAppointmentModal()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/pages/AppointmentsPage.tsx → assets/admin/stores/authStore.ts
- `LogoUploadField()` --calls--> `useAuthStore` [EXTRACTED]
assets/admin/pages/CategoriesPage.tsx → assets/admin/stores/authStore.ts
## Import Cycles
- None detected.
## Communities (631 total, 106 thin omitted)
## Communities (617 total, 106 thin omitted)
### Community 0 - "Community 0"
Cohesion: 0.04
Nodes (54): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, useSubscription(), avatarBg() (+46 more)
Cohesion: 0.05
Nodes (40): ALLOWED_ROLES, PrivateRoute(), PublicRoute(), RoleRoute(), queryClient, toastStyle, AddForm, addSchema (+32 more)
### Community 1 - "Community 1"
Cohesion: 0.03
@@ -671,11 +657,11 @@ Nodes (42): iranMobileOptionalSchema, AddressData, AddrForm, addrSchema, AVATAR_
### Community 2 - "Community 2"
Cohesion: 0.05
Nodes (51): FreeVisitPrice(), Pricing, usePaymentConfig(), api, ApiResponse, getToken(), refreshOnce(), request() (+43 more)
Nodes (43): FreeVisitPrice(), Pricing, api, ApiResponse, getToken(), refreshOnce(), request(), formatDateTime() (+35 more)
### Community 3 - "Community 3"
Cohesion: 0.05
Nodes (40): PaginatedResponse, maskMobile(), STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL, Summary, ACTION_HEADERS (+32 more)
Cohesion: 0.04
Nodes (72): PaginatedResponse, formatDate(), maskMobile(), ALL_STATUSES, STATUS_FILTERS, FILTERS, Breakdown, SOURCE_LABEL (+64 more)
### Community 4 - "Community 4"
Cohesion: 0.06
@@ -686,16 +672,16 @@ Cohesion: 0.07
Nodes (3): UserProfile, self, User
### Community 6 - "Community 6"
Cohesion: 0.07
Nodes (19): SettlementController, FinancialBreakdown, FinancialBreakdownRepository, SettlementRepository, WalletTransactionRepository, CommissionService, Settlement, JsonResponse (+11 more)
Cohesion: 0.09
Nodes (15): SettlementController, SettlementRepository, WalletTransactionRepository, CommissionService, Settlement, JsonResponse, Request, User (+7 more)
### Community 7 - "Community 7"
Cohesion: 0.07
Nodes (5): Clinic, Collection, Doctor, self, User
### Community 8 - "Community 8"
Cohesion: 0.05
Nodes (39): ALL_STATUSES, RepresentationDetailPage(), STATUS_LOG_META, Tab, TAG_FILTER_OPTIONS, TAG_LABELS, TemplateFormData, templateSchema (+31 more)
Cohesion: 0.09
Nodes (26): useSubscription(), AdminLayout(), avatarBg(), buildSections(), HUES, Props, ROLE_LABELS, Section (+18 more)
### Community 9 - "Community 9"
Cohesion: 0.04
@@ -706,8 +692,8 @@ 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.05
Nodes (31): formatDate(), formatDateTime(), toDate(), AppointmentDetailPage(), Claim, ClaimItem, DebtRow, InsuranceOption (+23 more)
Cohesion: 0.12
Nodes (9): Claim, ClaimItem, DebtRow, InsuranceOption, KIND_LABEL, STATUS_FILTERS, STATUS_META, PersianDatePicker() (+1 more)
### Community 12 - "Community 12"
Cohesion: 0.05
@@ -726,8 +712,8 @@ Cohesion: 0.10
Nodes (13): PaymentController, MockGateway, SepGateway, JsonResponse, Payment, PaymentGatewayInterface, Request, Response (+5 more)
### Community 16 - "Community 16"
Cohesion: 0.08
Nodes (7): PatientSession, AppointmentExpiryService, Appointment, Collection, PatientRecord, self, SessionService
Cohesion: 0.07
Nodes (7): PatientSession, SmsWallet, Appointment, Collection, PatientRecord, self, SessionService
### Community 17 - "Community 17"
Cohesion: 0.05
@@ -738,8 +724,8 @@ Cohesion: 0.05
Nodes (38): API, API, API, API, API, Route, Route, Route (+30 more)
### Community 19 - "Community 19"
Cohesion: 0.07
Nodes (25): Contract, InsuranceOption, KIND_LABEL, AdminLayout(), Topbar(), FormData, schema, Contract (+17 more)
Cohesion: 0.06
Nodes (27): Contract, InsuranceOption, KIND_LABEL, FormData, schema, Contract, CoverageRow, fieldLabel (+19 more)
### Community 20 - "Community 20"
Cohesion: 0.15
@@ -762,16 +748,16 @@ Cohesion: 0.08
Nodes (3): City, Province, self
### Community 25 - "Community 25"
Cohesion: 0.06
Nodes (34): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+26 more)
Cohesion: 0.05
Nodes (39): Appointment API, Error Responses, Errors, Errors, Errors, Errors, Errors, Errors (+31 more)
### Community 26 - "Community 26"
Cohesion: 0.15
Nodes (7): InsuranceController, EntityInsurancePricing, EntityInsurancePricingRepository, JsonResponse, Request, User, ManagerRegistry
Cohesion: 0.23
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)
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, 62. 🟡 `PATCH` patch, 63. 🔴 `DELETE` DELETE (+27 more)
### Community 28 - "Community 28"
Cohesion: 0.09
@@ -814,8 +800,8 @@ Cohesion: 0.06
Nodes (31): API endpoint موجود برای آدرس دکتر:, `DELETE /api/v1/clinic/{clinicUuid}/address/{addressUuid}` — حذف, `docs/api/appointment-settings.md`:, `docs/api/clinic.md`:, Endpoint موجود (workaround که حذف می‌شود):, Entity `DoctorAddress`:, Frontend موجود (`DoctorDetailPage.tsx`):, `GET /api/v1/clinic/{clinicUuid}/addresses` — لیست آدرس‌ها (+23 more)
### Community 38 - "Community 38"
Cohesion: 0.06
Nodes (31): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Error Codes, Error Codes, Error Codes, Errors, Errors, Errors (+23 more)
Cohesion: 0.22
Nodes (8): Authentication API, DELETE `/api/v1/notification-mobile/{target}`, Errors, Notification Mobile (OTP), POST `/oauth/logout`, Request Body, Response `200`, Response `200`
### Community 39 - "Community 39"
Cohesion: 0.12
@@ -874,8 +860,8 @@ Cohesion: 0.07
Nodes (26): الزامات UI, باگ‌فیکس صفحه نوبت‌ها, باگ ۱ — کرش تقویم, باگ ۲ — روز هفته در DateNavigator, باگ ۳ — پیام «slot نیست», باگ ۴ — نوبت جدید: نام اجباری + find-or-create patient, باگ ۵ — patient_mobile نشان می‌دهد موبایل پزشک, باگ ۶ — نوبت‌های رزرو شده در نمایش زمانبندی (+18 more)
### Community 53 - "Community 53"
Cohesion: 0.12
Nodes (12): ClaimItem, ClaimItemRepository, InvoiceRepository, PreRegistrationRepository, TaxRateHistoryRepository, ServiceEntityRepository, ManagerRegistry, ManagerRegistry (+4 more)
Cohesion: 0.11
Nodes (11): ClaimItem, DoctorInsurance, ClaimItemRepository, DoctorInsuranceRepository, PreRegistrationRepository, SiteConfigRepository, ServiceEntityRepository, ManagerRegistry (+3 more)
### Community 54 - "Community 54"
Cohesion: 0.10
@@ -894,8 +880,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, QueryBuilder, BlogRepository, JsonResponse, Request, User, ManagerRegistry
Cohesion: 0.28
Nodes (4): Blog, QueryBuilder, BlogRepository, ManagerRegistry
### Community 59 - "Community 59"
Cohesion: 0.22
@@ -942,7 +928,7 @@ Cohesion: 0.31
Nodes (6): ErrorCodes, ClinicServiceController, JsonResponse, Request, ServiceSection, User
### Community 71 - "Community 71"
Cohesion: 0.26
Cohesion: 0.24
Nodes (5): RepresentationActionController, JsonResponse, Representation, Request, User
### Community 72 - "Community 72"
@@ -1290,8 +1276,8 @@ Cohesion: 0.13
Nodes (14): autoload, autoload-dev, psr-4, psr-4, conflict, symfony/symfony, description, license (+6 more)
### Community 164 - "Community 164"
Cohesion: 0.29
Nodes (3): SmsController, JsonResponse, Request
Cohesion: 0.17
Nodes (6): SmsController, SmsTemplateRepository, SmsTemplate, JsonResponse, Request, ManagerRegistry
### Community 165 - "Community 165"
Cohesion: 0.13
@@ -1358,8 +1344,8 @@ Cohesion: 0.23
Nodes (3): WeeklySchedule, Doctor, self
### Community 182 - "Community 182"
Cohesion: 0.15
Nodes (11): emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm, planSchema (+3 more)
Cohesion: 0.06
Nodes (30): usePaymentConfig(), emptyFeatures(), FEATURE_KEYS, FEATURE_LABELS, PeriodForm, periodSchema, PLAN_DISPLAY, PlanForm (+22 more)
### Community 183 - "Community 183"
Cohesion: 0.14
@@ -1430,8 +1416,8 @@ Cohesion: 0.14
Nodes (13): Endpoint ها, PATCH /api/v1/secretary/{uuid}, POST /api/v1/secretary, تسک ۱۴: ماژول منشی, توضیح, زمان تخمینی, ساختار JSON, سیستم مجوزها — Resource-Based Permissions (مقیاس‌پذیر) (+5 more)
### Community 200 - "Community 200"
Cohesion: 0.23
Nodes (5): AbstractMigration, Schema, Version20260614182549, Schema, Version20260622184409
Cohesion: 0.43
Nodes (3): AbstractMigration, Schema, Version20260622184409
### Community 201 - "Community 201"
Cohesion: 0.15
@@ -1526,12 +1512,12 @@ Cohesion: 0.30
Nodes (6): AbstractAuthenticator, Passport, PasswordAuthenticator, Request, Response, TokenInterface
### Community 228 - "Community 228"
Cohesion: 0.17
Nodes (11): DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, GET `/api/v1/insurance/{id}`, GET `/api/v1/insurance-pricing`, Insurance API, Response `200`, Response `200` (+3 more)
Cohesion: 0.06
Nodes (33): DELETE `/api/v1/admin/insurance/{id}`, DELETE `/api/v1/billing/tenant-insurances/{uuid}`, DELETE `/api/v1/insurance/{id}`, EntityInsurancePricing — قیمت‌گذاری ویزیت بر اساس بیمه, Errors, Errors, GET `/api/v1/admin/insurances`, GET `/api/v1/billing/tenant-insurances` (+25 more)
### Community 229 - "Community 229"
Cohesion: 0.17
Nodes (11): DELETE `/api/v1/representation/{uuid}`, Errors, Errors, GET `/api/v1/representation/{uuid}`, GET `/api/v1/representation/{uuid}/dashboard/yearly`, Path Parameters, Query Parameters, Representation (Agent) API (+3 more)
Cohesion: 0.15
Nodes (12): DELETE `/api/v1/representation/{uuid}`, Errors, Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, GET `/api/v1/representation/{uuid}/dashboard/yearly`, Path Parameters, Query Parameters, Query Parameters (+4 more)
### Community 230 - "Community 230"
Cohesion: 0.35
@@ -1550,8 +1536,8 @@ Cohesion: 0.21
Nodes (3): SmsWalletTransaction, Payment, SmsWallet
### Community 235 - "Community 235"
Cohesion: 0.20
Nodes (8): AdminUser, ChangeRoleModal(), getPrimaryRole(), HUES_LIST, ROLE_META, ROLE_TABS, RoleBadge(), UserStats
Cohesion: 0.13
Nodes (12): AdminUserDetail, AVATAR_COLORS, EditForm, editSchema, GENDER_LABELS, getPrimaryRole(), MARITAL_LABELS, MEDICAL_SECTIONS (+4 more)
### Community 236 - "Community 236"
Cohesion: 0.17
@@ -1698,7 +1684,7 @@ Cohesion: 0.18
Nodes (10): Endpoint های موجود که تغییر می‌کنند, GET /api/v1/admin/dashboard/charts?from=UNIX&to=UNIX, GET /api/v1/dashboard/clinic, GET /api/v1/dashboard/doctor, تسک ۱۶: داشبورد هوشمند — چارت + فیلتر زمانی, توضیح, زمان تخمینی, فیلتر بازه زمانی (+2 more)
### Community 274 - "Community 274"
Cohesion: 0.24
Cohesion: 0.28
Nodes (5): Authentication, ClinicPro — API Documentation Index, Error Code Reference, Modules, Standard Response Envelope
### Community 275 - "Community 275"
@@ -1810,8 +1796,12 @@ Cohesion: 0.28
Nodes (4): imgJson(), mobile(), ri(), uuid()
### Community 304 - "Community 304"
Cohesion: 0.22
Nodes (9): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 42. 🔴 `DELETE` delete, 6. کلینیک (Clinic), هدرهای اضافی, پارامترهای Query, پاسخ‌ها, پاسخ‌ها (+1 more)
Cohesion: 0.04
Nodes (46): 29. 🟢 `GET` clinic list 🆕, 30. 🟢 `GET` get 🆕, 33. 🔵 `POST` image_clinic, 34. 🔵 `POST` image logo, 36. 🟢 `GET` get my rate, 37. 🔵 `POST` post, 38. 🟢 `GET` Unapproved comments, 39. 🟡 `PATCH` Comment confirmation (+38 more)
### Community 306 - "Community 306"
Cohesion: 0.33
Nodes (4): BlogController, JsonResponse, Request, User
### Community 307 - "Community 307"
Cohesion: 0.28
@@ -1910,8 +1900,8 @@ Cohesion: 0.22
Nodes (8): Query های جدید, بیماران منحصربه‌فرد در بازه, درآمد بر اساس روز (از patient_sessions), فروش اشتراک بر اساس پنل (admin), نوبت‌ها بر اساس روز (admin chart), نکات مهم, هیچ migration لازم نیست, پایگاه داده — تسک ۱۶: داشبورد هوشمند
### Community 333 - "Community 333"
Cohesion: 0.25
Nodes (7): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, Doctor API, Errors, GET `/api/v1/doctors`, Query Parameters, Response `200`, Response `200`
Cohesion: 0.06
Nodes (32): DELETE `/api/v1/clinic-pro/doctor-address/{id}`, DELETE `/api/v1/doctor/{uuid}`, Doctor API, Errors, Errors, Errors, Errors, Errors (+24 more)
### Community 334 - "Community 334"
Cohesion: 0.25
@@ -1938,8 +1928,8 @@ Cohesion: 0.43
Nodes (5): BeforeInstallPromptEvent, usePwaInstall(), PwaInstallBanner(), detectIOS(), PwaLoginCard()
### Community 341 - "Community 341"
Cohesion: 0.25
Nodes (7): license, optionalDependencies, lightningcss-darwin-arm64, lightningcss-linux-arm64-gnu, @tailwindcss/oxide-darwin-arm64, @tailwindcss/oxide-linux-arm64-gnu, private
Cohesion: 0.40
Nodes (5): optionalDependencies, lightningcss-darwin-arm64, lightningcss-linux-arm64-gnu, @tailwindcss/oxide-darwin-arm64, @tailwindcss/oxide-linux-arm64-gnu
### Community 342 - "Community 342"
Cohesion: 0.25
@@ -1970,8 +1960,8 @@ Cohesion: 0.39
Nodes (3): ProvinceRepository, ManagerRegistry, Province
### Community 349 - "Community 349"
Cohesion: 0.43
Nodes (3): SmsTemplateRepository, SmsTemplate, ManagerRegistry
Cohesion: 0.36
Nodes (3): EntityInsurancePricing, EntityInsurancePricingRepository, ManagerRegistry
### Community 350 - "Community 350"
Cohesion: 0.43
@@ -2050,8 +2040,8 @@ Cohesion: 0.29
Nodes (7): Authentication, Authorization, Input Validation, Logging Security, Rate Limiting, Secrets Management, ۷. تحلیل امنیت
### Community 371 - "Community 371"
Cohesion: 0.48
Nodes (3): DoctorInsurance, DoctorInsuranceRepository, ManagerRegistry
Cohesion: 0.39
Nodes (4): FinancialBreakdown, FinancialBreakdownRepository, ManagerRegistry, Payment
### Community 374 - "Community 374"
Cohesion: 0.29
@@ -2081,6 +2071,10 @@ Nodes (7): بک‌اند — endpoint جدید: `GET /api/v1/my/appointments` `
Cohesion: 0.43
Nodes (3): InvoiceItemRepository, InvoiceItem, ManagerRegistry
### Community 381 - "Community 381"
Cohesion: 0.43
Nodes (3): InvoiceRepository, Invoice, ManagerRegistry
### Community 382 - "Community 382"
Cohesion: 0.29
Nodes (6): Entity: Doctor (بر اساس فیلدهای واقعی Drupal), Entity: DoctorAddress (بر اساس فیلدهای واقعی Drupal), Response کامل دکتر (finalizeData), ساختار فایل‌ها, معماری — تسک ۰۵: ماژول دکتر, منطق create دکتر (از DoctorService.php)
@@ -2225,17 +2219,13 @@ Nodes (5): GET `/api/v1/admin/comments`, GET `/api/v1/admin/rates`, Query Parame
Cohesion: 0.40
Nodes (5): GET `/api/v1/admin/financial-breakdowns`, GET `/api/v1/admin/financial-summary`, GET `/api/v1/admin/settings/tax-history`, GET `/api/v1/admin/settlement/{uuid}`, موتور مالی نمایندگی
### Community 480 - "Community 480"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/appointment-settings/month-availability/{doctorUuid}`, Path Parameters, Query Parameters, Response `200`
### Community 481 - "Community 481"
Cohesion: 0.40
Nodes (5): Errors, Notes, POST `/api/v1/notification-mobile/request-otp`, Request Body, Response `200`
### Community 482 - "Community 482"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/clinic/my-doctor/{doctorUuid}`, Path Parameters, Response `200`, Schedule Fields Notes
Cohesion: 0.53
Nodes (3): TaxRateHistoryRepository, ManagerRegistry, TaxRateHistory
### Community 483 - "Community 483"
Cohesion: 0.40
@@ -2243,15 +2233,15 @@ Nodes (5): Errors, PATCH `/api/v1/doctor/{uuid}`, Path Parameters, Request Body
### Community 484 - "Community 484"
Cohesion: 0.40
Nodes (5): Errors, PATCH `/api/v1/clinic-pro/doctor-address/{id}`, Path Parameters, Request Body, Response `200`
Nodes (5): 61. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 485 - "Community 485"
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 (فاز ۱ سیستم صورتحساب)
Cohesion: 0.50
Nodes (4): Error Codes, POST `/api/v1/pre-registration`, Request Body, Response `200`
### Community 486 - "Community 486"
Cohesion: 0.40
Nodes (5): Errors, GET `/api/v1/representation/{uuid}/dashboard/monthly`, Path Parameters, Query Parameters, Response `200`
Cohesion: 0.50
Nodes (4): Error Codes, POST `/api/v1/user/otp-login`, Request Body, Response `200`
### Community 487 - "Community 487"
Cohesion: 0.40
@@ -2274,24 +2264,24 @@ Cohesion: 0.40
Nodes (5): 35. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 494 - "Community 494"
Cohesion: 0.40
Nodes (5): 37. 🔵 `POST` post, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.50
Nodes (4): Error Codes, POST `/api/v1/user/reset-password`, Request Body, Response `200`
### Community 495 - "Community 495"
Cohesion: 0.40
Nodes (5): 41. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 496 - "Community 496"
Cohesion: 0.40
Nodes (5): 62. 🟡 `PATCH` patch, Request Body, مثال Request, هدرهای اضافی, پاسخ‌ها
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/user/send-code`, Request Body, Response `200`
### Community 497 - "Community 497"
Cohesion: 0.40
Nodes (5): ۲.۸ تنظیمات نوبت (Appointment Settings), ۲.۸.۱ برنامه هفتگی (Weekly Schedule), ۲.۸.۲ تعطیلات (Holidays), ۲.۸.۳ لغو تعطیل (Date Override), ۲.۸.۴ الگوریتم محاسبه اسلات‌های خالی
### Community 498 - "Community 498"
Cohesion: 0.40
Nodes (5): scripts, build, dev, dev-server, watch
Cohesion: 0.25
Nodes (7): license, private, scripts, build, dev, dev-server, watch
### Community 499 - "Community 499"
Cohesion: 0.40
@@ -2419,15 +2409,11 @@ Nodes (4): Errors, POST `/api/v1/notification-mobile/verify`, Request Body, Resp
### Community 533 - "Community 533"
Cohesion: 0.50
Nodes (4): DELETE `/api/v1/doctor/{uuid}`, Errors, Path Parameters, Response `200`
Nodes (4): Errors, POST `/api/v1/user/verify-code`, Request Body, Response `200`
### Community 534 - "Community 534"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/doctor`, Request Body (`application/json`), Response `201`
### Community 535 - "Community 535"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/doctor/{uuid}`, Path Parameters, Response `200`
Nodes (4): Errors, GET `/api/v1/representation/{uuid}`, Path Parameters, Response `200`
### Community 536 - "Community 536"
Cohesion: 0.50
@@ -2442,17 +2428,13 @@ Cohesion: 0.50
Nodes (4): Errors, Path Parameters, POST `/api/v1/clinic-pro/doctor-address/from-clinic/{clinicUuid}`, Response `201`
### Community 539 - "Community 539"
Cohesion: 0.50
Nodes (4): Errors, GET `/api/v1/admin/insurances`, Query Parameters, Response `200`
Cohesion: 0.67
Nodes (3): Errors, GET `/api/v1/notification-mobile/{target}`, Response `200`
### Community 540 - "Community 540"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/admin/insurance`, Request Body (`application/json`), Response `201`
### Community 541 - "Community 541"
Cohesion: 0.50
Nodes (4): Errors, PATCH `/api/v1/admin/insurance/{id}`, Path Parameters, Response `200`
### Community 542 - "Community 542"
Cohesion: 0.50
Nodes (4): Errors, POST `/api/v1/insurance/`, Request Body (`application/json`), Response `201`
@@ -2565,30 +2547,10 @@ Nodes (4): با ۱,۰۰۰,۰۰۰ کاربر — نیاز به Refactoring اسا
Cohesion: 0.50
Nodes (4): ریسک‌های بحرانی, ریسک‌های عملیاتی, ریسک‌های مهم, ۱۰. ریسک‌های شناسایی‌شده
### Community 572 - "Community 572"
Cohesion: 0.50
Nodes (4): 38. 🟢 `GET` Unapproved comments, هدرهای اضافی, پارامترهای Query, پاسخ‌ها
### Community 573 - "Community 573"
Cohesion: 0.50
Nodes (4): 39. 🟡 `PATCH` Comment confirmation, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 574 - "Community 574"
Cohesion: 0.50
Nodes (4): 40. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 575 - "Community 575"
Cohesion: 0.50
Nodes (4): 44. 🟢 `GET` list comment, هدرهای اضافی, پارامترهای Query, پاسخ‌ها
### Community 576 - "Community 576"
Cohesion: 0.50
Nodes (4): 45. 🔵 `POST` post, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 577 - "Community 577"
Cohesion: 0.50
Nodes (4): 46. 🟡 `PATCH` patch, مثال Request, هدرهای اضافی, پاسخ‌ها
### Community 578 - "Community 578"
Cohesion: 0.50
Nodes (4): GET /api/v1/appointment-settings/slots — دریافت اسلات‌های خالی, POST /api/v1/appointment-settings/holidays — ثبت تعطیلی (فقط ادمین), POST /api/v1/appointment-settings/overrides — ثبت Override توسط دکتر, Task-09: API تنظیمات نوبت
@@ -2637,22 +2599,6 @@ Nodes (3): Entity: Secretary, ساختار فایل‌ها, معماری — ت
Cohesion: 0.50
Nodes (3): Entity: Payment, ساختار فایل‌ها, معماری — تسک ۱۵: ماژول پرداخت
### Community 593 - "Community 593"
Cohesion: 0.67
Nodes (3): GET `/api/v1/clinic-pro/doctor-addresses/{doctorId}`, Path Parameters, Response `200`
### Community 594 - "Community 594"
Cohesion: 0.67
Nodes (3): GET `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`, PUT `/api/v1/billing/tenant-insurances/{uuid}/service-coverage`, TenantServiceCoverage — پوشش خدمت تحت یک قرارداد بیمه (فاز ۲)
### Community 595 - "Community 595"
Cohesion: 0.67
Nodes (3): GET `/api/v1/insurances`, Query Parameters, Response `200`
### Community 596 - "Community 596"
Cohesion: 0.67
Nodes (3): POST `/api/v1/admin/insurance/{id}/upload-logo`, Request, Response `200`
### Community 597 - "Community 597"
Cohesion: 0.67
Nodes (3): DELETE `/api/v1/sms/template/{uuid}`, Errors, Response `200`
@@ -2681,22 +2627,6 @@ Nodes (3): ماژول‌های شناسایی‌شده در PRD, موارد پو
Cohesion: 0.67
Nodes (3): نقاط ضعف, نقاط قوت, ۶. تحلیل API Design
### Community 606 - "Community 606"
Cohesion: 0.67
Nodes (3): 33. 🔵 `POST` image_clinic, هدرهای اضافی, پاسخ‌ها
### Community 607 - "Community 607"
Cohesion: 0.67
Nodes (3): 34. 🔵 `POST` image logo, هدرهای اضافی, پاسخ‌ها
### Community 608 - "Community 608"
Cohesion: 0.67
Nodes (3): 36. 🟢 `GET` get my rate, هدرهای اضافی, پاسخ‌ها
### Community 609 - "Community 609"
Cohesion: 0.67
Nodes (3): 43. 🟢 `GET` get, هدرهای اضافی, پاسخ‌ها
### Community 612 - "Community 612"
Cohesion: 0.67
Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم — قبل از تغییر بخوان)
@@ -2709,8 +2639,8 @@ Nodes (3): بک‌اند, فرانت‌اند, وضعیت فعلی کد (مهم
## 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`?**
_High betweenness centrality (0.031) - this node is a cross-community bridge._
- **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 306`, `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`?**
_High betweenness centrality (0.029) - 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 200`?**
@@ -2718,8 +2648,8 @@ _Questions this graph is uniquely positioned to answer:_
- **What connects `ALLOWED_ROLES`, `Pricing`, `TenantInsurance` to the rest of the system?**
_3334 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `Community 0` be split into smaller, more focused modules?**
_Cohesion score 0.041801801801801805 - nodes in this community are weakly interconnected._
_Cohesion score 0.052597402597402594 - 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._
- **Should `Community 2` be split into smaller, more focused modules?**
_Cohesion score 0.046093064091308165 - nodes in this community are weakly interconnected._
_Cohesion score 0.054354178842782 - nodes in this community are weakly interconnected._
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+20815 -20784
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -320,8 +320,8 @@
"semantic_hash": ""
},
"assets/admin/pages/RepresentationProfilePage.tsx": {
"mtime": 1782400039.351616,
"ast_hash": "62f7d3f4e80d566903b4747c4e8de6f8",
"mtime": 1782403805.0213432,
"ast_hash": "4b8c8be86258245ecf354c0997d11816",
"semantic_hash": ""
},
"assets/admin/pages/RepresentationSettlementPage.tsx": {
@@ -1500,8 +1500,8 @@
"semantic_hash": ""
},
"src/Representation/Controller/RepresentationActionController.php": {
"mtime": 1782399975.0700426,
"ast_hash": "6356e03b1f4219e00d2b310ec8d5b8bf",
"mtime": 1782403671.232173,
"ast_hash": "fd1f1336f0b8498dba4ff5e41e5b95cb",
"semantic_hash": ""
},
"src/Representation/Controller/RepresentationController.php": {
@@ -1635,8 +1635,8 @@
"semantic_hash": ""
},
"src/Shared/Service/ApiIrService.php": {
"mtime": 1782399401.6000476,
"ast_hash": "701731c46339ed487b4aee56e1cf215a",
"mtime": 1782403597.5695918,
"ast_hash": "727088b0f129f6841af82a3f616af47b",
"semantic_hash": ""
},
"src/Shared/Service/FileValidatorService.php": {
@@ -2490,8 +2490,8 @@
"semantic_hash": ""
},
"docs/api/representation.md": {
"mtime": 1782400506.6737096,
"ast_hash": "1825d1ff09ca1ecefd9e3cf0171cc442",
"mtime": 1782403897.0189605,
"ast_hash": "2f6c84681e5a190839d52a5e95945f31",
"semantic_hash": ""
},
"docs/api/secretary.md": {