@scopieflows/app-microsoft-sharepoint 0.2.3
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 +2 -0
- package/package.json +31 -0
- package/src/i18n/de.json +131 -0
- package/src/i18n/es.json +131 -0
- package/src/i18n/fr.json +131 -0
- package/src/i18n/ja.json +131 -0
- package/src/i18n/nl.json +131 -0
- package/src/i18n/pt.json +131 -0
- package/src/i18n/ru.json +49 -0
- package/src/i18n/translation.json +131 -0
- package/src/i18n/vi.json +49 -0
- package/src/i18n/zh.json +131 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +121 -0
- package/src/index.js.map +1 -0
- package/src/lib/actions/copy-item-within-site.d.ts +8 -0
- package/src/lib/actions/copy-item-within-site.js +155 -0
- package/src/lib/actions/copy-item-within-site.js.map +1 -0
- package/src/lib/actions/copy-item.d.ts +10 -0
- package/src/lib/actions/copy-item.js +118 -0
- package/src/lib/actions/copy-item.js.map +1 -0
- package/src/lib/actions/create-folder.d.ts +6 -0
- package/src/lib/actions/create-folder.js +44 -0
- package/src/lib/actions/create-folder.js.map +1 -0
- package/src/lib/actions/create-list-item.d.ts +5 -0
- package/src/lib/actions/create-list-item.js +43 -0
- package/src/lib/actions/create-list-item.js.map +1 -0
- package/src/lib/actions/create-list.d.ts +5 -0
- package/src/lib/actions/create-list.js +41 -0
- package/src/lib/actions/create-list.js.map +1 -0
- package/src/lib/actions/delete-list-item.d.ts +5 -0
- package/src/lib/actions/delete-list-item.js +33 -0
- package/src/lib/actions/delete-list-item.js.map +1 -0
- package/src/lib/actions/find-file.d.ts +8 -0
- package/src/lib/actions/find-file.js +133 -0
- package/src/lib/actions/find-file.js.map +1 -0
- package/src/lib/actions/get-folder-contents.d.ts +9 -0
- package/src/lib/actions/get-folder-contents.js +108 -0
- package/src/lib/actions/get-folder-contents.js.map +1 -0
- package/src/lib/actions/get-site-information.d.ts +4 -0
- package/src/lib/actions/get-site-information.js +38 -0
- package/src/lib/actions/get-site-information.js.map +1 -0
- package/src/lib/actions/move-file.d.ts +7 -0
- package/src/lib/actions/move-file.js +151 -0
- package/src/lib/actions/move-file.js.map +1 -0
- package/src/lib/actions/publish-page.d.ts +4 -0
- package/src/lib/actions/publish-page.js +52 -0
- package/src/lib/actions/publish-page.js.map +1 -0
- package/src/lib/actions/search-list-item.d.ts +5 -0
- package/src/lib/actions/search-list-item.js +40 -0
- package/src/lib/actions/search-list-item.js.map +1 -0
- package/src/lib/actions/update-list-item.d.ts +6 -0
- package/src/lib/actions/update-list-item.js +42 -0
- package/src/lib/actions/update-list-item.js.map +1 -0
- package/src/lib/actions/upload-file.d.ts +7 -0
- package/src/lib/actions/upload-file.js +49 -0
- package/src/lib/actions/upload-file.js.map +1 -0
- package/src/lib/common/index.d.ts +14 -0
- package/src/lib/common/index.js +394 -0
- package/src/lib/common/index.js.map +1 -0
- package/src/lib/triggers/new-file-in-folder.d.ts +18 -0
- package/src/lib/triggers/new-file-in-folder.js +155 -0
- package/src/lib/triggers/new-file-in-folder.js.map +1 -0
- package/src/lib/triggers/new-file-in-subfolders.d.ts +18 -0
- package/src/lib/triggers/new-file-in-subfolders.js +151 -0
- package/src/lib/triggers/new-file-in-subfolders.js.map +1 -0
- package/src/lib/triggers/new-list-item.d.ts +14 -0
- package/src/lib/triggers/new-list-item.js +95 -0
- package/src/lib/triggers/new-list-item.js.map +1 -0
- package/src/lib/triggers/new-list.d.ts +10 -0
- package/src/lib/triggers/new-list.js +89 -0
- package/src/lib/triggers/new-list.js.map +1 -0
- package/src/lib/triggers/new-or-updated-file.d.ts +18 -0
- package/src/lib/triggers/new-or-updated-file.js +152 -0
- package/src/lib/triggers/new-or-updated-file.js.map +1 -0
- package/src/lib/triggers/new-or-updated-folder.d.ts +18 -0
- package/src/lib/triggers/new-or-updated-folder.js +152 -0
- package/src/lib/triggers/new-or-updated-folder.js.map +1 -0
- package/src/lib/triggers/new-or-updated-list.d.ts +10 -0
- package/src/lib/triggers/new-or-updated-list.js +103 -0
- package/src/lib/triggers/new-or-updated-list.js.map +1 -0
- package/src/lib/triggers/updated-list-item.d.ts +14 -0
- package/src/lib/triggers/updated-list-item.js +108 -0
- package/src/lib/triggers/updated-list-item.js.map +1 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newOrUpdatedFolderTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const __1 = require("../../");
|
|
6
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
|
|
9
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
10
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
11
|
+
const polling = {
|
|
12
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
13
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
|
|
14
|
+
const { siteId, driveId, parentFolderId } = propsValue;
|
|
15
|
+
const isTestMode = lastFetchEpochMS === 0;
|
|
16
|
+
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
17
|
+
authProvider: {
|
|
18
|
+
getAccessToken: () => Promise.resolve(auth.access_token),
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
const folders = [];
|
|
22
|
+
const endpoint = parentFolderId !== 'root'
|
|
23
|
+
? `/sites/${siteId}/drive/items/${parentFolderId}/children`
|
|
24
|
+
: `/sites/${siteId}/drives/${driveId}/items/root/children`;
|
|
25
|
+
let response = yield client
|
|
26
|
+
.api(endpoint)
|
|
27
|
+
.orderby('lastModifiedDateTime desc')
|
|
28
|
+
.get();
|
|
29
|
+
let stop = false;
|
|
30
|
+
while (!stop && response.value.length > 0) {
|
|
31
|
+
for (const item of response.value) {
|
|
32
|
+
if (!item.folder)
|
|
33
|
+
continue;
|
|
34
|
+
const modifiedMs = (0, dayjs_1.default)(item.lastModifiedDateTime).valueOf();
|
|
35
|
+
if (isTestMode) {
|
|
36
|
+
folders.push(item);
|
|
37
|
+
if (folders.length >= 10) {
|
|
38
|
+
stop = true;
|
|
39
|
+
}
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (modifiedMs < lastFetchEpochMS) {
|
|
43
|
+
stop = true;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
folders.push(item);
|
|
47
|
+
}
|
|
48
|
+
if (stop || !response['@odata.nextLink'])
|
|
49
|
+
break;
|
|
50
|
+
response = yield client.api(response['@odata.nextLink']).get();
|
|
51
|
+
}
|
|
52
|
+
folders.sort((a, b) => {
|
|
53
|
+
const aDate = (0, dayjs_1.default)(a.lastModifiedDateTime);
|
|
54
|
+
const bDate = (0, dayjs_1.default)(b.lastModifiedDateTime);
|
|
55
|
+
return bDate.diff(aDate);
|
|
56
|
+
});
|
|
57
|
+
return folders.map((folder) => ({
|
|
58
|
+
epochMilliSeconds: (0, dayjs_1.default)(folder.lastModifiedDateTime).valueOf(),
|
|
59
|
+
data: folder,
|
|
60
|
+
}));
|
|
61
|
+
}),
|
|
62
|
+
};
|
|
63
|
+
exports.newOrUpdatedFolderTrigger = (0, pieces_framework_1.createTrigger)({
|
|
64
|
+
auth: __1.microsoftSharePointAuth,
|
|
65
|
+
name: 'new_or_updated_folder',
|
|
66
|
+
displayName: 'New or Updated Folder',
|
|
67
|
+
description: 'Triggers when a folder is created or updated (e.g., name change).',
|
|
68
|
+
props: {
|
|
69
|
+
siteId: common_1.microsoftSharePointCommon.siteId,
|
|
70
|
+
driveId: common_1.microsoftSharePointCommon.driveId,
|
|
71
|
+
parentFolderId: pieces_framework_1.Property.Dropdown({
|
|
72
|
+
auth: __1.microsoftSharePointAuth,
|
|
73
|
+
displayName: 'Parent Folder to Monitor',
|
|
74
|
+
description: 'The folder to watch for new or updated subfolders. Select "Root Folder" to monitor the top-level of the drive.',
|
|
75
|
+
required: true,
|
|
76
|
+
refreshers: ['siteId', 'driveId'],
|
|
77
|
+
options: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, siteId, driveId }) {
|
|
78
|
+
if (!auth || !siteId || !driveId) {
|
|
79
|
+
return {
|
|
80
|
+
disabled: true,
|
|
81
|
+
placeholder: 'Select a site and drive first.',
|
|
82
|
+
options: [],
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const authValue = auth;
|
|
86
|
+
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
87
|
+
authProvider: {
|
|
88
|
+
getAccessToken: () => Promise.resolve(authValue.access_token),
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
const options = [{ label: 'Root Folder', value: 'root' }];
|
|
92
|
+
let response = yield client
|
|
93
|
+
.api(`/sites/${siteId}/drives/${driveId}/items/root/children?$filter=folder ne null&$select=id,name`)
|
|
94
|
+
.get();
|
|
95
|
+
while (response.value.length > 0) {
|
|
96
|
+
for (const item of response.value) {
|
|
97
|
+
options.push({ label: item.name, value: item.id });
|
|
98
|
+
}
|
|
99
|
+
if (response['@odata.nextLink']) {
|
|
100
|
+
response = yield client.api(response['@odata.nextLink']).get();
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return { disabled: false, options };
|
|
107
|
+
}),
|
|
108
|
+
}),
|
|
109
|
+
},
|
|
110
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
111
|
+
sampleData: {
|
|
112
|
+
id: '01DRYVE_FOLDER_ID_GOES_HERE',
|
|
113
|
+
name: 'Project Alpha',
|
|
114
|
+
webUrl: 'https://contoso.sharepoint.com/Shared%20Documents/Project%20Alpha',
|
|
115
|
+
size: 0,
|
|
116
|
+
createdDateTime: '2025-09-26T14:50:00Z',
|
|
117
|
+
lastModifiedDateTime: '2025-09-26T14:50:00Z',
|
|
118
|
+
folder: {
|
|
119
|
+
childCount: 0,
|
|
120
|
+
},
|
|
121
|
+
parentReference: { id: 'PARENT_FOLDER_ID_HERE' },
|
|
122
|
+
},
|
|
123
|
+
onEnable(context) {
|
|
124
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, {
|
|
126
|
+
auth: context.auth,
|
|
127
|
+
store: context.store,
|
|
128
|
+
propsValue: context.propsValue,
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
onDisable(context) {
|
|
133
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, {
|
|
135
|
+
auth: context.auth,
|
|
136
|
+
store: context.store,
|
|
137
|
+
propsValue: context.propsValue,
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
},
|
|
141
|
+
test(context) {
|
|
142
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
143
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
run(context) {
|
|
147
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
149
|
+
});
|
|
150
|
+
},
|
|
151
|
+
});
|
|
152
|
+
//# sourceMappingURL=new-or-updated-folder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-or-updated-folder.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/triggers/new-or-updated-folder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@scopieflows/pieces-framework';
|
|
2
|
+
export declare const newOrUpdatedListTrigger: import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
3
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
5
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
6
|
+
}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
7
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
8
|
+
}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
9
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
10
|
+
}>;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newOrUpdatedListTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const __1 = require("../../");
|
|
6
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
|
|
9
|
+
const pieces_common_1 = require("@scopieflows/pieces-common");
|
|
10
|
+
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
11
|
+
const polling = {
|
|
12
|
+
strategy: pieces_common_1.DedupeStrategy.TIMEBASED,
|
|
13
|
+
items: (_a) => tslib_1.__awaiter(void 0, [_a], void 0, function* ({ auth, propsValue, lastFetchEpochMS }) {
|
|
14
|
+
const { siteId } = propsValue;
|
|
15
|
+
const isTestMode = lastFetchEpochMS === 0;
|
|
16
|
+
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
17
|
+
authProvider: {
|
|
18
|
+
getAccessToken: () => Promise.resolve(auth.access_token),
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
const lists = [];
|
|
22
|
+
let response = yield client
|
|
23
|
+
.api(`/sites/${siteId}/lists`)
|
|
24
|
+
.get();
|
|
25
|
+
let stop = false;
|
|
26
|
+
while (!stop && response.value.length > 0) {
|
|
27
|
+
for (const item of response.value) {
|
|
28
|
+
const modifiedMs = (0, dayjs_1.default)(item.lastModifiedDateTime).valueOf();
|
|
29
|
+
if (isTestMode) {
|
|
30
|
+
lists.push(item);
|
|
31
|
+
if (lists.length >= 10) {
|
|
32
|
+
stop = true;
|
|
33
|
+
}
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (modifiedMs < lastFetchEpochMS) {
|
|
37
|
+
stop = true;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
lists.push(item);
|
|
41
|
+
}
|
|
42
|
+
if (stop || !response['@odata.nextLink'])
|
|
43
|
+
break;
|
|
44
|
+
response = yield client.api(response['@odata.nextLink']).get();
|
|
45
|
+
}
|
|
46
|
+
lists.sort((a, b) => {
|
|
47
|
+
const aDate = (0, dayjs_1.default)(a.lastModifiedDateTime);
|
|
48
|
+
const bDate = (0, dayjs_1.default)(b.lastModifiedDateTime);
|
|
49
|
+
return bDate.diff(aDate);
|
|
50
|
+
});
|
|
51
|
+
return lists.map((list) => ({
|
|
52
|
+
epochMilliSeconds: (0, dayjs_1.default)(list.lastModifiedDateTime).valueOf(),
|
|
53
|
+
data: list,
|
|
54
|
+
}));
|
|
55
|
+
}),
|
|
56
|
+
};
|
|
57
|
+
exports.newOrUpdatedListTrigger = (0, pieces_framework_1.createTrigger)({
|
|
58
|
+
auth: __1.microsoftSharePointAuth,
|
|
59
|
+
name: 'new_or_updated_list',
|
|
60
|
+
displayName: 'New or Updated List',
|
|
61
|
+
description: 'Triggers when a list is created or updated in a site.',
|
|
62
|
+
props: {
|
|
63
|
+
siteId: common_1.microsoftSharePointCommon.siteId,
|
|
64
|
+
},
|
|
65
|
+
type: pieces_framework_1.TriggerStrategy.POLLING,
|
|
66
|
+
sampleData: {
|
|
67
|
+
id: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
|
|
68
|
+
displayName: 'Projects Tracker',
|
|
69
|
+
description: 'Updated list for tracking all ongoing projects.',
|
|
70
|
+
createdDateTime: '2025-09-26T11:00:00Z',
|
|
71
|
+
lastModifiedDateTime: '2025-09-26T14:55:00Z',
|
|
72
|
+
webUrl: 'https://contoso.sharepoint.com/sites/MySite/Lists/Projects%20Tracker',
|
|
73
|
+
},
|
|
74
|
+
onEnable(context) {
|
|
75
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
yield pieces_common_1.pollingHelper.onEnable(polling, {
|
|
77
|
+
auth: context.auth,
|
|
78
|
+
store: context.store,
|
|
79
|
+
propsValue: context.propsValue,
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
},
|
|
83
|
+
onDisable(context) {
|
|
84
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
yield pieces_common_1.pollingHelper.onDisable(polling, {
|
|
86
|
+
auth: context.auth,
|
|
87
|
+
store: context.store,
|
|
88
|
+
propsValue: context.propsValue,
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
},
|
|
92
|
+
test(context) {
|
|
93
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
return yield pieces_common_1.pollingHelper.test(polling, context);
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
run(context) {
|
|
98
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
return yield pieces_common_1.pollingHelper.poll(polling, context);
|
|
100
|
+
});
|
|
101
|
+
},
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=new-or-updated-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"new-or-updated-list.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/triggers/new-or-updated-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TriggerStrategy } from '@scopieflows/pieces-framework';
|
|
2
|
+
export declare const updatedListItemTrigger: import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
3
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
4
|
+
listId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
5
|
+
}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.POLLING, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
6
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
7
|
+
listId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
8
|
+
}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.MANUAL, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
9
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
10
|
+
listId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
11
|
+
}> | import("@scopieflows/pieces-framework").ITrigger<TriggerStrategy.APP_WEBHOOK, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>, {
|
|
12
|
+
siteId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
13
|
+
listId: import("@scopieflows/pieces-framework").DropdownProperty<string, true, import("@scopieflows/pieces-framework").OAuth2Property<import("@scopieflows/pieces-framework").OAuth2Props>>;
|
|
14
|
+
}>;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updatedListItemTrigger = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const __1 = require("../../");
|
|
6
|
+
const pieces_framework_1 = require("@scopieflows/pieces-framework");
|
|
7
|
+
const common_1 = require("../common");
|
|
8
|
+
const microsoft_graph_client_1 = require("@microsoft/microsoft-graph-client");
|
|
9
|
+
const clientState = 'scopieflows_sharepoint_updated_list_item_trigger';
|
|
10
|
+
exports.updatedListItemTrigger = (0, pieces_framework_1.createTrigger)({
|
|
11
|
+
auth: __1.microsoftSharePointAuth,
|
|
12
|
+
name: 'updated_list_item',
|
|
13
|
+
displayName: 'Updated List Item',
|
|
14
|
+
description: 'Fires when an existing item in a SharePoint list is updated.',
|
|
15
|
+
props: {
|
|
16
|
+
siteId: common_1.microsoftSharePointCommon.siteId,
|
|
17
|
+
listId: common_1.microsoftSharePointCommon.listId,
|
|
18
|
+
},
|
|
19
|
+
type: pieces_framework_1.TriggerStrategy.WEBHOOK,
|
|
20
|
+
sampleData: {
|
|
21
|
+
"id": "2",
|
|
22
|
+
"createdDateTime": "2025-09-26T14:10:00Z",
|
|
23
|
+
"lastModifiedDateTime": "2025-09-26T14:38:00Z",
|
|
24
|
+
"webUrl": "https://contoso.sharepoint.com/sites/MySite/Lists/MyTasks/2_.000",
|
|
25
|
+
"fields": {
|
|
26
|
+
"@odata.etag": "\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,2\"",
|
|
27
|
+
"id": "2",
|
|
28
|
+
"Title": "Complete Project Proposal",
|
|
29
|
+
"Status": "In Progress",
|
|
30
|
+
"Priority": "High",
|
|
31
|
+
"DueDate": "2025-10-05T00:00:00Z"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
onEnable(context) {
|
|
35
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
36
|
+
const { siteId, listId } = context.propsValue;
|
|
37
|
+
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
38
|
+
authProvider: {
|
|
39
|
+
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
try {
|
|
43
|
+
const expirationDateTime = new Date();
|
|
44
|
+
expirationDateTime.setDate(expirationDateTime.getDate() + 2);
|
|
45
|
+
const subscription = yield client.api('/subscriptions').post({
|
|
46
|
+
changeType: 'updated',
|
|
47
|
+
notificationUrl: context.webhookUrl,
|
|
48
|
+
resource: `/sites/${siteId}/lists/${listId}/items`,
|
|
49
|
+
expirationDateTime: expirationDateTime.toISOString(),
|
|
50
|
+
clientState: clientState,
|
|
51
|
+
});
|
|
52
|
+
yield context.store.put('subscriptionId', subscription.id);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
throw new Error(`Failed to create subscription: ${error.message || 'Unknown error'}`);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
},
|
|
59
|
+
onDisable(context) {
|
|
60
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const subscriptionId = yield context.store.get('subscriptionId');
|
|
62
|
+
if (subscriptionId) {
|
|
63
|
+
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
64
|
+
authProvider: {
|
|
65
|
+
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
yield client.api(`/subscriptions/${subscriptionId}`).delete();
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
console.warn(`Error deleting subscription ${subscriptionId}:`, error);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
yield context.store.delete('subscriptionId');
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
run(context) {
|
|
79
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
var _a;
|
|
81
|
+
const notifications = (_a = context.payload.body) === null || _a === void 0 ? void 0 : _a.value;
|
|
82
|
+
if (!notifications || !Array.isArray(notifications)) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
const validNotifications = notifications.filter((notif) => notif.clientState === clientState);
|
|
86
|
+
if (validNotifications.length === 0) {
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
const client = microsoft_graph_client_1.Client.initWithMiddleware({
|
|
90
|
+
authProvider: {
|
|
91
|
+
getAccessToken: () => Promise.resolve(context.auth.access_token),
|
|
92
|
+
},
|
|
93
|
+
});
|
|
94
|
+
const updatedItemPayloads = [];
|
|
95
|
+
for (const notification of validNotifications) {
|
|
96
|
+
try {
|
|
97
|
+
const updatedItem = yield client.api(notification.resource).expand('fields').get();
|
|
98
|
+
updatedItemPayloads.push(updatedItem);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
console.error('Error fetching list item from notification:', error);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return updatedItemPayloads;
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
//# sourceMappingURL=updated-list-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updated-list-item.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/microsoft-sharepoint/src/lib/triggers/updated-list-item.ts"],"names":[],"mappings":"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"}
|