@things-factory/kpi 10.1.248 → 10.1.249

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/dist-client/bootstrap.d.ts +2 -0
  2. package/dist-client/bootstrap.js +7 -0
  3. package/dist-client/bootstrap.js.map +1 -0
  4. package/dist-client/charts/kpi-boxplot-chart.d.ts +24 -0
  5. package/dist-client/charts/kpi-boxplot-chart.js +324 -0
  6. package/dist-client/charts/kpi-boxplot-chart.js.map +1 -0
  7. package/dist-client/charts/kpi-mini-trend-chart.d.ts +14 -0
  8. package/dist-client/charts/kpi-mini-trend-chart.js +148 -0
  9. package/dist-client/charts/kpi-mini-trend-chart.js.map +1 -0
  10. package/dist-client/charts/kpi-radar-chart.d.ts +16 -0
  11. package/dist-client/charts/kpi-radar-chart.js +138 -0
  12. package/dist-client/charts/kpi-radar-chart.js.map +1 -0
  13. package/dist-client/charts/kpi-trend-chart.d.ts +25 -0
  14. package/dist-client/charts/kpi-trend-chart.js +186 -0
  15. package/dist-client/charts/kpi-trend-chart.js.map +1 -0
  16. package/dist-client/google-map/common-google-map.d.ts +34 -0
  17. package/dist-client/google-map/common-google-map.js +333 -0
  18. package/dist-client/google-map/common-google-map.js.map +1 -0
  19. package/dist-client/google-map/google-map-loader.d.ts +8 -0
  20. package/dist-client/google-map/google-map-loader.js +22 -0
  21. package/dist-client/google-map/google-map-loader.js.map +1 -0
  22. package/dist-client/index.d.ts +1 -0
  23. package/dist-client/index.js +2 -0
  24. package/dist-client/index.js.map +1 -0
  25. package/dist-client/pages/kpi/kpi-grade-editor.d.ts +35 -0
  26. package/dist-client/pages/kpi/kpi-grade-editor.js +165 -0
  27. package/dist-client/pages/kpi/kpi-grade-editor.js.map +1 -0
  28. package/dist-client/pages/kpi/kpi-importer.d.ts +23 -0
  29. package/dist-client/pages/kpi/kpi-importer.js +92 -0
  30. package/dist-client/pages/kpi/kpi-importer.js.map +1 -0
  31. package/dist-client/pages/kpi/kpi-list-page.d.ts +136 -0
  32. package/dist-client/pages/kpi/kpi-list-page.js +948 -0
  33. package/dist-client/pages/kpi/kpi-list-page.js.map +1 -0
  34. package/dist-client/pages/kpi/kpi-overview-sample.d.ts +36 -0
  35. package/dist-client/pages/kpi/kpi-overview-sample.js +264 -0
  36. package/dist-client/pages/kpi/kpi-overview-sample.js.map +1 -0
  37. package/dist-client/pages/kpi/kpi-overview.d.ts +14 -0
  38. package/dist-client/pages/kpi/kpi-overview.js +361 -0
  39. package/dist-client/pages/kpi/kpi-overview.js.map +1 -0
  40. package/dist-client/pages/kpi/kpi-tree-page.d.ts +51 -0
  41. package/dist-client/pages/kpi/kpi-tree-page.js +355 -0
  42. package/dist-client/pages/kpi/kpi-tree-page.js.map +1 -0
  43. package/dist-client/pages/kpi/kpi-view.d.ts +12 -0
  44. package/dist-client/pages/kpi/kpi-view.js +193 -0
  45. package/dist-client/pages/kpi/kpi-view.js.map +1 -0
  46. package/dist-client/pages/kpi/kpi-viz-editor.d.ts +19 -0
  47. package/dist-client/pages/kpi/kpi-viz-editor.js +562 -0
  48. package/dist-client/pages/kpi/kpi-viz-editor.js.map +1 -0
  49. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.d.ts +17 -0
  50. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +279 -0
  51. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +1 -0
  52. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.d.ts +19 -0
  53. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +385 -0
  54. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +1 -0
  55. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.d.ts +23 -0
  56. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +465 -0
  57. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js.map +1 -0
  58. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.d.ts +8 -0
  59. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js +78 -0
  60. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js.map +1 -0
  61. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +24 -0
  62. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +440 -0
  63. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +1 -0
  64. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.d.ts +33 -0
  65. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +444 -0
  66. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +1 -0
  67. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +23 -0
  68. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +369 -0
  69. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +1 -0
  70. package/dist-client/pages/kpi-dashboard/kpi-alert-panel.d.ts +18 -0
  71. package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js +128 -0
  72. package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js.map +1 -0
  73. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +31 -0
  74. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +493 -0
  75. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -0
  76. package/dist-client/pages/kpi-dashboard/kpi-dashboard.d.ts +50 -0
  77. package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +884 -0
  78. package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -0
  79. package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.d.ts +12 -0
  80. package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js +82 -0
  81. package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js.map +1 -0
  82. package/dist-client/pages/kpi-dashboard/kpi-history-viewer.d.ts +11 -0
  83. package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js +65 -0
  84. package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js.map +1 -0
  85. package/dist-client/pages/kpi-dashboard/kpi-list-summary.d.ts +13 -0
  86. package/dist-client/pages/kpi-dashboard/kpi-list-summary.js +115 -0
  87. package/dist-client/pages/kpi-dashboard/kpi-list-summary.js.map +1 -0
  88. package/dist-client/pages/kpi-dashboard/kpi-performance-summary.d.ts +15 -0
  89. package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js +146 -0
  90. package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js.map +1 -0
  91. package/dist-client/pages/kpi-dashboard/kpi-value-entry.d.ts +7 -0
  92. package/dist-client/pages/kpi-dashboard/kpi-value-entry.js +86 -0
  93. package/dist-client/pages/kpi-dashboard/kpi-value-entry.js.map +1 -0
  94. package/dist-client/pages/kpi-history/kpi-history-list-page.d.ts +21 -0
  95. package/dist-client/pages/kpi-history/kpi-history-list-page.js +160 -0
  96. package/dist-client/pages/kpi-history/kpi-history-list-page.js.map +1 -0
  97. package/dist-client/pages/kpi-metric/kpi-metric-importer.d.ts +23 -0
  98. package/dist-client/pages/kpi-metric/kpi-metric-importer.js +92 -0
  99. package/dist-client/pages/kpi-metric/kpi-metric-importer.js.map +1 -0
  100. package/dist-client/pages/kpi-metric/kpi-metric-list-page.d.ts +65 -0
  101. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +415 -0
  102. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +1 -0
  103. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +52 -0
  104. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +678 -0
  105. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +1 -0
  106. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.d.ts +23 -0
  107. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js +75 -0
  108. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js.map +1 -0
  109. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +64 -0
  110. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +311 -0
  111. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +1 -0
  112. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.d.ts +12 -0
  113. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js +175 -0
  114. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js.map +1 -0
  115. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.d.ts +35 -0
  116. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js +161 -0
  117. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js.map +1 -0
  118. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.d.ts +47 -0
  119. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js +655 -0
  120. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js.map +1 -0
  121. package/dist-client/pages/kpi-statistic/kpi-statistic-importer.d.ts +23 -0
  122. package/dist-client/pages/kpi-statistic/kpi-statistic-importer.js +92 -0
  123. package/dist-client/pages/kpi-statistic/kpi-statistic-importer.js.map +1 -0
  124. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.d.ts +65 -0
  125. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js +416 -0
  126. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js.map +1 -0
  127. package/dist-client/pages/kpi-value/kpi-value-editor-page.d.ts +50 -0
  128. package/dist-client/pages/kpi-value/kpi-value-editor-page.js +700 -0
  129. package/dist-client/pages/kpi-value/kpi-value-editor-page.js.map +1 -0
  130. package/dist-client/pages/kpi-value/kpi-value-importer.d.ts +23 -0
  131. package/dist-client/pages/kpi-value/kpi-value-importer.js +92 -0
  132. package/dist-client/pages/kpi-value/kpi-value-importer.js.map +1 -0
  133. package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +73 -0
  134. package/dist-client/pages/kpi-value/kpi-value-list-page.js +403 -0
  135. package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -0
  136. package/dist-client/route.d.ts +1 -0
  137. package/dist-client/route.js +47 -0
  138. package/dist-client/route.js.map +1 -0
  139. package/dist-client/tsconfig.tsbuildinfo +1 -0
  140. package/dist-client/viewparts/kpi-metric-input.d.ts +23 -0
  141. package/dist-client/viewparts/kpi-metric-input.js +140 -0
  142. package/dist-client/viewparts/kpi-metric-input.js.map +1 -0
  143. package/dist-client/viewparts/kpi-metric-meta-editor.d.ts +36 -0
  144. package/dist-client/viewparts/kpi-metric-meta-editor.js +321 -0
  145. package/dist-client/viewparts/kpi-metric-meta-editor.js.map +1 -0
  146. package/dist-client/viewparts/metric-input-hint.d.ts +26 -0
  147. package/dist-client/viewparts/metric-input-hint.js +19 -0
  148. package/dist-client/viewparts/metric-input-hint.js.map +1 -0
  149. package/dist-client/viewparts/metric-input.test.d.ts +1 -0
  150. package/dist-client/viewparts/metric-input.test.js +43 -0
  151. package/dist-client/viewparts/metric-input.test.js.map +1 -0
  152. package/dist-client/viewparts/metric-renderer-registry.d.ts +18 -0
  153. package/dist-client/viewparts/metric-renderer-registry.js +29 -0
  154. package/dist-client/viewparts/metric-renderer-registry.js.map +1 -0
  155. package/dist-client/viewparts/ox-grist-editor-metric-input-hint.d.ts +19 -0
  156. package/dist-client/viewparts/ox-grist-editor-metric-input-hint.js +76 -0
  157. package/dist-client/viewparts/ox-grist-editor-metric-input-hint.js.map +1 -0
  158. package/dist-server/calculator/calculator.test.d.ts +1 -0
  159. package/dist-server/calculator/calculator.test.js +126 -0
  160. package/dist-server/calculator/calculator.test.js.map +1 -0
  161. package/dist-server/calculator/evaluator.d.ts +8 -0
  162. package/dist-server/calculator/evaluator.js +42 -0
  163. package/dist-server/calculator/evaluator.js.map +1 -0
  164. package/dist-server/calculator/functions.d.ts +3 -0
  165. package/dist-server/calculator/functions.js +62 -0
  166. package/dist-server/calculator/functions.js.map +1 -0
  167. package/dist-server/calculator/index.d.ts +6 -0
  168. package/dist-server/calculator/index.js +10 -0
  169. package/dist-server/calculator/index.js.map +1 -0
  170. package/dist-server/calculator/parser.d.ts +34 -0
  171. package/dist-server/calculator/parser.js +185 -0
  172. package/dist-server/calculator/parser.js.map +1 -0
  173. package/dist-server/calculator/provider.d.ts +8 -0
  174. package/dist-server/calculator/provider.js +13 -0
  175. package/dist-server/calculator/provider.js.map +1 -0
  176. package/dist-server/calculator/score.d.ts +21 -0
  177. package/dist-server/calculator/score.js +36 -0
  178. package/dist-server/calculator/score.js.map +1 -0
  179. package/dist-server/calculator/score.test.d.ts +1 -0
  180. package/dist-server/calculator/score.test.js +47 -0
  181. package/dist-server/calculator/score.test.js.map +1 -0
  182. package/dist-server/calculator/validate.d.ts +15 -0
  183. package/dist-server/calculator/validate.js +30 -0
  184. package/dist-server/calculator/validate.js.map +1 -0
  185. package/dist-server/calculator/validate.test.d.ts +1 -0
  186. package/dist-server/calculator/validate.test.js +45 -0
  187. package/dist-server/calculator/validate.test.js.map +1 -0
  188. package/dist-server/controllers/index.d.ts +2 -0
  189. package/dist-server/controllers/index.js +6 -0
  190. package/dist-server/controllers/index.js.map +1 -0
  191. package/dist-server/controllers/kpi-metric-value-provider.d.ts +11 -0
  192. package/dist-server/controllers/kpi-metric-value-provider.js +97 -0
  193. package/dist-server/controllers/kpi-metric-value-provider.js.map +1 -0
  194. package/dist-server/controllers/kpi-value-provider.d.ts +11 -0
  195. package/dist-server/controllers/kpi-value-provider.js +50 -0
  196. package/dist-server/controllers/kpi-value-provider.js.map +1 -0
  197. package/dist-server/index.d.ts +5 -0
  198. package/dist-server/index.js +9 -0
  199. package/dist-server/index.js.map +1 -0
  200. package/dist-server/migrations/1752190849680-seed-kpi-metrics.d.ts +6 -0
  201. package/dist-server/migrations/1752190849680-seed-kpi-metrics.js +102 -0
  202. package/dist-server/migrations/1752190849680-seed-kpi-metrics.js.map +1 -0
  203. package/dist-server/migrations/1752190849681-seed-kpi.d.ts +5 -0
  204. package/dist-server/migrations/1752190849681-seed-kpi.js +315 -0
  205. package/dist-server/migrations/1752190849681-seed-kpi.js.map +1 -0
  206. package/dist-server/migrations/1752192090123-add-grades-to-kpi.d.ts +7 -0
  207. package/dist-server/migrations/1752192090123-add-grades-to-kpi.js +51 -0
  208. package/dist-server/migrations/1752192090123-add-grades-to-kpi.js.map +1 -0
  209. package/dist-server/migrations/1752192090124-add-kpi-statistics.d.ts +5 -0
  210. package/dist-server/migrations/1752192090124-add-kpi-statistics.js +710 -0
  211. package/dist-server/migrations/1752192090124-add-kpi-statistics.js.map +1 -0
  212. package/dist-server/migrations/1752192090128-seed-kpi-org-scope.d.ts +6 -0
  213. package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js +111 -0
  214. package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js.map +1 -0
  215. package/dist-server/migrations/1752192090129-seed-kpi-values.d.ts +6 -0
  216. package/dist-server/migrations/1752192090129-seed-kpi-values.js +187 -0
  217. package/dist-server/migrations/1752192090129-seed-kpi-values.js.map +1 -0
  218. package/dist-server/migrations/1752192090200-add-meta-to-kpi-metric.d.ts +10 -0
  219. package/dist-server/migrations/1752192090200-add-meta-to-kpi-metric.js +26 -0
  220. package/dist-server/migrations/1752192090200-add-meta-to-kpi-metric.js.map +1 -0
  221. package/dist-server/migrations/1752192090201-backfill-kpi-metric-meta.d.ts +11 -0
  222. package/dist-server/migrations/1752192090201-backfill-kpi-metric-meta.js +54 -0
  223. package/dist-server/migrations/1752192090201-backfill-kpi-metric-meta.js.map +1 -0
  224. package/dist-server/migrations/grade-data/x11-performance-table.json +962 -0
  225. package/dist-server/migrations/grade-data/x12-performance-table.json +611 -0
  226. package/dist-server/migrations/grade-data/x14-performance-table.json +42 -0
  227. package/dist-server/migrations/grade-data/x21-performance-table.json +889 -0
  228. package/dist-server/migrations/grade-data/x22-performance-table.json +1064 -0
  229. package/dist-server/migrations/grade-data/x23-performance-table.json +42 -0
  230. package/dist-server/migrations/grade-data/x31-performance-table.json +644 -0
  231. package/dist-server/migrations/grade-data/x32-performance-table.json +993 -0
  232. package/dist-server/migrations/grade-data/x33-performance-table.json +195 -0
  233. package/dist-server/migrations/grade-data/x34-performance-table.json +12 -0
  234. package/dist-server/migrations/grade-data/x35-performance-table.json +42 -0
  235. package/dist-server/migrations/grade-data/x41-performance-table.json +825 -0
  236. package/dist-server/migrations/grade-data/x42-performance-table.json +786 -0
  237. package/dist-server/migrations/grade-data/x43-performance-table.json +12 -0
  238. package/dist-server/migrations/grade-data/x44-performance-table.json +42 -0
  239. package/dist-server/migrations/grade-data/x51-performance-table.json +924 -0
  240. package/dist-server/migrations/grade-data/x52-performance-table.json +42 -0
  241. package/dist-server/migrations/grade-data/x61-performance-table.json +261 -0
  242. package/dist-server/migrations/grade-data/x62-performance-table.json +42 -0
  243. package/dist-server/migrations/index.d.ts +1 -0
  244. package/dist-server/migrations/index.js +12 -0
  245. package/dist-server/migrations/index.js.map +1 -0
  246. package/dist-server/migrations/seed-data/kpi-metrics-seed.json +517 -0
  247. package/dist-server/migrations/seed-data/kpi-org-scope-seed.json +1676 -0
  248. package/dist-server/migrations/seed-data/kpi-scopes-seed.json +121 -0
  249. package/dist-server/migrations/seed-data/kpi-values-seed.json +402 -0
  250. package/dist-server/migrations/seed-data/kpis-seed.json +488 -0
  251. package/dist-server/migrations/seed-data/scope-definitions-seed.json +90 -0
  252. package/dist-server/routes.d.ts +1 -0
  253. package/dist-server/routes.js +72 -0
  254. package/dist-server/routes.js.map +1 -0
  255. package/dist-server/service/index.d.ts +15 -0
  256. package/dist-server/service/index.js +49 -0
  257. package/dist-server/service/index.js.map +1 -0
  258. package/dist-server/service/kpi/aggregate-kpi.d.ts +8 -0
  259. package/dist-server/service/kpi/aggregate-kpi.js +123 -0
  260. package/dist-server/service/kpi/aggregate-kpi.js.map +1 -0
  261. package/dist-server/service/kpi/event-subscriber.d.ts +9 -0
  262. package/dist-server/service/kpi/event-subscriber.js +31 -0
  263. package/dist-server/service/kpi/event-subscriber.js.map +1 -0
  264. package/dist-server/service/kpi/index.d.ts +8 -0
  265. package/dist-server/service/kpi/index.js +12 -0
  266. package/dist-server/service/kpi/index.js.map +1 -0
  267. package/dist-server/service/kpi/kpi-formula.service.d.ts +49 -0
  268. package/dist-server/service/kpi/kpi-formula.service.js +165 -0
  269. package/dist-server/service/kpi/kpi-formula.service.js.map +1 -0
  270. package/dist-server/service/kpi/kpi-grade.types.d.ts +22 -0
  271. package/dist-server/service/kpi/kpi-grade.types.js +3 -0
  272. package/dist-server/service/kpi/kpi-grade.types.js.map +1 -0
  273. package/dist-server/service/kpi/kpi-history.d.ts +29 -0
  274. package/dist-server/service/kpi/kpi-history.js +148 -0
  275. package/dist-server/service/kpi/kpi-history.js.map +1 -0
  276. package/dist-server/service/kpi/kpi-mutation.d.ts +14 -0
  277. package/dist-server/service/kpi/kpi-mutation.js +553 -0
  278. package/dist-server/service/kpi/kpi-mutation.js.map +1 -0
  279. package/dist-server/service/kpi/kpi-query.d.ts +24 -0
  280. package/dist-server/service/kpi/kpi-query.js +309 -0
  281. package/dist-server/service/kpi/kpi-query.js.map +1 -0
  282. package/dist-server/service/kpi/kpi-type.d.ts +48 -0
  283. package/dist-server/service/kpi/kpi-type.js +221 -0
  284. package/dist-server/service/kpi/kpi-type.js.map +1 -0
  285. package/dist-server/service/kpi/kpi.d.ts +130 -0
  286. package/dist-server/service/kpi/kpi.js +356 -0
  287. package/dist-server/service/kpi/kpi.js.map +1 -0
  288. package/dist-server/service/kpi-alert/index.d.ts +2 -0
  289. package/dist-server/service/kpi-alert/index.js +6 -0
  290. package/dist-server/service/kpi-alert/index.js.map +1 -0
  291. package/dist-server/service/kpi-alert/kpi-alert-query.d.ts +4 -0
  292. package/dist-server/service/kpi-alert/kpi-alert-query.js +72 -0
  293. package/dist-server/service/kpi-alert/kpi-alert-query.js.map +1 -0
  294. package/dist-server/service/kpi-alert/kpi-alert-type.d.ts +8 -0
  295. package/dist-server/service/kpi-alert/kpi-alert-type.js +33 -0
  296. package/dist-server/service/kpi-alert/kpi-alert-type.js.map +1 -0
  297. package/dist-server/service/kpi-metric/aggregate-kpi-metric.d.ts +8 -0
  298. package/dist-server/service/kpi-metric/aggregate-kpi-metric.js +126 -0
  299. package/dist-server/service/kpi-metric/aggregate-kpi-metric.js.map +1 -0
  300. package/dist-server/service/kpi-metric/index.d.ts +6 -0
  301. package/dist-server/service/kpi-metric/index.js +10 -0
  302. package/dist-server/service/kpi-metric/index.js.map +1 -0
  303. package/dist-server/service/kpi-metric/kpi-metric-meta.d.ts +46 -0
  304. package/dist-server/service/kpi-metric/kpi-metric-meta.js +27 -0
  305. package/dist-server/service/kpi-metric/kpi-metric-meta.js.map +1 -0
  306. package/dist-server/service/kpi-metric/kpi-metric-meta.test.d.ts +1 -0
  307. package/dist-server/service/kpi-metric/kpi-metric-meta.test.js +43 -0
  308. package/dist-server/service/kpi-metric/kpi-metric-meta.test.js.map +1 -0
  309. package/dist-server/service/kpi-metric/kpi-metric-mutation.d.ts +10 -0
  310. package/dist-server/service/kpi-metric/kpi-metric-mutation.js +296 -0
  311. package/dist-server/service/kpi-metric/kpi-metric-mutation.js.map +1 -0
  312. package/dist-server/service/kpi-metric/kpi-metric-query.d.ts +14 -0
  313. package/dist-server/service/kpi-metric/kpi-metric-query.js +126 -0
  314. package/dist-server/service/kpi-metric/kpi-metric-query.js.map +1 -0
  315. package/dist-server/service/kpi-metric/kpi-metric-type.d.ts +45 -0
  316. package/dist-server/service/kpi-metric/kpi-metric-type.js +177 -0
  317. package/dist-server/service/kpi-metric/kpi-metric-type.js.map +1 -0
  318. package/dist-server/service/kpi-metric/kpi-metric.d.ts +39 -0
  319. package/dist-server/service/kpi-metric/kpi-metric.js +174 -0
  320. package/dist-server/service/kpi-metric/kpi-metric.js.map +1 -0
  321. package/dist-server/service/kpi-metric-value/index.d.ts +6 -0
  322. package/dist-server/service/kpi-metric-value/index.js +10 -0
  323. package/dist-server/service/kpi-metric-value/index.js.map +1 -0
  324. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +11 -0
  325. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +283 -0
  326. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -0
  327. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.d.ts +13 -0
  328. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js +106 -0
  329. package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js.map +1 -0
  330. package/dist-server/service/kpi-metric-value/kpi-metric-value-type.d.ts +26 -0
  331. package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js +112 -0
  332. package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js.map +1 -0
  333. package/dist-server/service/kpi-metric-value/kpi-metric-value.d.ts +23 -0
  334. package/dist-server/service/kpi-metric-value/kpi-metric-value.js +107 -0
  335. package/dist-server/service/kpi-metric-value/kpi-metric-value.js.map +1 -0
  336. package/dist-server/service/kpi-org-scope/index.d.ts +5 -0
  337. package/dist-server/service/kpi-org-scope/index.js +9 -0
  338. package/dist-server/service/kpi-org-scope/index.js.map +1 -0
  339. package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.d.ts +8 -0
  340. package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js +170 -0
  341. package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js.map +1 -0
  342. package/dist-server/service/kpi-org-scope/kpi-org-scope-query.d.ts +14 -0
  343. package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js +152 -0
  344. package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js.map +1 -0
  345. package/dist-server/service/kpi-org-scope/kpi-org-scope-type.d.ts +26 -0
  346. package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js +101 -0
  347. package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js.map +1 -0
  348. package/dist-server/service/kpi-org-scope/kpi-org-scope.d.ts +26 -0
  349. package/dist-server/service/kpi-org-scope/kpi-org-scope.js +135 -0
  350. package/dist-server/service/kpi-org-scope/kpi-org-scope.js.map +1 -0
  351. package/dist-server/service/kpi-scope/index.d.ts +9 -0
  352. package/dist-server/service/kpi-scope/index.js +14 -0
  353. package/dist-server/service/kpi-scope/index.js.map +1 -0
  354. package/dist-server/service/kpi-scope/kpi-scope-mutation.d.ts +9 -0
  355. package/dist-server/service/kpi-scope/kpi-scope-mutation.js +140 -0
  356. package/dist-server/service/kpi-scope/kpi-scope-mutation.js.map +1 -0
  357. package/dist-server/service/kpi-scope/kpi-scope-query.d.ts +11 -0
  358. package/dist-server/service/kpi-scope/kpi-scope-query.js +89 -0
  359. package/dist-server/service/kpi-scope/kpi-scope-query.js.map +1 -0
  360. package/dist-server/service/kpi-scope/kpi-scope-type.d.ts +35 -0
  361. package/dist-server/service/kpi-scope/kpi-scope-type.js +138 -0
  362. package/dist-server/service/kpi-scope/kpi-scope-type.js.map +1 -0
  363. package/dist-server/service/kpi-scope/kpi-scope.d.ts +38 -0
  364. package/dist-server/service/kpi-scope/kpi-scope.js +144 -0
  365. package/dist-server/service/kpi-scope/kpi-scope.js.map +1 -0
  366. package/dist-server/service/kpi-statistic/index.d.ts +6 -0
  367. package/dist-server/service/kpi-statistic/index.js +10 -0
  368. package/dist-server/service/kpi-statistic/index.js.map +1 -0
  369. package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.d.ts +43 -0
  370. package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.js +181 -0
  371. package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.js.map +1 -0
  372. package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.d.ts +50 -0
  373. package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.js +324 -0
  374. package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.js.map +1 -0
  375. package/dist-server/service/kpi-statistic/kpi-statistic-mutation.d.ts +14 -0
  376. package/dist-server/service/kpi-statistic/kpi-statistic-mutation.js +279 -0
  377. package/dist-server/service/kpi-statistic/kpi-statistic-mutation.js.map +1 -0
  378. package/dist-server/service/kpi-statistic/kpi-statistic-query.d.ts +17 -0
  379. package/dist-server/service/kpi-statistic/kpi-statistic-query.js +183 -0
  380. package/dist-server/service/kpi-statistic/kpi-statistic-query.js.map +1 -0
  381. package/dist-server/service/kpi-statistic/kpi-statistic-type.d.ts +59 -0
  382. package/dist-server/service/kpi-statistic/kpi-statistic-type.js +200 -0
  383. package/dist-server/service/kpi-statistic/kpi-statistic-type.js.map +1 -0
  384. package/dist-server/service/kpi-statistic/kpi-statistic.d.ts +42 -0
  385. package/dist-server/service/kpi-statistic/kpi-statistic.js +210 -0
  386. package/dist-server/service/kpi-statistic/kpi-statistic.js.map +1 -0
  387. package/dist-server/service/kpi-value/index.d.ts +6 -0
  388. package/dist-server/service/kpi-value/index.js +10 -0
  389. package/dist-server/service/kpi-value/index.js.map +1 -0
  390. package/dist-server/service/kpi-value/kpi-value-mutation.d.ts +13 -0
  391. package/dist-server/service/kpi-value/kpi-value-mutation.js +447 -0
  392. package/dist-server/service/kpi-value/kpi-value-mutation.js.map +1 -0
  393. package/dist-server/service/kpi-value/kpi-value-query.d.ts +22 -0
  394. package/dist-server/service/kpi-value/kpi-value-query.js +149 -0
  395. package/dist-server/service/kpi-value/kpi-value-query.js.map +1 -0
  396. package/dist-server/service/kpi-value/kpi-value-score.service.d.ts +24 -0
  397. package/dist-server/service/kpi-value/kpi-value-score.service.js +61 -0
  398. package/dist-server/service/kpi-value/kpi-value-score.service.js.map +1 -0
  399. package/dist-server/service/kpi-value/kpi-value-type.d.ts +33 -0
  400. package/dist-server/service/kpi-value/kpi-value-type.js +156 -0
  401. package/dist-server/service/kpi-value/kpi-value-type.js.map +1 -0
  402. package/dist-server/service/kpi-value/kpi-value.d.ts +32 -0
  403. package/dist-server/service/kpi-value/kpi-value.js +175 -0
  404. package/dist-server/service/kpi-value/kpi-value.js.map +1 -0
  405. package/dist-server/service/utils/value-date-util.d.ts +4 -0
  406. package/dist-server/service/utils/value-date-util.js +117 -0
  407. package/dist-server/service/utils/value-date-util.js.map +1 -0
  408. package/dist-server/tsconfig.tsbuildinfo +1 -0
  409. package/package.json +3 -3
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KpiStatisticList = exports.KpiStatisticPatch = exports.NewKpiStatistic = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const kpi_1 = require("../kpi/kpi");
8
+ const kpi_statistic_js_1 = require("./kpi-statistic.js");
9
+ let NewKpiStatistic = class NewKpiStatistic {
10
+ };
11
+ exports.NewKpiStatistic = NewKpiStatistic;
12
+ tslib_1.__decorate([
13
+ (0, type_graphql_1.Field)({ nullable: true }),
14
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
15
+ ], NewKpiStatistic.prototype, "kpi", void 0);
16
+ tslib_1.__decorate([
17
+ (0, type_graphql_1.Field)({
18
+ description: 'Date or period for which this statistic is calculated (e.g., day: YYYY-MM-DD, month: YYYY-MM, quarter: YYYY-Qn, range: YYYY-MM-DD~YYYY-MM-DD).'
19
+ }),
20
+ tslib_1.__metadata("design:type", String)
21
+ ], NewKpiStatistic.prototype, "valueDate", void 0);
22
+ tslib_1.__decorate([
23
+ (0, type_graphql_1.Field)(type => kpi_1.KpiPeriodType),
24
+ tslib_1.__metadata("design:type", String)
25
+ ], NewKpiStatistic.prototype, "periodType", void 0);
26
+ tslib_1.__decorate([
27
+ (0, type_graphql_1.Field)({ nullable: true }),
28
+ tslib_1.__metadata("design:type", Number)
29
+ ], NewKpiStatistic.prototype, "count", void 0);
30
+ tslib_1.__decorate([
31
+ (0, type_graphql_1.Field)({ nullable: true }),
32
+ tslib_1.__metadata("design:type", Number)
33
+ ], NewKpiStatistic.prototype, "sum", void 0);
34
+ tslib_1.__decorate([
35
+ (0, type_graphql_1.Field)({ nullable: true }),
36
+ tslib_1.__metadata("design:type", Number)
37
+ ], NewKpiStatistic.prototype, "range", void 0);
38
+ tslib_1.__decorate([
39
+ (0, type_graphql_1.Field)({ nullable: true }),
40
+ tslib_1.__metadata("design:type", Number)
41
+ ], NewKpiStatistic.prototype, "mean", void 0);
42
+ tslib_1.__decorate([
43
+ (0, type_graphql_1.Field)({ nullable: true }),
44
+ tslib_1.__metadata("design:type", Number)
45
+ ], NewKpiStatistic.prototype, "median", void 0);
46
+ tslib_1.__decorate([
47
+ (0, type_graphql_1.Field)({ nullable: true }),
48
+ tslib_1.__metadata("design:type", Number)
49
+ ], NewKpiStatistic.prototype, "minimum", void 0);
50
+ tslib_1.__decorate([
51
+ (0, type_graphql_1.Field)({ nullable: true }),
52
+ tslib_1.__metadata("design:type", Number)
53
+ ], NewKpiStatistic.prototype, "maximum", void 0);
54
+ tslib_1.__decorate([
55
+ (0, type_graphql_1.Field)({ nullable: true }),
56
+ tslib_1.__metadata("design:type", Number)
57
+ ], NewKpiStatistic.prototype, "standardDeviation", void 0);
58
+ tslib_1.__decorate([
59
+ (0, type_graphql_1.Field)({ nullable: true }),
60
+ tslib_1.__metadata("design:type", Number)
61
+ ], NewKpiStatistic.prototype, "variance", void 0);
62
+ tslib_1.__decorate([
63
+ (0, type_graphql_1.Field)({ nullable: true }),
64
+ tslib_1.__metadata("design:type", Number)
65
+ ], NewKpiStatistic.prototype, "percentile25", void 0);
66
+ tslib_1.__decorate([
67
+ (0, type_graphql_1.Field)({ nullable: true }),
68
+ tslib_1.__metadata("design:type", Number)
69
+ ], NewKpiStatistic.prototype, "percentile75", void 0);
70
+ tslib_1.__decorate([
71
+ (0, type_graphql_1.Field)({ nullable: true }),
72
+ tslib_1.__metadata("design:type", Number)
73
+ ], NewKpiStatistic.prototype, "iqr", void 0);
74
+ tslib_1.__decorate([
75
+ (0, type_graphql_1.Field)({ nullable: true }),
76
+ tslib_1.__metadata("design:type", Number)
77
+ ], NewKpiStatistic.prototype, "lowerFence", void 0);
78
+ tslib_1.__decorate([
79
+ (0, type_graphql_1.Field)({ nullable: true }),
80
+ tslib_1.__metadata("design:type", Number)
81
+ ], NewKpiStatistic.prototype, "upperFence", void 0);
82
+ tslib_1.__decorate([
83
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
84
+ tslib_1.__metadata("design:type", Object)
85
+ ], NewKpiStatistic.prototype, "additionalStatistics", void 0);
86
+ tslib_1.__decorate([
87
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
88
+ tslib_1.__metadata("design:type", Object)
89
+ ], NewKpiStatistic.prototype, "metadata", void 0);
90
+ exports.NewKpiStatistic = NewKpiStatistic = tslib_1.__decorate([
91
+ (0, type_graphql_1.InputType)()
92
+ ], NewKpiStatistic);
93
+ let KpiStatisticPatch = class KpiStatisticPatch {
94
+ };
95
+ exports.KpiStatisticPatch = KpiStatisticPatch;
96
+ tslib_1.__decorate([
97
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true }),
98
+ tslib_1.__metadata("design:type", String)
99
+ ], KpiStatisticPatch.prototype, "id", void 0);
100
+ tslib_1.__decorate([
101
+ (0, type_graphql_1.Field)({ nullable: true }),
102
+ tslib_1.__metadata("design:type", shell_1.ObjectRef)
103
+ ], KpiStatisticPatch.prototype, "kpi", void 0);
104
+ tslib_1.__decorate([
105
+ (0, type_graphql_1.Field)({
106
+ nullable: true,
107
+ description: 'Date or period for which this statistic is calculated (e.g., day: YYYY-MM-DD, month: YYYY-MM, quarter: YYYY-Qn, range: YYYY-MM-DD~YYYY-MM-DD).'
108
+ }),
109
+ tslib_1.__metadata("design:type", String)
110
+ ], KpiStatisticPatch.prototype, "valueDate", void 0);
111
+ tslib_1.__decorate([
112
+ (0, type_graphql_1.Field)(type => kpi_1.KpiPeriodType, { nullable: true }),
113
+ tslib_1.__metadata("design:type", String)
114
+ ], KpiStatisticPatch.prototype, "periodType", void 0);
115
+ tslib_1.__decorate([
116
+ (0, type_graphql_1.Field)({ nullable: true }),
117
+ tslib_1.__metadata("design:type", Number)
118
+ ], KpiStatisticPatch.prototype, "count", void 0);
119
+ tslib_1.__decorate([
120
+ (0, type_graphql_1.Field)({ nullable: true }),
121
+ tslib_1.__metadata("design:type", Number)
122
+ ], KpiStatisticPatch.prototype, "sum", void 0);
123
+ tslib_1.__decorate([
124
+ (0, type_graphql_1.Field)({ nullable: true }),
125
+ tslib_1.__metadata("design:type", Number)
126
+ ], KpiStatisticPatch.prototype, "range", void 0);
127
+ tslib_1.__decorate([
128
+ (0, type_graphql_1.Field)({ nullable: true }),
129
+ tslib_1.__metadata("design:type", Number)
130
+ ], KpiStatisticPatch.prototype, "mean", void 0);
131
+ tslib_1.__decorate([
132
+ (0, type_graphql_1.Field)({ nullable: true }),
133
+ tslib_1.__metadata("design:type", Number)
134
+ ], KpiStatisticPatch.prototype, "median", void 0);
135
+ tslib_1.__decorate([
136
+ (0, type_graphql_1.Field)({ nullable: true }),
137
+ tslib_1.__metadata("design:type", Number)
138
+ ], KpiStatisticPatch.prototype, "minimum", void 0);
139
+ tslib_1.__decorate([
140
+ (0, type_graphql_1.Field)({ nullable: true }),
141
+ tslib_1.__metadata("design:type", Number)
142
+ ], KpiStatisticPatch.prototype, "maximum", void 0);
143
+ tslib_1.__decorate([
144
+ (0, type_graphql_1.Field)({ nullable: true }),
145
+ tslib_1.__metadata("design:type", Number)
146
+ ], KpiStatisticPatch.prototype, "standardDeviation", void 0);
147
+ tslib_1.__decorate([
148
+ (0, type_graphql_1.Field)({ nullable: true }),
149
+ tslib_1.__metadata("design:type", Number)
150
+ ], KpiStatisticPatch.prototype, "variance", void 0);
151
+ tslib_1.__decorate([
152
+ (0, type_graphql_1.Field)({ nullable: true }),
153
+ tslib_1.__metadata("design:type", Number)
154
+ ], KpiStatisticPatch.prototype, "percentile25", void 0);
155
+ tslib_1.__decorate([
156
+ (0, type_graphql_1.Field)({ nullable: true }),
157
+ tslib_1.__metadata("design:type", Number)
158
+ ], KpiStatisticPatch.prototype, "percentile75", void 0);
159
+ tslib_1.__decorate([
160
+ (0, type_graphql_1.Field)({ nullable: true }),
161
+ tslib_1.__metadata("design:type", Number)
162
+ ], KpiStatisticPatch.prototype, "iqr", void 0);
163
+ tslib_1.__decorate([
164
+ (0, type_graphql_1.Field)({ nullable: true }),
165
+ tslib_1.__metadata("design:type", Number)
166
+ ], KpiStatisticPatch.prototype, "lowerFence", void 0);
167
+ tslib_1.__decorate([
168
+ (0, type_graphql_1.Field)({ nullable: true }),
169
+ tslib_1.__metadata("design:type", Number)
170
+ ], KpiStatisticPatch.prototype, "upperFence", void 0);
171
+ tslib_1.__decorate([
172
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
173
+ tslib_1.__metadata("design:type", Object)
174
+ ], KpiStatisticPatch.prototype, "additionalStatistics", void 0);
175
+ tslib_1.__decorate([
176
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
177
+ tslib_1.__metadata("design:type", Object)
178
+ ], KpiStatisticPatch.prototype, "metadata", void 0);
179
+ tslib_1.__decorate([
180
+ (0, type_graphql_1.Field)({ nullable: true }),
181
+ tslib_1.__metadata("design:type", String)
182
+ ], KpiStatisticPatch.prototype, "cuFlag", void 0);
183
+ exports.KpiStatisticPatch = KpiStatisticPatch = tslib_1.__decorate([
184
+ (0, type_graphql_1.InputType)()
185
+ ], KpiStatisticPatch);
186
+ let KpiStatisticList = class KpiStatisticList {
187
+ };
188
+ exports.KpiStatisticList = KpiStatisticList;
189
+ tslib_1.__decorate([
190
+ (0, type_graphql_1.Field)(type => [kpi_statistic_js_1.KpiStatistic]),
191
+ tslib_1.__metadata("design:type", Array)
192
+ ], KpiStatisticList.prototype, "items", void 0);
193
+ tslib_1.__decorate([
194
+ (0, type_graphql_1.Field)(type => type_graphql_1.Int),
195
+ tslib_1.__metadata("design:type", Number)
196
+ ], KpiStatisticList.prototype, "total", void 0);
197
+ exports.KpiStatisticList = KpiStatisticList = tslib_1.__decorate([
198
+ (0, type_graphql_1.ObjectType)()
199
+ ], KpiStatisticList);
200
+ //# sourceMappingURL=kpi-statistic-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpi-statistic-type.js","sourceRoot":"","sources":["../../../server/service/kpi-statistic/kpi-statistic-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\nimport { KpiPeriodType } from '../kpi/kpi'\n\nimport { KpiStatistic } from './kpi-statistic.js'\n\n@InputType()\nexport class NewKpiStatistic {\n @Field({ nullable: true })\n kpi?: ObjectRef\n\n @Field({\n description:\n 'Date or period for which this statistic is calculated (e.g., day: YYYY-MM-DD, month: YYYY-MM, quarter: YYYY-Qn, range: YYYY-MM-DD~YYYY-MM-DD).'\n })\n valueDate: string\n\n @Field(type => KpiPeriodType)\n periodType: KpiPeriodType\n\n // 핵심 통계 필드들\n @Field({ nullable: true })\n count?: number\n\n @Field({ nullable: true })\n sum?: number\n\n @Field({ nullable: true })\n range?: number\n\n @Field({ nullable: true })\n mean?: number\n\n @Field({ nullable: true })\n median?: number\n\n @Field({ nullable: true })\n minimum?: number\n\n @Field({ nullable: true })\n maximum?: number\n\n @Field({ nullable: true })\n standardDeviation?: number\n\n @Field({ nullable: true })\n variance?: number\n\n @Field({ nullable: true })\n percentile25?: number\n\n @Field({ nullable: true })\n percentile75?: number\n\n @Field({ nullable: true })\n iqr?: number\n\n @Field({ nullable: true })\n lowerFence?: number\n\n @Field({ nullable: true })\n upperFence?: number\n\n // 확장 필드들\n @Field(type => ScalarObject, { nullable: true })\n additionalStatistics?: { [metricName: string]: number }\n\n @Field(type => ScalarObject, { nullable: true })\n metadata?: { [key: string]: any }\n}\n\n@InputType()\nexport class KpiStatisticPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n kpi?: ObjectRef\n\n @Field({\n nullable: true,\n description:\n 'Date or period for which this statistic is calculated (e.g., day: YYYY-MM-DD, month: YYYY-MM, quarter: YYYY-Qn, range: YYYY-MM-DD~YYYY-MM-DD).'\n })\n valueDate?: string\n\n @Field(type => KpiPeriodType, { nullable: true })\n periodType?: KpiPeriodType\n\n // 핵심 통계 필드들\n @Field({ nullable: true })\n count?: number\n\n @Field({ nullable: true })\n sum?: number\n\n @Field({ nullable: true })\n range?: number\n\n @Field({ nullable: true })\n mean?: number\n\n @Field({ nullable: true })\n median?: number\n\n @Field({ nullable: true })\n minimum?: number\n\n @Field({ nullable: true })\n maximum?: number\n\n @Field({ nullable: true })\n standardDeviation?: number\n\n @Field({ nullable: true })\n variance?: number\n\n @Field({ nullable: true })\n percentile25?: number\n\n @Field({ nullable: true })\n percentile75?: number\n\n @Field({ nullable: true })\n iqr?: number\n\n @Field({ nullable: true })\n lowerFence?: number\n\n @Field({ nullable: true })\n upperFence?: number\n\n // 확장 필드들\n @Field(type => ScalarObject, { nullable: true })\n additionalStatistics?: { [metricName: string]: number }\n\n @Field(type => ScalarObject, { nullable: true })\n metadata?: { [key: string]: any }\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class KpiStatisticList {\n @Field(type => [KpiStatistic])\n items: KpiStatistic[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -0,0 +1,42 @@
1
+ import { Domain } from '@things-factory/shell';
2
+ import { User } from '@things-factory/auth-base';
3
+ import { Kpi, KpiPeriodType } from '../kpi/kpi';
4
+ import { KpiOrgScope } from '../kpi-org-scope/kpi-org-scope';
5
+ export declare class KpiStatistic {
6
+ readonly id: string;
7
+ kpi: Kpi;
8
+ kpiId: string;
9
+ valueDate: string;
10
+ periodType: KpiPeriodType;
11
+ kpiOrgScope?: KpiOrgScope;
12
+ kpiOrgScopeId?: string;
13
+ scope?: string;
14
+ count?: number;
15
+ sum?: number;
16
+ range?: number;
17
+ mean?: number;
18
+ median?: number;
19
+ minimum?: number;
20
+ maximum?: number;
21
+ standardDeviation?: number;
22
+ variance?: number;
23
+ percentile25?: number;
24
+ percentile75?: number;
25
+ iqr?: number;
26
+ lowerFence?: number;
27
+ upperFence?: number;
28
+ additionalStatistics: {
29
+ [metricName: string]: number;
30
+ };
31
+ metadata: {
32
+ [key: string]: any;
33
+ };
34
+ domain?: Domain;
35
+ domainId?: string;
36
+ createdAt?: Date;
37
+ updatedAt?: Date;
38
+ creator?: User;
39
+ creatorId?: string;
40
+ updater?: User;
41
+ updaterId?: string;
42
+ }
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KpiStatistic = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const auth_base_1 = require("@things-factory/auth-base");
9
+ const kpi_1 = require("../kpi/kpi");
10
+ const kpi_org_scope_1 = require("../kpi-org-scope/kpi-org-scope");
11
+ let KpiStatistic = class KpiStatistic {
12
+ };
13
+ exports.KpiStatistic = KpiStatistic;
14
+ tslib_1.__decorate([
15
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
16
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
17
+ tslib_1.__metadata("design:type", String)
18
+ ], KpiStatistic.prototype, "id", void 0);
19
+ tslib_1.__decorate([
20
+ (0, typeorm_1.ManyToOne)(() => kpi_1.Kpi),
21
+ (0, type_graphql_1.Field)(type => kpi_1.Kpi, {
22
+ nullable: true,
23
+ description: 'Reference to the KPI definition for which this value is calculated.'
24
+ }),
25
+ tslib_1.__metadata("design:type", kpi_1.Kpi)
26
+ ], KpiStatistic.prototype, "kpi", void 0);
27
+ tslib_1.__decorate([
28
+ (0, typeorm_1.RelationId)((kpiStatistic) => kpiStatistic.kpi),
29
+ tslib_1.__metadata("design:type", String)
30
+ ], KpiStatistic.prototype, "kpiId", void 0);
31
+ tslib_1.__decorate([
32
+ (0, typeorm_1.Column)(),
33
+ (0, type_graphql_1.Field)({
34
+ description: 'Date or period for which this statistic is calculated (e.g., day: YYYY-MM-DD, month: YYYY-MM, quarter: YYYY-Qn, range: YYYY-MM-DD~YYYY-MM-DD).'
35
+ }),
36
+ tslib_1.__metadata("design:type", String)
37
+ ], KpiStatistic.prototype, "valueDate", void 0);
38
+ tslib_1.__decorate([
39
+ (0, typeorm_1.Column)({ default: 'DAY' }),
40
+ (0, type_graphql_1.Field)(type => kpi_1.KpiPeriodType, { description: 'Aggregation period type for this statistic.' }),
41
+ tslib_1.__metadata("design:type", String)
42
+ ], KpiStatistic.prototype, "periodType", void 0);
43
+ tslib_1.__decorate([
44
+ (0, typeorm_1.ManyToOne)(() => kpi_org_scope_1.KpiOrgScope, { nullable: true }),
45
+ (0, type_graphql_1.Field)(type => kpi_org_scope_1.KpiOrgScope, {
46
+ nullable: true,
47
+ description: 'Organization scope for scoped statistics. Null for overall statistics.'
48
+ }),
49
+ tslib_1.__metadata("design:type", kpi_org_scope_1.KpiOrgScope)
50
+ ], KpiStatistic.prototype, "kpiOrgScope", void 0);
51
+ tslib_1.__decorate([
52
+ (0, typeorm_1.RelationId)((kpiStatistic) => kpiStatistic.kpiOrgScope),
53
+ tslib_1.__metadata("design:type", String)
54
+ ], KpiStatistic.prototype, "kpiOrgScopeId", void 0);
55
+ tslib_1.__decorate([
56
+ (0, typeorm_1.Column)({ nullable: true }),
57
+ (0, type_graphql_1.Field)({
58
+ nullable: true,
59
+ description: 'Legacy scope field - use kpiOrgScope instead. Statistical scope - null for overall statistics, category value for scoped statistics (e.g., "서울", "부장", "대규모")'
60
+ }),
61
+ tslib_1.__metadata("design:type", String)
62
+ ], KpiStatistic.prototype, "scope", void 0);
63
+ tslib_1.__decorate([
64
+ (0, typeorm_1.Column)({ nullable: true }),
65
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Number of data points used in calculation' }),
66
+ tslib_1.__metadata("design:type", Number)
67
+ ], KpiStatistic.prototype, "count", void 0);
68
+ tslib_1.__decorate([
69
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
70
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Sum of all values in the dataset' }),
71
+ tslib_1.__metadata("design:type", Number)
72
+ ], KpiStatistic.prototype, "sum", void 0);
73
+ tslib_1.__decorate([
74
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
75
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Range of values (maximum - minimum)' }),
76
+ tslib_1.__metadata("design:type", Number)
77
+ ], KpiStatistic.prototype, "range", void 0);
78
+ tslib_1.__decorate([
79
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
80
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Arithmetic mean of all values' }),
81
+ tslib_1.__metadata("design:type", Number)
82
+ ], KpiStatistic.prototype, "mean", void 0);
83
+ tslib_1.__decorate([
84
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
85
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Middle value when data is sorted (50th percentile)' }),
86
+ tslib_1.__metadata("design:type", Number)
87
+ ], KpiStatistic.prototype, "median", void 0);
88
+ tslib_1.__decorate([
89
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
90
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Minimum value in the dataset' }),
91
+ tslib_1.__metadata("design:type", Number)
92
+ ], KpiStatistic.prototype, "minimum", void 0);
93
+ tslib_1.__decorate([
94
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
95
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Maximum value in the dataset' }),
96
+ tslib_1.__metadata("design:type", Number)
97
+ ], KpiStatistic.prototype, "maximum", void 0);
98
+ tslib_1.__decorate([
99
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
100
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Standard deviation - measure of data dispersion' }),
101
+ tslib_1.__metadata("design:type", Number)
102
+ ], KpiStatistic.prototype, "standardDeviation", void 0);
103
+ tslib_1.__decorate([
104
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
105
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Variance - square of standard deviation' }),
106
+ tslib_1.__metadata("design:type", Number)
107
+ ], KpiStatistic.prototype, "variance", void 0);
108
+ tslib_1.__decorate([
109
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
110
+ (0, type_graphql_1.Field)({ nullable: true, description: '25th percentile - 25% of data is below this value' }),
111
+ tslib_1.__metadata("design:type", Number)
112
+ ], KpiStatistic.prototype, "percentile25", void 0);
113
+ tslib_1.__decorate([
114
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
115
+ (0, type_graphql_1.Field)({ nullable: true, description: '75th percentile - 75% of data is below this value' }),
116
+ tslib_1.__metadata("design:type", Number)
117
+ ], KpiStatistic.prototype, "percentile75", void 0);
118
+ tslib_1.__decorate([
119
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
120
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Interquartile range (75th percentile - 25th percentile)' }),
121
+ tslib_1.__metadata("design:type", Number)
122
+ ], KpiStatistic.prototype, "iqr", void 0);
123
+ tslib_1.__decorate([
124
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
125
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Lower fence for outlier detection (Q1 - 1.5 * IQR)' }),
126
+ tslib_1.__metadata("design:type", Number)
127
+ ], KpiStatistic.prototype, "lowerFence", void 0);
128
+ tslib_1.__decorate([
129
+ (0, typeorm_1.Column)({ type: 'float', nullable: true }),
130
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Upper fence for outlier detection (Q3 + 1.5 * IQR)' }),
131
+ tslib_1.__metadata("design:type", Number)
132
+ ], KpiStatistic.prototype, "upperFence", void 0);
133
+ tslib_1.__decorate([
134
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
135
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, {
136
+ nullable: true,
137
+ description: 'Additional statistical metrics stored as key-value pairs'
138
+ }),
139
+ tslib_1.__metadata("design:type", Object)
140
+ ], KpiStatistic.prototype, "additionalStatistics", void 0);
141
+ tslib_1.__decorate([
142
+ (0, typeorm_1.Column)('simple-json', { nullable: true }),
143
+ (0, type_graphql_1.Field)(type => shell_1.ScalarObject, {
144
+ nullable: true,
145
+ description: 'Calculation metadata including method, timestamp, and data quality information'
146
+ }),
147
+ tslib_1.__metadata("design:type", Object)
148
+ ], KpiStatistic.prototype, "metadata", void 0);
149
+ tslib_1.__decorate([
150
+ (0, typeorm_1.ManyToOne)(type => shell_1.Domain),
151
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Domain this statistic belongs to' }),
152
+ tslib_1.__metadata("design:type", shell_1.Domain)
153
+ ], KpiStatistic.prototype, "domain", void 0);
154
+ tslib_1.__decorate([
155
+ (0, typeorm_1.RelationId)((kpiStatistic) => kpiStatistic.domain),
156
+ tslib_1.__metadata("design:type", String)
157
+ ], KpiStatistic.prototype, "domainId", void 0);
158
+ tslib_1.__decorate([
159
+ (0, typeorm_1.CreateDateColumn)(),
160
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Timestamp when this statistic was created' }),
161
+ tslib_1.__metadata("design:type", Date)
162
+ ], KpiStatistic.prototype, "createdAt", void 0);
163
+ tslib_1.__decorate([
164
+ (0, typeorm_1.UpdateDateColumn)(),
165
+ (0, type_graphql_1.Field)({ nullable: true, description: 'Timestamp when this statistic was last updated' }),
166
+ tslib_1.__metadata("design:type", Date)
167
+ ], KpiStatistic.prototype, "updatedAt", void 0);
168
+ tslib_1.__decorate([
169
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
170
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true, description: 'User who created this statistic' }),
171
+ tslib_1.__metadata("design:type", auth_base_1.User)
172
+ ], KpiStatistic.prototype, "creator", void 0);
173
+ tslib_1.__decorate([
174
+ (0, typeorm_1.RelationId)((kpiStatistic) => kpiStatistic.creator),
175
+ tslib_1.__metadata("design:type", String)
176
+ ], KpiStatistic.prototype, "creatorId", void 0);
177
+ tslib_1.__decorate([
178
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
179
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true, description: 'User who last updated this statistic' }),
180
+ tslib_1.__metadata("design:type", auth_base_1.User)
181
+ ], KpiStatistic.prototype, "updater", void 0);
182
+ tslib_1.__decorate([
183
+ (0, typeorm_1.RelationId)((kpiStatistic) => kpiStatistic.updater),
184
+ tslib_1.__metadata("design:type", String)
185
+ ], KpiStatistic.prototype, "updaterId", void 0);
186
+ exports.KpiStatistic = KpiStatistic = tslib_1.__decorate([
187
+ (0, typeorm_1.Entity)(),
188
+ (0, typeorm_1.Index)('ix_kpi_statistic_target', (kpiStatistic) => [kpiStatistic.domain, kpiStatistic.kpi]),
189
+ (0, typeorm_1.Index)('ix_kpi_statistic_period', (kpiStatistic) => [
190
+ kpiStatistic.domain,
191
+ kpiStatistic.valueDate,
192
+ kpiStatistic.periodType
193
+ ]),
194
+ (0, typeorm_1.Index)('ix_kpi_statistic_scope', (kpiStatistic) => [
195
+ kpiStatistic.domain,
196
+ kpiStatistic.kpi,
197
+ kpiStatistic.kpiOrgScope,
198
+ kpiStatistic.valueDate
199
+ ]),
200
+ (0, typeorm_1.Index)('ix_kpi_statistic_legacy_scope', (kpiStatistic) => [
201
+ kpiStatistic.domain,
202
+ kpiStatistic.kpi,
203
+ kpiStatistic.scope,
204
+ kpiStatistic.valueDate
205
+ ]),
206
+ (0, type_graphql_1.ObjectType)({
207
+ description: 'KPI Statistics Entity - Stores comprehensive statistical information for KPIs and Categories including central tendency measures (mean, median), dispersion metrics (standard deviation, variance), range indicators (min, max), and percentile distributions (25th, 75th percentiles, IQR). Supports both KPI and Category targets with flexible period-based aggregation (daily, weekly, monthly, yearly). Includes extensible JSON fields for additional metrics and metadata for calculation tracking.'
208
+ })
209
+ ], KpiStatistic);
210
+ //# sourceMappingURL=kpi-statistic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kpi-statistic.js","sourceRoot":"","sources":["../../../server/service/kpi-statistic/kpi-statistic.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn\n} from 'typeorm'\nimport { ObjectType, Field, Int, ID } from 'type-graphql'\n\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Kpi, KpiPeriodType } from '../kpi/kpi'\nimport { KpiOrgScope } from '../kpi-org-scope/kpi-org-scope'\n\n@Entity()\n@Index('ix_kpi_statistic_target', (kpiStatistic: KpiStatistic) => [kpiStatistic.domain, kpiStatistic.kpi])\n@Index('ix_kpi_statistic_period', (kpiStatistic: KpiStatistic) => [\n kpiStatistic.domain,\n kpiStatistic.valueDate,\n kpiStatistic.periodType\n])\n@Index('ix_kpi_statistic_scope', (kpiStatistic: KpiStatistic) => [\n kpiStatistic.domain,\n kpiStatistic.kpi,\n kpiStatistic.kpiOrgScope,\n kpiStatistic.valueDate\n])\n@Index('ix_kpi_statistic_legacy_scope', (kpiStatistic: KpiStatistic) => [\n kpiStatistic.domain,\n kpiStatistic.kpi,\n kpiStatistic.scope,\n kpiStatistic.valueDate\n])\n@ObjectType({\n description:\n 'KPI Statistics Entity - Stores comprehensive statistical information for KPIs and Categories including central tendency measures (mean, median), dispersion metrics (standard deviation, variance), range indicators (min, max), and percentile distributions (25th, 75th percentiles, IQR). Supports both KPI and Category targets with flexible period-based aggregation (daily, weekly, monthly, yearly). Includes extensible JSON fields for additional metrics and metadata for calculation tracking.'\n})\nexport class KpiStatistic {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n // === 대상 정보 ===\n\n @ManyToOne(() => Kpi)\n @Field(type => Kpi, {\n nullable: true,\n description: 'Reference to the KPI definition for which this value is calculated.'\n })\n kpi: Kpi\n\n @RelationId((kpiStatistic: KpiStatistic) => kpiStatistic.kpi)\n kpiId: string\n\n // === 통계 기간 ===\n @Column()\n @Field({\n description:\n 'Date or period for which this statistic is calculated (e.g., day: YYYY-MM-DD, month: YYYY-MM, quarter: YYYY-Qn, range: YYYY-MM-DD~YYYY-MM-DD).'\n })\n valueDate: string\n\n @Column({ default: 'DAY' })\n @Field(type => KpiPeriodType, { description: 'Aggregation period type for this statistic.' })\n periodType: KpiPeriodType\n\n // === 스코프 정보 ===\n \n @ManyToOne(() => KpiOrgScope, { nullable: true })\n @Field(type => KpiOrgScope, {\n nullable: true,\n description: 'Organization scope for scoped statistics. Null for overall statistics.'\n })\n kpiOrgScope?: KpiOrgScope\n\n @RelationId((kpiStatistic: KpiStatistic) => kpiStatistic.kpiOrgScope)\n kpiOrgScopeId?: string\n\n @Column({ nullable: true })\n @Field({ \n nullable: true, \n description: 'Legacy scope field - use kpiOrgScope instead. Statistical scope - null for overall statistics, category value for scoped statistics (e.g., \"서울\", \"부장\", \"대규모\")'\n })\n scope?: string\n\n // === 핵심 통계 필드 (14개) ===\n\n // 1. 기본 정보 (3개)\n @Column({ nullable: true })\n @Field({ nullable: true, description: 'Number of data points used in calculation' })\n count?: number // 데이터 개수\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Sum of all values in the dataset' })\n sum?: number // 합계\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Range of values (maximum - minimum)' })\n range?: number // 범위\n\n // 2. 중심 경향 (2개)\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Arithmetic mean of all values' })\n mean?: number // 평균\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Middle value when data is sorted (50th percentile)' })\n median?: number // 중앙값\n\n // 3. 범위 (2개)\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Minimum value in the dataset' })\n minimum?: number // 최소값\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Maximum value in the dataset' })\n maximum?: number // 최대값\n\n // 4. 분산 (2개)\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Standard deviation - measure of data dispersion' })\n standardDeviation?: number // 표준편차\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Variance - square of standard deviation' })\n variance?: number // 분산\n\n // 5. 분위수 (5개)\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: '25th percentile - 25% of data is below this value' })\n percentile25?: number // 25분위수\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: '75th percentile - 75% of data is below this value' })\n percentile75?: number // 75분위수\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Interquartile range (75th percentile - 25th percentile)' })\n iqr?: number // 사분위수 범위\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Lower fence for outlier detection (Q1 - 1.5 * IQR)' })\n lowerFence?: number // 하위 울타리\n\n @Column({ type: 'float', nullable: true })\n @Field({ nullable: true, description: 'Upper fence for outlier detection (Q3 + 1.5 * IQR)' })\n upperFence?: number // 상위 울타리\n\n // === 확장 가능한 필드 (JSON) ===\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Additional statistical metrics stored as key-value pairs'\n })\n additionalStatistics: {\n [metricName: string]: number\n }\n\n // === 메타데이터 (JSON) ===\n @Column('simple-json', { nullable: true })\n @Field(type => ScalarObject, {\n nullable: true,\n description: 'Calculation metadata including method, timestamp, and data quality information'\n })\n metadata: { [key: string]: any }\n\n // === 표준 필드들 ===\n @ManyToOne(type => Domain)\n @Field({ nullable: true, description: 'Domain this statistic belongs to' })\n domain?: Domain\n\n @RelationId((kpiStatistic: KpiStatistic) => kpiStatistic.domain)\n domainId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true, description: 'Timestamp when this statistic was created' })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true, description: 'Timestamp when this statistic was last updated' })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'User who created this statistic' })\n creator?: User\n\n @RelationId((kpiStatistic: KpiStatistic) => kpiStatistic.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: 'User who last updated this statistic' })\n updater?: User\n\n @RelationId((kpiStatistic: KpiStatistic) => kpiStatistic.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import { KpiValue } from './kpi-value';
2
+ import { KpiValueQuery } from './kpi-value-query';
3
+ import { KpiValueMutation } from './kpi-value-mutation';
4
+ export declare const entities: (typeof KpiValue)[];
5
+ export declare const resolvers: (typeof KpiValueQuery | typeof KpiValueMutation)[];
6
+ export declare const subscribers: any[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.subscribers = exports.resolvers = exports.entities = void 0;
4
+ const kpi_value_1 = require("./kpi-value");
5
+ const kpi_value_query_1 = require("./kpi-value-query");
6
+ const kpi_value_mutation_1 = require("./kpi-value-mutation");
7
+ exports.entities = [kpi_value_1.KpiValue];
8
+ exports.resolvers = [kpi_value_query_1.KpiValueQuery, kpi_value_mutation_1.KpiValueMutation];
9
+ exports.subscribers = [];
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/kpi-value/index.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AACtC,uDAAiD;AACjD,6DAAuD;AAE1C,QAAA,QAAQ,GAAG,CAAC,oBAAQ,CAAC,CAAA;AACrB,QAAA,SAAS,GAAG,CAAC,+BAAa,EAAE,qCAAgB,CAAC,CAAA;AAC7C,QAAA,WAAW,GAAG,EAAE,CAAA","sourcesContent":["import { KpiValue } from './kpi-value'\nimport { KpiValueQuery } from './kpi-value-query'\nimport { KpiValueMutation } from './kpi-value-mutation'\n\nexport const entities = [KpiValue]\nexport const resolvers = [KpiValueQuery, KpiValueMutation]\nexport const subscribers = []\n"]}
@@ -0,0 +1,13 @@
1
+ import { KpiValue } from './kpi-value';
2
+ import { NewKpiValue, KpiValuePatch } from './kpi-value-type';
3
+ export declare class KpiValueMutation {
4
+ createKpiValue(kpiValue: NewKpiValue, context: ResolverContext): Promise<KpiValue>;
5
+ createMultipleKpiValue(values: NewKpiValue[], context: ResolverContext): Promise<KpiValue[]>;
6
+ updateKpiValue(id: string, patch: KpiValuePatch, context: ResolverContext): Promise<KpiValue>;
7
+ updateMultipleKpiValue(patches: KpiValuePatch[], context: ResolverContext): Promise<KpiValue[]>;
8
+ deleteKpiValue(id: string, context: ResolverContext): Promise<boolean>;
9
+ deleteKpiValues(ids: string[], context: ResolverContext): Promise<boolean>;
10
+ importKpiValues(kpiValues: KpiValuePatch[], context: ResolverContext): Promise<boolean>;
11
+ recalculateScoresForKpi(kpiId: string, context: ResolverContext): Promise<boolean>;
12
+ recalculateKpiValue(id: string, context: ResolverContext): Promise<KpiValue>;
13
+ }