@backtest-kit/ui 7.8.0 → 8.0.0
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.
- package/README.md +254 -254
- package/build/index.cjs +309 -6
- package/build/index.mjs +309 -6
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/ace.js +21337 -21337
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/mode-javascript.js +797 -797
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-chrome.js +137 -137
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/theme-twilight.js +115 -115
- package/build/modules/frontend/build/3rdparty/ace_1.4.12/worker-javascript.js +15012 -15012
- package/build/modules/frontend/build/3rdparty/qfchart_0.8.7/echarts.min.js +45 -45
- package/build/modules/frontend/build/assets/{Article-Z1gwQi4C.js → Article-Jdmz7aZ2.js} +1 -1
- package/build/modules/frontend/build/assets/{Background-DS1gKl45.js → Background-EK9k_h9v.js} +1 -1
- package/build/modules/frontend/build/assets/{IconPhoto-BitDk5sL.js → IconPhoto-CDjyp9zD.js} +1 -1
- package/build/modules/frontend/build/assets/{KeyboardArrowLeft-BT0IHVDD.js → KeyboardArrowLeft-Dr0dCIxL.js} +1 -1
- package/build/modules/frontend/build/assets/PictureAsPdfOutlined-HbiH_Q-c.js +1 -0
- package/build/modules/frontend/build/assets/{Refresh-BgupECvn.js → Refresh-B8TqdmHB.js} +1 -1
- package/build/modules/frontend/build/assets/emitters-CSLwhjBD.js +1 -0
- package/build/modules/frontend/build/assets/hasRouteMatch-CikI4OQa.js +1 -0
- package/build/modules/frontend/build/assets/{html2canvas-CxpxaxUC.js → html2canvas-DljqBlXP.js} +1 -1
- package/build/modules/frontend/build/assets/index-0QTAHHmG.js +1 -0
- package/build/modules/frontend/build/assets/{index-C4dzv30q.js → index-BdVXoDcb.js} +1 -1
- package/build/modules/frontend/build/assets/index-Bg-hgDXg.js +1 -0
- package/build/modules/frontend/build/assets/{index-CnRuFJIf.js → index-CJY9g0ao.js} +1 -1
- package/build/modules/frontend/build/assets/index-CtMweBSG.js +1 -0
- package/build/modules/frontend/build/assets/{index-nfZ8sdZp.js → index-DP0KiPHM.js} +1 -1
- package/build/modules/frontend/build/assets/{index-DzrwP4k5.js → index-Dj5yCZBM.js} +56 -56
- package/build/modules/frontend/build/assets/index-DpvQhidl.js +1 -0
- package/build/modules/frontend/build/assets/{index-9YHmY3Zv.js → index-HAAb1Hoc.js} +1 -1
- package/build/modules/frontend/build/assets/index-Qr2GaVV1.js +1 -0
- package/build/modules/frontend/build/assets/index-VbqABn7v.js +1 -0
- package/build/modules/frontend/build/assets/index-cETv4rVS.js +1 -0
- package/build/modules/frontend/build/assets/index-dcGK7g_Z.js +1 -0
- package/build/modules/frontend/build/assets/{index.es-Du6U2Hyj.js → index.es-BNKwZTfP.js} +1 -1
- package/build/modules/frontend/build/assets/{markdownit-SQF1Xc8y.js → markdownit-BHwoI8cd.js} +1 -1
- package/build/modules/frontend/build/index.html +87 -87
- package/build/modules/frontend/build/manifest.json +23 -23
- package/package.json +118 -118
- package/types.d.ts +28 -0
- package/build/modules/frontend/build/assets/emitters-BJfdDGbd.js +0 -1
- package/build/modules/frontend/build/assets/hasRouteMatch-CcXyiBjV.js +0 -1
- package/build/modules/frontend/build/assets/index-1kyziIc7.js +0 -1
- package/build/modules/frontend/build/assets/index-3ZYgMfYi.js +0 -1
- package/build/modules/frontend/build/assets/index-BR0aHfoe.js +0 -1
- package/build/modules/frontend/build/assets/index-Bg2qm7TJ.js +0 -1
- package/build/modules/frontend/build/assets/index-C8Wdopwt.js +0 -1
- package/build/modules/frontend/build/assets/index-CWErSuod.js +0 -1
- package/build/modules/frontend/build/assets/index-J3hGIAw0.js +0 -1
package/build/index.cjs
CHANGED
|
@@ -20,6 +20,8 @@ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentS
|
|
|
20
20
|
const CC_WWWROOT_PATH = process.env.CC_WWWROOT_PATH || "";
|
|
21
21
|
const CC_WWWROOT_HOST = process.env.CC_WWWROOT_HOST || "0.0.0.0";
|
|
22
22
|
const CC_WWWROOT_PORT = parseInt(process.env.CC_WWWROOT_PORT) || 60050;
|
|
23
|
+
const CC_TELEGRAM_CHANNEL = process.env.CC_TELEGRAM_CHANNEL || "";
|
|
24
|
+
const CC_QUICKCHART_HOST = process.env.CC_QUICKCHART_HOST || "";
|
|
23
25
|
const CC_ENABLE_MOCK = !!parseInt(process.env.CC_ENABLE_MOCK) || false;
|
|
24
26
|
|
|
25
27
|
const serveSubject = new functoolsKit.BehaviorSubject();
|
|
@@ -79,6 +81,8 @@ const mockServices$1 = {
|
|
|
79
81
|
explorerMockService: Symbol("explorerMockService"),
|
|
80
82
|
signalMockService: Symbol("signalMockService"),
|
|
81
83
|
heatMockService: Symbol("heatMockService"),
|
|
84
|
+
performanceMockService: Symbol("performanceMockService"),
|
|
85
|
+
environmentMockService: Symbol("environmentMockService"),
|
|
82
86
|
};
|
|
83
87
|
const viewServices$1 = {
|
|
84
88
|
notificationViewService: Symbol("notificationViewService"),
|
|
@@ -90,6 +94,8 @@ const viewServices$1 = {
|
|
|
90
94
|
explorerViewService: Symbol("explorerViewService"),
|
|
91
95
|
signalViewService: Symbol("signalViewService"),
|
|
92
96
|
heatViewService: Symbol("heatViewService"),
|
|
97
|
+
performanceViewService: Symbol("performanceViewService"),
|
|
98
|
+
environmentViewService: Symbol("environmentViewService"),
|
|
93
99
|
};
|
|
94
100
|
const TYPES = {
|
|
95
101
|
...baseServices$1,
|
|
@@ -770,14 +776,14 @@ class SignalMockService {
|
|
|
770
776
|
}
|
|
771
777
|
}
|
|
772
778
|
|
|
773
|
-
const MOCK_DATA_PATH = "./mock/heat.json";
|
|
774
|
-
const MOCK_REPORT_PATH = "./mock/heat-report.md";
|
|
779
|
+
const MOCK_DATA_PATH$2 = "./mock/heat.json";
|
|
780
|
+
const MOCK_REPORT_PATH$1 = "./mock/heat-report.md";
|
|
775
781
|
const READ_HEAT_DATA_FN = functoolsKit.singleshot(async () => {
|
|
776
|
-
const data = await fs.readFile(MOCK_DATA_PATH, "utf-8");
|
|
782
|
+
const data = await fs.readFile(MOCK_DATA_PATH$2, "utf-8");
|
|
777
783
|
return JSON.parse(data);
|
|
778
784
|
});
|
|
779
785
|
const READ_HEAT_REPORT_FN = functoolsKit.singleshot(async () => {
|
|
780
|
-
return await fs.readFile(MOCK_REPORT_PATH, "utf-8");
|
|
786
|
+
return await fs.readFile(MOCK_REPORT_PATH$1, "utf-8");
|
|
781
787
|
});
|
|
782
788
|
class HeatMockService {
|
|
783
789
|
constructor() {
|
|
@@ -1218,7 +1224,7 @@ class StatusViewService {
|
|
|
1218
1224
|
portfolioTotalPnl: currentHeat.portfolioTotalPnl,
|
|
1219
1225
|
portfolioSharpeRatio: currentHeat.portfolioSharpeRatio,
|
|
1220
1226
|
portfolioTotalTrades: currentHeat.portfolioTotalTrades,
|
|
1221
|
-
symbols: currentHeat.symbols.map(({ symbol, totalPnl, winRate, profitFactor, maxDrawdown, expectancy, totalTrades }) => ({
|
|
1227
|
+
symbols: currentHeat.symbols.map(({ symbol, totalPnl, winRate, profitFactor, maxDrawdown, expectancy, totalTrades, sortinoRatio, calmarRatio, recoveryFactor }) => ({
|
|
1222
1228
|
symbol,
|
|
1223
1229
|
totalPnl,
|
|
1224
1230
|
winRate,
|
|
@@ -1226,6 +1232,9 @@ class StatusViewService {
|
|
|
1226
1232
|
maxDrawdown,
|
|
1227
1233
|
expectancy,
|
|
1228
1234
|
totalTrades,
|
|
1235
|
+
sortinoRatio,
|
|
1236
|
+
calmarRatio,
|
|
1237
|
+
recoveryFactor,
|
|
1229
1238
|
})),
|
|
1230
1239
|
backtest: true,
|
|
1231
1240
|
};
|
|
@@ -1248,7 +1257,7 @@ class StatusViewService {
|
|
|
1248
1257
|
portfolioTotalPnl: currentHeat.portfolioTotalPnl,
|
|
1249
1258
|
portfolioSharpeRatio: currentHeat.portfolioSharpeRatio,
|
|
1250
1259
|
portfolioTotalTrades: currentHeat.portfolioTotalTrades,
|
|
1251
|
-
symbols: currentHeat.symbols.map(({ symbol, totalPnl, winRate, profitFactor, maxDrawdown, expectancy, totalTrades }) => ({
|
|
1260
|
+
symbols: currentHeat.symbols.map(({ symbol, totalPnl, winRate, profitFactor, maxDrawdown, expectancy, totalTrades, sortinoRatio, calmarRatio, recoveryFactor }) => ({
|
|
1252
1261
|
symbol,
|
|
1253
1262
|
totalPnl,
|
|
1254
1263
|
winRate,
|
|
@@ -1256,6 +1265,9 @@ class StatusViewService {
|
|
|
1256
1265
|
maxDrawdown,
|
|
1257
1266
|
expectancy,
|
|
1258
1267
|
totalTrades,
|
|
1268
|
+
sortinoRatio,
|
|
1269
|
+
calmarRatio,
|
|
1270
|
+
recoveryFactor,
|
|
1259
1271
|
})),
|
|
1260
1272
|
backtest: false,
|
|
1261
1273
|
};
|
|
@@ -1836,6 +1848,117 @@ class LiveMetaService {
|
|
|
1836
1848
|
}
|
|
1837
1849
|
}
|
|
1838
1850
|
|
|
1851
|
+
const MOCK_DATA_PATH$1 = "./mock/performance.json";
|
|
1852
|
+
const MOCK_REPORT_PATH = "./mock/performance-report.md";
|
|
1853
|
+
const READ_PERFORMANCE_DATA_FN = functoolsKit.singleshot(async () => {
|
|
1854
|
+
const data = await fs.readFile(MOCK_DATA_PATH$1, "utf-8");
|
|
1855
|
+
return JSON.parse(data);
|
|
1856
|
+
});
|
|
1857
|
+
const READ_PERFORMANCE_REPORT_FN = functoolsKit.singleshot(async () => {
|
|
1858
|
+
return await fs.readFile(MOCK_REPORT_PATH, "utf-8");
|
|
1859
|
+
});
|
|
1860
|
+
class PerformanceMockService {
|
|
1861
|
+
constructor() {
|
|
1862
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
1863
|
+
this.getPerformanceData = async () => {
|
|
1864
|
+
this.loggerService.log("performanceMockService getPerformanceData");
|
|
1865
|
+
return await READ_PERFORMANCE_DATA_FN();
|
|
1866
|
+
};
|
|
1867
|
+
this.getPerformanceReport = async () => {
|
|
1868
|
+
this.loggerService.log("performanceMockService getPerformanceReport");
|
|
1869
|
+
return await READ_PERFORMANCE_REPORT_FN();
|
|
1870
|
+
};
|
|
1871
|
+
}
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
const MOCK_DATA_PATH = "./mock/environment.json";
|
|
1875
|
+
const READ_ENVIRONMENT_DATA_FN = functoolsKit.singleshot(async () => {
|
|
1876
|
+
const data = await fs.readFile(MOCK_DATA_PATH, "utf-8");
|
|
1877
|
+
return JSON.parse(data);
|
|
1878
|
+
});
|
|
1879
|
+
class EnvironmentMockService {
|
|
1880
|
+
constructor() {
|
|
1881
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
1882
|
+
this.getEnvironmentData = async () => {
|
|
1883
|
+
this.loggerService.log("environmentMockService getEnvironmentData");
|
|
1884
|
+
return await READ_ENVIRONMENT_DATA_FN();
|
|
1885
|
+
};
|
|
1886
|
+
}
|
|
1887
|
+
}
|
|
1888
|
+
|
|
1889
|
+
class PerformanceViewService {
|
|
1890
|
+
constructor() {
|
|
1891
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
1892
|
+
this.performanceMockService = inject(TYPES.performanceMockService);
|
|
1893
|
+
this.getPerformanceData = async () => {
|
|
1894
|
+
this.loggerService.log("performanceViewService getPerformanceData");
|
|
1895
|
+
if (CC_ENABLE_MOCK) {
|
|
1896
|
+
return await this.performanceMockService.getPerformanceData();
|
|
1897
|
+
}
|
|
1898
|
+
const [backtestItem] = await backtestKit.Backtest.list();
|
|
1899
|
+
const [liveItem] = await backtestKit.Live.list();
|
|
1900
|
+
if (backtestItem) {
|
|
1901
|
+
return await backtestKit.Performance.getData(backtestItem.symbol, {
|
|
1902
|
+
strategyName: backtestItem.strategyName,
|
|
1903
|
+
exchangeName: backtestItem.exchangeName,
|
|
1904
|
+
frameName: backtestItem.frameName,
|
|
1905
|
+
}, true);
|
|
1906
|
+
}
|
|
1907
|
+
if (liveItem) {
|
|
1908
|
+
return await backtestKit.Performance.getData(liveItem.symbol, {
|
|
1909
|
+
strategyName: liveItem.strategyName,
|
|
1910
|
+
exchangeName: liveItem.exchangeName,
|
|
1911
|
+
frameName: "",
|
|
1912
|
+
}, false);
|
|
1913
|
+
}
|
|
1914
|
+
return null;
|
|
1915
|
+
};
|
|
1916
|
+
this.getPerformanceReport = async () => {
|
|
1917
|
+
this.loggerService.log("performanceViewService getPerformanceReport");
|
|
1918
|
+
if (CC_ENABLE_MOCK) {
|
|
1919
|
+
return await this.performanceMockService.getPerformanceReport();
|
|
1920
|
+
}
|
|
1921
|
+
const [backtestItem] = await backtestKit.Backtest.list();
|
|
1922
|
+
const [liveItem] = await backtestKit.Live.list();
|
|
1923
|
+
if (backtestItem) {
|
|
1924
|
+
return await backtestKit.Performance.getReport(backtestItem.symbol, {
|
|
1925
|
+
strategyName: backtestItem.strategyName,
|
|
1926
|
+
exchangeName: backtestItem.exchangeName,
|
|
1927
|
+
frameName: backtestItem.frameName,
|
|
1928
|
+
}, true);
|
|
1929
|
+
}
|
|
1930
|
+
if (liveItem) {
|
|
1931
|
+
return await backtestKit.Performance.getReport(liveItem.symbol, {
|
|
1932
|
+
strategyName: liveItem.strategyName,
|
|
1933
|
+
exchangeName: liveItem.exchangeName,
|
|
1934
|
+
frameName: "",
|
|
1935
|
+
}, false);
|
|
1936
|
+
}
|
|
1937
|
+
return null;
|
|
1938
|
+
};
|
|
1939
|
+
}
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
class EnvironmentViewService {
|
|
1943
|
+
constructor() {
|
|
1944
|
+
this.loggerService = inject(TYPES.loggerService);
|
|
1945
|
+
this.enviromentMockService = inject(TYPES.environmentMockService);
|
|
1946
|
+
this.getEnvironmentData = async () => {
|
|
1947
|
+
this.loggerService.log("environmentViewService getEnvironmentData");
|
|
1948
|
+
if (CC_ENABLE_MOCK) {
|
|
1949
|
+
return await this.enviromentMockService.getEnvironmentData();
|
|
1950
|
+
}
|
|
1951
|
+
return {
|
|
1952
|
+
quickchart_host: CC_QUICKCHART_HOST,
|
|
1953
|
+
telegram_channel: CC_TELEGRAM_CHANNEL,
|
|
1954
|
+
wwwroot_host: CC_WWWROOT_HOST,
|
|
1955
|
+
wwwroot_path: CC_WWWROOT_PATH,
|
|
1956
|
+
wwwroot_port: CC_WWWROOT_PORT,
|
|
1957
|
+
};
|
|
1958
|
+
};
|
|
1959
|
+
}
|
|
1960
|
+
}
|
|
1961
|
+
|
|
1839
1962
|
{
|
|
1840
1963
|
provide(TYPES.loggerService, () => new LoggerService());
|
|
1841
1964
|
provide(TYPES.exchangeService, () => new ExchangeService());
|
|
@@ -1859,6 +1982,8 @@ class LiveMetaService {
|
|
|
1859
1982
|
provide(TYPES.explorerMockService, () => new ExplorerMockService());
|
|
1860
1983
|
provide(TYPES.signalMockService, () => new SignalMockService());
|
|
1861
1984
|
provide(TYPES.heatMockService, () => new HeatMockService());
|
|
1985
|
+
provide(TYPES.performanceMockService, () => new PerformanceMockService());
|
|
1986
|
+
provide(TYPES.environmentMockService, () => new EnvironmentMockService());
|
|
1862
1987
|
}
|
|
1863
1988
|
{
|
|
1864
1989
|
provide(TYPES.notificationViewService, () => new NotificationViewService());
|
|
@@ -1870,6 +1995,8 @@ class LiveMetaService {
|
|
|
1870
1995
|
provide(TYPES.explorerViewService, () => new ExplorerViewService());
|
|
1871
1996
|
provide(TYPES.signalViewService, () => new SignalViewService());
|
|
1872
1997
|
provide(TYPES.heatViewService, () => new HeatViewService());
|
|
1998
|
+
provide(TYPES.performanceViewService, () => new PerformanceViewService());
|
|
1999
|
+
provide(TYPES.environmentViewService, () => new EnvironmentViewService());
|
|
1873
2000
|
}
|
|
1874
2001
|
|
|
1875
2002
|
const baseServices = {
|
|
@@ -1895,6 +2022,8 @@ const mockServices = {
|
|
|
1895
2022
|
explorerMockService: inject(TYPES.explorerMockService),
|
|
1896
2023
|
signalMockService: inject(TYPES.signalMockService),
|
|
1897
2024
|
heatMockService: inject(TYPES.heatMockService),
|
|
2025
|
+
performanceMockService: inject(TYPES.performanceMockService),
|
|
2026
|
+
environmentMockService: inject(TYPES.environmentMockService),
|
|
1898
2027
|
};
|
|
1899
2028
|
const viewServices = {
|
|
1900
2029
|
notificationViewService: inject(TYPES.notificationViewService),
|
|
@@ -1906,6 +2035,8 @@ const viewServices = {
|
|
|
1906
2035
|
explorerViewService: inject(TYPES.explorerViewService),
|
|
1907
2036
|
signalViewService: inject(TYPES.signalViewService),
|
|
1908
2037
|
heatViewService: inject(TYPES.heatViewService),
|
|
2038
|
+
performanceViewService: inject(TYPES.performanceViewService),
|
|
2039
|
+
environmentViewService: inject(TYPES.environmentViewService),
|
|
1909
2040
|
};
|
|
1910
2041
|
const ioc = {
|
|
1911
2042
|
...baseServices,
|
|
@@ -2530,6 +2661,92 @@ router$a.post("/api/v1/mock/status_info", async (req, res) => {
|
|
|
2530
2661
|
});
|
|
2531
2662
|
}
|
|
2532
2663
|
});
|
|
2664
|
+
// PerformanceMockService endpoints
|
|
2665
|
+
router$a.post("/api/v1/mock/performance_data", async (req, res) => {
|
|
2666
|
+
try {
|
|
2667
|
+
const request = await micro.json(req);
|
|
2668
|
+
const { requestId, serviceName } = request;
|
|
2669
|
+
const data = await ioc.performanceMockService.getPerformanceData();
|
|
2670
|
+
const result = {
|
|
2671
|
+
data,
|
|
2672
|
+
status: "ok",
|
|
2673
|
+
error: "",
|
|
2674
|
+
requestId,
|
|
2675
|
+
serviceName,
|
|
2676
|
+
};
|
|
2677
|
+
ioc.loggerService.log("/api/v1/mock/performance_data ok", {
|
|
2678
|
+
request,
|
|
2679
|
+
result: omit(result, "data"),
|
|
2680
|
+
});
|
|
2681
|
+
return await micro.send(res, 200, result);
|
|
2682
|
+
}
|
|
2683
|
+
catch (error) {
|
|
2684
|
+
ioc.loggerService.log("/api/v1/mock/performance_data error", {
|
|
2685
|
+
error: functoolsKit.errorData(error),
|
|
2686
|
+
});
|
|
2687
|
+
return await micro.send(res, 200, {
|
|
2688
|
+
status: "error",
|
|
2689
|
+
error: functoolsKit.getErrorMessage(error),
|
|
2690
|
+
});
|
|
2691
|
+
}
|
|
2692
|
+
});
|
|
2693
|
+
router$a.post("/api/v1/mock/performance_report", async (req, res) => {
|
|
2694
|
+
try {
|
|
2695
|
+
const request = await micro.json(req);
|
|
2696
|
+
const { requestId, serviceName } = request;
|
|
2697
|
+
const data = await ioc.performanceMockService.getPerformanceReport();
|
|
2698
|
+
const result = {
|
|
2699
|
+
data,
|
|
2700
|
+
status: "ok",
|
|
2701
|
+
error: "",
|
|
2702
|
+
requestId,
|
|
2703
|
+
serviceName,
|
|
2704
|
+
};
|
|
2705
|
+
ioc.loggerService.log("/api/v1/mock/performance_report ok", {
|
|
2706
|
+
request,
|
|
2707
|
+
result: omit(result, "data"),
|
|
2708
|
+
});
|
|
2709
|
+
return await micro.send(res, 200, result);
|
|
2710
|
+
}
|
|
2711
|
+
catch (error) {
|
|
2712
|
+
ioc.loggerService.log("/api/v1/mock/performance_report error", {
|
|
2713
|
+
error: functoolsKit.errorData(error),
|
|
2714
|
+
});
|
|
2715
|
+
return await micro.send(res, 200, {
|
|
2716
|
+
status: "error",
|
|
2717
|
+
error: functoolsKit.getErrorMessage(error),
|
|
2718
|
+
});
|
|
2719
|
+
}
|
|
2720
|
+
});
|
|
2721
|
+
// EnvironmentMockService endpoints
|
|
2722
|
+
router$a.post("/api/v1/mock/environment_data", async (req, res) => {
|
|
2723
|
+
try {
|
|
2724
|
+
const request = await micro.json(req);
|
|
2725
|
+
const { requestId, serviceName } = request;
|
|
2726
|
+
const data = await ioc.environmentMockService.getEnvironmentData();
|
|
2727
|
+
const result = {
|
|
2728
|
+
data,
|
|
2729
|
+
status: "ok",
|
|
2730
|
+
error: "",
|
|
2731
|
+
requestId,
|
|
2732
|
+
serviceName,
|
|
2733
|
+
};
|
|
2734
|
+
ioc.loggerService.log("/api/v1/mock/environment_data ok", {
|
|
2735
|
+
request,
|
|
2736
|
+
result: omit(result, "data"),
|
|
2737
|
+
});
|
|
2738
|
+
return await micro.send(res, 200, result);
|
|
2739
|
+
}
|
|
2740
|
+
catch (error) {
|
|
2741
|
+
ioc.loggerService.log("/api/v1/mock/environment_data error", {
|
|
2742
|
+
error: functoolsKit.errorData(error),
|
|
2743
|
+
});
|
|
2744
|
+
return await micro.send(res, 200, {
|
|
2745
|
+
status: "error",
|
|
2746
|
+
error: functoolsKit.getErrorMessage(error),
|
|
2747
|
+
});
|
|
2748
|
+
}
|
|
2749
|
+
});
|
|
2533
2750
|
|
|
2534
2751
|
const router$9 = Router({
|
|
2535
2752
|
params: true,
|
|
@@ -3145,6 +3362,92 @@ router$9.post("/api/v1/view/status_info", async (req, res) => {
|
|
|
3145
3362
|
});
|
|
3146
3363
|
}
|
|
3147
3364
|
});
|
|
3365
|
+
// PerformanceViewService endpoints
|
|
3366
|
+
router$9.post("/api/v1/view/performance_data", async (req, res) => {
|
|
3367
|
+
try {
|
|
3368
|
+
const request = await micro.json(req);
|
|
3369
|
+
const { requestId, serviceName } = request;
|
|
3370
|
+
const data = await ioc.performanceViewService.getPerformanceData();
|
|
3371
|
+
const result = {
|
|
3372
|
+
data,
|
|
3373
|
+
status: "ok",
|
|
3374
|
+
error: "",
|
|
3375
|
+
requestId,
|
|
3376
|
+
serviceName,
|
|
3377
|
+
};
|
|
3378
|
+
ioc.loggerService.log("/api/v1/view/performance_data ok", {
|
|
3379
|
+
request,
|
|
3380
|
+
result: omit(result, "data"),
|
|
3381
|
+
});
|
|
3382
|
+
return await micro.send(res, 200, result);
|
|
3383
|
+
}
|
|
3384
|
+
catch (error) {
|
|
3385
|
+
ioc.loggerService.log("/api/v1/view/performance_data error", {
|
|
3386
|
+
error: functoolsKit.errorData(error),
|
|
3387
|
+
});
|
|
3388
|
+
return await micro.send(res, 200, {
|
|
3389
|
+
status: "error",
|
|
3390
|
+
error: functoolsKit.getErrorMessage(error),
|
|
3391
|
+
});
|
|
3392
|
+
}
|
|
3393
|
+
});
|
|
3394
|
+
router$9.post("/api/v1/view/performance_report", async (req, res) => {
|
|
3395
|
+
try {
|
|
3396
|
+
const request = await micro.json(req);
|
|
3397
|
+
const { requestId, serviceName } = request;
|
|
3398
|
+
const data = await ioc.performanceViewService.getPerformanceReport();
|
|
3399
|
+
const result = {
|
|
3400
|
+
data,
|
|
3401
|
+
status: "ok",
|
|
3402
|
+
error: "",
|
|
3403
|
+
requestId,
|
|
3404
|
+
serviceName,
|
|
3405
|
+
};
|
|
3406
|
+
ioc.loggerService.log("/api/v1/view/performance_report ok", {
|
|
3407
|
+
request,
|
|
3408
|
+
result: omit(result, "data"),
|
|
3409
|
+
});
|
|
3410
|
+
return await micro.send(res, 200, result);
|
|
3411
|
+
}
|
|
3412
|
+
catch (error) {
|
|
3413
|
+
ioc.loggerService.log("/api/v1/view/performance_report error", {
|
|
3414
|
+
error: functoolsKit.errorData(error),
|
|
3415
|
+
});
|
|
3416
|
+
return await micro.send(res, 200, {
|
|
3417
|
+
status: "error",
|
|
3418
|
+
error: functoolsKit.getErrorMessage(error),
|
|
3419
|
+
});
|
|
3420
|
+
}
|
|
3421
|
+
});
|
|
3422
|
+
// EnvironmentViewService endpoints
|
|
3423
|
+
router$9.post("/api/v1/view/environment_data", async (req, res) => {
|
|
3424
|
+
try {
|
|
3425
|
+
const request = await micro.json(req);
|
|
3426
|
+
const { requestId, serviceName } = request;
|
|
3427
|
+
const data = await ioc.environmentViewService.getEnvironmentData();
|
|
3428
|
+
const result = {
|
|
3429
|
+
data,
|
|
3430
|
+
status: "ok",
|
|
3431
|
+
error: "",
|
|
3432
|
+
requestId,
|
|
3433
|
+
serviceName,
|
|
3434
|
+
};
|
|
3435
|
+
ioc.loggerService.log("/api/v1/view/environment_data ok", {
|
|
3436
|
+
request,
|
|
3437
|
+
result: omit(result, "data"),
|
|
3438
|
+
});
|
|
3439
|
+
return await micro.send(res, 200, result);
|
|
3440
|
+
}
|
|
3441
|
+
catch (error) {
|
|
3442
|
+
ioc.loggerService.log("/api/v1/view/environment_data error", {
|
|
3443
|
+
error: functoolsKit.errorData(error),
|
|
3444
|
+
});
|
|
3445
|
+
return await micro.send(res, 200, {
|
|
3446
|
+
status: "error",
|
|
3447
|
+
error: functoolsKit.getErrorMessage(error),
|
|
3448
|
+
});
|
|
3449
|
+
}
|
|
3450
|
+
});
|
|
3148
3451
|
|
|
3149
3452
|
const require$2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href)));
|
|
3150
3453
|
function getModulesPath() {
|