@activepieces/piece-microsoft-excel-365 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,20 +1,26 @@
1
1
  {
2
2
  "name": "@activepieces/piece-microsoft-excel-365",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "dependencies": {
5
+ "@ai-sdk/mcp": "1.0.1 ",
6
+ "@microsoft/microsoft-graph-client": "3.0.7",
7
+ "@microsoft/microsoft-graph-types": "2.40.0",
8
+ "@modelcontextprotocol/sdk": "1.25.2",
5
9
  "@sinclair/typebox": "0.34.11",
10
+ "ai": "5.0.104",
6
11
  "axios": "1.13.1",
7
12
  "axios-retry": "4.4.1",
8
13
  "deepmerge-ts": "7.1.0",
9
14
  "form-data": "4.0.4",
15
+ "i18next": "23.13.0",
10
16
  "mime-types": "2.1.35",
11
17
  "nanoid": "3.3.8",
12
18
  "semver": "7.6.0",
13
19
  "socket.io-client": "4.8.1",
14
20
  "zod": "4.1.13",
15
- "@activepieces/pieces-common": "0.11.0",
21
+ "@activepieces/pieces-common": "0.11.1",
16
22
  "@activepieces/pieces-framework": "0.23.0",
17
- "@activepieces/shared": "0.30.4",
23
+ "@activepieces/shared": "0.32.0",
18
24
  "tslib": "2.6.2"
19
25
  },
20
26
  "resolutions": {
@@ -2,6 +2,7 @@
2
2
  "Spreadsheet software by Microsoft": "Spreadsheet software by Microsoft",
3
3
  "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add ": "\n1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).\n2. From the left sidebar, go to **Microsoft Enfra ID**.\n3. Under **Manage**, click on **App registrations**.\n4. Click the **New registration** button.\n5. Enter a **Name** for your app.\n6. For **Supported account types**, choose:\n - **Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts**\n - Or select based on your requirement.\n7. In **Redirect URI**, select **Web** and add the given URL.\n8. Click **Register**.\n9. After registration, you’ll be redirected to the app’s overview page. Copy the **Application (client) ID**.\n10. From the left menu, go to **Certificates & secrets**.\n - Under **Client secrets**, click **New client secret**.\n - Provide a description, set an expiry, and click **Add**.\n - Copy the **Value** of the client secret (this will not be shown again).\n11. Go to **API permissions** from the left menu.\n - Click **Add a permission**.\n - Select **Microsoft Graph** → **Delegated permissions**.\n - Add the following scopes:\n - Files.ReadWrite\n - offline_access\n - Click **Add permissions**.\n12. Copy your **Client ID** and **Client Secret**.\n",
4
4
  "Append Row to Worksheet": "Append Row to Worksheet",
5
+ "Append Multiple Rows": "Append Multiple Rows",
5
6
  "Get Worksheets": "Get Worksheets",
6
7
  "Get Worksheet Rows": "Get Worksheet Rows",
7
8
  "Update Worksheet Rows": "Update Worksheet Rows",
@@ -29,6 +30,7 @@
29
30
  "Rename Worksheet": "Rename Worksheet",
30
31
  "Custom API Call": "Custom API Call",
31
32
  "Append row of values to a worksheet": "Append row of values to a worksheet",
33
+ "Appends multiple row of values to a worksheet.": "Appends multiple row of values to a worksheet.",
32
34
  "Retrieve worksheets from a workbook": "Retrieve worksheets from a workbook",
33
35
  "Retrieve rows from a worksheet": "Retrieve rows from a worksheet",
34
36
  "Update a row in a worksheet": "Update a row in a worksheet",
@@ -82,6 +84,7 @@
82
84
  "New Worksheet Name": "New Worksheet Name",
83
85
  "Method": "Method",
84
86
  "Query Parameters": "Query Parameters",
87
+ "Body Type": "Body Type",
85
88
  "Body": "Body",
86
89
  "Response is Binary ?": "Response is Binary ?",
87
90
  "No Error on Failure": "No Error on Failure",
@@ -121,7 +124,7 @@
121
124
  "The zero-based index of the row to retrieve (e.g., 0 for the first row, 1 for the second).": "The zero-based index of the row to retrieve (e.g., 0 for the first row, 1 for the second).",
122
125
  "\nThe new name for the worksheet. The name must adhere to the following rules:\n- Cannot be blank.\n- Cannot exceed 31 characters.\n- Must not contain any of the following characters: `/`, `\\`, `?`, `*`, `:`, `[`, `]`.\n- The name \"History\" is reserved by Excel and cannot be used.\n": "\nThe new name for the worksheet. The name must adhere to the following rules:\n- Cannot be blank.\n- Cannot exceed 31 characters.\n- Must not contain any of the following characters: `/`, `\\`, `?`, `*`, `:`, `[`, `]`.\n- The name \"History\" is reserved by Excel and cannot be used.\n",
123
126
  "Authorization headers are injected automatically from your connection.": "Authorization headers are injected automatically from your connection.",
124
- "Enable for files like PDFs, images, etc..": "Enable for files like PDFs, images, etc..",
127
+ "Enable for files like PDFs, images, etc.": "Enable for files like PDFs, images, etc.",
125
128
  "All (Contents and Formatting)": "All (Contents and Formatting)",
126
129
  "Contents Only": "Contents Only",
127
130
  "Formats Only": "Formats Only",
@@ -131,6 +134,10 @@
131
134
  "PUT": "PUT",
132
135
  "DELETE": "DELETE",
133
136
  "HEAD": "HEAD",
137
+ "None": "None",
138
+ "JSON": "JSON",
139
+ "Form Data": "Form Data",
140
+ "Raw": "Raw",
134
141
  "New Row": "New Row",
135
142
  "New Row in Table": "New Row in Table",
136
143
  "New Worksheet": "New Worksheet",
package/src/index.js CHANGED
@@ -35,6 +35,7 @@ const new_row_added_1 = require("./lib/trigger/new-row-added");
35
35
  const new_row_in_table_1 = require("./lib/trigger/new-row-in-table");
36
36
  const new_worksheet_1 = require("./lib/trigger/new-worksheet");
37
37
  const updated_row_1 = require("./lib/trigger/updated-row");
38
+ const append_multiple_rows_1 = require("./lib/actions/append-multiple-rows");
38
39
  const common_1 = require("./lib/common/common");
39
40
  const authDesc = `
40
41
  1. Sign in to [Microsoft Azure Portal](https://portal.azure.com/).
@@ -79,6 +80,7 @@ exports.microsoftExcel = (0, pieces_framework_1.createPiece)({
79
80
  authors: ['BastienMe', 'kishanprmr', 'MoShizzle', 'abuaboud', 'Pranith124', 'onyedikachi-david'],
80
81
  actions: [
81
82
  append_row_1.appendRowAction,
83
+ append_multiple_rows_1.appendMultipleRowsAction,
82
84
  get_worksheets_1.getWorksheetsAction,
83
85
  get_worksheet_rows_1.getWorksheetRowsAction,
84
86
  update_row_1.updateRowAction,
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/microsoft-excel-365/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAIwC;AACxC,iDAAqD;AAErD,+DAAiE;AACjE,yDAA2D;AAC3D,uEAAwE;AACxE,mEAAqE;AACrE,qEAAsE;AACtE,6DAA+D;AAC/D,mEAA+D;AAC/D,6DAA+D;AAC/D,mEAAqE;AACrE,qEAAuE;AACvE,uEAAwE;AACxE,iEAAkE;AAClE,+DAAiE;AACjE,yEAA0E;AAC1E,iEAAmE;AACnE,2EAA4E;AAC5E,yDAA2D;AAE3D,6EAAsE;AACtE,+EAAwE;AACxE,mEAA+D;AAC/D,qEAAuE;AACvE,qDAAuD;AACvD,yEAAkE;AAClE,+DAA2D;AAC3D,2EAAuE;AACvE,qEAAuE;AAEvE,+DAA0D;AAE1D,qEAAsE;AACtE,+DAAkE;AAClE,2DAA8D;AAE9D,gDAAkD;AAGlD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAC;AAEW,QAAA,SAAS,GAAG,4BAAS,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,gEAAgE;IACzE,QAAQ,EAAE,4DAA4D;IACtE,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAC5C,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACxC,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,mCAAmC;IAEhD,IAAI,EAAE,iBAAS;IACf,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,6DAA6D;IACtE,UAAU,EAAE,CAAC,sBAAa,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,CAAC;IAChG,OAAO,EAAE;QACP,4BAAe;QACf,oCAAmB;QACnB,2CAAsB;QACtB,4BAAe;QACf,sCAAoB;QACpB,wCAAqB;QACrB,kCAAkB;QAClB,sCAAoB;QACpB,kCAAkB;QAClB,mCAAkB;QAClB,yCAAqB;QACrB,gCAAiB;QACjB,gCAAiB;QACjB,6CAAuB;QACvB,yCAAqB;QACrB,uCAAoB;QACpB,gCAAc;QACd,yCAAiB;QACjB,uCAAgB;QAChB,gCAAc;QACd,wCAAqB;QACrB,wBAAa;QACb,mCAAc;QACd,4BAAY;QACZ,wCAAkB;QAClB,wCAAqB;QACrB,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAW,CAAC,OAAO;YAClC,IAAI,EAAE,iBAAS;YACf,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC5B,aAAa,EAAE,UAAW,IAA4B,CAAC,YAAY,EAAE;iBACtE,CAAC,CAAA;cAAA;SACH,CAAC;KACH;IACD,QAAQ,EAAE;QACR,2BAAW;QACX,uCAAoB;QACpB,mCAAmB;QACnB,+BAAiB;KAClB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/pieces/community/microsoft-excel-365/src/index.ts"],"names":[],"mappings":";;;;AAAA,+DAAwE;AACxE,qEAIwC;AACxC,iDAAqD;AAErD,+DAAiE;AACjE,yDAA2D;AAC3D,uEAAwE;AACxE,mEAAqE;AACrE,qEAAsE;AACtE,6DAA+D;AAC/D,mEAA+D;AAC/D,6DAA+D;AAC/D,mEAAqE;AACrE,qEAAuE;AACvE,uEAAwE;AACxE,iEAAkE;AAClE,+DAAiE;AACjE,yEAA0E;AAC1E,iEAAmE;AACnE,2EAA4E;AAC5E,yDAA2D;AAE3D,6EAAsE;AACtE,+EAAwE;AACxE,mEAA+D;AAC/D,qEAAuE;AACvE,qDAAuD;AACvD,yEAAkE;AAClE,+DAA2D;AAC3D,2EAAuE;AACvE,qEAAuE;AAEvE,+DAA0D;AAE1D,qEAAsE;AACtE,+DAAkE;AAClE,2DAA8D;AAE9D,6EAA8E;AAC9E,gDAAkD;AAElD,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBhB,CAAC;AAEW,QAAA,SAAS,GAAG,4BAAS,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,gEAAgE;IACzE,QAAQ,EAAE,4DAA4D;IACtE,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IAC5C,MAAM,EAAE,MAAM;CACf,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,IAAA,8BAAW,EAAC;IACxC,WAAW,EAAE,qBAAqB;IAClC,WAAW,EAAE,mCAAmC;IAEhD,IAAI,EAAE,iBAAS;IACf,uBAAuB,EAAE,QAAQ;IACjC,OAAO,EAAE,6DAA6D;IACtE,UAAU,EAAE,CAAC,sBAAa,CAAC,YAAY,CAAC;IACxC,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,CAAC;IAChG,OAAO,EAAE;QACP,4BAAe;QACf,+CAAwB;QACxB,oCAAmB;QACnB,2CAAsB;QACtB,4BAAe;QACf,sCAAoB;QACpB,wCAAqB;QACrB,kCAAkB;QAClB,sCAAoB;QACpB,kCAAkB;QAClB,mCAAkB;QAClB,yCAAqB;QACrB,gCAAiB;QACjB,gCAAiB;QACjB,6CAAuB;QACvB,yCAAqB;QACrB,uCAAoB;QACpB,gCAAc;QACd,yCAAiB;QACjB,uCAAgB;QAChB,gCAAc;QACd,wCAAqB;QACrB,wBAAa;QACb,mCAAc;QACd,4BAAY;QACZ,wCAAkB;QAClB,wCAAqB;QACrB,IAAA,yCAAyB,EAAC;YACxB,OAAO,EAAE,GAAG,EAAE,CAAC,oBAAW,CAAC,OAAO;YAClC,IAAI,EAAE,iBAAS;YACf,WAAW,EAAE,CAAO,IAAI,EAAE,EAAE;gBAAC,OAAA,CAAC;oBAC5B,aAAa,EAAE,UAAW,IAA4B,CAAC,YAAY,EAAE;iBACtE,CAAC,CAAA;cAAA;SACH,CAAC;KACH;IACD,QAAQ,EAAE;QACR,2BAAW;QACX,uCAAoB;QACpB,mCAAmB;QACnB,+BAAiB;KAClB;CACF,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ export declare enum FilterOperator {
2
+ TEXT_CONTAINS = "TEXT_CONTAINS",
3
+ TEXT_DOES_NOT_CONTAIN = "TEXT_DOES_NOT_CONTAIN",
4
+ TEXT_EXACTLY_MATCHES = "TEXT_EXACTLY_MATCHES",
5
+ TEXT_DOES_NOT_EXACTLY_MATCH = "TEXT_DOES_NOT_EXACTLY_MATCH",
6
+ TEXT_STARTS_WITH = "TEXT_START_WITH",
7
+ TEXT_DOES_NOT_START_WITH = "TEXT_DOES_NOT_START_WITH",
8
+ TEXT_ENDS_WITH = "TEXT_ENDS_WITH",
9
+ TEXT_DOES_NOT_END_WITH = "TEXT_DOES_NOT_END_WITH",
10
+ TEXT_MATCHES_ANY_OF = "TEXT_MATCHES_ANY_OF",
11
+ TEXT_MATCHES_NONE_OF = "TEXT_MATCHES_NONE_OF",
12
+ NUMBER_IS_GREATER_THAN = "NUMBER_IS_GREATER_THAN",
13
+ NUMBER_IS_LESS_THAN = "NUMBER_IS_LESS_THAN",
14
+ NUMBER_IS_EQUAL_TO = "NUMBER_IS_EQUAL_TO",
15
+ BOOLEAN_IS_TRUE = "BOOLEAN_IS_TRUE",
16
+ BOOLEAN_IS_FALSE = "BOOLEAN_IS_FALSE",
17
+ DATE_IS_BEFORE = "DATE_IS_BEFORE",
18
+ DATE_IS_EQUAL = "DATE_IS_EQUAL",
19
+ DATE_IS_AFTER = "DATE_IS_AFTER",
20
+ LIST_CONTAINS = "LIST_CONTAINS",
21
+ LIST_DOES_NOT_CONTAIN = "LIST_DOES_NOT_CONTAIN",
22
+ LIST_IS_EMPTY = "LIST_IS_EMPTY",
23
+ LIST_IS_NOT_EMPTY = "LIST_IS_NOT_EMPTY",
24
+ EXISTS = "EXISTS",
25
+ DOES_NOT_EXIST = "DOES_NOT_EXIST"
26
+ }
27
+ export declare const appendMultipleRowsAction: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>, {
28
+ workbook_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
29
+ worksheet_id: import("@activepieces/pieces-framework").DropdownProperty<string, true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
30
+ values: import("@activepieces/pieces-framework").DynamicProperties<true, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
31
+ filterMarkdown: import("dist/packages/pieces/community/framework/src/lib/property/input/markdown-property").MarkDownProperty;
32
+ filterColumn: import("@activepieces/pieces-framework").DropdownProperty<string, false, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
33
+ filterType: import("@activepieces/pieces-framework").StaticDropdownProperty<FilterOperator, false>;
34
+ filterValue: import("@activepieces/pieces-framework").DynamicProperties<false, import("@activepieces/pieces-framework").OAuth2Property<import("@activepieces/pieces-framework").OAuth2Props>>;
35
+ }>;
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.appendMultipleRowsAction = exports.FilterOperator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const index_1 = require("../../index");
7
+ const common_1 = require("../common/common");
8
+ const shared_1 = require("@activepieces/shared");
9
+ const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
10
+ const createEmptyOptions = (message) => {
11
+ return {
12
+ placeholder: message,
13
+ options: [],
14
+ disabled: true,
15
+ };
16
+ };
17
+ var FilterOperator;
18
+ (function (FilterOperator) {
19
+ FilterOperator["TEXT_CONTAINS"] = "TEXT_CONTAINS";
20
+ FilterOperator["TEXT_DOES_NOT_CONTAIN"] = "TEXT_DOES_NOT_CONTAIN";
21
+ FilterOperator["TEXT_EXACTLY_MATCHES"] = "TEXT_EXACTLY_MATCHES";
22
+ FilterOperator["TEXT_DOES_NOT_EXACTLY_MATCH"] = "TEXT_DOES_NOT_EXACTLY_MATCH";
23
+ FilterOperator["TEXT_STARTS_WITH"] = "TEXT_START_WITH";
24
+ FilterOperator["TEXT_DOES_NOT_START_WITH"] = "TEXT_DOES_NOT_START_WITH";
25
+ FilterOperator["TEXT_ENDS_WITH"] = "TEXT_ENDS_WITH";
26
+ FilterOperator["TEXT_DOES_NOT_END_WITH"] = "TEXT_DOES_NOT_END_WITH";
27
+ FilterOperator["TEXT_MATCHES_ANY_OF"] = "TEXT_MATCHES_ANY_OF";
28
+ FilterOperator["TEXT_MATCHES_NONE_OF"] = "TEXT_MATCHES_NONE_OF";
29
+ FilterOperator["NUMBER_IS_GREATER_THAN"] = "NUMBER_IS_GREATER_THAN";
30
+ FilterOperator["NUMBER_IS_LESS_THAN"] = "NUMBER_IS_LESS_THAN";
31
+ FilterOperator["NUMBER_IS_EQUAL_TO"] = "NUMBER_IS_EQUAL_TO";
32
+ FilterOperator["BOOLEAN_IS_TRUE"] = "BOOLEAN_IS_TRUE";
33
+ FilterOperator["BOOLEAN_IS_FALSE"] = "BOOLEAN_IS_FALSE";
34
+ FilterOperator["DATE_IS_BEFORE"] = "DATE_IS_BEFORE";
35
+ FilterOperator["DATE_IS_EQUAL"] = "DATE_IS_EQUAL";
36
+ FilterOperator["DATE_IS_AFTER"] = "DATE_IS_AFTER";
37
+ FilterOperator["LIST_CONTAINS"] = "LIST_CONTAINS";
38
+ FilterOperator["LIST_DOES_NOT_CONTAIN"] = "LIST_DOES_NOT_CONTAIN";
39
+ FilterOperator["LIST_IS_EMPTY"] = "LIST_IS_EMPTY";
40
+ FilterOperator["LIST_IS_NOT_EMPTY"] = "LIST_IS_NOT_EMPTY";
41
+ FilterOperator["EXISTS"] = "EXISTS";
42
+ FilterOperator["DOES_NOT_EXIST"] = "DOES_NOT_EXIST";
43
+ })(FilterOperator || (exports.FilterOperator = FilterOperator = {}));
44
+ exports.appendMultipleRowsAction = (0, pieces_framework_1.createAction)({
45
+ auth: index_1.excelAuth,
46
+ name: 'append_multiple_rows',
47
+ description: 'Appends multiple row of values to a worksheet.',
48
+ displayName: 'Append Multiple Rows',
49
+ props: {
50
+ workbook_id: common_1.excelCommon.workbook_id,
51
+ worksheet_id: common_1.excelCommon.worksheet_id,
52
+ values: pieces_framework_1.Property.DynamicProperties({
53
+ auth: index_1.excelAuth,
54
+ displayName: 'Values',
55
+ required: true,
56
+ refreshers: ['workbook_id', 'worksheet_id'],
57
+ props: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, workbook_id, worksheet_id }) {
58
+ if (!auth ||
59
+ (workbook_id !== null && workbook_id !== void 0 ? workbook_id : '').toString().length === 0 ||
60
+ (worksheet_id !== null && worksheet_id !== void 0 ? worksheet_id : '').toString().length === 0) {
61
+ return {};
62
+ }
63
+ const authProp = auth;
64
+ const firstRow = yield common_1.excelCommon.getHeaders(workbook_id, authProp['access_token'], worksheet_id);
65
+ const fields = {};
66
+ const columns = {};
67
+ for (const key in firstRow) {
68
+ columns[key] = pieces_framework_1.Property.ShortText({
69
+ displayName: firstRow[key].toString(),
70
+ description: firstRow[key].toString(),
71
+ required: false,
72
+ defaultValue: '',
73
+ });
74
+ }
75
+ fields['values'] = pieces_framework_1.Property.Array({
76
+ displayName: 'Values',
77
+ required: true,
78
+ properties: columns,
79
+ });
80
+ return fields;
81
+ }),
82
+ }),
83
+ filterMarkdown: pieces_framework_1.Property.MarkDown({
84
+ variant: shared_1.MarkdownVariant.INFO,
85
+ value: `Use below Filter properties to insert only the rows that meet your conditions.`,
86
+ }),
87
+ filterColumn: pieces_framework_1.Property.Dropdown({
88
+ displayName: 'Filter Column',
89
+ refreshers: ['workbook_id', 'worksheet_id'],
90
+ auth: index_1.excelAuth,
91
+ required: false,
92
+ options(_a) {
93
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, worksheet_id, workbook_id }) {
94
+ if (!auth) {
95
+ return createEmptyOptions('please connect account first.');
96
+ }
97
+ if (!workbook_id) {
98
+ return createEmptyOptions('please select workbook first.');
99
+ }
100
+ if (!worksheet_id) {
101
+ return createEmptyOptions('please select worksheet first.');
102
+ }
103
+ const firstRow = yield common_1.excelCommon.getHeaders(workbook_id, auth.access_token, worksheet_id);
104
+ const options = [];
105
+ for (const key in firstRow) {
106
+ if ((0, shared_1.isEmpty)(firstRow[key]))
107
+ continue;
108
+ options.push({ value: key, label: firstRow[key].toString() });
109
+ }
110
+ return {
111
+ disabled: false,
112
+ options,
113
+ };
114
+ });
115
+ },
116
+ }),
117
+ filterType: pieces_framework_1.Property.StaticDropdown({
118
+ displayName: 'Filter Type',
119
+ required: false,
120
+ options: {
121
+ disabled: false,
122
+ options: [
123
+ { label: '(Text) Exactly matches', value: FilterOperator.TEXT_EXACTLY_MATCHES },
124
+ {
125
+ label: '(Text) Does not exactly match',
126
+ value: FilterOperator.TEXT_DOES_NOT_EXACTLY_MATCH,
127
+ },
128
+ { label: '(Text) Matches any of', value: FilterOperator.TEXT_MATCHES_ANY_OF },
129
+ { label: '(Text) Matches none of', value: FilterOperator.TEXT_MATCHES_NONE_OF },
130
+ ],
131
+ },
132
+ }),
133
+ filterValue: pieces_framework_1.Property.DynamicProperties({
134
+ displayName: 'Filter Value',
135
+ refreshers: ['filterType'],
136
+ auth: index_1.excelAuth,
137
+ required: false,
138
+ props: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ filterType }) {
139
+ if (!filterType)
140
+ return {};
141
+ const filterCondition = filterType;
142
+ const props = {};
143
+ switch (filterCondition) {
144
+ case FilterOperator.TEXT_EXACTLY_MATCHES:
145
+ case FilterOperator.TEXT_DOES_NOT_EXACTLY_MATCH:
146
+ props['value'] = pieces_framework_1.Property.ShortText({
147
+ displayName: 'Filter Value',
148
+ required: false,
149
+ });
150
+ break;
151
+ case FilterOperator.TEXT_MATCHES_ANY_OF:
152
+ case FilterOperator.TEXT_MATCHES_NONE_OF:
153
+ props['value'] = pieces_framework_1.Property.Array({
154
+ displayName: 'Filter Value',
155
+ required: false,
156
+ });
157
+ break;
158
+ default:
159
+ break;
160
+ }
161
+ return props;
162
+ }),
163
+ }),
164
+ },
165
+ run(_a) {
166
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ propsValue, auth }) {
167
+ var _b, _c;
168
+ const workbookId = propsValue['workbook_id'];
169
+ const worksheetId = propsValue['worksheet_id'];
170
+ const filterColumn = propsValue.filterColumn;
171
+ const filterCondition = propsValue.filterType;
172
+ const rawFilterValue = (_b = propsValue.filterValue) === null || _b === void 0 ? void 0 : _b['value'];
173
+ const inputValues = (_c = propsValue.values['values']) !== null && _c !== void 0 ? _c : [];
174
+ const firstRow = yield common_1.excelCommon.getHeaders(workbookId, auth.access_token, worksheetId);
175
+ const columnCount = firstRow.length;
176
+ let filteredRowValues = inputValues;
177
+ if (filterColumn) {
178
+ if (!filterCondition || !rawFilterValue) {
179
+ throw new Error('When a filter column is selected, filter condition and value are required.');
180
+ }
181
+ const filterValues = Array.isArray(rawFilterValue)
182
+ ? rawFilterValue.map((v) => String(v).trim())
183
+ : rawFilterValue != null
184
+ ? [String(rawFilterValue).trim()]
185
+ : [];
186
+ filteredRowValues = inputValues.filter((row) => {
187
+ var _a;
188
+ if (!filterColumn)
189
+ return true;
190
+ const value = String((_a = row[filterColumn]) !== null && _a !== void 0 ? _a : '').trim();
191
+ switch (filterCondition) {
192
+ case FilterOperator.TEXT_EXACTLY_MATCHES:
193
+ return value === filterValues[0];
194
+ case FilterOperator.TEXT_DOES_NOT_EXACTLY_MATCH:
195
+ return value !== filterValues[0];
196
+ case FilterOperator.TEXT_MATCHES_ANY_OF:
197
+ return filterValues.includes(value);
198
+ case FilterOperator.TEXT_MATCHES_NONE_OF:
199
+ return !filterValues.includes(value);
200
+ default:
201
+ return true;
202
+ }
203
+ });
204
+ }
205
+ const formattedValues = filteredRowValues.map((v) => Array.from({ length: columnCount }, (_, i) => { var _a; return (_a = v[i]) !== null && _a !== void 0 ? _a : null; }));
206
+ const lastUsedRow = yield common_1.excelCommon.getLastUsedRow(workbookId, worksheetId, auth['access_token']);
207
+ const lastUsedColumn = common_1.excelCommon.numberToColumnName(columnCount);
208
+ const rangeFrom = `A${lastUsedRow + 1}`;
209
+ const rangeTo = `${lastUsedColumn}${lastUsedRow + formattedValues.length}`;
210
+ const client = microsoft_graph_client_1.Client.initWithMiddleware({
211
+ authProvider: {
212
+ getAccessToken: () => Promise.resolve(auth.access_token),
213
+ },
214
+ });
215
+ const url = `/me/drive/items/${workbookId}/workbook/worksheets/${worksheetId}/range(address='${rangeFrom}:${rangeTo}')`;
216
+ const requestBody = {
217
+ values: formattedValues,
218
+ };
219
+ const res = yield client.api(url).update(requestBody);
220
+ const { numberFormat, formulas, formulasLocal, formulasR1C1, valueTypes, values, text } = res, rest = tslib_1.__rest(res, ["numberFormat", "formulas", "formulasLocal", "formulasR1C1", "valueTypes", "values", "text"]);
221
+ return rest;
222
+ });
223
+ },
224
+ });
225
+ //# sourceMappingURL=append-multiple-rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"append-multiple-rows.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/actions/append-multiple-rows.ts"],"names":[],"mappings":"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"}