added chart plugin in khanegi superadmin

This commit is contained in:
2026-10-21 11:13:32 +03:30
parent 47d210bd7d
commit f0989e03e3
11 changed files with 3460 additions and 192 deletions
+36 -35
View File
@@ -1,17 +1,17 @@
# Graph Report - controlpanel_server (2026-10-13)
# Graph Report - controlpanel_server (2026-10-21)
## Corpus Check
- 160 files · ~67,810 words
- 160 files · ~68,019 words
- Verdict: corpus is large enough that graph structure adds value.
- Unclassified: 9 file(s) not represented in the graph (top: (none) 3, .example 2, .toml 2)
## Summary
- 53 nodes · 77 edges · 9 communities (4 shown, 5 thin omitted)
- 83 nodes · 107 edges · 8 communities (4 shown, 4 thin omitted)
- Extraction: 100% EXTRACTED · 0% INFERRED · 0% AMBIGUOUS
- Token cost: 0 input · 0 output
## Graph Freshness
- Built from commit: `421415fc`
- Built from commit: `47d210bd`
- Run `git rev-parse HEAD` and compare to check if the graph is stale.
- Run `graphify update .` after code changes (no API cost).
@@ -19,62 +19,63 @@
- deploy-setting-catalog-keys.ts
- get-user.service.ts
- GetUserService
- mergeKhanegiLayoutVariants
- khanegi-layout-variants.ts
- createDefaultKhanegiLayoutVariants
- sync-superadmin-setting-template.mjs
- plugin-catalog.seed.ts
- applyCanEdit
- jsonOut
## God Nodes (most connected - your core abstractions)
1. `GetUserService` - 15 edges
2. `mergeKhanegiLayoutVariants()` - 6 edges
3. `mergeLayoutThemes()` - 5 edges
4. `mergeLayoutElement()` - 5 edges
5. `isRecord()` - 4 edges
6. `createDefaultKhanegiLayoutVariants()` - 4 edges
7. `applyKhanegiLayoutVariants()` - 4 edges
3. `mergeLayoutElement()` - 5 edges
4. `mergeLayoutThemes()` - 5 edges
5. `applyKhanegiLayoutVariants()` - 4 edges
6. `isRecord()` - 4 edges
7. `createDefaultKhanegiLayoutVariants()` - 4 edges
8. `isLayoutVariantId()` - 3 edges
9. `defaultThemes()` - 3 edges
10. `element()` - 3 edges
## Surprising Connections (you probably didn't know these)
- `mergeLayoutThemes()` --calls--> `defaultThemes()` [EXTRACTED]
src/get-user/khanegi-layout-variants.ts → src/get-user/khanegi-layout-variants.ts _Bridges community 6 → community 3_
- None detected - all connections are within the same source files.
## Import Cycles
- None detected.
## Communities (9 total, 5 thin omitted)
## Communities (8 total, 4 thin omitted)
### Community 1 - "get-user.service.ts"
Cohesion: 0.10
Nodes (20): ref_nestjs_common, src_auth_tenant_host_util, src_auth_tenant_host_util_findtenantforhost, src_auth_tenant_host_util_normalizetenanthost, src_common_iran_time_util, src_common_iran_time_util_irandaysuntil, SubscriptionAlertItem, SubscriptionAlerts (+12 more)
### Community 3 - "mergeKhanegiLayoutVariants"
Cohesion: 0.53
Nodes (6): applyKhanegiLayoutVariants(), isLayoutVariantId(), isRecord(), mergeKhanegiLayoutVariants(), mergeLayoutElement(), mergeLayoutThemes()
### Community 3 - "khanegi-layout-variants.ts"
Cohesion: 0.29
Nodes (13): applyKhanegiLayoutVariants(), createDefaultKhanegiLayoutVariants(), defaultThemes(), element(), isLayoutVariantId(), isRecord(), KhanegiLayoutVariants, LAYOUT_VARIANT_ID (+5 more)
### Community 5 - "khanegi-layout-variants.ts"
Cohesion: 0.40
Nodes (4): KhanegiLayoutVariants, LAYOUT_VARIANT_ID, LayoutElementConfig, LayoutThemeDef
### Community 4 - "sync-superadmin-setting-template.mjs"
Cohesion: 0.11
Nodes (15): ref_fs, ref_path, ref_url, __dirname, editableRows, EMPTY_TEMPLATE_VALUE_KEYS, EXTRA_EDITABLE, mustNot (+7 more)
### Community 6 - "createDefaultKhanegiLayoutVariants"
Cohesion: 0.67
Nodes (3): createDefaultKhanegiLayoutVariants(), defaultThemes(), element()
### Community 5 - "plugin-catalog.seed.ts"
Cohesion: 0.29
Nodes (3): PLUGIN_CATALOG_SEED, PLUGIN_STORE_DURATIONS, PluginStoreDuration
## Knowledge Gaps
- **10 isolated node(s):** `UiSetting`, `SubscriptionAlertStatus`, `SubscriptionAlertItem`, `SubscriptionAlerts`, `LAYOUT_VARIANT_ID` (+5 more)
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 28 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **5 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
- **25 isolated node(s):** `__dirname`, `root`, `sqlPath`, `sql`, `rows` (+20 more)
These have ≤1 connection - possible missing edges or undocumented components. (Counts symbols only; 52 node(s) total have ≤1 connection when file, concept and rationale nodes are included.)
- **4 thin communities (<3 nodes) omitted from report** — run `graphify query` to explore isolated nodes.
## Suggested Questions
_Questions this graph is uniquely positioned to answer:_
- **Why does `GetUserService` connect `GetUserService` to `.normalizeKhanegiAppNode`, `get-user.service.ts`, `.resolveByHost`, `.buildSubscriptionAlerts`?**
_High betweenness centrality (0.395) - this node is a cross-community bridge._
- **Why does `applyKhanegiLayoutVariants()` connect `mergeKhanegiLayoutVariants` to `.normalizeKhanegiAppNode`, `get-user.service.ts`, `khanegi-layout-variants.ts`?**
_High betweenness centrality (0.038) - this node is a cross-community bridge._
- **Why does `mergeKhanegiLayoutVariants()` connect `mergeKhanegiLayoutVariants` to `khanegi-layout-variants.ts`, `createDefaultKhanegiLayoutVariants`?**
_High betweenness centrality (0.005) - this node is a cross-community bridge._
- **What connects `UiSetting`, `SubscriptionAlertStatus`, `SubscriptionAlertItem` to the rest of the system?**
_10 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Why does `GetUserService` connect `GetUserService` to `get-user.service.ts`?**
_High betweenness centrality (0.158) - this node is a cross-community bridge._
- **Why does `applyKhanegiLayoutVariants()` connect `khanegi-layout-variants.ts` to `get-user.service.ts`, `GetUserService`?**
_High betweenness centrality (0.015) - this node is a cross-community bridge._
- **What connects `__dirname`, `root`, `sqlPath` to the rest of the system?**
_25 weakly-connected nodes found - possible documentation gaps or missing edges._
- **Should `get-user.service.ts` be split into smaller, more focused modules?**
_Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._
_Cohesion score 0.09523809523809523 - nodes in this community are weakly interconnected._
- **Should `sync-superadmin-setting-template.mjs` be split into smaller, more focused modules?**
_Cohesion score 0.10526315789473684 - nodes in this community are weakly interconnected._