@activepieces/piece-metabase 0.1.3 → 0.1.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/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@activepieces/piece-metabase",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "dependencies": {
5
5
  "@anthropic-ai/sdk": "0.33.1",
6
6
  "@sinclair/typebox": "0.34.11",
7
- "axios": "1.7.8",
7
+ "axios": "1.8.2",
8
8
  "axios-retry": "4.4.1",
9
9
  "deepmerge-ts": "7.1.0",
10
10
  "mime-types": "2.1.35",
@@ -13,9 +13,9 @@
13
13
  "replicate": "0.34.1",
14
14
  "semver": "7.6.0",
15
15
  "zod": "3.23.8",
16
- "@activepieces/pieces-common": "0.3.3",
17
- "@activepieces/pieces-framework": "0.7.42",
18
- "@activepieces/shared": "0.10.145",
16
+ "@activepieces/pieces-common": "0.4.2",
17
+ "@activepieces/pieces-framework": "0.7.45",
18
+ "@activepieces/shared": "0.10.153",
19
19
  "tslib": "1.14.1"
20
20
  },
21
21
  "overrides": {
package/src/index.js CHANGED
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const pieces_framework_1 = require("@activepieces/pieces-framework");
6
6
  const get_question_1 = require("./lib/actions/get-question");
7
7
  const get_png_rendering_1 = require("./lib/actions/get-png-rendering");
8
+ const get_dashboard_1 = require("./lib/actions/get-dashboard");
8
9
  const common_1 = require("./lib/common");
9
10
  const pieces_common_1 = require("@activepieces/pieces-common");
10
11
  exports.metabaseAuth = pieces_framework_1.PieceAuth.CustomAuth({
@@ -46,7 +47,7 @@ exports.metabase = (0, pieces_framework_1.createPiece)({
46
47
  minimumSupportedRelease: '0.30.0',
47
48
  logoUrl: 'https://cdn.activepieces.com/pieces/metabase.png',
48
49
  authors: ['AdamSelene', 'abuaboud', 'valentin-mourtialon'],
49
- actions: [get_question_1.getQuestion, get_png_rendering_1.getQuestionPngPreview],
50
+ actions: [get_question_1.getQuestion, get_png_rendering_1.getQuestionPngPreview, get_dashboard_1.getDashboardQuestions],
50
51
  triggers: [],
51
52
  });
52
53
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/metabase/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,6DAAyD;AACzD,uEAAwE;AACxE,yCAAgD;AAChD,+DAAyD;AAE5C,QAAA,YAAY,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC/C,WAAW,EAAE,2DAA2D;IACxE,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC3B,WAAW,EAAE,SAAS;YACtB,WAAW,EACT,iFAAiF;YACnF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IAED,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,yBAAgB,EACpB;gBACE,QAAQ,EAAE,uBAAuB;gBACjC,MAAM,EAAE,0BAAU,CAAC,GAAG;aACvB,EACD,IAAI,CACL,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,6BAA6B;aACrC,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC;AACU,QAAA,QAAQ,GAAG,IAAA,8BAAW,EAAC;IAClC,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,uDAAuD;IAEpE,IAAI,EAAE,oBAAY;IAClB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,kDAAkD;IAC3D,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,qBAAqB,CAAC;IAC1D,OAAO,EAAE,CAAC,0BAAW,EAAE,yCAAqB,CAAC;IAC7C,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/metabase/src/index.ts"],"names":[],"mappings":";;;;AAAA,qEAIwC;AACxC,6DAAyD;AACzD,uEAAwE;AACxE,+DAAoE;AACpE,yCAAgD;AAChD,+DAAyD;AAE5C,QAAA,YAAY,GAAG,4BAAS,CAAC,UAAU,CAAC;IAC/C,WAAW,EAAE,2DAA2D;IACxE,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE;QACL,OAAO,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC1B,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,4BAAS,CAAC,UAAU,CAAC;YAC3B,WAAW,EAAE,SAAS;YACtB,WAAW,EACT,iFAAiF;YACnF,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IAED,QAAQ,EAAE,KAAiB,EAAE,oDAAZ,EAAE,IAAI,EAAE;QACvB,IAAI,CAAC;YACH,MAAM,IAAA,yBAAgB,EACpB;gBACE,QAAQ,EAAE,uBAAuB;gBACjC,MAAM,EAAE,0BAAU,CAAC,GAAG;aACvB,EACD,IAAI,CACL,CAAC;YACF,OAAO;gBACL,KAAK,EAAE,IAAI;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,6BAA6B;aACrC,CAAC;QACJ,CAAC;IACH,CAAC,CAAA;CACF,CAAC,CAAC;AACU,QAAA,QAAQ,GAAG,IAAA,8BAAW,EAAC;IAClC,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,uDAAuD;IAEpE,IAAI,EAAE,oBAAY;IAClB,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,kDAAkD;IAC3D,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,qBAAqB,CAAC;IAC1D,OAAO,EAAE,CAAC,0BAAW,EAAE,yCAAqB,EAAE,qCAAqB,CAAC;IACpE,QAAQ,EAAE,EAAE;CACb,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const getDashboardQuestions: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ apiKey: import("@activepieces/pieces-framework").SecretTextProperty<true>;
4
+ }>, {
5
+ dashboardId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
6
+ parameters: import("@activepieces/pieces-framework").ObjectProperty<false>;
7
+ }>;
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDashboardQuestions = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const __1 = require("../..");
8
+ const pieces_common_1 = require("@activepieces/pieces-common");
9
+ exports.getDashboardQuestions = (0, pieces_framework_1.createAction)({
10
+ name: 'getDashboardQuestions',
11
+ auth: __1.metabaseAuth,
12
+ requireAuth: true,
13
+ displayName: 'Get Dashboard Questions',
14
+ description: 'Execute all questions across all tabs in a Metabase dashboard and return their consolidated results in a single response',
15
+ props: {
16
+ dashboardId: pieces_framework_1.Property.ShortText({
17
+ displayName: 'Metabase Dashboard ID',
18
+ required: true,
19
+ }),
20
+ parameters: pieces_framework_1.Property.Object({
21
+ displayName: 'Parameters (slug name -> value)',
22
+ description: 'Dashboard parameters to apply to all questions',
23
+ required: false,
24
+ }),
25
+ },
26
+ run(_a) {
27
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
28
+ const dashboardId = propsValue.dashboardId.split('-')[0];
29
+ const dashboardData = yield (0, common_1.queryMetabaseApi)({ endpoint: `dashboard/${dashboardId}`, method: pieces_common_1.HttpMethod.GET }, auth);
30
+ if (dashboardData.error) {
31
+ throw new Error(`Error fetching dashboard: ${dashboardData.error}`);
32
+ }
33
+ const dashboardParameters = dashboardData.parameters || [];
34
+ const result = {
35
+ dashboard_name: dashboardData.name || 'Unknown Dashboard',
36
+ available_parameters: dashboardParameters.map((param) => {
37
+ var _a;
38
+ return ({
39
+ id: param.id,
40
+ name: param.name || 'Unknown',
41
+ slug: param.slug || '',
42
+ type: param.type || '',
43
+ possible_values: ((_a = param.values_source_config) === null || _a === void 0 ? void 0 : _a.values) || [],
44
+ });
45
+ }),
46
+ cards_results: {},
47
+ };
48
+ // Execute each card and collect results
49
+ for (const dashcard of dashboardData.dashcards || []) {
50
+ const cardId = dashcard.card_id;
51
+ const dashcardId = dashcard.id;
52
+ if (!cardId)
53
+ continue;
54
+ let cardName = 'Unknown';
55
+ if (dashcard.card && typeof dashcard.card === 'object') {
56
+ cardName = dashcard.card.name || `Card ${cardId}`;
57
+ }
58
+ const cardParameters = [];
59
+ // Map dashboard parameters to card parameters using parameter_mappings
60
+ if (propsValue.parameters && dashcard.parameter_mappings) {
61
+ for (const mapping of dashcard.parameter_mappings) {
62
+ const paramId = mapping.parameter_id;
63
+ // Find corresponding dashboard parameter
64
+ const dashParam = dashboardParameters.find((p) => p.id === paramId);
65
+ if (dashParam &&
66
+ dashParam.slug &&
67
+ propsValue.parameters[dashParam.slug] !== undefined) {
68
+ cardParameters.push({
69
+ id: paramId,
70
+ target: mapping.target,
71
+ type: dashParam.type,
72
+ value: propsValue.parameters[dashParam.slug],
73
+ });
74
+ }
75
+ }
76
+ }
77
+ try {
78
+ const cardResult = yield (0, common_1.queryMetabaseApi)({
79
+ endpoint: `dashboard/${dashboardId}/dashcard/${dashcardId}/card/${cardId}/query/json`,
80
+ method: pieces_common_1.HttpMethod.POST,
81
+ body: {
82
+ parameters: cardParameters,
83
+ },
84
+ }, auth);
85
+ const cardIdStr = String(cardId);
86
+ result.cards_results[cardIdStr] = {
87
+ name: cardName,
88
+ data: cardResult,
89
+ };
90
+ }
91
+ catch (error) {
92
+ let errorMessage = 'Unknown error';
93
+ if (error &&
94
+ typeof error === 'object' &&
95
+ 'message' in error &&
96
+ typeof error.message === 'string') {
97
+ errorMessage = error.message;
98
+ }
99
+ const cardIdStr = String(cardId);
100
+ result.cards_results[cardIdStr] = {
101
+ name: cardName,
102
+ error: `Failed to execute: ${errorMessage}`,
103
+ };
104
+ }
105
+ }
106
+ return result;
107
+ });
108
+ },
109
+ });
110
+ //# sourceMappingURL=get-dashboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-dashboard.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/metabase/src/lib/actions/get-dashboard.ts"],"names":[],"mappings":"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"}