medusa-stats 1.0.5
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/.medusa/server/src/admin/composite.png +0 -0
- package/.medusa/server/src/admin/index.js +10512 -0
- package/.medusa/server/src/admin/index.mjs +10510 -0
- package/.medusa/server/src/admin/params.png +0 -0
- package/.medusa/server/src/admin/view.png +0 -0
- package/.medusa/server/src/admin/visualizations.png +0 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/[id]/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alert-logs/route.js +33 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/logs/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/logs/route.js +23 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/route.js +64 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/toggle/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/alerts/[id]/toggle/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/alerts/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/statistics/alerts/route.js +94 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/statistics/route.d.ts +15 -0
- package/.medusa/server/src/api/admin/statistics/charts/[id]/statistics/route.js +40 -0
- package/.medusa/server/src/api/admin/statistics/charts/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/statistics/charts/route.js +55 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/calculate/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/calculate/route.js +23 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/clone/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/clone/route.js +15 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/options/[id]/route.js +69 -0
- package/.medusa/server/src/api/admin/statistics/options/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/statistics/options/route.js +87 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/statistics/route.d.ts +6 -0
- package/.medusa/server/src/api/admin/statistics/providers/[id]/statistics/route.js +18 -0
- package/.medusa/server/src/api/admin/statistics/providers/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/providers/route.js +57 -0
- package/.medusa/server/src/api/admin/statistics/utils/option-graph.d.ts +3 -0
- package/.medusa/server/src/api/admin/statistics/utils/option-graph.js +34 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/calculate/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/calculate/route.js +21 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/clone/route.d.ts +7 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/clone/route.js +21 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/route.d.ts +17 -0
- package/.medusa/server/src/api/admin/statistics/views/[id]/route.js +71 -0
- package/.medusa/server/src/api/admin/statistics/views/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/statistics/views/route.js +74 -0
- package/.medusa/server/src/api/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/middlewares.js +194 -0
- package/.medusa/server/src/api/validation/statistics/schemas.d.ts +1013 -0
- package/.medusa/server/src/api/validation/statistics/schemas.js +288 -0
- package/.medusa/server/src/index.d.ts +1 -0
- package/.medusa/server/src/index.js +18 -0
- package/.medusa/server/src/jobs/evaluate-statistics-alerts.d.ts +6 -0
- package/.medusa/server/src/jobs/evaluate-statistics-alerts.js +110 -0
- package/.medusa/server/src/links/statistics-alert-user.d.ts +2 -0
- package/.medusa/server/src/links/statistics-alert-user.js +16 -0
- package/.medusa/server/src/links/statistics-option-user.d.ts +2 -0
- package/.medusa/server/src/links/statistics-option-user.js +16 -0
- package/.medusa/server/src/loaders/statistics/index.d.ts +5 -0
- package/.medusa/server/src/loaders/statistics/index.js +47 -0
- package/.medusa/server/src/modules/statistics/index.d.ts +107 -0
- package/.medusa/server/src/modules/statistics/index.js +32 -0
- package/.medusa/server/src/modules/statistics/migrations/Migration20260223131741.d.ts +5 -0
- package/.medusa/server/src/modules/statistics/migrations/Migration20260223131741.js +57 -0
- package/.medusa/server/src/modules/statistics/models/alert-log.d.ts +74 -0
- package/.medusa/server/src/modules/statistics/models/alert-log.js +16 -0
- package/.medusa/server/src/modules/statistics/models/alert.d.ts +74 -0
- package/.medusa/server/src/modules/statistics/models/alert.js +24 -0
- package/.medusa/server/src/modules/statistics/models/chart.d.ts +81 -0
- package/.medusa/server/src/modules/statistics/models/chart.js +28 -0
- package/.medusa/server/src/modules/statistics/models/index.d.ts +7 -0
- package/.medusa/server/src/modules/statistics/models/index.js +24 -0
- package/.medusa/server/src/modules/statistics/models/option-input.d.ts +135 -0
- package/.medusa/server/src/modules/statistics/models/option-input.js +27 -0
- package/.medusa/server/src/modules/statistics/models/option.d.ts +78 -0
- package/.medusa/server/src/modules/statistics/models/option.js +41 -0
- package/.medusa/server/src/modules/statistics/models/provider.d.ts +75 -0
- package/.medusa/server/src/modules/statistics/models/provider.js +15 -0
- package/.medusa/server/src/modules/statistics/models/view.d.ts +79 -0
- package/.medusa/server/src/modules/statistics/models/view.js +30 -0
- package/.medusa/server/src/modules/statistics/providers/index.d.ts +1 -0
- package/.medusa/server/src/modules/statistics/providers/index.js +18 -0
- package/.medusa/server/src/modules/statistics/providers/provider.d.ts +254 -0
- package/.medusa/server/src/modules/statistics/providers/provider.js +307 -0
- package/.medusa/server/src/modules/statistics/service.d.ts +953 -0
- package/.medusa/server/src/modules/statistics/service.js +190 -0
- package/.medusa/server/src/modules/statistics/utils/dependency-option-map.d.ts +13 -0
- package/.medusa/server/src/modules/statistics/utils/dependency-option-map.js +67 -0
- package/.medusa/server/src/modules/statistics/utils/period-utils.d.ts +23 -0
- package/.medusa/server/src/modules/statistics/utils/period-utils.js +78 -0
- package/.medusa/server/src/modules/statistics/utils/time-series-utils.d.ts +6 -0
- package/.medusa/server/src/modules/statistics/utils/time-series-utils.js +8 -0
- package/.medusa/server/src/providers/common/index.d.ts +2 -0
- package/.medusa/server/src/providers/common/index.js +1232 -0
- package/.medusa/server/src/providers/composite/index.d.ts +2 -0
- package/.medusa/server/src/providers/composite/index.js +147 -0
- package/.medusa/server/src/workflows/statistics/calculate-single-statistic.d.ts +15 -0
- package/.medusa/server/src/workflows/statistics/calculate-single-statistic.js +28 -0
- package/.medusa/server/src/workflows/statistics/calculate-statistics.d.ts +20 -0
- package/.medusa/server/src/workflows/statistics/calculate-statistics.js +15 -0
- package/.medusa/server/src/workflows/statistics/calculate-view.d.ts +31 -0
- package/.medusa/server/src/workflows/statistics/calculate-view.js +30 -0
- package/.medusa/server/src/workflows/statistics/clone-view.d.ts +227 -0
- package/.medusa/server/src/workflows/statistics/clone-view.js +10 -0
- package/.medusa/server/src/workflows/statistics/create-alert.d.ts +139 -0
- package/.medusa/server/src/workflows/statistics/create-alert.js +12 -0
- package/.medusa/server/src/workflows/statistics/create-chart.d.ts +122 -0
- package/.medusa/server/src/workflows/statistics/create-chart.js +14 -0
- package/.medusa/server/src/workflows/statistics/create-view-with-options.d.ts +1342 -0
- package/.medusa/server/src/workflows/statistics/create-view-with-options.js +29 -0
- package/.medusa/server/src/workflows/statistics/delete-chart.d.ts +10 -0
- package/.medusa/server/src/workflows/statistics/delete-chart.js +14 -0
- package/.medusa/server/src/workflows/statistics/evaluate-alerts.d.ts +28 -0
- package/.medusa/server/src/workflows/statistics/evaluate-alerts.js +67 -0
- package/.medusa/server/src/workflows/statistics/get-available-statistics.d.ts +5 -0
- package/.medusa/server/src/workflows/statistics/get-available-statistics.js +10 -0
- package/.medusa/server/src/workflows/statistics/index.d.ts +14 -0
- package/.medusa/server/src/workflows/statistics/index.js +31 -0
- package/.medusa/server/src/workflows/statistics/manage-chart-statistics.d.ts +12 -0
- package/.medusa/server/src/workflows/statistics/manage-chart-statistics.js +14 -0
- package/.medusa/server/src/workflows/statistics/steps/calculate-statistics.d.ts +37 -0
- package/.medusa/server/src/workflows/statistics/steps/calculate-statistics.js +222 -0
- package/.medusa/server/src/workflows/statistics/steps/clone-view.d.ts +227 -0
- package/.medusa/server/src/workflows/statistics/steps/clone-view.js +39 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert-log-entries.d.ts +17 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert-log-entries.js +50 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert.d.ts +120 -0
- package/.medusa/server/src/workflows/statistics/steps/create-alert.js +21 -0
- package/.medusa/server/src/workflows/statistics/steps/create-chart.d.ts +118 -0
- package/.medusa/server/src/workflows/statistics/steps/create-chart.js +19 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-options.d.ts +117 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-options.js +16 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-view.d.ts +119 -0
- package/.medusa/server/src/workflows/statistics/steps/create-statistics-view.js +16 -0
- package/.medusa/server/src/workflows/statistics/steps/dedupe-alerts.d.ts +22 -0
- package/.medusa/server/src/workflows/statistics/steps/dedupe-alerts.js +64 -0
- package/.medusa/server/src/workflows/statistics/steps/delete-chart.d.ts +6 -0
- package/.medusa/server/src/workflows/statistics/steps/delete-chart.js +17 -0
- package/.medusa/server/src/workflows/statistics/steps/emit-alert-events.d.ts +17 -0
- package/.medusa/server/src/workflows/statistics/steps/emit-alert-events.js +41 -0
- package/.medusa/server/src/workflows/statistics/steps/evaluate-each-condition.d.ts +15 -0
- package/.medusa/server/src/workflows/statistics/steps/evaluate-each-condition.js +109 -0
- package/.medusa/server/src/workflows/statistics/steps/extract-alert-values.d.ts +12 -0
- package/.medusa/server/src/workflows/statistics/steps/extract-alert-values.js +86 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-active-alerts-for-option.d.ts +112 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-active-alerts-for-option.js +16 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-available-statistics.d.ts +4 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-available-statistics.js +39 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-option-with-relations.d.ts +112 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-option-with-relations.js +11 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-view-with-options.d.ts +112 -0
- package/.medusa/server/src/workflows/statistics/steps/fetch-view-with-options.js +20 -0
- package/.medusa/server/src/workflows/statistics/steps/manage-chart-statistics.d.ts +8 -0
- package/.medusa/server/src/workflows/statistics/steps/manage-chart-statistics.js +26 -0
- package/.medusa/server/src/workflows/statistics/steps/update-chart.d.ts +117 -0
- package/.medusa/server/src/workflows/statistics/steps/update-chart.js +32 -0
- package/.medusa/server/src/workflows/statistics/steps/update-view.d.ts +120 -0
- package/.medusa/server/src/workflows/statistics/steps/update-view.js +18 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-alert-input.d.ts +1 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-alert-input.js +34 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-option-parameters.d.ts +21 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-option-parameters.js +43 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-view-input.d.ts +10 -0
- package/.medusa/server/src/workflows/statistics/steps/validate-view-input.js +15 -0
- package/.medusa/server/src/workflows/statistics/update-chart.d.ts +120 -0
- package/.medusa/server/src/workflows/statistics/update-chart.js +13 -0
- package/.medusa/server/src/workflows/statistics/update-view-configuration.d.ts +128 -0
- package/.medusa/server/src/workflows/statistics/update-view-configuration.js +18 -0
- package/.medusa/server/src/workflows/statistics/utils/cache-utils.d.ts +60 -0
- package/.medusa/server/src/workflows/statistics/utils/cache-utils.js +66 -0
- package/.medusa/server/src/workflows/statistics/utils/dependency-graph.d.ts +51 -0
- package/.medusa/server/src/workflows/statistics/utils/dependency-graph.js +131 -0
- package/.medusa/server/src/workflows/statistics/utils/parameter-utils.d.ts +54 -0
- package/.medusa/server/src/workflows/statistics/utils/parameter-utils.js +147 -0
- package/.medusa/server/src/workflows/statistics/validate-option-configuration.d.ts +9 -0
- package/.medusa/server/src/workflows/statistics/validate-option-configuration.js +35 -0
- package/README.md +310 -0
- package/package.json +87 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
4
|
+
const medusa_stats_1 = require("medusa-stats");
|
|
5
|
+
const zod_1 = require("zod");
|
|
6
|
+
class CompositeStatisticsProvider extends medusa_stats_1.AbstractStatisticsProvider {
|
|
7
|
+
async getAvailableStatistics() {
|
|
8
|
+
return [
|
|
9
|
+
new medusa_stats_1.StatBuilder("moving_average", "Moving Average")
|
|
10
|
+
.description("Smooth a time series by averaging values over a rolling window.")
|
|
11
|
+
.field({
|
|
12
|
+
name: "input_series",
|
|
13
|
+
label: "Input Series",
|
|
14
|
+
description: "Dependency result to analyze.",
|
|
15
|
+
schema: zod_1.z.array(zod_1.z.object({
|
|
16
|
+
x: zod_1.z.union([zod_1.z.string(), zod_1.z.date(), zod_1.z.number()]),
|
|
17
|
+
value: zod_1.z.number()
|
|
18
|
+
})).default([]),
|
|
19
|
+
fieldType: "stat"
|
|
20
|
+
}, [])
|
|
21
|
+
.field({
|
|
22
|
+
name: "window_size",
|
|
23
|
+
label: "Window Size",
|
|
24
|
+
description: "Number of points in each rolling average window.",
|
|
25
|
+
schema: zod_1.z.number().int().min(2).max(365).default(7),
|
|
26
|
+
fieldType: "number"
|
|
27
|
+
}, 7)
|
|
28
|
+
.chart("line")
|
|
29
|
+
.dimension("time")
|
|
30
|
+
.build(),
|
|
31
|
+
new medusa_stats_1.StatBuilder("rate_of_change", "Rate of Change")
|
|
32
|
+
.description("Measures momentum as change versus N periods ago.")
|
|
33
|
+
.field({
|
|
34
|
+
name: "input_series",
|
|
35
|
+
label: "Input Series",
|
|
36
|
+
description: "Dependency result to analyze.",
|
|
37
|
+
schema: zod_1.z.array(zod_1.z.object({
|
|
38
|
+
x: zod_1.z.union([zod_1.z.string(), zod_1.z.date(), zod_1.z.number()]),
|
|
39
|
+
value: zod_1.z.number()
|
|
40
|
+
})).default([]),
|
|
41
|
+
fieldType: "stat"
|
|
42
|
+
}, [])
|
|
43
|
+
.field({
|
|
44
|
+
name: "periods",
|
|
45
|
+
label: "Lookback Periods",
|
|
46
|
+
description: "Compare each point against the value this many points back.",
|
|
47
|
+
schema: zod_1.z.number().int().min(1).max(365).default(1),
|
|
48
|
+
fieldType: "number"
|
|
49
|
+
}, 1)
|
|
50
|
+
.field({
|
|
51
|
+
name: "as_percentage",
|
|
52
|
+
label: "As Percentage",
|
|
53
|
+
description: "Return percent change (true) or decimal ratio (false).",
|
|
54
|
+
schema: zod_1.z.boolean().default(true),
|
|
55
|
+
fieldType: "boolean"
|
|
56
|
+
}, true)
|
|
57
|
+
.chart("line")
|
|
58
|
+
.dimension("time")
|
|
59
|
+
.build()
|
|
60
|
+
];
|
|
61
|
+
}
|
|
62
|
+
async calculateStatistic(input) {
|
|
63
|
+
const { id, parameters } = input;
|
|
64
|
+
const inputSeries = normalizeSeries(parameters.input_series);
|
|
65
|
+
if (inputSeries.length === 0) {
|
|
66
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, `${id} requires dependency input. Add an input dependency and map parameter_name to 'input_series'.`);
|
|
67
|
+
}
|
|
68
|
+
switch (id) {
|
|
69
|
+
case "moving_average": {
|
|
70
|
+
const windowSize = Number(parameters.window_size || 7);
|
|
71
|
+
const values = inputSeries.map((point) => point.value);
|
|
72
|
+
const movingAverage = inputSeries.map((point, index) => {
|
|
73
|
+
const start = Math.max(0, index - windowSize + 1);
|
|
74
|
+
const window = values.slice(start, index + 1);
|
|
75
|
+
const avg = window.reduce((sum, value) => sum + value, 0) / window.length;
|
|
76
|
+
return {
|
|
77
|
+
x: point.x,
|
|
78
|
+
value: Number(avg.toFixed(6))
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
return {
|
|
82
|
+
value: movingAverage,
|
|
83
|
+
metadata: {
|
|
84
|
+
points: movingAverage.length,
|
|
85
|
+
windowSize,
|
|
86
|
+
calculatedAt: new Date()
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
case "rate_of_change": {
|
|
91
|
+
const periods = Number(parameters.periods || 1);
|
|
92
|
+
const asPercentage = parameters.as_percentage !== false;
|
|
93
|
+
const roc = inputSeries.map((point, index) => {
|
|
94
|
+
if (index < periods) {
|
|
95
|
+
return { x: point.x, value: 0 };
|
|
96
|
+
}
|
|
97
|
+
const previous = inputSeries[index - periods].value;
|
|
98
|
+
if (previous === 0) {
|
|
99
|
+
return { x: point.x, value: 0 };
|
|
100
|
+
}
|
|
101
|
+
const change = (point.value - previous) / Math.abs(previous);
|
|
102
|
+
const value = asPercentage ? change * 100 : change;
|
|
103
|
+
return {
|
|
104
|
+
x: point.x,
|
|
105
|
+
value: Number(value.toFixed(6))
|
|
106
|
+
};
|
|
107
|
+
});
|
|
108
|
+
return {
|
|
109
|
+
value: roc,
|
|
110
|
+
metadata: {
|
|
111
|
+
points: roc.length,
|
|
112
|
+
periods,
|
|
113
|
+
asPercentage,
|
|
114
|
+
calculatedAt: new Date()
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
default:
|
|
119
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_ARGUMENT, `Unknown statistic: ${id}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
CompositeStatisticsProvider.identifier = "composite-statistics";
|
|
124
|
+
CompositeStatisticsProvider.displayName = "Composite Statistics Provider";
|
|
125
|
+
const normalizeSeries = (rawSeries) => {
|
|
126
|
+
if (!Array.isArray(rawSeries)) {
|
|
127
|
+
return [];
|
|
128
|
+
}
|
|
129
|
+
return rawSeries
|
|
130
|
+
.map((point) => {
|
|
131
|
+
const value = Number(point?.value);
|
|
132
|
+
if (!Number.isFinite(value)) {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
const x = point?.x instanceof Date ? point.x : new Date(point?.x);
|
|
136
|
+
if (Number.isNaN(x.getTime())) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
return { x, value };
|
|
140
|
+
})
|
|
141
|
+
.filter((point) => Boolean(point))
|
|
142
|
+
.sort((a, b) => a.x.getTime() - b.x.getTime());
|
|
143
|
+
};
|
|
144
|
+
exports.default = (0, utils_1.ModuleProvider)("statistics", {
|
|
145
|
+
services: [CompositeStatisticsProvider]
|
|
146
|
+
});
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcHJvdmlkZXJzL2NvbXBvc2l0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUF3RTtBQUN4RSwrQ0FBcUk7QUFDckksNkJBQXdCO0FBRXhCLE1BQU0sMkJBQTRCLFNBQVEseUNBQTBCO0lBSWhFLEtBQUssQ0FBQyxzQkFBc0I7UUFDeEIsT0FBTztZQUNILElBQUksMEJBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDOUMsV0FBVyxDQUFDLGlFQUFpRSxDQUFDO2lCQUM5RSxLQUFLLENBQUM7Z0JBQ0gsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLEtBQUssRUFBRSxjQUFjO2dCQUNyQixXQUFXLEVBQUUsK0JBQStCO2dCQUM1QyxNQUFNLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxDQUFDO29CQUNyQixDQUFDLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQzlDLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO2lCQUNwQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNmLFNBQVMsRUFBRSxNQUFNO2FBQ3BCLEVBQUUsRUFBRSxDQUFDO2lCQUNMLEtBQUssQ0FBQztnQkFDSCxJQUFJLEVBQUUsYUFBYTtnQkFDbkIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLFdBQVcsRUFBRSxrREFBa0Q7Z0JBQy9ELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxD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
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface CalculateSingleStatisticInput {
|
|
2
|
+
option_id: string;
|
|
3
|
+
periodStart: Date;
|
|
4
|
+
periodEnd: Date;
|
|
5
|
+
interval: number;
|
|
6
|
+
runtimeParameters?: Record<string, any>;
|
|
7
|
+
metadata?: Record<string, any>;
|
|
8
|
+
cache_options_override?: {
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
ttl?: number;
|
|
11
|
+
} | null;
|
|
12
|
+
}
|
|
13
|
+
export declare const calculateSingleStatisticWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CalculateSingleStatisticInput, {
|
|
14
|
+
result: any;
|
|
15
|
+
}, []>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateSingleStatisticWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const calculate_statistics_1 = require("./steps/calculate-statistics");
|
|
7
|
+
exports.calculateSingleStatisticWorkflow = (0, workflows_sdk_1.createWorkflow)("calculate-single-statistic", function (input) {
|
|
8
|
+
const calculation = (0, calculate_statistics_1.calculateStatisticsStep)({
|
|
9
|
+
options: [{ id: input.option_id }],
|
|
10
|
+
sharedCacheOptions: input.cache_options_override || undefined,
|
|
11
|
+
runtimeParameters: input.runtimeParameters || {},
|
|
12
|
+
periodStart: input.periodStart,
|
|
13
|
+
periodEnd: input.periodEnd,
|
|
14
|
+
interval: input.interval,
|
|
15
|
+
});
|
|
16
|
+
const result = (0, workflows_sdk_1.transform)({ calculation, input }, (data) => {
|
|
17
|
+
const value = data.calculation.results?.[data.input.option_id];
|
|
18
|
+
if (value !== undefined) {
|
|
19
|
+
return value;
|
|
20
|
+
}
|
|
21
|
+
const error = data.calculation.errors?.[data.input.option_id];
|
|
22
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, error || `Failed to calculate option ${data.input.option_id}`);
|
|
23
|
+
});
|
|
24
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
25
|
+
result,
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXNpbmdsZS1zdGF0aXN0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0YXRpc3RpY3MvY2FsY3VsYXRlLXNpbmdsZS1zdGF0aXN0aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXNHO0FBQ3RHLHFEQUF3RDtBQUN4RCx1RUFBdUU7QUFhMUQsUUFBQSxnQ0FBZ0MsR0FBRyxJQUFBLDhCQUFjLEVBQzFELDRCQUE0QixFQUM1QixVQUFVLEtBQW9DO0lBQzFDLE1BQU0sV0FBVyxHQUFHLElBQUEsOENBQXVCLEVBQUM7UUFDeEMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxTQUFTO1FBQzdELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxFQUFFO1FBQ2hELFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztRQUM5QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO0tBQzNCLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHLElBQUEseUJBQVMsRUFBQyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3RELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUvRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTlELE1BQU0sSUFBSSxtQkFBVyxDQUNqQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLEtBQUssSUFBSSw4QkFBOEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FDaEUsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxJQUFJLGdDQUFnQixDQUFDO1FBQ3hCLE1BQU07S0FDVCxDQUFDLENBQUM7QUFDUCxDQUFDLENBQ0osQ0FBQyJ9
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type CalculateStatisticsInput } from "./steps/calculate-statistics";
|
|
2
|
+
export type CalculateStatisticsWorkflowInput = CalculateStatisticsInput;
|
|
3
|
+
export declare const calculateStatisticsWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CalculateStatisticsInput, {
|
|
4
|
+
results: (Record<string, any> | import("@medusajs/framework/workflows-sdk").WorkflowData<Record<string, any>>) & Record<string, any>;
|
|
5
|
+
errors: ((Record<string, string> | import("@medusajs/framework/workflows-sdk").WorkflowData<Record<string, string> | undefined>) & Record<string, string>) | undefined;
|
|
6
|
+
metadata: (Record<string, {
|
|
7
|
+
fromCache: boolean;
|
|
8
|
+
cachedAt?: string;
|
|
9
|
+
calculationTime: number;
|
|
10
|
+
}> | import("@medusajs/framework/workflows-sdk").WorkflowData<Record<string, {
|
|
11
|
+
fromCache: boolean;
|
|
12
|
+
cachedAt?: string;
|
|
13
|
+
calculationTime: number;
|
|
14
|
+
}>>) & Record<string, {
|
|
15
|
+
fromCache: boolean;
|
|
16
|
+
cachedAt?: string;
|
|
17
|
+
calculationTime: number;
|
|
18
|
+
}>;
|
|
19
|
+
duration: (number | import("@medusajs/framework/workflows-sdk").WorkflowData<number>) & number;
|
|
20
|
+
}, []>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateStatisticsWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const calculate_statistics_1 = require("./steps/calculate-statistics");
|
|
6
|
+
exports.calculateStatisticsWorkflow = (0, workflows_sdk_1.createWorkflow)("calculate-statistics-workflow", function (input) {
|
|
7
|
+
const calculation = (0, calculate_statistics_1.calculateStatisticsStep)(input);
|
|
8
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
9
|
+
results: calculation.results,
|
|
10
|
+
errors: calculation.errors,
|
|
11
|
+
metadata: calculation.metadata,
|
|
12
|
+
duration: calculation.duration,
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXN0YXRpc3RpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0YXRpc3RpY3MvY2FsY3VsYXRlLXN0YXRpc3RpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXFGO0FBQ3JGLHVFQUdzQztBQUl6QixRQUFBLDJCQUEyQixHQUFHLElBQUEsOEJBQWMsRUFDckQsK0JBQStCLEVBQy9CLFVBQVUsS0FBdUM7SUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBQSw4Q0FBdUIsRUFBQyxLQUFLLENBQUMsQ0FBQztJQUVuRCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDeEIsT0FBTyxFQUFFLFdBQVcsQ0FBQyxPQUFPO1FBQzVCLE1BQU0sRUFBRSxXQUFXLENBQUMsTUFBTTtRQUMxQixRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7UUFDOUIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO0tBQ2pDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FDSixDQUFDIn0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface CalculateViewInput {
|
|
2
|
+
view_id: string;
|
|
3
|
+
periodStart: Date;
|
|
4
|
+
periodEnd: Date;
|
|
5
|
+
interval: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const calculateViewWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CalculateViewInput, {
|
|
8
|
+
results: (Record<string, any> | import("@medusajs/framework/workflows-sdk").WorkflowData<Record<string, any>>) & Record<string, any>;
|
|
9
|
+
errors: ((Record<string, string> | import("@medusajs/framework/workflows-sdk").WorkflowData<Record<string, string> | undefined>) & Record<string, string>) | undefined;
|
|
10
|
+
definitions: ({
|
|
11
|
+
[k: string]: any[];
|
|
12
|
+
} | import("@medusajs/framework/workflows-sdk").WorkflowData<{
|
|
13
|
+
[k: string]: any[];
|
|
14
|
+
}>) & {
|
|
15
|
+
[k: string]: any[];
|
|
16
|
+
};
|
|
17
|
+
metadata: (Record<string, {
|
|
18
|
+
fromCache: boolean;
|
|
19
|
+
cachedAt?: string;
|
|
20
|
+
calculationTime: number;
|
|
21
|
+
}> | import("@medusajs/framework/workflows-sdk").WorkflowData<Record<string, {
|
|
22
|
+
fromCache: boolean;
|
|
23
|
+
cachedAt?: string;
|
|
24
|
+
calculationTime: number;
|
|
25
|
+
}>>) & Record<string, {
|
|
26
|
+
fromCache: boolean;
|
|
27
|
+
cachedAt?: string;
|
|
28
|
+
calculationTime: number;
|
|
29
|
+
}>;
|
|
30
|
+
duration: (number | import("@medusajs/framework/workflows-sdk").WorkflowData<number>) & number;
|
|
31
|
+
}, []>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateViewWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const fetch_view_with_options_1 = require("./steps/fetch-view-with-options");
|
|
6
|
+
const calculate_statistics_1 = require("./steps/calculate-statistics");
|
|
7
|
+
exports.calculateViewWorkflow = (0, workflows_sdk_1.createWorkflow)("calculate-view", (input) => {
|
|
8
|
+
const view = (0, fetch_view_with_options_1.fetchViewWithOptionsStep)({ view_id: input.view_id });
|
|
9
|
+
const calculationContext = (0, workflows_sdk_1.transform)({ view }, ({ view }) => ({
|
|
10
|
+
options: view.statistics || [],
|
|
11
|
+
sharedStatsData: view.stats_data,
|
|
12
|
+
sharedCacheOptions: view.cache_options,
|
|
13
|
+
}));
|
|
14
|
+
const calculationResult = (0, calculate_statistics_1.calculateStatisticsStep)({
|
|
15
|
+
options: calculationContext.options,
|
|
16
|
+
sharedStatsData: calculationContext.sharedStatsData,
|
|
17
|
+
sharedCacheOptions: calculationContext.sharedCacheOptions,
|
|
18
|
+
periodStart: input.periodStart,
|
|
19
|
+
periodEnd: input.periodEnd,
|
|
20
|
+
interval: input.interval,
|
|
21
|
+
});
|
|
22
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
23
|
+
results: calculationResult.results,
|
|
24
|
+
errors: calculationResult.errors,
|
|
25
|
+
definitions: calculationResult.definitions,
|
|
26
|
+
metadata: calculationResult.metadata,
|
|
27
|
+
duration: calculationResult.duration,
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3N0YXRpc3RpY3MvY2FsY3VsYXRlLXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQXNHO0FBQ3RHLDZFQUEyRTtBQUMzRSx1RUFBdUU7QUFRMUQsUUFBQSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFjLEVBQy9DLGdCQUFnQixFQUNoQixDQUFDLEtBQXlCLEVBQUUsRUFBRTtJQUUxQixNQUFNLElBQUksR0FBRyxJQUFBLGtEQUF3QixFQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRWxFLE1BQU0sa0JBQWtCLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sRUFBRyxJQUFZLENBQUMsVUFBVSxJQUFJLEVBQUU7UUFDdkMsZUFBZSxFQUFHLElBQVksQ0FBQyxVQUFVO1FBQ3pDLGtCQUFrQixFQUFHLElBQVksQ0FBQyxhQUFhO0tBQ2xELENBQUMsQ0FBQyxDQUFDO0lBR0osTUFBTSxpQkFBaUIsR0FBRyxJQUFBLDhDQUF1QixFQUFDO1FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO1FBQ25DLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlO1FBQ25ELGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLGtCQUFrQjtRQUN6RCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7UUFDOUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtLQUMzQixDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksZ0NBQWdCLENBQUM7UUFDeEIsT0FBTyxFQUFFLGlCQUFpQixDQUFDLE9BQU87UUFDbEMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLE1BQU07UUFDaEMsV0FBVyxFQUFFLGlCQUFpQixDQUFDLFdBQVc7UUFDMUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7UUFDcEMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFFBQVE7S0FDdkMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
export interface CloneViewInput {
|
|
2
|
+
source_view_id: string;
|
|
3
|
+
new_name: string;
|
|
4
|
+
new_description?: string;
|
|
5
|
+
clone_stats_data?: boolean;
|
|
6
|
+
clone_metadata?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const cloneViewWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<CloneViewInput, {
|
|
9
|
+
view: {
|
|
10
|
+
id: string;
|
|
11
|
+
name: string;
|
|
12
|
+
description: string | null;
|
|
13
|
+
charts: {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
description: string | null;
|
|
17
|
+
visualization_config: Record<string, unknown> | null;
|
|
18
|
+
layout: Record<string, unknown> | null;
|
|
19
|
+
view: /*elided*/ any;
|
|
20
|
+
statistics: {
|
|
21
|
+
id: string;
|
|
22
|
+
provider_option_name: string;
|
|
23
|
+
local_option_name: string;
|
|
24
|
+
data: Record<string, unknown>;
|
|
25
|
+
visualization_config: Record<string, unknown> | null;
|
|
26
|
+
cache_options: Record<string, unknown> | null;
|
|
27
|
+
parameter_config: Record<string, unknown> | null;
|
|
28
|
+
preset: boolean;
|
|
29
|
+
provider: {
|
|
30
|
+
id: string;
|
|
31
|
+
display_name: string;
|
|
32
|
+
is_enabled: boolean;
|
|
33
|
+
options: /*elided*/ any[];
|
|
34
|
+
created_at: Date;
|
|
35
|
+
updated_at: Date;
|
|
36
|
+
deleted_at: Date | null;
|
|
37
|
+
};
|
|
38
|
+
alerts: {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description: string | null;
|
|
42
|
+
option: /*elided*/ any;
|
|
43
|
+
condition: Record<string, unknown>;
|
|
44
|
+
period: Record<string, unknown> | null;
|
|
45
|
+
interval: number;
|
|
46
|
+
severity: "info" | "warning" | "critical";
|
|
47
|
+
is_enabled: boolean;
|
|
48
|
+
metadata: Record<string, unknown> | null;
|
|
49
|
+
logs: {
|
|
50
|
+
id: string;
|
|
51
|
+
alert: /*elided*/ any;
|
|
52
|
+
triggered_at: Date;
|
|
53
|
+
evaluation_data: Record<string, unknown>;
|
|
54
|
+
evaluation_hash: string;
|
|
55
|
+
metadata: Record<string, unknown> | null;
|
|
56
|
+
created_at: Date;
|
|
57
|
+
updated_at: Date;
|
|
58
|
+
deleted_at: Date | null;
|
|
59
|
+
alert_id: string;
|
|
60
|
+
}[];
|
|
61
|
+
created_at: Date;
|
|
62
|
+
updated_at: Date;
|
|
63
|
+
deleted_at: Date | null;
|
|
64
|
+
option_id: string;
|
|
65
|
+
}[];
|
|
66
|
+
charts: /*elided*/ any[];
|
|
67
|
+
input_dependencies: {
|
|
68
|
+
id: string;
|
|
69
|
+
composite_option: /*elided*/ any;
|
|
70
|
+
input_option: /*elided*/ any;
|
|
71
|
+
parameter_name: string | null;
|
|
72
|
+
order: number | null;
|
|
73
|
+
metadata: Record<string, unknown> | null;
|
|
74
|
+
raw_order: Record<string, unknown> | null;
|
|
75
|
+
created_at: Date;
|
|
76
|
+
updated_at: Date;
|
|
77
|
+
deleted_at: Date | null;
|
|
78
|
+
composite_option_id: string;
|
|
79
|
+
input_option_id: string;
|
|
80
|
+
}[];
|
|
81
|
+
dependent_composites: {
|
|
82
|
+
id: string;
|
|
83
|
+
composite_option: /*elided*/ any;
|
|
84
|
+
input_option: /*elided*/ any;
|
|
85
|
+
parameter_name: string | null;
|
|
86
|
+
order: number | null;
|
|
87
|
+
metadata: Record<string, unknown> | null;
|
|
88
|
+
raw_order: Record<string, unknown> | null;
|
|
89
|
+
created_at: Date;
|
|
90
|
+
updated_at: Date;
|
|
91
|
+
deleted_at: Date | null;
|
|
92
|
+
composite_option_id: string;
|
|
93
|
+
input_option_id: string;
|
|
94
|
+
}[];
|
|
95
|
+
created_at: Date;
|
|
96
|
+
updated_at: Date;
|
|
97
|
+
deleted_at: Date | null;
|
|
98
|
+
provider_id: string;
|
|
99
|
+
}[];
|
|
100
|
+
metadata: Record<string, unknown>;
|
|
101
|
+
created_at: Date;
|
|
102
|
+
updated_at: Date;
|
|
103
|
+
deleted_at: Date | null;
|
|
104
|
+
view_id: string;
|
|
105
|
+
}[];
|
|
106
|
+
stats_data: Record<string, unknown> | null;
|
|
107
|
+
period_type: "rolling" | "calendar" | "custom" | null;
|
|
108
|
+
period_config: Record<string, unknown> | null;
|
|
109
|
+
interval: number | null;
|
|
110
|
+
cache_options: Record<string, unknown> | null;
|
|
111
|
+
layout_config: Record<string, unknown>;
|
|
112
|
+
metadata: Record<string, unknown>;
|
|
113
|
+
raw_interval: Record<string, unknown> | null;
|
|
114
|
+
created_at: Date;
|
|
115
|
+
updated_at: Date;
|
|
116
|
+
deleted_at: Date | null;
|
|
117
|
+
};
|
|
118
|
+
options: {
|
|
119
|
+
id: string;
|
|
120
|
+
provider_option_name: string;
|
|
121
|
+
local_option_name: string;
|
|
122
|
+
data: Record<string, unknown>;
|
|
123
|
+
visualization_config: Record<string, unknown> | null;
|
|
124
|
+
cache_options: Record<string, unknown> | null;
|
|
125
|
+
parameter_config: Record<string, unknown> | null;
|
|
126
|
+
preset: boolean;
|
|
127
|
+
provider: {
|
|
128
|
+
id: string;
|
|
129
|
+
display_name: string;
|
|
130
|
+
is_enabled: boolean;
|
|
131
|
+
options: /*elided*/ any[];
|
|
132
|
+
created_at: Date;
|
|
133
|
+
updated_at: Date;
|
|
134
|
+
deleted_at: Date | null;
|
|
135
|
+
};
|
|
136
|
+
alerts: {
|
|
137
|
+
id: string;
|
|
138
|
+
name: string;
|
|
139
|
+
description: string | null;
|
|
140
|
+
option: /*elided*/ any;
|
|
141
|
+
condition: Record<string, unknown>;
|
|
142
|
+
period: Record<string, unknown> | null;
|
|
143
|
+
interval: number;
|
|
144
|
+
severity: "info" | "warning" | "critical";
|
|
145
|
+
is_enabled: boolean;
|
|
146
|
+
metadata: Record<string, unknown> | null;
|
|
147
|
+
logs: {
|
|
148
|
+
id: string;
|
|
149
|
+
alert: /*elided*/ any;
|
|
150
|
+
triggered_at: Date;
|
|
151
|
+
evaluation_data: Record<string, unknown>;
|
|
152
|
+
evaluation_hash: string;
|
|
153
|
+
metadata: Record<string, unknown> | null;
|
|
154
|
+
created_at: Date;
|
|
155
|
+
updated_at: Date;
|
|
156
|
+
deleted_at: Date | null;
|
|
157
|
+
alert_id: string;
|
|
158
|
+
}[];
|
|
159
|
+
created_at: Date;
|
|
160
|
+
updated_at: Date;
|
|
161
|
+
deleted_at: Date | null;
|
|
162
|
+
option_id: string;
|
|
163
|
+
}[];
|
|
164
|
+
charts: {
|
|
165
|
+
id: string;
|
|
166
|
+
name: string;
|
|
167
|
+
description: string | null;
|
|
168
|
+
visualization_config: Record<string, unknown> | null;
|
|
169
|
+
layout: Record<string, unknown> | null;
|
|
170
|
+
view: {
|
|
171
|
+
id: string;
|
|
172
|
+
name: string;
|
|
173
|
+
description: string | null;
|
|
174
|
+
charts: /*elided*/ any[];
|
|
175
|
+
stats_data: Record<string, unknown> | null;
|
|
176
|
+
period_type: "rolling" | "calendar" | "custom" | null;
|
|
177
|
+
period_config: Record<string, unknown> | null;
|
|
178
|
+
interval: number | null;
|
|
179
|
+
cache_options: Record<string, unknown> | null;
|
|
180
|
+
layout_config: Record<string, unknown>;
|
|
181
|
+
metadata: Record<string, unknown>;
|
|
182
|
+
raw_interval: Record<string, unknown> | null;
|
|
183
|
+
created_at: Date;
|
|
184
|
+
updated_at: Date;
|
|
185
|
+
deleted_at: Date | null;
|
|
186
|
+
};
|
|
187
|
+
statistics: /*elided*/ any[];
|
|
188
|
+
metadata: Record<string, unknown>;
|
|
189
|
+
created_at: Date;
|
|
190
|
+
updated_at: Date;
|
|
191
|
+
deleted_at: Date | null;
|
|
192
|
+
view_id: string;
|
|
193
|
+
}[];
|
|
194
|
+
input_dependencies: {
|
|
195
|
+
id: string;
|
|
196
|
+
composite_option: /*elided*/ any;
|
|
197
|
+
input_option: /*elided*/ any;
|
|
198
|
+
parameter_name: string | null;
|
|
199
|
+
order: number | null;
|
|
200
|
+
metadata: Record<string, unknown> | null;
|
|
201
|
+
raw_order: Record<string, unknown> | null;
|
|
202
|
+
created_at: Date;
|
|
203
|
+
updated_at: Date;
|
|
204
|
+
deleted_at: Date | null;
|
|
205
|
+
composite_option_id: string;
|
|
206
|
+
input_option_id: string;
|
|
207
|
+
}[];
|
|
208
|
+
dependent_composites: {
|
|
209
|
+
id: string;
|
|
210
|
+
composite_option: /*elided*/ any;
|
|
211
|
+
input_option: /*elided*/ any;
|
|
212
|
+
parameter_name: string | null;
|
|
213
|
+
order: number | null;
|
|
214
|
+
metadata: Record<string, unknown> | null;
|
|
215
|
+
raw_order: Record<string, unknown> | null;
|
|
216
|
+
created_at: Date;
|
|
217
|
+
updated_at: Date;
|
|
218
|
+
deleted_at: Date | null;
|
|
219
|
+
composite_option_id: string;
|
|
220
|
+
input_option_id: string;
|
|
221
|
+
}[];
|
|
222
|
+
created_at: Date;
|
|
223
|
+
updated_at: Date;
|
|
224
|
+
deleted_at: Date | null;
|
|
225
|
+
provider_id: string;
|
|
226
|
+
}[];
|
|
227
|
+
}, []>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cloneViewWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const clone_view_1 = require("./steps/clone-view");
|
|
6
|
+
exports.cloneViewWorkflow = (0, workflows_sdk_1.createWorkflow)("clone-view", (input) => {
|
|
7
|
+
const result = (0, clone_view_1.cloneViewStep)(input);
|
|
8
|
+
return new workflows_sdk_1.WorkflowResponse(result);
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUtdmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc3RhdGlzdGljcy9jbG9uZS12aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUFxRjtBQUNyRixtREFBbUQ7QUFVdEMsUUFBQSxpQkFBaUIsR0FBRyxJQUFBLDhCQUFjLEVBQzNDLFlBQVksRUFDWixDQUFDLEtBQXFCLEVBQUUsRUFBRTtJQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFBLDBCQUFhLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFcEMsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLENBQUMsQ0FDSixDQUFDIn0=
|