@scopieflows/app-microsoft-excel-365 0.3.2
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 +7 -0
- package/package.json +30 -0
- package/src/i18n/ca.json +92 -0
- package/src/i18n/de.json +167 -0
- package/src/i18n/es.json +167 -0
- package/src/i18n/fr.json +167 -0
- package/src/i18n/hi.json +92 -0
- package/src/i18n/id.json +92 -0
- package/src/i18n/ja.json +167 -0
- package/src/i18n/nl.json +167 -0
- package/src/i18n/pt.json +167 -0
- package/src/i18n/ru.json +98 -0
- package/src/i18n/translation.json +167 -0
- package/src/i18n/vi.json +98 -0
- package/src/i18n/zh.json +167 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +128 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/add-worksheet.d.ts +4 -0
- package/src/lib/actions/add-worksheet.js +43 -0
- package/src/lib/actions/add-worksheet.js.map +1 -0
- package/src/lib/actions/append-multiple-rows.d.ts +35 -0
- package/src/lib/actions/append-multiple-rows.js +225 -0
- package/src/lib/actions/append-multiple-rows.js.map +1 -0
- package/src/lib/actions/append-row.d.ts +6 -0
- package/src/lib/actions/append-row.js +57 -0
- package/src/lib/actions/append-row.js.map +1 -0
- package/src/lib/actions/append-table-rows.d.ts +6 -0
- package/src/lib/actions/append-table-rows.js +41 -0
- package/src/lib/actions/append-table-rows.js.map +1 -0
- package/src/lib/actions/clear-cells-by-range.d.ts +6 -0
- package/src/lib/actions/clear-cells-by-range.js +68 -0
- package/src/lib/actions/clear-cells-by-range.js.map +1 -0
- package/src/lib/actions/clear-column-by-index.d.ts +6 -0
- package/src/lib/actions/clear-column-by-index.js +74 -0
- package/src/lib/actions/clear-column-by-index.js.map +1 -0
- package/src/lib/actions/clear-row-by-id.d.ts +6 -0
- package/src/lib/actions/clear-row-by-id.js +70 -0
- package/src/lib/actions/clear-row-by-id.js.map +1 -0
- package/src/lib/actions/clear-worksheet.d.ts +5 -0
- package/src/lib/actions/clear-worksheet.js +52 -0
- package/src/lib/actions/clear-worksheet.js.map +1 -0
- package/src/lib/actions/convert-to-range.d.ts +5 -0
- package/src/lib/actions/convert-to-range.js +36 -0
- package/src/lib/actions/convert-to-range.js.map +1 -0
- package/src/lib/actions/create-table.d.ts +7 -0
- package/src/lib/actions/create-table.js +93 -0
- package/src/lib/actions/create-table.js.map +1 -0
- package/src/lib/actions/create-workbook.d.ts +4 -0
- package/src/lib/actions/create-workbook.js +45 -0
- package/src/lib/actions/create-workbook.js.map +1 -0
- package/src/lib/actions/create-worksheet.d.ts +5 -0
- package/src/lib/actions/create-worksheet.js +81 -0
- package/src/lib/actions/create-worksheet.js.map +1 -0
- package/src/lib/actions/delete-table.d.ts +5 -0
- package/src/lib/actions/delete-table.js +36 -0
- package/src/lib/actions/delete-table.js.map +1 -0
- package/src/lib/actions/delete-workbook.d.ts +3 -0
- package/src/lib/actions/delete-workbook.js +34 -0
- package/src/lib/actions/delete-workbook.js.map +1 -0
- package/src/lib/actions/delete-worksheet.d.ts +4 -0
- package/src/lib/actions/delete-worksheet.js +35 -0
- package/src/lib/actions/delete-worksheet.js.map +1 -0
- package/src/lib/actions/find-row.d.ts +7 -0
- package/src/lib/actions/find-row.js +108 -0
- package/src/lib/actions/find-row.js.map +1 -0
- package/src/lib/actions/get-cells-in-range.d.ts +5 -0
- package/src/lib/actions/get-cells-in-range.js +44 -0
- package/src/lib/actions/get-cells-in-range.js.map +1 -0
- package/src/lib/actions/get-row-by-id.d.ts +6 -0
- package/src/lib/actions/get-row-by-id.js +61 -0
- package/src/lib/actions/get-row-by-id.js.map +1 -0
- package/src/lib/actions/get-table-columns.d.ts +6 -0
- package/src/lib/actions/get-table-columns.js +47 -0
- package/src/lib/actions/get-table-columns.js.map +1 -0
- package/src/lib/actions/get-table-rows.d.ts +6 -0
- package/src/lib/actions/get-table-rows.js +47 -0
- package/src/lib/actions/get-table-rows.js.map +1 -0
- package/src/lib/actions/get-workbooks.d.ts +3 -0
- package/src/lib/actions/get-workbooks.js +49 -0
- package/src/lib/actions/get-workbooks.js.map +1 -0
- package/src/lib/actions/get-worksheet-by-id.d.ts +4 -0
- package/src/lib/actions/get-worksheet-by-id.js +37 -0
- package/src/lib/actions/get-worksheet-by-id.js.map +1 -0
- package/src/lib/actions/get-worksheet-rows.d.ts +7 -0
- package/src/lib/actions/get-worksheet-rows.js +69 -0
- package/src/lib/actions/get-worksheet-rows.js.map +1 -0
- package/src/lib/actions/get-worksheets.d.ts +5 -0
- package/src/lib/actions/get-worksheets.js +61 -0
- package/src/lib/actions/get-worksheets.js.map +1 -0
- package/src/lib/actions/get-wroksheet-columns.d.ts +4 -0
- package/src/lib/actions/get-wroksheet-columns.js +35 -0
- package/src/lib/actions/get-wroksheet-columns.js.map +1 -0
- package/src/lib/actions/lookup-table-column.d.ts +8 -0
- package/src/lib/actions/lookup-table-column.js +78 -0
- package/src/lib/actions/lookup-table-column.js.map +1 -0
- package/src/lib/actions/rename-worksheet.d.ts +5 -0
- package/src/lib/actions/rename-worksheet.js +51 -0
- package/src/lib/actions/rename-worksheet.js.map +1 -0
- package/src/lib/actions/update-row.d.ts +7 -0
- package/src/lib/actions/update-row.js +58 -0
- package/src/lib/actions/update-row.js.map +1 -0
- package/src/lib/common/common.d.ts +22 -0
- package/src/lib/common/common.js +325 -0
- package/src/lib/common/common.js.map +1 -0
- package/src/lib/trigger/new-row-added.d.ts +18 -0
- package/src/lib/trigger/new-row-added.js +87 -0
- package/src/lib/trigger/new-row-added.js.map +1 -0
- package/src/lib/trigger/new-row-in-table.d.ts +22 -0
- package/src/lib/trigger/new-row-in-table.js +139 -0
- package/src/lib/trigger/new-row-in-table.js.map +1 -0
- package/src/lib/trigger/new-worksheet.d.ts +10 -0
- package/src/lib/trigger/new-worksheet.js +94 -0
- package/src/lib/trigger/new-worksheet.js.map +1 -0
- package/src/lib/trigger/updated-row.d.ts +18 -0
- package/src/lib/trigger/updated-row.js +129 -0
- package/src/lib/trigger/updated-row.js.map +1 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findRowAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common/common");
|
|
9
|
+
exports.findRowAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: index_1.excelAuth,
|
|
11
|
+
name: 'find_row',
|
|
12
|
+
displayName: 'Find Row',
|
|
13
|
+
description: 'Locate a row by specifying a lookup column and value (e.g. find a row where “ID” = 123).',
|
|
14
|
+
props: {
|
|
15
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
16
|
+
worksheet_id: common_1.excelCommon.worksheet_id,
|
|
17
|
+
table_id: common_1.excelCommon.table_id,
|
|
18
|
+
lookup_column: pieces_framework_1.Property.Dropdown({
|
|
19
|
+
auth: index_1.excelAuth,
|
|
20
|
+
displayName: 'Lookup Column',
|
|
21
|
+
description: 'The column to search in.',
|
|
22
|
+
required: true,
|
|
23
|
+
refreshers: ['workbook_id', 'table_id'],
|
|
24
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, workbook_id, table_id }) {
|
|
25
|
+
if (!auth || !workbook_id || !table_id) {
|
|
26
|
+
return {
|
|
27
|
+
disabled: true,
|
|
28
|
+
options: [],
|
|
29
|
+
placeholder: 'Please select a workbook and table first.'
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
const authProp = auth;
|
|
33
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
34
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
35
|
+
url: `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/tables/${table_id}/columns`,
|
|
36
|
+
authentication: {
|
|
37
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
38
|
+
token: authProp.access_token
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
disabled: false,
|
|
43
|
+
options: response.body.value.map((column) => ({
|
|
44
|
+
label: column.name,
|
|
45
|
+
value: column.id
|
|
46
|
+
}))
|
|
47
|
+
};
|
|
48
|
+
})
|
|
49
|
+
}),
|
|
50
|
+
lookup_value: pieces_framework_1.Property.ShortText({
|
|
51
|
+
displayName: 'Lookup Value',
|
|
52
|
+
description: 'The value to find in the lookup column.',
|
|
53
|
+
required: true
|
|
54
|
+
})
|
|
55
|
+
},
|
|
56
|
+
run(context) {
|
|
57
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const { workbook_id, table_id, lookup_column, lookup_value } = context.propsValue;
|
|
59
|
+
const { access_token } = context.auth;
|
|
60
|
+
const columnId = lookup_column;
|
|
61
|
+
const sanitizedValue = lookup_value.replace(/'/g, "''");
|
|
62
|
+
// Define the URL to clear the filter, which will be used in the 'finally' block
|
|
63
|
+
const clearFilterUrl = `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/tables/${table_id}/columns/${columnId}/filter/clear`;
|
|
64
|
+
try {
|
|
65
|
+
// Step 1: Apply the filter to the specified column
|
|
66
|
+
yield pieces_common_1.httpClient.sendRequest({
|
|
67
|
+
method: pieces_common_1.HttpMethod.POST,
|
|
68
|
+
url: `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/tables/${table_id}/columns/${columnId}/filter/apply`,
|
|
69
|
+
authentication: {
|
|
70
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
71
|
+
token: access_token
|
|
72
|
+
},
|
|
73
|
+
body: {
|
|
74
|
+
criteria: {
|
|
75
|
+
criterion1: `=${sanitizedValue}`,
|
|
76
|
+
filterOn: 'Custom'
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
// Step 2: Get the visible rows (i.e., the filtered results)
|
|
81
|
+
const foundRowsResponse = yield pieces_common_1.httpClient.sendRequest({
|
|
82
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
83
|
+
url: `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/tables/${table_id}/range/visibleView/rows`,
|
|
84
|
+
authentication: {
|
|
85
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
86
|
+
token: access_token
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
// The result is the array of rows that matched the filter
|
|
90
|
+
return foundRowsResponse.body.value;
|
|
91
|
+
}
|
|
92
|
+
finally {
|
|
93
|
+
// Step 3: Clear the filter to restore the table to its original state.
|
|
94
|
+
// This runs regardless of whether the previous steps succeeded or failed.
|
|
95
|
+
yield pieces_common_1.httpClient.sendRequest({
|
|
96
|
+
method: pieces_common_1.HttpMethod.POST,
|
|
97
|
+
url: clearFilterUrl,
|
|
98
|
+
authentication: {
|
|
99
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
100
|
+
token: access_token
|
|
101
|
+
},
|
|
102
|
+
body: {} // Clear action does not require a body
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=find-row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-row.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/find-row.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const getRangeAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
range: import("@scopieflows/pieces-framework").ShortTextProperty<true>;
|
|
5
|
+
}>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRangeAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common/common");
|
|
9
|
+
exports.getRangeAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: index_1.excelAuth,
|
|
11
|
+
name: 'get_range',
|
|
12
|
+
displayName: 'Get Cells in Range',
|
|
13
|
+
description: 'Retrieve the values in a given cell range (e.g., “A1:C10”).',
|
|
14
|
+
props: {
|
|
15
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
16
|
+
worksheet_id: common_1.excelCommon.worksheet_id,
|
|
17
|
+
range: pieces_framework_1.Property.ShortText({
|
|
18
|
+
displayName: 'Range',
|
|
19
|
+
description: 'The range of cells to retrieve, in A1 notation (e.g., "A1:C10").',
|
|
20
|
+
required: true
|
|
21
|
+
})
|
|
22
|
+
},
|
|
23
|
+
run(context) {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const { workbook_id, worksheet_id, range } = context.propsValue;
|
|
26
|
+
const { access_token } = context.auth;
|
|
27
|
+
if (!/^[A-Z]+[1-9][0-9]*(:[A-Z]+[1-9][0-9]*)?$/.test(range)) {
|
|
28
|
+
throw new Error('Invalid range format. Please use A1 notation (e.g., "A1" or "A1:C5").');
|
|
29
|
+
}
|
|
30
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
31
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
32
|
+
url: `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/worksheets/${worksheet_id}/range(address='${range}')`,
|
|
33
|
+
authentication: {
|
|
34
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
35
|
+
token: access_token
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
// The response body contains the workbookRange object with details
|
|
39
|
+
// like values, text, formulas, rowCount, etc.
|
|
40
|
+
return response.body;
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=get-cells-in-range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-cells-in-range.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-cells-in-range.ts"],"names":[],"mappings":";;;;AAAA,oEAAuE;AACvE,8DAIoC;AACpC,uCAAwC;AACxC,6CAA+C;AAElC,QAAA,cAAc,GAAG,IAAA,+BAAY,EAAC;IACzC,IAAI,EAAE,iBAAS;IACf,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,oBAAoB;IACjC,WAAW,EAAE,6DAA6D;IAC1E,KAAK,EAAE;QACL,WAAW,EAAE,oBAAW,CAAC,WAAW;QACpC,YAAY,EAAE,oBAAW,CAAC,YAAY;QACtC,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EACT,kEAAkE;YACpE,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAChE,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAEtC,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,KAAe,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,oBAAW,CAAC,OAAO,UAAU,WAAW,wBAAwB,YAAY,mBAAmB,KAAK,IAAI;gBAChH,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,YAAY;iBACpB;aACF,CAAC,CAAC;YAEH,mEAAmE;YACnE,8CAA8C;YAC9C,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const getRowAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
table_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
5
|
+
row_id: import("@scopieflows/pieces-framework").NumberProperty<true>;
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRowAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common/common");
|
|
9
|
+
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
10
|
+
exports.getRowAction = (0, pieces_framework_1.createAction)({
|
|
11
|
+
auth: index_1.excelAuth,
|
|
12
|
+
name: 'getRowById',
|
|
13
|
+
displayName: 'Get Row by ID',
|
|
14
|
+
description: ' Retrieve the entire content of a row by its row ID.',
|
|
15
|
+
props: {
|
|
16
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
17
|
+
worksheet_id: common_1.excelCommon.worksheet_id,
|
|
18
|
+
table_id: common_1.excelCommon.table_id,
|
|
19
|
+
row_id: pieces_framework_1.Property.Number({
|
|
20
|
+
displayName: 'Row ID (Index)',
|
|
21
|
+
description: 'The zero-based index of the row to retrieve (e.g., 0 for the first row, 1 for the second).',
|
|
22
|
+
required: true
|
|
23
|
+
})
|
|
24
|
+
},
|
|
25
|
+
run(context) {
|
|
26
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
var _a;
|
|
28
|
+
const { workbook_id, table_id, row_id } = context.propsValue;
|
|
29
|
+
const { access_token } = context.auth;
|
|
30
|
+
const maxRetries = 3;
|
|
31
|
+
let attempt = 0;
|
|
32
|
+
while (attempt < maxRetries) {
|
|
33
|
+
try {
|
|
34
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
35
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
36
|
+
url: `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/tables/${table_id}/rows/itemAt(index=${row_id})`,
|
|
37
|
+
authentication: {
|
|
38
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
39
|
+
token: access_token
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
return response.body;
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
const httpError = error;
|
|
46
|
+
if (((_a = httpError.response) === null || _a === void 0 ? void 0 : _a.status) === 503 && attempt < maxRetries - 1) {
|
|
47
|
+
const delayMs = Math.pow(2, attempt) * 1000;
|
|
48
|
+
console.warn(`Excel API is unavailable (503). Retrying after ${delayMs}ms... (Attempt ${attempt + 1}/${maxRetries})`);
|
|
49
|
+
yield delay(delayMs);
|
|
50
|
+
attempt++;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
throw new Error('Failed to retrieve row after multiple retries due to API unavailability.');
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=get-row-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-row-by-id.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-row-by-id.ts"],"names":[],"mappings":";;;;AAAA,oEAAuE;AACvE,8DAKoC;AACpC,uCAAwC;AACxC,6CAA+C;AAE/C,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEnE,QAAA,YAAY,GAAG,IAAA,+BAAY,EAAC;IACvC,IAAI,EAAE,iBAAS;IACf,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,uDAAuD;IACpE,KAAK,EAAE;QACL,WAAW,EAAE,oBAAW,CAAC,WAAW;QACpC,YAAY,EAAE,oBAAW,CAAC,YAAY;QACtC,QAAQ,EAAE,oBAAW,CAAC,QAAQ;QAC9B,MAAM,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACtB,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EACT,4FAA4F;YAC9F,QAAQ,EAAE,IAAI;SACf,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;;YACf,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YAC7D,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAEtC,MAAM,UAAU,GAAG,CAAC,CAAC;YACrB,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,OAAO,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;wBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;wBACtB,GAAG,EAAE,GAAG,oBAAW,CAAC,OAAO,UAAU,WAAW,oBAAoB,QAAQ,sBAAsB,MAAM,GAAG;wBAC3G,cAAc,EAAE;4BACd,IAAI,EAAE,kCAAkB,CAAC,YAAY;4BACrC,KAAK,EAAE,YAAY;yBACpB;qBACF,CAAC,CAAC;oBACH,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,SAAS,GAAG,KAAkB,CAAC;oBACrC,IAAI,CAAA,MAAA,SAAS,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;wBACnE,MAAM,OAAO,GAAG,SAAA,CAAC,EAAI,OAAO,CAAA,GAAG,IAAI,CAAC;wBACpC,OAAO,CAAC,IAAI,CACV,kDAAkD,OAAO,kBACvD,OAAO,GAAG,CACZ,IAAI,UAAU,GAAG,CAClB,CAAC;wBACF,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;wBACrB,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,CAAC;oBACd,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;QACJ,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const getTableColumnsAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
table: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
5
|
+
limit: import("@scopieflows/pieces-framework").NumberProperty<false>;
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTableColumnsAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const common_1 = require("../common/common");
|
|
7
|
+
const __1 = require("../..");
|
|
8
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
9
|
+
exports.getTableColumnsAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: __1.excelAuth,
|
|
11
|
+
name: 'get_table_columns',
|
|
12
|
+
description: 'List columns of a table in a worksheet',
|
|
13
|
+
displayName: 'Get Table Columns',
|
|
14
|
+
props: {
|
|
15
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
16
|
+
worksheet_id: common_1.excelCommon.worksheet_id,
|
|
17
|
+
table: common_1.excelCommon.table_id,
|
|
18
|
+
limit: pieces_framework_1.Property.Number({
|
|
19
|
+
displayName: 'Limit',
|
|
20
|
+
description: 'Limit the number of columns retrieved',
|
|
21
|
+
required: false,
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
run(_a) {
|
|
25
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
|
|
26
|
+
const workbookId = propsValue['workbook_id'];
|
|
27
|
+
const worksheetId = propsValue['worksheet_id'];
|
|
28
|
+
const tableId = propsValue['table'];
|
|
29
|
+
const limit = propsValue['limit'];
|
|
30
|
+
let url = `${common_1.excelCommon.baseUrl}/items/${workbookId}/workbook/worksheets/${worksheetId}/tables/${tableId}/columns`;
|
|
31
|
+
if (limit) {
|
|
32
|
+
url += `?$top=${limit}`;
|
|
33
|
+
}
|
|
34
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
35
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
36
|
+
url: url,
|
|
37
|
+
authentication: {
|
|
38
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
39
|
+
token: auth['access_token'],
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const columnNames = response.body['value'].map((column) => column.name);
|
|
43
|
+
return columnNames;
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=get-table-columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-table-columns.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-table-columns.ts"],"names":[],"mappings":";;;;AAAA,oEAAuE;AACvE,6CAA+C;AAC/C,6BAAkC;AAClC,8DAIoC;AAEvB,QAAA,qBAAqB,GAAG,IAAA,+BAAY,EAAC;IAChD,IAAI,EAAE,aAAS;IACf,IAAI,EAAE,mBAAmB;IACzB,WAAW,EAAE,wCAAwC;IACrD,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE;QACL,WAAW,EAAE,oBAAW,CAAC,WAAW;QACpC,YAAY,EAAE,oBAAW,CAAC,YAAY;QACtC,KAAK,EAAE,oBAAW,CAAC,QAAQ;QAC3B,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAElC,IAAI,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,UAAU,UAAU,wBAAwB,WAAW,WAAW,OAAO,UAAU,CAAC;YAEpH,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,IAAI,SAAS,KAAK,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;iBAC5B;aACF,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC5C,CAAC,MAAqB,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CACvC,CAAC;YAEF,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const getTableRowsAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
table: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
5
|
+
limit: import("@scopieflows/pieces-framework").NumberProperty<false>;
|
|
6
|
+
}>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTableRowsAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const common_1 = require("../common/common");
|
|
7
|
+
const __1 = require("../..");
|
|
8
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
9
|
+
exports.getTableRowsAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: __1.excelAuth,
|
|
11
|
+
name: 'get_table_rows',
|
|
12
|
+
description: 'List rows of a table in a worksheet',
|
|
13
|
+
displayName: 'Get Table Rows',
|
|
14
|
+
props: {
|
|
15
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
16
|
+
worksheet_id: common_1.excelCommon.worksheet_id,
|
|
17
|
+
table: common_1.excelCommon.table_id,
|
|
18
|
+
limit: pieces_framework_1.Property.Number({
|
|
19
|
+
displayName: 'Limit',
|
|
20
|
+
description: 'Limit the number of rows retrieved',
|
|
21
|
+
required: false,
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
run(_a) {
|
|
25
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
|
|
26
|
+
const workbookId = propsValue['workbook_id'];
|
|
27
|
+
const worksheetId = propsValue['worksheet_id'];
|
|
28
|
+
const tableId = propsValue['table'];
|
|
29
|
+
const limit = propsValue['limit'];
|
|
30
|
+
let url = `${common_1.excelCommon.baseUrl}/items/${workbookId}/workbook/worksheets/${worksheetId}/tables/${tableId}/rows`;
|
|
31
|
+
if (limit) {
|
|
32
|
+
url += `?$top=${limit}`;
|
|
33
|
+
}
|
|
34
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
35
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
36
|
+
url: url,
|
|
37
|
+
authentication: {
|
|
38
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
39
|
+
token: auth['access_token'],
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const rowsValues = response.body['value'].map((row) => row.values[0]);
|
|
43
|
+
return rowsValues;
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=get-table-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-table-rows.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-table-rows.ts"],"names":[],"mappings":";;;;AAAA,oEAAuE;AACvE,6CAA+C;AAC/C,6BAAkC;AAClC,8DAIoC;AAEvB,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,aAAS;IACf,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,qCAAqC;IAClD,WAAW,EAAE,gBAAgB;IAC7B,KAAK,EAAE;QACL,WAAW,EAAE,oBAAW,CAAC,WAAW;QACpC,YAAY,EAAE,oBAAW,CAAC,YAAY;QACtC,KAAK,EAAE,oBAAW,CAAC,QAAQ;QAC3B,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,oCAAoC;YACjD,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAElC,IAAI,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,UAAU,UAAU,wBAAwB,WAAW,WAAW,OAAO,OAAO,CAAC;YAEjH,IAAI,KAAK,EAAE,CAAC;gBACV,GAAG,IAAI,SAAS,KAAK,EAAE,CAAC;YAC1B,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;iBAC5B;aACF,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC3C,CAAC,GAAsB,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAC1C,CAAC;YAEF,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const getWorkbooksAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
limit: import("@scopieflows/pieces-framework").NumberProperty<false>;
|
|
3
|
+
}>;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWorkbooksAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common/common");
|
|
9
|
+
exports.getWorkbooksAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: index_1.excelAuth,
|
|
11
|
+
name: 'get_workbooks',
|
|
12
|
+
description: 'Retrieve a list of workbooks',
|
|
13
|
+
displayName: 'Get Workbooks',
|
|
14
|
+
props: {
|
|
15
|
+
limit: pieces_framework_1.Property.Number({
|
|
16
|
+
displayName: 'Limit',
|
|
17
|
+
description: 'Limits the number of workbooks returned, returns all workbooks if empty',
|
|
18
|
+
required: false,
|
|
19
|
+
}),
|
|
20
|
+
},
|
|
21
|
+
run(_a) {
|
|
22
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
|
|
23
|
+
const limit = propsValue['limit'];
|
|
24
|
+
const queryParams = {
|
|
25
|
+
$filter: "file ne null and file/mimeType eq 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'",
|
|
26
|
+
};
|
|
27
|
+
if (limit !== null && limit !== undefined) {
|
|
28
|
+
queryParams.$top = limit.toString();
|
|
29
|
+
}
|
|
30
|
+
const request = {
|
|
31
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
32
|
+
url: `${common_1.excelCommon.baseUrl}/root/search(q='.xlsx')`,
|
|
33
|
+
authentication: {
|
|
34
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
35
|
+
token: auth['access_token'],
|
|
36
|
+
},
|
|
37
|
+
queryParams: queryParams,
|
|
38
|
+
};
|
|
39
|
+
const response = yield pieces_common_1.httpClient.sendRequest(request);
|
|
40
|
+
const workbooks = response.body['value'].map((item) => ({
|
|
41
|
+
id: item.id,
|
|
42
|
+
name: item.name,
|
|
43
|
+
webUrl: item.webUrl,
|
|
44
|
+
}));
|
|
45
|
+
return workbooks;
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=get-workbooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-workbooks.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-workbooks.ts"],"names":[],"mappings":";;;;AAAA,oEAAuE;AACvE,8DAIoC;AACpC,uCAAwC;AACxC,6CAA+C;AAElC,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC7C,IAAI,EAAE,iBAAS;IACf,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,8BAA8B;IAC3C,WAAW,EAAE,eAAe;IAC5B,KAAK,EAAE;QACL,KAAK,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,OAAO;YACpB,WAAW,EACT,yEAAyE;YAC3E,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAElC,MAAM,WAAW,GAAQ;gBACvB,OAAO,EACL,uGAAuG;aAC1G,CAAC;YAEF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC1C,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,CAAC;YAED,MAAM,OAAO,GAAG;gBACd,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,oBAAW,CAAC,OAAO,yBAAyB;gBACpD,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,YAAqB;oBAC9C,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;iBAC5B;gBACD,WAAW,EAAE,WAAW;aACzB,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC1C,CAAC,IAAyC,EAAE,EAAE,CAAC,CAAC;gBAC9C,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CACH,CAAC;YAEF,OAAO,SAAS,CAAC;QACnB,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const getWorksheetAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
}>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWorksheetAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
7
|
+
const index_1 = require("../../index");
|
|
8
|
+
const common_1 = require("../common/common");
|
|
9
|
+
exports.getWorksheetAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: index_1.excelAuth,
|
|
11
|
+
name: 'get_worksheet',
|
|
12
|
+
displayName: 'Get Worksheet by ID',
|
|
13
|
+
description: 'Retrieve metadata of a worksheet by its ID.',
|
|
14
|
+
props: {
|
|
15
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
16
|
+
worksheet_id: common_1.excelCommon.worksheet_id, // This dropdown provides the worksheet name as its value
|
|
17
|
+
},
|
|
18
|
+
run(context) {
|
|
19
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const { workbook_id, worksheet_id } = context.propsValue;
|
|
21
|
+
const { access_token } = context.auth;
|
|
22
|
+
// The worksheet_id prop from excelCommon returns the worksheet's name,
|
|
23
|
+
// which can be used to identify it in the API URL as per the documentation ({id|name}).
|
|
24
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
25
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
26
|
+
url: `${common_1.excelCommon.baseUrl}/items/${workbook_id}/workbook/worksheets/${worksheet_id}`,
|
|
27
|
+
authentication: {
|
|
28
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
29
|
+
token: access_token,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
// The response body contains the workbookWorksheet object with its metadata.
|
|
33
|
+
return response.body;
|
|
34
|
+
});
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=get-worksheet-by-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-worksheet-by-id.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-worksheet-by-id.ts"],"names":[],"mappings":";;;;AAAA,oEAA6D;AAC7D,8DAAwF;AACxF,uCAAwC;AACxC,6CAA+C;AAElC,QAAA,kBAAkB,GAAG,IAAA,+BAAY,EAAC;IAC3C,IAAI,EAAE,iBAAS;IACf,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,6CAA6C;IAC1D,KAAK,EAAE;QACH,WAAW,EAAE,oBAAW,CAAC,WAAW;QACpC,YAAY,EAAE,oBAAW,CAAC,YAAY,EAAE,yDAAyD;KACpG;IACK,GAAG,CAAC,OAAO;;YACb,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;YACzD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAEtC,uEAAuE;YACvE,wFAAwF;YACxF,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC1C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,oBAAW,CAAC,OAAO,UAAU,WAAW,wBAAwB,YAAY,EAAE;gBACtF,cAAc,EAAE;oBACZ,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,YAAY;iBACtB;aACJ,CAAC,CAAC;YAEH,6EAA6E;YAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;KAAA;CACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const getWorksheetRowsAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
range: import("@scopieflows/pieces-framework").ShortTextProperty<false>;
|
|
5
|
+
headerRow: import("@scopieflows/pieces-framework").NumberProperty<false>;
|
|
6
|
+
firstDataRow: import("@scopieflows/pieces-framework").NumberProperty<false>;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getWorksheetRowsAction = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
6
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
7
|
+
const common_1 = require("../common/common");
|
|
8
|
+
const index_1 = require("../../index");
|
|
9
|
+
exports.getWorksheetRowsAction = (0, pieces_framework_1.createAction)({
|
|
10
|
+
auth: index_1.excelAuth,
|
|
11
|
+
name: 'get_worksheet_rows',
|
|
12
|
+
description: 'Retrieve rows from a worksheet',
|
|
13
|
+
displayName: 'Get Worksheet Rows',
|
|
14
|
+
props: {
|
|
15
|
+
workbook_id: common_1.excelCommon.workbook_id,
|
|
16
|
+
worksheet_id: common_1.excelCommon.worksheet_id,
|
|
17
|
+
range: pieces_framework_1.Property.ShortText({
|
|
18
|
+
displayName: 'Range',
|
|
19
|
+
description: 'Range of the rows to retrieve (e.g., A2:B2)',
|
|
20
|
+
required: false,
|
|
21
|
+
}),
|
|
22
|
+
headerRow: pieces_framework_1.Property.Number({
|
|
23
|
+
displayName: 'Header Row',
|
|
24
|
+
description: 'Row number of the header',
|
|
25
|
+
required: false,
|
|
26
|
+
}),
|
|
27
|
+
firstDataRow: pieces_framework_1.Property.Number({
|
|
28
|
+
displayName: 'First Data Row',
|
|
29
|
+
description: 'Row number of the first data row',
|
|
30
|
+
required: false,
|
|
31
|
+
}),
|
|
32
|
+
},
|
|
33
|
+
run(_a) {
|
|
34
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
|
|
35
|
+
const workbookId = propsValue['workbook_id'];
|
|
36
|
+
const worksheetId = propsValue['worksheet_id'];
|
|
37
|
+
const range = propsValue['range'];
|
|
38
|
+
const headerRow = propsValue['headerRow'];
|
|
39
|
+
const firstDataRow = propsValue['firstDataRow'];
|
|
40
|
+
let url = `${common_1.excelCommon.baseUrl}/items/${workbookId}/workbook/worksheets/${worksheetId}/`;
|
|
41
|
+
if (!range) {
|
|
42
|
+
url += 'usedRange(valuesOnly=true)';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
url += `range(address = '${range}')`;
|
|
46
|
+
}
|
|
47
|
+
const response = yield pieces_common_1.httpClient.sendRequest({
|
|
48
|
+
method: pieces_common_1.HttpMethod.GET,
|
|
49
|
+
url: url,
|
|
50
|
+
authentication: {
|
|
51
|
+
type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
|
|
52
|
+
token: auth['access_token'],
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
const rows = response.body['values'];
|
|
56
|
+
if (headerRow && firstDataRow) {
|
|
57
|
+
return rows.slice(firstDataRow - 1).map((row) => {
|
|
58
|
+
const obj = {};
|
|
59
|
+
rows[headerRow - 1].forEach((header, colIndex) => {
|
|
60
|
+
obj[String(header)] = row[Number(colIndex)];
|
|
61
|
+
});
|
|
62
|
+
return obj;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
return rows;
|
|
66
|
+
});
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=get-worksheet-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-worksheet-rows.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/get-worksheet-rows.ts"],"names":[],"mappings":";;;;AAAA,oEAAuE;AACvE,8DAIoC;AACpC,6CAA+C;AAC/C,uCAAwC;AAE3B,QAAA,sBAAsB,GAAG,IAAA,+BAAY,EAAC;IACjD,IAAI,EAAE,iBAAS;IACf,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EAAE,gCAAgC;IAC7C,WAAW,EAAE,oBAAoB;IACjC,KAAK,EAAE;QACL,WAAW,EAAE,oBAAW,CAAC,WAAW;QACpC,YAAY,EAAE,oBAAW,CAAC,YAAY;QACtC,KAAK,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACxB,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,6CAA6C;YAC1D,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,YAAY;YACzB,WAAW,EAAE,0BAA0B;YACvC,QAAQ,EAAE,KAAK;SAChB,CAAC;QACF,YAAY,EAAE,2BAAQ,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,kCAAkC;YAC/C,QAAQ,EAAE,KAAK;SAChB,CAAC;KACH;IACK,GAAG;qEAAC,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;YAEhD,IAAI,GAAG,GAAG,GAAG,oBAAW,CAAC,OAAO,UAAU,UAAU,wBAAwB,WAAW,GAAG,CAAC;YAE3F,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,GAAG,IAAI,4BAA4B,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,oBAAoB,KAAK,IAAI,CAAC;YACvC,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAC;gBAC5C,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG;gBACR,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;iBAC5B;aACF,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAU,EAAE,EAAE;oBACrD,MAAM,GAAG,GAA2B,EAAE,CAAC;oBACvC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,OAAO,CACzB,CAAC,MAAW,EAAE,QAAyB,EAAE,EAAE;wBACzC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC9C,CAAC,CACF,CAAC;oBACF,OAAO,GAAG,CAAC;gBACb,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const getWorksheetsAction: import("@scopieflows/pieces-framework").IAction<import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
2
|
+
workbook: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
3
|
+
returnAll: import("@scopieflows/pieces-framework").CheckboxProperty<false>;
|
|
4
|
+
limit: import("@scopieflows/pieces-framework").NumberProperty<false>;
|
|
5
|
+
}>;
|