@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.
Files changed (117) hide show
  1. package/README.md +7 -0
  2. package/package.json +30 -0
  3. package/src/i18n/ca.json +92 -0
  4. package/src/i18n/de.json +167 -0
  5. package/src/i18n/es.json +167 -0
  6. package/src/i18n/fr.json +167 -0
  7. package/src/i18n/hi.json +92 -0
  8. package/src/i18n/id.json +92 -0
  9. package/src/i18n/ja.json +167 -0
  10. package/src/i18n/nl.json +167 -0
  11. package/src/i18n/pt.json +167 -0
  12. package/src/i18n/ru.json +98 -0
  13. package/src/i18n/translation.json +167 -0
  14. package/src/i18n/vi.json +98 -0
  15. package/src/i18n/zh.json +167 -0
  16. package/src/index.d.ts +2 -0
  17. package/src/index.js +128 -0
  18. package/src/index.js.map +1 -0
  19. package/src/lib/actions/add-worksheet.d.ts +4 -0
  20. package/src/lib/actions/add-worksheet.js +43 -0
  21. package/src/lib/actions/add-worksheet.js.map +1 -0
  22. package/src/lib/actions/append-multiple-rows.d.ts +35 -0
  23. package/src/lib/actions/append-multiple-rows.js +225 -0
  24. package/src/lib/actions/append-multiple-rows.js.map +1 -0
  25. package/src/lib/actions/append-row.d.ts +6 -0
  26. package/src/lib/actions/append-row.js +57 -0
  27. package/src/lib/actions/append-row.js.map +1 -0
  28. package/src/lib/actions/append-table-rows.d.ts +6 -0
  29. package/src/lib/actions/append-table-rows.js +41 -0
  30. package/src/lib/actions/append-table-rows.js.map +1 -0
  31. package/src/lib/actions/clear-cells-by-range.d.ts +6 -0
  32. package/src/lib/actions/clear-cells-by-range.js +68 -0
  33. package/src/lib/actions/clear-cells-by-range.js.map +1 -0
  34. package/src/lib/actions/clear-column-by-index.d.ts +6 -0
  35. package/src/lib/actions/clear-column-by-index.js +74 -0
  36. package/src/lib/actions/clear-column-by-index.js.map +1 -0
  37. package/src/lib/actions/clear-row-by-id.d.ts +6 -0
  38. package/src/lib/actions/clear-row-by-id.js +70 -0
  39. package/src/lib/actions/clear-row-by-id.js.map +1 -0
  40. package/src/lib/actions/clear-worksheet.d.ts +5 -0
  41. package/src/lib/actions/clear-worksheet.js +52 -0
  42. package/src/lib/actions/clear-worksheet.js.map +1 -0
  43. package/src/lib/actions/convert-to-range.d.ts +5 -0
  44. package/src/lib/actions/convert-to-range.js +36 -0
  45. package/src/lib/actions/convert-to-range.js.map +1 -0
  46. package/src/lib/actions/create-table.d.ts +7 -0
  47. package/src/lib/actions/create-table.js +93 -0
  48. package/src/lib/actions/create-table.js.map +1 -0
  49. package/src/lib/actions/create-workbook.d.ts +4 -0
  50. package/src/lib/actions/create-workbook.js +45 -0
  51. package/src/lib/actions/create-workbook.js.map +1 -0
  52. package/src/lib/actions/create-worksheet.d.ts +5 -0
  53. package/src/lib/actions/create-worksheet.js +81 -0
  54. package/src/lib/actions/create-worksheet.js.map +1 -0
  55. package/src/lib/actions/delete-table.d.ts +5 -0
  56. package/src/lib/actions/delete-table.js +36 -0
  57. package/src/lib/actions/delete-table.js.map +1 -0
  58. package/src/lib/actions/delete-workbook.d.ts +3 -0
  59. package/src/lib/actions/delete-workbook.js +34 -0
  60. package/src/lib/actions/delete-workbook.js.map +1 -0
  61. package/src/lib/actions/delete-worksheet.d.ts +4 -0
  62. package/src/lib/actions/delete-worksheet.js +35 -0
  63. package/src/lib/actions/delete-worksheet.js.map +1 -0
  64. package/src/lib/actions/find-row.d.ts +7 -0
  65. package/src/lib/actions/find-row.js +108 -0
  66. package/src/lib/actions/find-row.js.map +1 -0
  67. package/src/lib/actions/get-cells-in-range.d.ts +5 -0
  68. package/src/lib/actions/get-cells-in-range.js +44 -0
  69. package/src/lib/actions/get-cells-in-range.js.map +1 -0
  70. package/src/lib/actions/get-row-by-id.d.ts +6 -0
  71. package/src/lib/actions/get-row-by-id.js +61 -0
  72. package/src/lib/actions/get-row-by-id.js.map +1 -0
  73. package/src/lib/actions/get-table-columns.d.ts +6 -0
  74. package/src/lib/actions/get-table-columns.js +47 -0
  75. package/src/lib/actions/get-table-columns.js.map +1 -0
  76. package/src/lib/actions/get-table-rows.d.ts +6 -0
  77. package/src/lib/actions/get-table-rows.js +47 -0
  78. package/src/lib/actions/get-table-rows.js.map +1 -0
  79. package/src/lib/actions/get-workbooks.d.ts +3 -0
  80. package/src/lib/actions/get-workbooks.js +49 -0
  81. package/src/lib/actions/get-workbooks.js.map +1 -0
  82. package/src/lib/actions/get-worksheet-by-id.d.ts +4 -0
  83. package/src/lib/actions/get-worksheet-by-id.js +37 -0
  84. package/src/lib/actions/get-worksheet-by-id.js.map +1 -0
  85. package/src/lib/actions/get-worksheet-rows.d.ts +7 -0
  86. package/src/lib/actions/get-worksheet-rows.js +69 -0
  87. package/src/lib/actions/get-worksheet-rows.js.map +1 -0
  88. package/src/lib/actions/get-worksheets.d.ts +5 -0
  89. package/src/lib/actions/get-worksheets.js +61 -0
  90. package/src/lib/actions/get-worksheets.js.map +1 -0
  91. package/src/lib/actions/get-wroksheet-columns.d.ts +4 -0
  92. package/src/lib/actions/get-wroksheet-columns.js +35 -0
  93. package/src/lib/actions/get-wroksheet-columns.js.map +1 -0
  94. package/src/lib/actions/lookup-table-column.d.ts +8 -0
  95. package/src/lib/actions/lookup-table-column.js +78 -0
  96. package/src/lib/actions/lookup-table-column.js.map +1 -0
  97. package/src/lib/actions/rename-worksheet.d.ts +5 -0
  98. package/src/lib/actions/rename-worksheet.js +51 -0
  99. package/src/lib/actions/rename-worksheet.js.map +1 -0
  100. package/src/lib/actions/update-row.d.ts +7 -0
  101. package/src/lib/actions/update-row.js +58 -0
  102. package/src/lib/actions/update-row.js.map +1 -0
  103. package/src/lib/common/common.d.ts +22 -0
  104. package/src/lib/common/common.js +325 -0
  105. package/src/lib/common/common.js.map +1 -0
  106. package/src/lib/trigger/new-row-added.d.ts +18 -0
  107. package/src/lib/trigger/new-row-added.js +87 -0
  108. package/src/lib/trigger/new-row-added.js.map +1 -0
  109. package/src/lib/trigger/new-row-in-table.d.ts +22 -0
  110. package/src/lib/trigger/new-row-in-table.js +139 -0
  111. package/src/lib/trigger/new-row-in-table.js.map +1 -0
  112. package/src/lib/trigger/new-worksheet.d.ts +10 -0
  113. package/src/lib/trigger/new-worksheet.js +94 -0
  114. package/src/lib/trigger/new-worksheet.js.map +1 -0
  115. package/src/lib/trigger/updated-row.d.ts +18 -0
  116. package/src/lib/trigger/updated-row.js +129 -0
  117. package/src/lib/trigger/updated-row.js.map +1 -0
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newWorksheetTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@scopieflows/pieces-framework");
6
+ const pieces_framework_2 = require("@scopieflows/pieces-framework");
7
+ const common_1 = require("../common/common");
8
+ const __1 = require("../..");
9
+ const pieces_common_1 = require("@scopieflows/pieces-common");
10
+ function getWorksheets(auth, workbookId) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ var _a;
13
+ if (!workbookId)
14
+ return [];
15
+ try {
16
+ const response = yield pieces_common_1.httpClient.sendRequest({
17
+ method: pieces_common_1.HttpMethod.GET,
18
+ url: `${common_1.excelCommon.baseUrl}/items/${workbookId}/workbook/worksheets`,
19
+ authentication: {
20
+ type: pieces_common_1.AuthenticationType.BEARER_TOKEN,
21
+ token: auth.access_token
22
+ }
23
+ });
24
+ return (_a = response.body.value) !== null && _a !== void 0 ? _a : [];
25
+ }
26
+ catch (error) {
27
+ throw new Error(`Failed to fetch worksheets: ${error}`);
28
+ }
29
+ });
30
+ }
31
+ const polling = {
32
+ strategy: pieces_common_1.DedupeStrategy.LAST_ITEM,
33
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, store }) {
34
+ var _b;
35
+ const worksheets = yield getWorksheets(auth, propsValue.workbook_id);
36
+ const storedWorksheetIds = (_b = yield store.get('worksheet_ids')) !== null && _b !== void 0 ? _b : [];
37
+ const newWorksheets = worksheets.filter(ws => !storedWorksheetIds.includes(ws.id));
38
+ const currentWorksheetIds = worksheets.map(ws => ws.id);
39
+ yield store.put('worksheet_ids', currentWorksheetIds);
40
+ const processedWorksheets = newWorksheets.map((worksheet) => ({
41
+ id: worksheet.id,
42
+ data: worksheet
43
+ }));
44
+ return processedWorksheets;
45
+ })
46
+ };
47
+ exports.newWorksheetTrigger = (0, pieces_framework_1.createTrigger)({
48
+ auth: __1.excelAuth,
49
+ name: 'new_worksheet',
50
+ displayName: 'New Worksheet',
51
+ description: 'Fires when a new worksheet is created in a workbook.',
52
+ props: {
53
+ workbook_id: common_1.excelCommon.workbook_id
54
+ },
55
+ type: pieces_framework_2.TriggerStrategy.POLLING,
56
+ sampleData: {
57
+ '@odata.id': '/workbook/worksheets(%27%7B00000000-0001-0000-0100-000000000000%7D%27)',
58
+ id: '{00000000-0001-0000-0100-000000000000}',
59
+ name: 'Sheet2',
60
+ position: 1,
61
+ visibility: 'Visible'
62
+ },
63
+ onEnable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
64
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
65
+ auth: context.auth,
66
+ store: context.store,
67
+ propsValue: context.propsValue
68
+ });
69
+ }),
70
+ onDisable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
71
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
72
+ auth: context.auth,
73
+ store: context.store,
74
+ propsValue: context.propsValue
75
+ });
76
+ }),
77
+ run: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
78
+ return yield pieces_common_1.pollingHelper.poll(polling, {
79
+ auth: context.auth,
80
+ store: context.store,
81
+ propsValue: context.propsValue,
82
+ files: context.files
83
+ });
84
+ }),
85
+ test: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
86
+ return yield pieces_common_1.pollingHelper.test(polling, {
87
+ auth: context.auth,
88
+ store: context.store,
89
+ propsValue: context.propsValue,
90
+ files: context.files
91
+ });
92
+ })
93
+ });
94
+ //# sourceMappingURL=new-worksheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-worksheet.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/trigger/new-worksheet.ts"],"names":[],"mappings":";;;;AAAA,oEAIuC;AACvC,oEAAgE;AAChE,6CAA+C;AAC/C,6BAAkC;AAClC,8DAOoC;AASpC,SAAe,aAAa,CAC1B,IAAyB,EACzB,UAAkB;;;QAElB,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,0BAAU,CAAC,WAAW,CAAyB;gBACpE,MAAM,EAAE,0BAAU,CAAC,GAAG;gBACtB,GAAG,EAAE,GAAG,oBAAW,CAAC,OAAO,UAAU,UAAU,sBAAsB;gBACrE,cAAc,EAAE;oBACd,IAAI,EAAE,kCAAkB,CAAC,YAAY;oBACrC,KAAK,EAAE,IAAI,CAAC,YAAY;iBACzB;aACF,CAAC,CAAC;YACH,OAAO,MAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CAAA;AAED,MAAM,OAAO,GAA0F;IACrG,QAAQ,EAAE,8BAAc,CAAC,SAAS;IAClC,KAAK,EAAE,KAAoC,EAAE,oDAA/B,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;;QACvC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;QAErE,MAAM,kBAAkB,GAAG,MAAA,MAAM,KAAK,CAAC,GAAG,CAAW,eAAe,CAAC,mCAAI,EAAE,CAAC;QAE5E,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnF,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAEtD,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC5D,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC,CAAC;QAEJ,OAAO,mBAAmB,CAAC;IAC7B,CAAC,CAAA;CACF,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAA,gCAAa,EAAC;IAC/C,IAAI,EAAE,aAAS;IACf,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,eAAe;IAC5B,WAAW,EAAE,sDAAsD;IACnE,KAAK,EAAE;QACL,WAAW,EAAE,oBAAW,CAAC,WAAW;KACrC;IACD,IAAI,EAAE,kCAAe,CAAC,OAAO;IAC7B,UAAU,EAAE;QACV,WAAW,EACT,wEAAwE;QAC1E,EAAE,EAAE,wCAAwC;QAC5C,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,SAAS;KACtB;IAED,QAAQ,EAAE,CAAO,OAAO,EAAE,EAAE;QAC1B,MAAM,6BAAa,CAAC,QAAQ,CAAC,OAAO,EAAE;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CAAA;IAED,SAAS,EAAE,CAAO,OAAO,EAAE,EAAE;QAC3B,MAAM,6BAAa,CAAC,SAAS,CAAC,OAAO,EAAE;YACrC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;IACL,CAAC,CAAA;IAED,GAAG,EAAE,CAAO,OAAO,EAAE,EAAE;QACrB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC,CAAA;IAED,IAAI,EAAE,CAAO,OAAO,EAAE,EAAE;QACtB,OAAO,MAAM,6BAAa,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC,CAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { TriggerStrategy } from '@scopieflows/pieces-framework';
2
+ export declare const updatedRowTrigger: import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
3
+ workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
4
+ worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
5
+ has_headers: import("@scopieflows/pieces-framework").CheckboxProperty<true>;
6
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
7
+ workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
8
+ worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
9
+ has_headers: import("@scopieflows/pieces-framework").CheckboxProperty<true>;
10
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
11
+ workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
12
+ worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
13
+ has_headers: import("@scopieflows/pieces-framework").CheckboxProperty<true>;
14
+ }> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
15
+ workbook_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
16
+ worksheet_id: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
17
+ has_headers: import("@scopieflows/pieces-framework").CheckboxProperty<true>;
18
+ }>;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updatedRowTrigger = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@scopieflows/pieces-framework");
6
+ const pieces_framework_2 = require("@scopieflows/pieces-framework");
7
+ const common_1 = require("../common/common");
8
+ const __1 = require("../..");
9
+ const pieces_common_1 = require("@scopieflows/pieces-common");
10
+ const node_crypto_1 = require("node:crypto");
11
+ const triggerName = 'updated_row';
12
+ function createRowHash(rowData) {
13
+ const rowString = JSON.stringify(rowData);
14
+ return (0, node_crypto_1.createHmac)('sha1', 'scopieflows').update(rowString).digest('hex');
15
+ }
16
+ // Helper function to get all worksheet rows with error handling
17
+ function getWorksheetRows(auth, workbookId, worksheetId) {
18
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
19
+ try {
20
+ return yield common_1.excelCommon.getAllRows(workbookId, worksheetId, auth.access_token);
21
+ }
22
+ catch (error) {
23
+ throw new Error(`Failed to fetch worksheet rows: ${error}`);
24
+ }
25
+ });
26
+ }
27
+ // Polling implementation using the framework's best practices
28
+ const polling = {
29
+ strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
30
+ items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, store }) {
31
+ var _b;
32
+ const allRows = yield getWorksheetRows(auth, propsValue.workbook_id, propsValue.worksheet_id);
33
+ if (allRows.length === 0) {
34
+ return [];
35
+ }
36
+ // Get stored row hashes from previous run
37
+ const oldHashes = (_b = yield store.get('row_hashes')) !== null && _b !== void 0 ? _b : {};
38
+ const headers = (propsValue.has_headers && allRows.length > 0) ? allRows[0] : [];
39
+ const dataRows = (propsValue.has_headers && allRows.length > 0) ? allRows.slice(1) : allRows;
40
+ const currentHashes = {};
41
+ const changedItems = [];
42
+ const currentTime = Date.now();
43
+ // Process each data row
44
+ dataRows.forEach((row, index) => {
45
+ const rowIndex = propsValue.has_headers ? index + 1 : index;
46
+ const newHash = createRowHash(row);
47
+ currentHashes[rowIndex] = newHash;
48
+ const oldHash = oldHashes[rowIndex];
49
+ // Row has changed or is new
50
+ if (oldHash !== newHash) {
51
+ const formattedRow = {};
52
+ if (propsValue.has_headers && headers.length > 0) {
53
+ headers.forEach((header, colIndex) => {
54
+ var _a;
55
+ formattedRow[String(header)] = (_a = row[colIndex]) !== null && _a !== void 0 ? _a : null;
56
+ });
57
+ }
58
+ else {
59
+ row.forEach((cell, colIndex) => {
60
+ formattedRow[common_1.excelCommon.numberToColumnName(colIndex + 1)] = cell;
61
+ });
62
+ }
63
+ changedItems.push({
64
+ epochMilliSeconds: currentTime,
65
+ data: {
66
+ rowIndex: rowIndex + 1, // Make it 1-based for user readability
67
+ values: formattedRow,
68
+ changeType: oldHash ? 'updated' : 'added'
69
+ }
70
+ });
71
+ }
72
+ });
73
+ // Update stored hashes for next run
74
+ yield store.put('row_hashes', currentHashes);
75
+ return changedItems;
76
+ })
77
+ };
78
+ exports.updatedRowTrigger = (0, pieces_framework_1.createTrigger)({
79
+ auth: __1.excelAuth,
80
+ name: triggerName,
81
+ displayName: 'Updated Row',
82
+ description: 'Fires when a row (in a worksheet) is added or updated.',
83
+ props: {
84
+ workbook_id: common_1.excelCommon.workbook_id,
85
+ worksheet_id: common_1.excelCommon.worksheet_id,
86
+ has_headers: pieces_framework_1.Property.Checkbox({
87
+ displayName: "First row has headers",
88
+ description: "Enable this if the first row of your worksheet should be treated as headers.",
89
+ required: true,
90
+ defaultValue: false,
91
+ })
92
+ },
93
+ type: pieces_framework_2.TriggerStrategy.POLLING,
94
+ sampleData: {
95
+ "rowIndex": 1,
96
+ "values": { "ID": 101, "Product": "Widget", "Price": 19.99 }
97
+ },
98
+ onEnable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
99
+ yield pieces_common_1.pollingHelper.onEnable(polling, {
100
+ auth: context.auth,
101
+ store: context.store,
102
+ propsValue: context.propsValue,
103
+ });
104
+ }),
105
+ onDisable: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
106
+ yield pieces_common_1.pollingHelper.onDisable(polling, {
107
+ auth: context.auth,
108
+ store: context.store,
109
+ propsValue: context.propsValue,
110
+ });
111
+ }),
112
+ run: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
113
+ return yield pieces_common_1.pollingHelper.poll(polling, {
114
+ auth: context.auth,
115
+ store: context.store,
116
+ propsValue: context.propsValue,
117
+ files: context.files,
118
+ });
119
+ }),
120
+ test: (context) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
121
+ return yield pieces_common_1.pollingHelper.test(polling, {
122
+ auth: context.auth,
123
+ store: context.store,
124
+ propsValue: context.propsValue,
125
+ files: context.files,
126
+ });
127
+ }),
128
+ });
129
+ //# sourceMappingURL=updated-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updated-row.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-excel-365/src/lib/trigger/updated-row.ts"],"names":[],"mappings":"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"}