@blickwerk/n8n-nodes-microsoft-planner 1.5.5 → 1.6.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.
Files changed (40) hide show
  1. package/LICENSE.md +21 -21
  2. package/README.md +527 -459
  3. package/dist/credentials/MicrosoftPlannerOAuth2Api.credentials.d.ts +2 -2
  4. package/dist/credentials/MicrosoftPlannerOAuth2Api.credentials.js +9 -28
  5. package/dist/credentials/MicrosoftPlannerOAuth2Api.credentials.js.map +1 -0
  6. package/dist/nodes/MicrosoftPlanner/BucketDescription.js +30 -23
  7. package/dist/nodes/MicrosoftPlanner/BucketDescription.js.map +1 -0
  8. package/dist/nodes/MicrosoftPlanner/CommentDescription.js +10 -14
  9. package/dist/nodes/MicrosoftPlanner/CommentDescription.js.map +1 -0
  10. package/dist/nodes/MicrosoftPlanner/GenericFunctions.d.ts +15 -18
  11. package/dist/nodes/MicrosoftPlanner/GenericFunctions.js +222 -70
  12. package/dist/nodes/MicrosoftPlanner/GenericFunctions.js.map +1 -0
  13. package/dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.d.ts +6 -10
  14. package/dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.js +100 -826
  15. package/dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.js.map +1 -0
  16. package/dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.json +18 -0
  17. package/dist/nodes/MicrosoftPlanner/PlanDescription.js +207 -57
  18. package/dist/nodes/MicrosoftPlanner/PlanDescription.js.map +1 -0
  19. package/dist/nodes/MicrosoftPlanner/SharedFields.d.ts +10 -0
  20. package/dist/nodes/MicrosoftPlanner/SharedFields.js +316 -0
  21. package/dist/nodes/MicrosoftPlanner/SharedFields.js.map +1 -0
  22. package/dist/nodes/MicrosoftPlanner/TaskDescription.d.ts +1 -1
  23. package/dist/nodes/MicrosoftPlanner/TaskDescription.js +226 -583
  24. package/dist/nodes/MicrosoftPlanner/TaskDescription.js.map +1 -0
  25. package/dist/nodes/MicrosoftPlanner/actions/bucket.d.ts +2 -0
  26. package/dist/nodes/MicrosoftPlanner/actions/bucket.js +72 -0
  27. package/dist/nodes/MicrosoftPlanner/actions/bucket.js.map +1 -0
  28. package/dist/nodes/MicrosoftPlanner/actions/comment.d.ts +2 -0
  29. package/dist/nodes/MicrosoftPlanner/actions/comment.js +100 -0
  30. package/dist/nodes/MicrosoftPlanner/actions/comment.js.map +1 -0
  31. package/dist/nodes/MicrosoftPlanner/actions/plan.d.ts +4 -0
  32. package/dist/nodes/MicrosoftPlanner/actions/plan.js +116 -0
  33. package/dist/nodes/MicrosoftPlanner/actions/plan.js.map +1 -0
  34. package/dist/nodes/MicrosoftPlanner/actions/task.d.ts +4 -0
  35. package/dist/nodes/MicrosoftPlanner/actions/task.js +392 -0
  36. package/dist/nodes/MicrosoftPlanner/actions/task.js.map +1 -0
  37. package/dist/nodes/MicrosoftPlanner/planner.svg +51 -51
  38. package/dist/package.json +60 -0
  39. package/dist/tsconfig.tsbuildinfo +1 -0
  40. package/package.json +60 -63
@@ -0,0 +1,392 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeTask = executeTask;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const GenericFunctions_1 = require("../GenericFunctions");
6
+ const has = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
7
+ function getLocatorValue(name, i) {
8
+ return this.getNodeParameter(name, i, '', { extractValue: true });
9
+ }
10
+ function buildReferences(ui, i) {
11
+ var _a, _b, _c;
12
+ const references = {};
13
+ const attachments = ui === null || ui === void 0 ? void 0 : ui.attachments;
14
+ if (!attachments) {
15
+ return references;
16
+ }
17
+ let list = [];
18
+ if (((_a = attachments.mode) !== null && _a !== void 0 ? _a : 'manual') === 'manual') {
19
+ list = (_c = (_b = attachments.items) === null || _b === void 0 ? void 0 : _b.reference) !== null && _c !== void 0 ? _c : [];
20
+ }
21
+ else if (attachments.json) {
22
+ const parsed = GenericFunctions_1.parseJson.call(this, attachments.json, 'Attachments (JSON)', i);
23
+ if (!Array.isArray(parsed)) {
24
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid JSON in Attachments (JSON) field. It must be an array of objects.', { itemIndex: i });
25
+ }
26
+ list = parsed;
27
+ }
28
+ for (const reference of list) {
29
+ const url = reference.url;
30
+ if (!url)
31
+ continue;
32
+ const value = {
33
+ '@odata.type': '#microsoft.graph.plannerExternalReference',
34
+ alias: reference.alias || '',
35
+ type: reference.type || 'Other',
36
+ };
37
+ if (reference.previewPriority) {
38
+ value.previewPriority = reference.previewPriority;
39
+ }
40
+ references[(0, GenericFunctions_1.encodeReferenceKey)(url)] = value;
41
+ }
42
+ return references;
43
+ }
44
+ function buildChecklist(ui, i) {
45
+ var _a, _b, _c;
46
+ const checklistItems = {};
47
+ const checklist = ui === null || ui === void 0 ? void 0 : ui.checklist;
48
+ if (!checklist) {
49
+ return checklistItems;
50
+ }
51
+ let list = [];
52
+ if (((_a = checklist.mode) !== null && _a !== void 0 ? _a : 'manual') === 'manual') {
53
+ list = (_c = (_b = checklist.items) === null || _b === void 0 ? void 0 : _b.item) !== null && _c !== void 0 ? _c : [];
54
+ }
55
+ else if (checklist.json) {
56
+ const parsed = GenericFunctions_1.parseJson.call(this, checklist.json, 'Checklist (JSON)', i);
57
+ if (!Array.isArray(parsed)) {
58
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid JSON in Checklist (JSON) field. It must be an array of objects.', { itemIndex: i });
59
+ }
60
+ list = parsed;
61
+ }
62
+ for (const item of list) {
63
+ if (!item.title)
64
+ continue;
65
+ const value = {
66
+ '@odata.type': '#microsoft.graph.plannerChecklistItem',
67
+ title: item.title,
68
+ isChecked: !!item.isChecked,
69
+ };
70
+ if (item.orderHint) {
71
+ value.orderHint = item.orderHint;
72
+ }
73
+ checklistItems[item.id || (0, GenericFunctions_1.generateGuid)()] = value;
74
+ }
75
+ return checklistItems;
76
+ }
77
+ function buildDetailsBody(fields, current, i, isUpdate) {
78
+ var _a, _b, _c, _d;
79
+ const body = {};
80
+ if (isUpdate ? has(fields, 'description') : fields.description) {
81
+ body.description = fields.description;
82
+ }
83
+ if (fields.previewType) {
84
+ body.previewType = fields.previewType;
85
+ }
86
+ const references = {};
87
+ const currentReferences = (_a = current.references) !== null && _a !== void 0 ? _a : {};
88
+ const attachments = (_b = fields.attachmentsUi) === null || _b === void 0 ? void 0 : _b.attachments;
89
+ if (isUpdate && (attachments === null || attachments === void 0 ? void 0 : attachments.operationMode) === 'replace') {
90
+ for (const key of Object.keys(currentReferences)) {
91
+ references[key] = null;
92
+ }
93
+ }
94
+ for (const url of (0, GenericFunctions_1.parseList)(fields.removeAttachmentUrls)) {
95
+ const existingKey = Object.keys(currentReferences).find((key) => key === url || (0, GenericFunctions_1.decodeReferenceKey)(key) === url || key === (0, GenericFunctions_1.encodeReferenceKey)(url));
96
+ references[existingKey !== null && existingKey !== void 0 ? existingKey : (0, GenericFunctions_1.encodeReferenceKey)(url)] = null;
97
+ }
98
+ Object.assign(references, buildReferences.call(this, fields.attachmentsUi, i));
99
+ if (Object.keys(references).length > 0) {
100
+ body.references = references;
101
+ }
102
+ const checklistItems = {};
103
+ const currentChecklist = (_c = current.checklist) !== null && _c !== void 0 ? _c : {};
104
+ const checklist = (_d = fields.checklistUi) === null || _d === void 0 ? void 0 : _d.checklist;
105
+ if (isUpdate && (checklist === null || checklist === void 0 ? void 0 : checklist.operationMode) === 'replace') {
106
+ for (const key of Object.keys(currentChecklist)) {
107
+ checklistItems[key] = null;
108
+ }
109
+ }
110
+ for (const id of (0, GenericFunctions_1.parseList)(fields.removeChecklistItemIds)) {
111
+ checklistItems[id] = null;
112
+ }
113
+ Object.assign(checklistItems, buildChecklist.call(this, fields.checklistUi, i));
114
+ if (Object.keys(checklistItems).length > 0) {
115
+ body.checklist = checklistItems;
116
+ }
117
+ return body;
118
+ }
119
+ const DETAILS_FIELDS = [
120
+ 'description',
121
+ 'previewType',
122
+ 'attachmentsUi',
123
+ 'checklistUi',
124
+ 'removeAttachmentUrls',
125
+ 'removeChecklistItemIds',
126
+ ];
127
+ function hasDetailsFields(fields) {
128
+ return DETAILS_FIELDS.some((key) => has(fields, key));
129
+ }
130
+ function buildAppliedCategories(add, remove) {
131
+ const categories = {};
132
+ for (const category of (0, GenericFunctions_1.parseList)(remove)) {
133
+ categories[category] = false;
134
+ }
135
+ for (const category of (0, GenericFunctions_1.parseList)(add)) {
136
+ categories[category] = true;
137
+ }
138
+ return categories;
139
+ }
140
+ async function create(i, userCache) {
141
+ const planId = this.getNodeParameter('planId', i);
142
+ const bucketId = getLocatorValue.call(this, 'bucketId', i);
143
+ const title = this.getNodeParameter('title', i);
144
+ const additionalFields = this.getNodeParameter('additionalFields', i, {});
145
+ const body = { planId, bucketId, title };
146
+ if (additionalFields.priority !== undefined) {
147
+ body.priority = additionalFields.priority;
148
+ }
149
+ if (additionalFields.percentComplete !== undefined) {
150
+ body.percentComplete = additionalFields.percentComplete;
151
+ }
152
+ const dueDateTime = (0, GenericFunctions_1.formatDateTime)(additionalFields.dueDateTime);
153
+ if (dueDateTime) {
154
+ body.dueDateTime = dueDateTime;
155
+ }
156
+ const startDateTime = (0, GenericFunctions_1.formatDateTime)(additionalFields.startDateTime);
157
+ if (startDateTime) {
158
+ body.startDateTime = startDateTime;
159
+ }
160
+ for (const key of ['orderHint', 'assigneePriority', 'conversationThreadId']) {
161
+ if (additionalFields[key]) {
162
+ body[key] = additionalFields[key];
163
+ }
164
+ }
165
+ const categories = buildAppliedCategories(additionalFields.appliedCategories, undefined);
166
+ if (Object.keys(categories).length > 0) {
167
+ body.appliedCategories = categories;
168
+ }
169
+ if (additionalFields.assignments) {
170
+ const userIds = await GenericFunctions_1.resolveUserIds.call(this, additionalFields.assignments, userCache);
171
+ if (userIds.length > 0) {
172
+ body.assignments = (0, GenericFunctions_1.createAssignmentsObject)(userIds);
173
+ }
174
+ }
175
+ const task = (await GenericFunctions_1.microsoftApiRequest.call(this, 'POST', '/planner/tasks', body));
176
+ if (additionalFields.description ||
177
+ additionalFields.previewType ||
178
+ additionalFields.attachmentsUi ||
179
+ additionalFields.checklistUi) {
180
+ let detailsChanged = false;
181
+ const details = await GenericFunctions_1.patchWithETag.call(this, `/planner/tasks/${task.id}/details`, (current) => {
182
+ const detailsBody = buildDetailsBody.call(this, additionalFields, current, i, false);
183
+ detailsChanged = Object.keys(detailsBody).length > 0;
184
+ return detailsBody;
185
+ });
186
+ if (detailsChanged) {
187
+ if (additionalFields.description) {
188
+ task.description = additionalFields.description;
189
+ }
190
+ task.details = details;
191
+ }
192
+ }
193
+ return task;
194
+ }
195
+ async function get(i) {
196
+ const taskId = getLocatorValue.call(this, 'taskId', i);
197
+ const additionalFields = this.getNodeParameter('additionalFields', i, {});
198
+ const task = (await GenericFunctions_1.microsoftApiRequest.call(this, 'GET', `/planner/tasks/${taskId}`));
199
+ if (additionalFields.includeDetails) {
200
+ task.details = await GenericFunctions_1.microsoftApiRequest.call(this, 'GET', `/planner/tasks/${taskId}/details`);
201
+ }
202
+ return task;
203
+ }
204
+ async function getAll(i, userCache) {
205
+ const filterBy = this.getNodeParameter('filterBy', i);
206
+ const additionalFields = this.getNodeParameter('additionalFields', i, {});
207
+ let endpoint;
208
+ if (filterBy === 'plan') {
209
+ endpoint = `/planner/plans/${this.getNodeParameter('planId', i)}/tasks`;
210
+ }
211
+ else if (filterBy === 'bucket') {
212
+ endpoint = `/planner/buckets/${getLocatorValue.call(this, 'bucketId', i)}/tasks`;
213
+ }
214
+ else if (filterBy === 'my') {
215
+ endpoint = '/me/planner/tasks';
216
+ }
217
+ else if (filterBy === 'user') {
218
+ const [userId] = await GenericFunctions_1.resolveUserIds.call(this, this.getNodeParameter('userId', i), userCache);
219
+ endpoint = `/users/${userId}/planner/tasks`;
220
+ }
221
+ else {
222
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unknown filter "${filterBy}"`, {
223
+ itemIndex: i,
224
+ });
225
+ }
226
+ const qs = {};
227
+ if (additionalFields.select) {
228
+ const select = (0, GenericFunctions_1.parseList)(additionalFields.select);
229
+ if (additionalFields.excludeCompleted && !select.includes('percentComplete')) {
230
+ select.push('percentComplete');
231
+ }
232
+ qs.$select = select.join(',');
233
+ }
234
+ if (additionalFields.includeDetails) {
235
+ qs.$expand = 'details';
236
+ }
237
+ let tasks = await GenericFunctions_1.microsoftApiRequestAllItems.call(this, 'value', 'GET', endpoint, {}, qs);
238
+ if (additionalFields.excludeCompleted) {
239
+ tasks = tasks.filter((task) => task.percentComplete !== 100);
240
+ }
241
+ return tasks;
242
+ }
243
+ async function update(i, userCache) {
244
+ const taskId = getLocatorValue.call(this, 'taskId', i);
245
+ const updateFields = this.getNodeParameter('updateFields', i, {});
246
+ const body = {};
247
+ if (updateFields.title) {
248
+ body.title = updateFields.title;
249
+ }
250
+ if (updateFields.priority !== undefined) {
251
+ body.priority = updateFields.priority;
252
+ }
253
+ if (updateFields.percentComplete !== undefined) {
254
+ body.percentComplete = updateFields.percentComplete;
255
+ }
256
+ if (updateFields.bucketId) {
257
+ body.bucketId = updateFields.bucketId;
258
+ }
259
+ for (const key of ['orderHint', 'assigneePriority', 'conversationThreadId']) {
260
+ if (updateFields[key]) {
261
+ body[key] = updateFields[key];
262
+ }
263
+ }
264
+ if (updateFields.clearDueDateTime) {
265
+ body.dueDateTime = null;
266
+ }
267
+ else {
268
+ const dueDateTime = (0, GenericFunctions_1.formatDateTime)(updateFields.dueDateTime);
269
+ if (dueDateTime)
270
+ body.dueDateTime = dueDateTime;
271
+ }
272
+ if (updateFields.clearStartDateTime) {
273
+ body.startDateTime = null;
274
+ }
275
+ else {
276
+ const startDateTime = (0, GenericFunctions_1.formatDateTime)(updateFields.startDateTime);
277
+ if (startDateTime)
278
+ body.startDateTime = startDateTime;
279
+ }
280
+ const categories = buildAppliedCategories(updateFields.labelsToAdd, updateFields.labelsToRemove);
281
+ if (Object.keys(categories).length > 0) {
282
+ body.appliedCategories = categories;
283
+ }
284
+ const assignUserIds = updateFields.assignments
285
+ ? await GenericFunctions_1.resolveUserIds.call(this, updateFields.assignments, userCache)
286
+ : [];
287
+ const unassignUserIds = updateFields.removeAssignments
288
+ ? await GenericFunctions_1.resolveUserIds.call(this, updateFields.removeAssignments, userCache)
289
+ : [];
290
+ const replaceAssignments = updateFields.assignmentsMode === 'replace' && has(updateFields, 'assignments');
291
+ let task = await GenericFunctions_1.patchWithETag.call(this, `/planner/tasks/${taskId}`, (current) => {
292
+ var _a;
293
+ const patchBody = { ...body };
294
+ const assignments = {};
295
+ if (replaceAssignments) {
296
+ for (const userId of Object.keys((_a = current.assignments) !== null && _a !== void 0 ? _a : {})) {
297
+ if (!assignUserIds.includes(userId)) {
298
+ assignments[userId] = null;
299
+ }
300
+ }
301
+ }
302
+ for (const userId of unassignUserIds) {
303
+ assignments[userId] = null;
304
+ }
305
+ Object.assign(assignments, (0, GenericFunctions_1.createAssignmentsObject)(assignUserIds));
306
+ if (Object.keys(assignments).length > 0) {
307
+ patchBody.assignments = assignments;
308
+ }
309
+ return patchBody;
310
+ });
311
+ if (hasDetailsFields(updateFields)) {
312
+ task = { ...task };
313
+ task.details = await GenericFunctions_1.patchWithETag.call(this, `/planner/tasks/${taskId}/details`, (current) => buildDetailsBody.call(this, updateFields, current, i, true));
314
+ }
315
+ return task;
316
+ }
317
+ async function remove(i) {
318
+ const taskId = getLocatorValue.call(this, 'taskId', i);
319
+ await GenericFunctions_1.deleteWithETag.call(this, `/planner/tasks/${taskId}`);
320
+ return { success: true, taskId };
321
+ }
322
+ async function getFiles(i) {
323
+ var _a;
324
+ const taskId = getLocatorValue.call(this, 'taskId', i);
325
+ const details = (await GenericFunctions_1.microsoftApiRequest.call(this, 'GET', `/planner/tasks/${taskId}/details`));
326
+ const references = (_a = details.references) !== null && _a !== void 0 ? _a : {};
327
+ const files = Object.keys(references).map((encodedUrl) => ({
328
+ url: (0, GenericFunctions_1.decodeReferenceKey)(encodedUrl),
329
+ alias: references[encodedUrl].alias,
330
+ type: references[encodedUrl].type,
331
+ previewPriority: references[encodedUrl].previewPriority,
332
+ lastModifiedDateTime: references[encodedUrl].lastModifiedDateTime,
333
+ lastModifiedBy: references[encodedUrl].lastModifiedBy,
334
+ }));
335
+ return {
336
+ taskId,
337
+ fileCount: files.length,
338
+ files,
339
+ };
340
+ }
341
+ async function getBoardFormat(i) {
342
+ const taskId = getLocatorValue.call(this, 'taskId', i);
343
+ const formatType = this.getNodeParameter('boardFormatType', i);
344
+ return (await GenericFunctions_1.microsoftApiRequest.call(this, 'GET', `/planner/tasks/${taskId}/${formatType}`));
345
+ }
346
+ async function updateBoardFormat(i) {
347
+ const taskId = getLocatorValue.call(this, 'taskId', i);
348
+ const formatType = this.getNodeParameter('boardFormatType', i);
349
+ const body = {};
350
+ if (formatType === 'assignedToTaskBoardFormat') {
351
+ const unassignedOrderHint = this.getNodeParameter('unassignedOrderHint', i, '');
352
+ if (unassignedOrderHint) {
353
+ body.unassignedOrderHint = unassignedOrderHint;
354
+ }
355
+ const orderHints = GenericFunctions_1.parseJson.call(this, this.getNodeParameter('orderHintsByAssignee', i, '{}'), 'Order Hints by Assignee (JSON)', i);
356
+ if (orderHints && typeof orderHints === 'object' && Object.keys(orderHints).length > 0) {
357
+ body.orderHintsByAssignee = orderHints;
358
+ }
359
+ }
360
+ else {
361
+ body.orderHint = this.getNodeParameter('boardOrderHint', i);
362
+ }
363
+ if (Object.keys(body).length === 0) {
364
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Nothing to update', { itemIndex: i });
365
+ }
366
+ return await GenericFunctions_1.patchWithETag.call(this, `/planner/tasks/${taskId}/${formatType}`, () => body);
367
+ }
368
+ async function executeTask(operation, i, userCache) {
369
+ switch (operation) {
370
+ case 'create':
371
+ return await create.call(this, i, userCache);
372
+ case 'get':
373
+ return await get.call(this, i);
374
+ case 'getAll':
375
+ return await getAll.call(this, i, userCache);
376
+ case 'update':
377
+ return await update.call(this, i, userCache);
378
+ case 'delete':
379
+ return await remove.call(this, i);
380
+ case 'getFiles':
381
+ return await getFiles.call(this, i);
382
+ case 'getBoardFormat':
383
+ return await getBoardFormat.call(this, i);
384
+ case 'updateBoardFormat':
385
+ return await updateBoardFormat.call(this, i);
386
+ default:
387
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Unsupported task operation "${operation}"`, {
388
+ itemIndex: i,
389
+ });
390
+ }
391
+ }
392
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../nodes/MicrosoftPlanner/actions/task.ts"],"names":[],"mappings":"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"}
@@ -1,51 +1,51 @@
1
- <svg width="872" height="872" viewBox="0 0 872 872" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect x="54" y="54" width="763" height="764" rx="80" fill="white"/>
3
- <mask id="mask0_12_96" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="54" y="54" width="763" height="764">
4
- <rect x="54" y="54" width="763" height="764" rx="80" fill="white"/>
5
- </mask>
6
- <g mask="url(#mask0_12_96)">
7
- <path d="M119.063 542.783C249.273 449.513 880.865 314.788 858.416 -92.3502V-119L479.758 -119V-83.4677C485.745 137.127 348.053 360.682 159.472 462.837C123.552 483.565 68.1759 519.097 42.7324 551.667C17.2892 584.238 -2.16736 627.172 29.2626 661.224C72.6661 707.121 177.433 681.95 237.299 673.069C448.329 646.419 484.25 804.833 488.738 944L855.423 944C850.934 838.885 831.475 713.042 770.114 624.211C690.79 507.252 467.785 458.397 180.426 607.927C74.1622 662.706 20.2825 612.369 117.566 542.783" fill="url(#paint0_linear_12_96)"/>
8
- <mask id="mask1_12_96" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="109" y="125" width="622" height="622">
9
- <path d="M731 125H109V747H731V125Z" fill="white"/>
10
- </mask>
11
- <g mask="url(#mask1_12_96)">
12
- <path d="M323.022 532.959C296.245 559.736 252.83 559.736 226.053 532.959L129.083 435.989C102.306 409.212 102.306 365.799 129.083 339.022L226.053 242.054C252.83 215.277 296.245 215.277 323.022 242.054L419.992 339.022C446.769 365.799 446.769 409.212 419.992 435.989L323.022 532.959Z" fill="url(#paint1_linear_12_96)"/>
13
- <path d="M323.022 532.959C296.245 559.736 252.83 559.736 226.053 532.959L129.083 435.989C102.306 409.212 102.306 365.799 129.083 339.022L226.053 242.054C252.83 215.277 296.245 215.277 323.022 242.054L419.992 339.022C446.769 365.799 446.769 409.212 419.992 435.989L323.022 532.959Z" fill="url(#paint2_linear_12_96)"/>
14
- <path d="M129.082 435.997C155.86 462.775 199.276 462.775 226.054 435.997L516.972 145.083C543.749 118.306 587.165 118.305 613.945 145.083L710.915 242.054C737.694 268.832 737.694 312.247 710.915 339.025L419.997 629.94C393.22 656.717 349.804 656.717 323.026 629.94L129.082 435.997Z" fill="url(#paint3_linear_12_96)"/>
15
- <path d="M129.082 435.997C155.86 462.775 199.276 462.775 226.054 435.997L516.972 145.083C543.749 118.306 587.165 118.305 613.945 145.083L710.915 242.054C737.694 268.832 737.694 312.247 710.915 339.025L419.997 629.94C393.22 656.717 349.804 656.717 323.026 629.94L129.082 435.997Z" fill="url(#paint4_linear_12_96)"/>
16
- <path d="M226.051 532.962C252.829 559.742 296.245 559.742 323.023 532.962L516.967 339.021C543.747 312.243 587.163 312.243 613.94 339.021L710.912 435.992C737.692 462.77 737.692 506.185 710.912 532.962L516.967 726.904C490.19 753.684 446.772 753.684 419.995 726.904L226.051 532.962Z" fill="url(#paint5_linear_12_96)"/>
17
- <path d="M226.051 532.962C252.829 559.742 296.245 559.742 323.023 532.962L516.967 339.021C543.747 312.243 587.163 312.243 613.94 339.021L710.912 435.992C737.692 462.77 737.692 506.185 710.912 532.962L516.967 726.904C490.19 753.684 446.772 753.684 419.995 726.904L226.051 532.962Z" fill="url(#paint6_linear_12_96)"/>
18
- </g>
19
- </g>
20
- <defs>
21
- <linearGradient id="paint0_linear_12_96" x1="919.5" y1="74" x2="130.318" y2="576.93" gradientUnits="userSpaceOnUse">
22
- <stop stop-color="#DEDEDE"/>
23
- <stop offset="1" stop-color="#FAFAFA"/>
24
- </linearGradient>
25
- <linearGradient id="paint1_linear_12_96" x1="274.536" y1="221.971" x2="164.923" y2="456.137" gradientUnits="userSpaceOnUse">
26
- <stop stop-color="#8752E0"/>
27
- <stop offset="1" stop-color="#541278"/>
28
- </linearGradient>
29
- <linearGradient id="paint2_linear_12_96" x1="326.19" y1="411.887" x2="237.044" y2="324.362" gradientUnits="userSpaceOnUse">
30
- <stop offset="0.12172" stop-color="#3D0D59"/>
31
- <stop offset="1" stop-color="#7034B0" stop-opacity="0"/>
32
- </linearGradient>
33
- <linearGradient id="paint3_linear_12_96" x1="585.092" y1="124.999" x2="364.465" y2="654.198" gradientUnits="userSpaceOnUse">
34
- <stop stop-color="#DB45E0"/>
35
- <stop offset="1" stop-color="#6C0F71"/>
36
- </linearGradient>
37
- <linearGradient id="paint4_linear_12_96" x1="585.092" y1="124.999" x2="364.465" y2="654.198" gradientUnits="userSpaceOnUse">
38
- <stop stop-color="#DB45E0"/>
39
- <stop offset="0.677403" stop-color="#A829AE"/>
40
- <stop offset="1" stop-color="#8F28B3"/>
41
- </linearGradient>
42
- <linearGradient id="paint5_linear_12_96" x1="575.505" y1="319.364" x2="471.844" y2="746.969" gradientUnits="userSpaceOnUse">
43
- <stop stop-color="#3DCBFF"/>
44
- <stop offset="1" stop-color="#00479E"/>
45
- </linearGradient>
46
- <linearGradient id="paint6_linear_12_96" x1="581.108" y1="330.423" x2="381.739" y2="719.433" gradientUnits="userSpaceOnUse">
47
- <stop stop-color="#3DCBFF"/>
48
- <stop offset="1" stop-color="#4A40D4"/>
49
- </linearGradient>
50
- </defs>
51
- </svg>
1
+ <svg width="872" height="872" viewBox="0 0 872 872" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect x="54" y="54" width="763" height="764" rx="80" fill="white"/>
3
+ <mask id="mask0_12_96" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="54" y="54" width="763" height="764">
4
+ <rect x="54" y="54" width="763" height="764" rx="80" fill="white"/>
5
+ </mask>
6
+ <g mask="url(#mask0_12_96)">
7
+ <path d="M119.063 542.783C249.273 449.513 880.865 314.788 858.416 -92.3502V-119L479.758 -119V-83.4677C485.745 137.127 348.053 360.682 159.472 462.837C123.552 483.565 68.1759 519.097 42.7324 551.667C17.2892 584.238 -2.16736 627.172 29.2626 661.224C72.6661 707.121 177.433 681.95 237.299 673.069C448.329 646.419 484.25 804.833 488.738 944L855.423 944C850.934 838.885 831.475 713.042 770.114 624.211C690.79 507.252 467.785 458.397 180.426 607.927C74.1622 662.706 20.2825 612.369 117.566 542.783" fill="url(#paint0_linear_12_96)"/>
8
+ <mask id="mask1_12_96" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="109" y="125" width="622" height="622">
9
+ <path d="M731 125H109V747H731V125Z" fill="white"/>
10
+ </mask>
11
+ <g mask="url(#mask1_12_96)">
12
+ <path d="M323.022 532.959C296.245 559.736 252.83 559.736 226.053 532.959L129.083 435.989C102.306 409.212 102.306 365.799 129.083 339.022L226.053 242.054C252.83 215.277 296.245 215.277 323.022 242.054L419.992 339.022C446.769 365.799 446.769 409.212 419.992 435.989L323.022 532.959Z" fill="url(#paint1_linear_12_96)"/>
13
+ <path d="M323.022 532.959C296.245 559.736 252.83 559.736 226.053 532.959L129.083 435.989C102.306 409.212 102.306 365.799 129.083 339.022L226.053 242.054C252.83 215.277 296.245 215.277 323.022 242.054L419.992 339.022C446.769 365.799 446.769 409.212 419.992 435.989L323.022 532.959Z" fill="url(#paint2_linear_12_96)"/>
14
+ <path d="M129.082 435.997C155.86 462.775 199.276 462.775 226.054 435.997L516.972 145.083C543.749 118.306 587.165 118.305 613.945 145.083L710.915 242.054C737.694 268.832 737.694 312.247 710.915 339.025L419.997 629.94C393.22 656.717 349.804 656.717 323.026 629.94L129.082 435.997Z" fill="url(#paint3_linear_12_96)"/>
15
+ <path d="M129.082 435.997C155.86 462.775 199.276 462.775 226.054 435.997L516.972 145.083C543.749 118.306 587.165 118.305 613.945 145.083L710.915 242.054C737.694 268.832 737.694 312.247 710.915 339.025L419.997 629.94C393.22 656.717 349.804 656.717 323.026 629.94L129.082 435.997Z" fill="url(#paint4_linear_12_96)"/>
16
+ <path d="M226.051 532.962C252.829 559.742 296.245 559.742 323.023 532.962L516.967 339.021C543.747 312.243 587.163 312.243 613.94 339.021L710.912 435.992C737.692 462.77 737.692 506.185 710.912 532.962L516.967 726.904C490.19 753.684 446.772 753.684 419.995 726.904L226.051 532.962Z" fill="url(#paint5_linear_12_96)"/>
17
+ <path d="M226.051 532.962C252.829 559.742 296.245 559.742 323.023 532.962L516.967 339.021C543.747 312.243 587.163 312.243 613.94 339.021L710.912 435.992C737.692 462.77 737.692 506.185 710.912 532.962L516.967 726.904C490.19 753.684 446.772 753.684 419.995 726.904L226.051 532.962Z" fill="url(#paint6_linear_12_96)"/>
18
+ </g>
19
+ </g>
20
+ <defs>
21
+ <linearGradient id="paint0_linear_12_96" x1="919.5" y1="74" x2="130.318" y2="576.93" gradientUnits="userSpaceOnUse">
22
+ <stop stop-color="#DEDEDE"/>
23
+ <stop offset="1" stop-color="#FAFAFA"/>
24
+ </linearGradient>
25
+ <linearGradient id="paint1_linear_12_96" x1="274.536" y1="221.971" x2="164.923" y2="456.137" gradientUnits="userSpaceOnUse">
26
+ <stop stop-color="#8752E0"/>
27
+ <stop offset="1" stop-color="#541278"/>
28
+ </linearGradient>
29
+ <linearGradient id="paint2_linear_12_96" x1="326.19" y1="411.887" x2="237.044" y2="324.362" gradientUnits="userSpaceOnUse">
30
+ <stop offset="0.12172" stop-color="#3D0D59"/>
31
+ <stop offset="1" stop-color="#7034B0" stop-opacity="0"/>
32
+ </linearGradient>
33
+ <linearGradient id="paint3_linear_12_96" x1="585.092" y1="124.999" x2="364.465" y2="654.198" gradientUnits="userSpaceOnUse">
34
+ <stop stop-color="#DB45E0"/>
35
+ <stop offset="1" stop-color="#6C0F71"/>
36
+ </linearGradient>
37
+ <linearGradient id="paint4_linear_12_96" x1="585.092" y1="124.999" x2="364.465" y2="654.198" gradientUnits="userSpaceOnUse">
38
+ <stop stop-color="#DB45E0"/>
39
+ <stop offset="0.677403" stop-color="#A829AE"/>
40
+ <stop offset="1" stop-color="#8F28B3"/>
41
+ </linearGradient>
42
+ <linearGradient id="paint5_linear_12_96" x1="575.505" y1="319.364" x2="471.844" y2="746.969" gradientUnits="userSpaceOnUse">
43
+ <stop stop-color="#3DCBFF"/>
44
+ <stop offset="1" stop-color="#00479E"/>
45
+ </linearGradient>
46
+ <linearGradient id="paint6_linear_12_96" x1="581.108" y1="330.423" x2="381.739" y2="719.433" gradientUnits="userSpaceOnUse">
47
+ <stop stop-color="#3DCBFF"/>
48
+ <stop offset="1" stop-color="#4A40D4"/>
49
+ </linearGradient>
50
+ </defs>
51
+ </svg>
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@blickwerk/n8n-nodes-microsoft-planner",
3
+ "version": "1.6.0",
4
+ "description": "n8n community node for Microsoft Planner - manage plans, buckets, tasks, checklists, attachments, labels and comments via Microsoft Graph",
5
+ "keywords": [
6
+ "n8n-community-node-package",
7
+ "n8n",
8
+ "microsoft",
9
+ "planner",
10
+ "microsoft-graph",
11
+ "tasks"
12
+ ],
13
+ "license": "MIT",
14
+ "homepage": "https://github.com/blickwerk/n8n-nodes-microsoft-planner",
15
+ "author": {
16
+ "name": "Blickwerk Media UG",
17
+ "email": "hello@blickwerk.media",
18
+ "url": "https://blickwerk.media"
19
+ },
20
+ "contributors": [
21
+ "United Workspace GmbH <hello@united-workspace.de> (https://united-workspace.de)"
22
+ ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "https://github.com/blickwerk/n8n-nodes-microsoft-planner.git"
26
+ },
27
+ "scripts": {
28
+ "build": "n8n-node build",
29
+ "build:watch": "tsc --watch",
30
+ "dev": "n8n-node dev",
31
+ "format": "prettier nodes credentials --write",
32
+ "lint": "n8n-node lint",
33
+ "lint:fix": "n8n-node lint --fix",
34
+ "release": "n8n-node release",
35
+ "prepublishOnly": "n8n-node prerelease"
36
+ },
37
+ "files": [
38
+ "dist"
39
+ ],
40
+ "n8n": {
41
+ "n8nNodesApiVersion": 1,
42
+ "strict": true,
43
+ "credentials": [
44
+ "dist/credentials/MicrosoftPlannerOAuth2Api.credentials.js"
45
+ ],
46
+ "nodes": [
47
+ "dist/nodes/MicrosoftPlanner/MicrosoftPlanner.node.js"
48
+ ]
49
+ },
50
+ "devDependencies": {
51
+ "@n8n/node-cli": "^0.55.5",
52
+ "eslint": "9.32.0",
53
+ "prettier": "3.6.2",
54
+ "release-it": "^21.1.0",
55
+ "typescript": "5.9.2"
56
+ },
57
+ "peerDependencies": {
58
+ "n8n-workflow": "*"
59
+ }
60
+ }