n8n-nodes-runrunit 1.0.17 → 1.1.1

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 (51) hide show
  1. package/dist/nodes/Runrunit/GenericFunctions.d.ts +4 -0
  2. package/dist/nodes/Runrunit/GenericFunctions.js +141 -0
  3. package/dist/nodes/Runrunit/GenericFunctions.js.map +1 -0
  4. package/dist/nodes/Runrunit/Runrunit.node.d.ts +0 -5
  5. package/dist/nodes/Runrunit/Runrunit.node.js +58 -248
  6. package/dist/nodes/Runrunit/Runrunit.node.js.map +1 -1
  7. package/dist/nodes/Runrunit/resources/executers/BoardStageExecute.d.ts +2 -0
  8. package/dist/nodes/Runrunit/resources/executers/BoardStageExecute.js +78 -0
  9. package/dist/nodes/Runrunit/resources/executers/BoardStageExecute.js.map +1 -0
  10. package/dist/nodes/Runrunit/resources/executers/ChecklistItemsExecute.d.ts +2 -0
  11. package/dist/nodes/Runrunit/resources/executers/ChecklistItemsExecute.js +78 -0
  12. package/dist/nodes/Runrunit/resources/executers/ChecklistItemsExecute.js.map +1 -0
  13. package/dist/nodes/Runrunit/resources/executers/ChecklistsExecute.d.ts +2 -0
  14. package/dist/nodes/Runrunit/resources/executers/ChecklistsExecute.js +78 -0
  15. package/dist/nodes/Runrunit/resources/executers/ChecklistsExecute.js.map +1 -0
  16. package/dist/nodes/Runrunit/resources/executers/ClientsExecute.d.ts +2 -0
  17. package/dist/nodes/Runrunit/resources/executers/ClientsExecute.js +78 -0
  18. package/dist/nodes/Runrunit/resources/executers/ClientsExecute.js.map +1 -0
  19. package/dist/nodes/Runrunit/resources/executers/CommentsExecute.d.ts +2 -0
  20. package/dist/nodes/Runrunit/resources/executers/CommentsExecute.js +78 -0
  21. package/dist/nodes/Runrunit/resources/executers/CommentsExecute.js.map +1 -0
  22. package/dist/nodes/Runrunit/resources/executers/DescendantsExecute.d.ts +2 -0
  23. package/dist/nodes/Runrunit/resources/executers/DescendantsExecute.js +78 -0
  24. package/dist/nodes/Runrunit/resources/executers/DescendantsExecute.js.map +1 -0
  25. package/dist/nodes/Runrunit/resources/executers/DescriptionsExecute.d.ts +2 -0
  26. package/dist/nodes/Runrunit/resources/executers/DescriptionsExecute.js +78 -0
  27. package/dist/nodes/Runrunit/resources/executers/DescriptionsExecute.js.map +1 -0
  28. package/dist/nodes/Runrunit/resources/executers/DocumentsExecute.d.ts +2 -0
  29. package/dist/nodes/Runrunit/resources/executers/DocumentsExecute.js +78 -0
  30. package/dist/nodes/Runrunit/resources/executers/DocumentsExecute.js.map +1 -0
  31. package/dist/nodes/Runrunit/resources/executers/ProjectsExecute.d.ts +2 -0
  32. package/dist/nodes/Runrunit/resources/executers/ProjectsExecute.js +65 -0
  33. package/dist/nodes/Runrunit/resources/executers/ProjectsExecute.js.map +1 -0
  34. package/dist/nodes/Runrunit/resources/executers/TaskExecute.d.ts +2 -0
  35. package/dist/nodes/Runrunit/resources/executers/TaskExecute.js +96 -0
  36. package/dist/nodes/Runrunit/resources/executers/TaskExecute.js.map +1 -0
  37. package/dist/nodes/Runrunit/resources/executers/TeamExecute.d.ts +2 -0
  38. package/dist/nodes/Runrunit/resources/executers/TeamExecute.js +78 -0
  39. package/dist/nodes/Runrunit/resources/executers/TeamExecute.js.map +1 -0
  40. package/dist/nodes/Runrunit/resources/executers/TimeWorkedExecute.d.ts +2 -0
  41. package/dist/nodes/Runrunit/resources/executers/TimeWorkedExecute.js +78 -0
  42. package/dist/nodes/Runrunit/resources/executers/TimeWorkedExecute.js.map +1 -0
  43. package/dist/nodes/Runrunit/resources/executers/UserExecute.d.ts +2 -0
  44. package/dist/nodes/Runrunit/resources/executers/UserExecute.js +83 -0
  45. package/dist/nodes/Runrunit/resources/executers/UserExecute.js.map +1 -0
  46. package/dist/nodes/Runrunit/resources/projects/index.d.ts +2 -0
  47. package/dist/nodes/Runrunit/resources/projects/index.js +76 -0
  48. package/dist/nodes/Runrunit/resources/projects/index.js.map +1 -0
  49. package/dist/package.json +1 -1
  50. package/dist/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import { type IExecuteFunctions, type INodeExecutionData } from 'n8n-workflow';
2
+ export declare function makeRequest(instance: IExecuteFunctions, method: string, path: string, body?: any, qs?: Record<string, any>): Promise<any>;
3
+ export declare function applyPostFilters(instance: IExecuteFunctions, items: INodeExecutionData[], itemIndex?: number): Promise<INodeExecutionData[]>;
4
+ export declare function safeParseJSON(instance: IExecuteFunctions, paramName: string, itemIndex?: number): any;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.safeParseJSON = exports.applyPostFilters = exports.makeRequest = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ async function makeRequest(instance, method, path, body = {}, qs = {}) {
6
+ var _a, _b, _c;
7
+ const creds = (await ((_a = instance.getCredentials) === null || _a === void 0 ? void 0 : _a.call(instance, 'runrunitApi')));
8
+ if (!creds)
9
+ throw new n8n_workflow_1.NodeOperationError(instance.getNode(), 'Credentials `runrunitApi` are not set');
10
+ const appKey = creds.appKey || '';
11
+ const userToken = creds.userToken || '';
12
+ const baseURL = 'https://runrun.it/api/v1.0';
13
+ const mode = instance.getNodeParameter('mode', 0);
14
+ let url = `${baseURL}${path}`;
15
+ if (qs && Object.keys(qs).length) {
16
+ const params = new URLSearchParams();
17
+ for (const k of Object.keys(qs))
18
+ params.append(k, String(qs[k]));
19
+ url += `?${params.toString()}`;
20
+ }
21
+ if (mode === 'preview') {
22
+ if (method.toUpperCase() === 'GET') {
23
+ return { curl: `curl --location '${url}' --header 'App-Key: ${appKey}' --header 'User-Token: ${userToken}'` };
24
+ }
25
+ const bodyString = JSON.stringify(body).replace(/'/g, "'\"'\"'");
26
+ return { curl: `curl --location '${url}' --header 'App-Key: ${appKey}' --header 'User-Token: ${userToken}' --header 'Content-Type: application/json' --data-raw '${bodyString}'` };
27
+ }
28
+ try {
29
+ const opts = { method, url, headers: { 'App-Key': appKey, 'User-Token': userToken }, json: true };
30
+ if (method.toUpperCase() !== 'GET') {
31
+ opts.body = body;
32
+ opts.headers['Content-Type'] = 'application/json';
33
+ }
34
+ return await instance.helpers.httpRequest(opts);
35
+ }
36
+ catch (error) {
37
+ const apiErrorMessage = ((_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.body) === null || _c === void 0 ? void 0 : _c.message) || (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error';
38
+ throw new n8n_workflow_1.NodeOperationError(instance.getNode(), `Erro Runrunit: "${apiErrorMessage}"`, { itemIndex: 0 });
39
+ }
40
+ }
41
+ exports.makeRequest = makeRequest;
42
+ async function applyPostFilters(instance, items, itemIndex = 0) {
43
+ var _a, _b, _c, _d, _e, _f;
44
+ const postItems = items.map((it) => ({ json: JSON.parse(JSON.stringify(it.json)), binary: it.binary ? { ...it.binary } : undefined }));
45
+ let rawConditions = {};
46
+ let uiOptions = {};
47
+ try {
48
+ rawConditions = instance.getNodeParameter('conditions', itemIndex) || {};
49
+ }
50
+ catch (e) {
51
+ rawConditions = {};
52
+ }
53
+ try {
54
+ uiOptions = instance.getNodeParameter('options', itemIndex) || {};
55
+ }
56
+ catch (e) {
57
+ uiOptions = {};
58
+ }
59
+ const providedConditions = (_b = (_a = rawConditions.conditions) !== null && _a !== void 0 ? _a : rawConditions.filter) !== null && _b !== void 0 ? _b : rawConditions;
60
+ const hasConditions = providedConditions && ((Array.isArray(providedConditions) && providedConditions.length > 0) || (typeof providedConditions === 'object' && Object.keys(providedConditions).length > 0));
61
+ let finalItems = postItems;
62
+ if (hasConditions) {
63
+ try {
64
+ const filterHelper = (_c = instance.helpers) === null || _c === void 0 ? void 0 : _c.filterInputData;
65
+ if (typeof filterHelper === 'function') {
66
+ if (!rawConditions.filter)
67
+ rawConditions.filter = {};
68
+ if (typeof rawConditions.filter.caseSensitive === 'undefined')
69
+ rawConditions.filter.caseSensitive = !uiOptions.ignoreCase;
70
+ if (typeof rawConditions.filter.typeValidation === 'undefined')
71
+ rawConditions.filter.typeValidation = uiOptions.looseTypeValidation ? 'loose' : 'strict';
72
+ const payload = {
73
+ conditions: providedConditions,
74
+ combinator: (_d = rawConditions.combinator) !== null && _d !== void 0 ? _d : 'and',
75
+ options: {
76
+ caseSensitive: !!rawConditions.filter.caseSensitive,
77
+ typeValidation: rawConditions.filter.typeValidation,
78
+ },
79
+ };
80
+ const result = await filterHelper.call(instance, postItems, payload);
81
+ if (Array.isArray(result))
82
+ finalItems = result;
83
+ else if (result && Array.isArray(result.filteredItems))
84
+ finalItems = result.filteredItems;
85
+ }
86
+ }
87
+ catch (err) {
88
+ console.error('Runrunit: erro ao aplicar post-filter conditions:', (_e = err === null || err === void 0 ? void 0 : err.message) !== null && _e !== void 0 ? _e : err);
89
+ finalItems = postItems;
90
+ }
91
+ }
92
+ else {
93
+ const filtersCollection = (() => {
94
+ try {
95
+ return instance.getNodeParameter('filters', itemIndex);
96
+ }
97
+ catch (e) {
98
+ return { filter: [] };
99
+ }
100
+ })();
101
+ const filters = (_f = filtersCollection === null || filtersCollection === void 0 ? void 0 : filtersCollection.filter) !== null && _f !== void 0 ? _f : [];
102
+ if (filters.length > 0) {
103
+ finalItems = postItems.filter((item) => {
104
+ const json = item.json;
105
+ return filters.every((f) => {
106
+ const itemValue = json[f.field];
107
+ const filterValue = f.value;
108
+ if (f.operator === 'equals')
109
+ return String(itemValue) === String(filterValue);
110
+ if (f.operator === 'contains')
111
+ return String(itemValue).includes(filterValue);
112
+ if (f.operator === 'gt')
113
+ return Number(itemValue) > Number(filterValue);
114
+ if (f.operator === 'lt')
115
+ return Number(itemValue) < Number(filterValue);
116
+ if (f.operator === 'isTrue')
117
+ return itemValue === true || itemValue === 'true';
118
+ if (f.operator === 'isFalse')
119
+ return itemValue === false || itemValue === 'false';
120
+ return true;
121
+ });
122
+ });
123
+ }
124
+ }
125
+ return finalItems;
126
+ }
127
+ exports.applyPostFilters = applyPostFilters;
128
+ function safeParseJSON(instance, paramName, itemIndex = 0) {
129
+ const val = instance.getNodeParameter(paramName, itemIndex);
130
+ if (typeof val === 'string') {
131
+ try {
132
+ return JSON.parse(val);
133
+ }
134
+ catch (e) {
135
+ throw new n8n_workflow_1.NodeOperationError(instance.getNode(), `${paramName} inválido`);
136
+ }
137
+ }
138
+ return val;
139
+ }
140
+ exports.safeParseJSON = safeParseJSON;
141
+ //# sourceMappingURL=GenericFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Runrunit/GenericFunctions.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,4 @@ import { type INodeType, type INodeTypeDescription, type INodeExecutionData, typ
2
2
  export declare class Runrunit implements INodeType {
3
3
  description: INodeTypeDescription;
4
4
  execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
5
- private static makeRequest;
6
- private static handleCreate;
7
- private static handleUpdate;
8
- private static handleGet;
9
- private static handleGetAll;
10
5
  }
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.Runrunit = void 0;
4
27
  const n8n_workflow_1 = require("n8n-workflow");
@@ -12,8 +35,22 @@ const documents_1 = require("./resources/documents");
12
35
  const checklists_1 = require("./resources/checklists");
13
36
  const checklistItems_1 = require("./resources/checklistItems");
14
37
  const clients_1 = require("./resources/clients");
38
+ const projects_1 = require("./resources/projects");
15
39
  const descendants_1 = require("./resources/descendants");
16
40
  const descriptions_1 = require("./resources/descriptions");
41
+ const TaskExecute = __importStar(require("./resources/executers/TaskExecute"));
42
+ const UserExecute = __importStar(require("./resources/executers/UserExecute"));
43
+ const ClientsExecute = __importStar(require("./resources/executers/ClientsExecute"));
44
+ const TeamExecute = __importStar(require("./resources/executers/TeamExecute"));
45
+ const BoardStageExecute = __importStar(require("./resources/executers/BoardStageExecute"));
46
+ const CommentsExecute = __importStar(require("./resources/executers/CommentsExecute"));
47
+ const DocumentsExecute = __importStar(require("./resources/executers/DocumentsExecute"));
48
+ const ChecklistsExecute = __importStar(require("./resources/executers/ChecklistsExecute"));
49
+ const ChecklistItemsExecute = __importStar(require("./resources/executers/ChecklistItemsExecute"));
50
+ const DescendantsExecute = __importStar(require("./resources/executers/DescendantsExecute"));
51
+ const DescriptionsExecute = __importStar(require("./resources/executers/DescriptionsExecute"));
52
+ const TimeWorkedExecute = __importStar(require("./resources/executers/TimeWorkedExecute"));
53
+ const ProjectsExecute = __importStar(require("./resources/executers/ProjectsExecute"));
17
54
  class Runrunit {
18
55
  constructor() {
19
56
  this.description = {
@@ -48,6 +85,7 @@ class Runrunit {
48
85
  { name: 'User', value: 'user' },
49
86
  { name: 'Task', value: 'task' },
50
87
  { name: 'Team', value: 'team' },
88
+ { name: 'Projects', value: 'projects' },
51
89
  { name: 'Board Stages', value: 'boardStage' },
52
90
  { name: 'Comments', value: 'comments' },
53
91
  { name: 'Documents', value: 'documents' },
@@ -81,6 +119,7 @@ class Runrunit {
81
119
  ...checklistItems_1.checklistItemsDescription,
82
120
  ...descendants_1.descendantsDescription,
83
121
  ...descriptions_1.descriptionsDescription,
122
+ ...projects_1.projectsDescription,
84
123
  ...user_1.userDescription,
85
124
  ...task_1.taskDescription,
86
125
  ],
@@ -89,254 +128,25 @@ class Runrunit {
89
128
  async execute() {
90
129
  const resource = this.getNodeParameter('resource', 0);
91
130
  const operation = this.getNodeParameter('operation', 0);
92
- if (operation === 'create')
93
- return await Runrunit.handleCreate(this, resource);
94
- if (operation === 'update')
95
- return await Runrunit.handleUpdate(this, resource);
96
- if (operation === 'get')
97
- return await Runrunit.handleGet(this, resource);
98
- if (operation === 'getAll')
99
- return await Runrunit.handleGetAll(this, resource);
100
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'This node currently only supports create/update/get/getAll operations.');
101
- }
102
- static async makeRequest(instance, method, path, body = {}, qs = {}) {
103
- var _a, _b, _c;
104
- const creds = (await ((_a = instance.getCredentials) === null || _a === void 0 ? void 0 : _a.call(instance, 'runrunitApi')));
105
- if (!creds)
106
- throw new n8n_workflow_1.NodeOperationError(instance.getNode(), 'Credentials `runrunitApi` are not set');
107
- const appKey = creds.appKey || '';
108
- const userToken = creds.userToken || '';
109
- const baseURL = 'https://runrun.it/api/v1.0';
110
- const mode = instance.getNodeParameter('mode', 0);
111
- let url = `${baseURL}${path}`;
112
- if (qs && Object.keys(qs).length) {
113
- const params = new URLSearchParams();
114
- for (const k of Object.keys(qs))
115
- params.append(k, String(qs[k]));
116
- url += `?${params.toString()}`;
117
- }
118
- if (mode === 'preview') {
119
- if (method.toUpperCase() === 'GET') {
120
- return { curl: `curl --location '${url}' --header 'App-Key: ${appKey}' --header 'User-Token: ${userToken}'` };
121
- }
122
- const bodyString = JSON.stringify(body).replace(/'/g, "'\"'\"'");
123
- return { curl: `curl --location '${url}' --header 'App-Key: ${appKey}' --header 'User-Token: ${userToken}' --header 'Content-Type: application/json' --data-raw '${bodyString}'` };
124
- }
125
- try {
126
- const opts = { method, url, headers: { 'App-Key': appKey, 'User-Token': userToken }, json: true };
127
- if (method.toUpperCase() !== 'GET') {
128
- opts.body = body;
129
- opts.headers['Content-Type'] = 'application/json';
130
- }
131
- return await instance.helpers.httpRequest(opts);
132
- }
133
- catch (error) {
134
- const apiErrorMessage = ((_c = (_b = error === null || error === void 0 ? void 0 : error.response) === null || _b === void 0 ? void 0 : _b.body) === null || _c === void 0 ? void 0 : _c.message) || (error === null || error === void 0 ? void 0 : error.message) || 'Unknown error';
135
- throw new n8n_workflow_1.NodeOperationError(instance.getNode(), `Erro Runrunit: "${apiErrorMessage}"`, { itemIndex: 0 });
136
- }
137
- }
138
- static async handleCreate(instance, resource) {
139
- const returnData = [];
140
- const inputData = instance.getInputData();
141
- for (let i = 0; i < inputData.length; i++) {
142
- let path = '';
143
- let body = {};
144
- if (resource === 'user') {
145
- path = '/users';
146
- const userPayload = instance.getNodeParameter('userObject', i);
147
- const userData = typeof userPayload === 'string' ? JSON.parse(userPayload) : userPayload;
148
- body = {
149
- user: userData,
150
- make_everybody_mutual_partners: instance.getNodeParameter('makeEverybodyMutualPartners', i),
151
- };
152
- }
153
- else if (resource === 'task') {
154
- path = '/tasks';
155
- }
156
- if (path) {
157
- const resp = await Runrunit.makeRequest(instance, 'POST', path, body);
158
- returnData.push({ json: resp });
159
- }
160
- }
161
- return [returnData];
162
- }
163
- static async handleUpdate(instance, resource) {
164
- const returnData = [];
165
- const inputData = instance.getInputData();
166
- for (let i = 0; i < inputData.length; i++) {
167
- let path = '';
168
- let body = {};
169
- if (resource === 'user') {
170
- const userId = instance.getNodeParameter('userId', i);
171
- path = `/users/${userId}`;
172
- const userPayload = instance.getNodeParameter('userObject', i);
173
- const userData = typeof userPayload === 'string' ? JSON.parse(userPayload) : userPayload;
174
- body = {
175
- user: userData,
176
- make_everybody_mutual_partners: instance.getNodeParameter('makeEverybodyMutualPartners', i),
177
- };
178
- }
179
- else if (resource === 'task') {
180
- const taskId = instance.getNodeParameter('taskId', i);
181
- path = `/tasks/${taskId}`;
182
- }
183
- if (!path)
184
- throw new n8n_workflow_1.NodeOperationError(instance.getNode(), `Caminho de update não definido para: ${resource}`);
185
- const resp = await Runrunit.makeRequest(instance, 'PUT', path, body);
186
- returnData.push({ json: resp });
187
- }
188
- return [returnData];
189
- }
190
- static async handleGet(instance, resource) {
191
- const returnData = [];
192
- const inputData = instance.getInputData();
193
- for (let i = 0; i < inputData.length; i++) {
194
- let path = '';
195
- const qsObj = {};
196
- if (resource === 'user') {
197
- const userId = instance.getNodeParameter('userId', i);
198
- if (!userId) {
199
- throw new n8n_workflow_1.NodeOperationError(instance.getNode(), 'O campo User ID é obrigatório para a operação Get.');
200
- }
201
- path = `/users/${userId}`;
202
- }
203
- else if (resource === 'task') {
204
- const taskId = instance.getNodeParameter('taskId', i);
205
- path = `/tasks/${taskId}`;
206
- }
207
- if (!path)
208
- continue;
209
- const resp = await Runrunit.makeRequest(instance, 'GET', path, {}, qsObj);
210
- returnData.push({ json: resp });
211
- }
212
- return [returnData];
213
- }
214
- static async handleGetAll(instance, resource) {
215
- var _a, _b, _c, _d, _e, _f;
216
- const returnData = [];
217
- const inputCount = Math.max(1, instance.getInputData().length);
218
- for (let i = 0; i < inputCount; i++) {
219
- let path = '';
220
- const qs = {};
221
- const returnAll = instance.getNodeParameter('returnAll', i);
222
- if (returnAll) {
223
- qs.limit = 1000;
224
- }
225
- else {
226
- qs.limit = instance.getNodeParameter('limit', i, 50);
227
- qs.page = instance.getNodeParameter('page', i, 1);
228
- }
229
- if (resource === 'task') {
230
- path = '/tasks';
231
- const search = instance.getNodeParameter('search_term', i, '');
232
- if (search)
233
- qs.search_term = search;
234
- const projectId = instance.getNodeParameter('project_id', i, 0);
235
- if (projectId !== 0)
236
- qs.project_id = projectId;
237
- const responsibleId = instance.getNodeParameter('responsible_id', i, '');
238
- if (responsibleId)
239
- qs.responsible_id = responsibleId;
240
- const isClosed = instance.getNodeParameter('is_closed', i, 'all');
241
- if (isClosed !== 'all')
242
- qs.is_closed = isClosed;
243
- }
244
- else if (resource === 'clients') {
245
- path = '/clients';
246
- }
247
- const resp = await Runrunit.makeRequest(instance, 'GET', path, {}, qs);
248
- let normalizedArray = [];
249
- if (Array.isArray(resp))
250
- normalizedArray = resp;
251
- else if (resp && typeof resp === 'object') {
252
- normalizedArray = resp.tasks || resp.data || resp.items || [resp];
253
- }
254
- const items = normalizedArray.map((obj) => ({ json: obj }));
255
- const postItems = items.map((it) => ({ json: JSON.parse(JSON.stringify(it.json)), binary: it.binary ? { ...it.binary } : undefined }));
256
- let rawConditions = {};
257
- let uiOptions = {};
258
- try {
259
- rawConditions = instance.getNodeParameter('conditions', i) || {};
260
- }
261
- catch (e) {
262
- rawConditions = {};
263
- }
264
- try {
265
- uiOptions = instance.getNodeParameter('options', i) || {};
266
- }
267
- catch (e) {
268
- uiOptions = {};
269
- }
270
- let finalItems = postItems;
271
- const providedConditions = (_b = (_a = rawConditions.conditions) !== null && _a !== void 0 ? _a : rawConditions.filter) !== null && _b !== void 0 ? _b : rawConditions;
272
- const hasConditions = providedConditions && ((Array.isArray(providedConditions) && providedConditions.length > 0) || (typeof providedConditions === 'object' && Object.keys(providedConditions).length > 0));
273
- if (hasConditions) {
274
- try {
275
- const filterHelper = (_c = instance.helpers) === null || _c === void 0 ? void 0 : _c.filterInputData;
276
- if (typeof filterHelper === 'function') {
277
- if (!rawConditions.filter)
278
- rawConditions.filter = {};
279
- if (typeof rawConditions.filter.caseSensitive === 'undefined')
280
- rawConditions.filter.caseSensitive = !uiOptions.ignoreCase;
281
- if (typeof rawConditions.filter.typeValidation === 'undefined')
282
- rawConditions.filter.typeValidation = uiOptions.looseTypeValidation ? 'loose' : 'strict';
283
- const payload = {
284
- conditions: providedConditions,
285
- combinator: (_d = rawConditions.combinator) !== null && _d !== void 0 ? _d : 'and',
286
- options: {
287
- caseSensitive: !!rawConditions.filter.caseSensitive,
288
- typeValidation: rawConditions.filter.typeValidation,
289
- },
290
- };
291
- const result = await filterHelper.call(instance, postItems, payload);
292
- if (Array.isArray(result))
293
- finalItems = result;
294
- else if (result && Array.isArray(result.filteredItems))
295
- finalItems = result.filteredItems;
296
- }
297
- }
298
- catch (err) {
299
- console.error('Runrunit: erro ao aplicar post-filter conditions:', (_e = err === null || err === void 0 ? void 0 : err.message) !== null && _e !== void 0 ? _e : err);
300
- finalItems = postItems;
301
- }
302
- }
303
- else {
304
- const filtersCollection = (() => {
305
- try {
306
- return instance.getNodeParameter('filters', i);
307
- }
308
- catch (e) {
309
- return { filter: [] };
310
- }
311
- })();
312
- const filters = (_f = filtersCollection === null || filtersCollection === void 0 ? void 0 : filtersCollection.filter) !== null && _f !== void 0 ? _f : [];
313
- if (filters.length > 0) {
314
- finalItems = postItems.filter((item) => {
315
- const json = item.json;
316
- return filters.every((f) => {
317
- const itemValue = json[f.field];
318
- const filterValue = f.value;
319
- if (f.operator === 'equals')
320
- return String(itemValue) === String(filterValue);
321
- if (f.operator === 'contains')
322
- return String(itemValue).includes(filterValue);
323
- if (f.operator === 'gt')
324
- return Number(itemValue) > Number(filterValue);
325
- if (f.operator === 'lt')
326
- return Number(itemValue) < Number(filterValue);
327
- if (f.operator === 'isTrue')
328
- return itemValue === true || itemValue === 'true';
329
- if (f.operator === 'isFalse')
330
- return itemValue === false || itemValue === 'false';
331
- return true;
332
- });
333
- });
334
- }
335
- }
336
- for (const it of finalItems)
337
- returnData.push(it);
338
- }
339
- return [returnData];
131
+ const executors = {
132
+ task: TaskExecute.execute,
133
+ user: UserExecute.execute,
134
+ clients: ClientsExecute.execute,
135
+ team: TeamExecute.execute,
136
+ boardStage: BoardStageExecute.execute,
137
+ comments: CommentsExecute.execute,
138
+ documents: DocumentsExecute.execute,
139
+ projects: ProjectsExecute.execute,
140
+ checklists: ChecklistsExecute.execute,
141
+ checklistItems: ChecklistItemsExecute.execute,
142
+ descendants: DescendantsExecute.execute,
143
+ descriptions: DescriptionsExecute.execute,
144
+ timeWorked: TimeWorkedExecute.execute,
145
+ };
146
+ const executor = executors[resource];
147
+ if (!executor)
148
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), `Resource not implemented: ${resource}`);
149
+ return await executor(this, operation);
340
150
  }
341
151
  }
342
152
  exports.Runrunit = Runrunit;
@@ -1 +1 @@
1
- {"version":3,"file":"Runrunit.node.js","sourceRoot":"","sources":["../../../nodes/Runrunit/Runrunit.node.ts"],"names":[],"mappings":";;;AAAA,+CAOsB;AACtB,2CAAmD;AACnD,2CAAmD;AACnD,2CAAmD;AACnD,uDAA+D;AAC/D,uDAA+D;AAC/D,mDAA2D;AAC3D,qDAA6D;AAC7D,uDAA+D;AAC/D,+DAAuE;AACvE,iDAAyD;AACzD,yDAAiE;AACjE,2DAAmE;AAEnE,MAAa,QAAQ;IAArB;QACC,gBAAW,GAAyB;YACnC,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,wBAAwB,EAAE;YACpE,KAAK,EAAE,CAAC,WAAW,CAAC;YACpB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,8DAA8D;YACxE,WAAW,EAAE,gCAAgC;YAC7C,QAAQ,EAAE;gBACT,IAAI,EAAE,UAAU;aAChB;YACD,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC,kCAAmB,CAAC,IAAI,CAAC;YACnC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACtD,eAAe,EAAE;gBAChB,OAAO,EAAE,4BAA4B;gBACrC,OAAO,EAAE;oBACR,MAAM,EAAE,kBAAkB;oBAC1B,cAAc,EAAE,kBAAkB;iBAClC;aACD;YACD,UAAU,EAAE;gBACX;oBACC,WAAW,EAAE,UAAU;oBACvB,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,SAAS;oBACf,gBAAgB,EAAE,IAAI;oBACtB,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;wBAC/B,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE;wBAC7C,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;wBACvC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;wBACzC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;wBAC3C,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,EAAE;wBACpD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;wBACrC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;wBAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;wBAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,YAAY,EAAE;qBAC5C;oBACD,OAAO,EAAE,MAAM;iBACf;gBACD;oBACC,WAAW,EAAE,MAAM;oBACnB,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACR,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE;wBAC7C,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;qBAC1C;oBACD,OAAO,EAAE,SAAS;oBAClB,WAAW,EAAE,qEAAqE;iBAClF;gBACD,GAAG,sBAAe;gBAClB,GAAG,kCAAqB;gBACxB,GAAG,kCAAqB;gBACxB,GAAG,4BAAkB;gBACrB,GAAG,8BAAmB;gBACtB,GAAG,gCAAoB;gBACvB,GAAG,kCAAqB;gBACxB,GAAG,0CAAyB;gBAC5B,GAAG,oCAAsB;gBACzB,GAAG,sCAAuB;gBAC1B,GAAG,sBAAe;gBAClB,GAAG,sBAAe;aAClB;SACD,CAAC;IA+SH,CAAC;IA7SA,KAAK,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAW,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAW,CAAC;QAElE,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/E,IAAI,SAAS,KAAK,KAAK;YAAE,OAAO,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACzE,IAAI,SAAS,KAAK,QAAQ;YAAE,OAAO,MAAM,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE/E,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,wEAAwE,CAAC,CAAC;IACxH,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,WAAW,CAC/B,QAA2B,EAC3B,MAAc,EACd,IAAY,EACZ,OAAY,EAAE,EACd,KAA0B,EAAE;;QAE5B,MAAM,KAAK,GAAG,CAAC,MAAM,CAAA,MAAA,QAAQ,CAAC,cAAc,yDAAG,aAAa,CAAC,CAAA,CAAwD,CAAC;QACtH,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,iCAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,uCAAuC,CAAC,CAAC;QAEtG,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC;QAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAW,CAAC;QAE5D,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;QAC9B,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACpC,OAAO,EAAE,IAAI,EAAE,oBAAoB,GAAG,wBAAwB,MAAM,2BAA2B,SAAS,GAAG,EAAE,CAAC;YAC/G,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACjE,OAAO,EAAE,IAAI,EAAE,oBAAoB,GAAG,wBAAwB,MAAM,2BAA2B,SAAS,2DAA2D,UAAU,GAAG,EAAE,CAAC;QACpL,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,IAAI,GAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACvG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,0CAAE,IAAI,0CAAE,OAAO,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAA,IAAI,eAAe,CAAC;YAC5F,MAAM,IAAI,iCAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,mBAAmB,eAAe,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3G,CAAC;IACF,CAAC;IAWO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAA2B,EAAE,QAAgB;QAC9E,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,GAAQ,EAAE,CAAC;YAEnB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzB,IAAI,GAAG,QAAQ,CAAC;gBAEhB,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAQ,CAAC;gBAGtE,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAGzF,IAAI,GAAG;oBACN,IAAI,EAAE,QAAQ;oBACd,8BAA8B,EAAE,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC;iBAC3F,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAChC,IAAI,GAAG,QAAQ,CAAC;YAEjB,CAAC;YAGD,IAAI,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QACD,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAA2B,EAAE,QAAgB;QAC9E,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,GAAQ,EAAE,CAAC;YAEnB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;gBAChE,IAAI,GAAG,UAAU,MAAM,EAAE,CAAC;gBAG1B,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAQ,CAAC;gBACtE,MAAM,QAAQ,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAGzF,IAAI,GAAG;oBACN,IAAI,EAAE,QAAQ;oBACd,8BAA8B,EAAE,QAAQ,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC,CAAC;iBAC3F,CAAC;YACH,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;gBAChE,IAAI,GAAG,UAAU,MAAM,EAAE,CAAC;YAE3B,CAAC;YAED,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,iCAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,wCAAwC,QAAQ,EAAE,CAAC,CAAC;YAGhH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACrE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAA2B,EAAE,QAAgB;QAC3E,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM,KAAK,GAAwB,EAAE,CAAC;YAEtC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAEzB,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;gBAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACb,MAAM,IAAI,iCAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,oDAAoD,CAAC,CAAC;gBACxG,CAAC;gBAGD,IAAI,GAAG,UAAU,MAAM,EAAE,CAAC;YAC3B,CAAC;iBAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAW,CAAC;gBAChE,IAAI,GAAG,UAAU,MAAM,EAAE,CAAC;YAC3B,CAAC;YAGD,IAAI,CAAC,IAAI;gBAAE,SAAS;YAGpB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1E,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;IAEO,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,QAA2B,EAAE,QAAgB;;QAC9E,MAAM,UAAU,GAAyB,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC;QAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM,EAAE,GAAwB,EAAE,CAAC;YAEnC,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAY,CAAC;YACvE,IAAI,SAAS,EAAE,CAAC;gBACf,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACP,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,EAAE,CAAC,IAAI,GAAG,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;YAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACzB,IAAI,GAAG,QAAQ,CAAC;gBAEhB,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;gBACzE,IAAI,MAAM;oBAAE,EAAE,CAAC,WAAW,GAAG,MAAM,CAAC;gBAEpC,MAAM,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAW,CAAC;gBAC1E,IAAI,SAAS,KAAK,CAAC;oBAAE,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;gBAE/C,MAAM,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAW,CAAC;gBACnF,IAAI,aAAa;oBAAE,EAAE,CAAC,cAAc,GAAG,aAAa,CAAC;gBAErD,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAW,CAAC;gBAC5E,IAAI,QAAQ,KAAK,KAAK;oBAAE,EAAE,CAAC,SAAS,GAAG,QAAQ,CAAC;YAEjD,CAAC;iBAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACnC,IAAI,GAAG,UAAU,CAAC;YACnB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvE,IAAI,eAAe,GAAU,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,eAAe,GAAG,IAAI,CAAC;iBAC3C,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3C,eAAe,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,KAAK,GAAyB,eAAe,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAGvF,MAAM,SAAS,GAAyB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAG7J,IAAI,aAAa,GAAQ,EAAE,CAAC;YAC5B,IAAI,SAAS,GAAQ,EAAE,CAAC;YACxB,IAAI,CAAC;gBACJ,aAAa,GAAG,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAQ,IAAI,EAAE,CAAC;YACzE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,aAAa,GAAG,EAAE,CAAC;YACpB,CAAC;YACD,IAAI,CAAC;gBACJ,SAAS,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAQ,IAAI,EAAE,CAAC;YAClE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,SAAS,GAAG,EAAE,CAAC;YAChB,CAAC;YAED,IAAI,UAAU,GAAyB,SAAS,CAAC;YAEjD,MAAM,kBAAkB,GAAG,MAAA,MAAA,aAAa,CAAC,UAAU,mCAAI,aAAa,CAAC,MAAM,mCAAI,aAAa,CAAC;YAC7F,MAAM,aAAa,GAAG,kBAAkB,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,kBAAkB,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAE7M,IAAI,aAAa,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACJ,MAAM,YAAY,GAAG,MAAC,QAAQ,CAAC,OAAe,0CAAE,eAAe,CAAC;oBAChE,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;wBACxC,IAAI,CAAC,aAAa,CAAC,MAAM;4BAAE,aAAa,CAAC,MAAM,GAAG,EAAE,CAAC;wBACrD,IAAI,OAAO,aAAa,CAAC,MAAM,CAAC,aAAa,KAAK,WAAW;4BAAE,aAAa,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;wBAC1H,IAAI,OAAO,aAAa,CAAC,MAAM,CAAC,cAAc,KAAK,WAAW;4BAAE,aAAa,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;wBAEzJ,MAAM,OAAO,GAAG;4BACf,UAAU,EAAE,kBAAkB;4BAC9B,UAAU,EAAE,MAAA,aAAa,CAAC,UAAU,mCAAI,KAAK;4BAC7C,OAAO,EAAE;gCACR,aAAa,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa;gCACnD,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,cAAc;6BACnD;yBACD,CAAC;wBAEF,MAAM,MAAM,GAAG,MAAO,YAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;wBAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;4BAAE,UAAU,GAAG,MAAM,CAAC;6BAC1C,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;4BAAE,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC;oBAC3F,CAAC;gBACF,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAGnB,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,GAAG,CAAC,CAAC;oBACxF,UAAU,GAAG,SAAS,CAAC;gBACxB,CAAC;YACF,CAAC;iBAAM,CAAC;gBAEP,MAAM,iBAAiB,GAAG,CAAC,GAA2E,EAAE;oBACvG,IAAI,CAAC;wBACJ,OAAO,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAQ,CAAC;oBACvD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACZ,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;oBACvB,CAAC;gBACF,CAAC,CAAC,EAAE,CAAC;gBACL,MAAM,OAAO,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,MAAM,mCAAI,EAAE,CAAC;gBAEhD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;wBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAA2B,CAAC;wBAE9C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;4BAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;4BAChC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;4BAE5B,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;gCAAE,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;4BAC9E,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU;gCAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;4BAC9E,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;gCAAE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;4BACxE,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;gCAAE,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;4BACxE,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ;gCAAE,OAAO,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC;4BAC/E,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;gCAAE,OAAO,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,OAAO,CAAC;4BAClF,OAAO,IAAI,CAAC;wBACb,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,UAAU;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACrB,CAAC;CACD;AApXD,4BAoXC"}
1
+ {"version":3,"file":"Runrunit.node.js","sourceRoot":"","sources":["../../../nodes/Runrunit/Runrunit.node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type IExecuteFunctions, type INodeExecutionData } from 'n8n-workflow';
2
+ export declare function execute(instance: IExecuteFunctions, operation: string): Promise<INodeExecutionData[][]>;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.execute = void 0;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ const GenericFunctions_1 = require("../../GenericFunctions");
6
+ async function execute(instance, operation) {
7
+ if (operation === 'create')
8
+ return await handleCreate(instance);
9
+ if (operation === 'update')
10
+ return await handleUpdate(instance);
11
+ if (operation === 'get')
12
+ return await handleGet(instance);
13
+ if (operation === 'getAll')
14
+ return await handleGetAll(instance);
15
+ throw new n8n_workflow_1.NodeOperationError(instance.getNode(), 'Operation not supported for BoardStage');
16
+ }
17
+ exports.execute = execute;
18
+ async function handleCreate(instance) {
19
+ const returnData = [];
20
+ const inputData = instance.getInputData();
21
+ for (let i = 0; i < inputData.length; i++) {
22
+ const payload = (0, GenericFunctions_1.safeParseJSON)(instance, 'boardStageObject', i);
23
+ const resp = await (0, GenericFunctions_1.makeRequest)(instance, 'POST', '/board_stages', { board_stage: payload });
24
+ returnData.push({ json: resp });
25
+ }
26
+ return [returnData];
27
+ }
28
+ async function handleUpdate(instance) {
29
+ const returnData = [];
30
+ const inputData = instance.getInputData();
31
+ for (let i = 0; i < inputData.length; i++) {
32
+ const id = instance.getNodeParameter('boardStageId', i);
33
+ if (!id)
34
+ throw new n8n_workflow_1.NodeOperationError(instance.getNode(), 'BoardStage ID required for update');
35
+ const payload = (0, GenericFunctions_1.safeParseJSON)(instance, 'boardStageObject', i);
36
+ const resp = await (0, GenericFunctions_1.makeRequest)(instance, 'PUT', `/board_stages/${id}`, { board_stage: payload });
37
+ returnData.push({ json: resp });
38
+ }
39
+ return [returnData];
40
+ }
41
+ async function handleGet(instance) {
42
+ const returnData = [];
43
+ const inputData = instance.getInputData();
44
+ for (let i = 0; i < inputData.length; i++) {
45
+ const id = instance.getNodeParameter('boardStageId', i);
46
+ if (!id)
47
+ throw new n8n_workflow_1.NodeOperationError(instance.getNode(), 'BoardStage ID required for get');
48
+ const resp = await (0, GenericFunctions_1.makeRequest)(instance, 'GET', `/board_stages/${id}`, {}, {});
49
+ returnData.push({ json: resp });
50
+ }
51
+ return [returnData];
52
+ }
53
+ async function handleGetAll(instance) {
54
+ const returnData = [];
55
+ const inputCount = Math.max(1, instance.getInputData().length);
56
+ for (let i = 0; i < inputCount; i++) {
57
+ const qs = {};
58
+ const returnAll = instance.getNodeParameter('returnAll', i);
59
+ if (returnAll)
60
+ qs.limit = 1000;
61
+ else {
62
+ qs.limit = instance.getNodeParameter('limit', i, 50);
63
+ qs.page = instance.getNodeParameter('page', i, 1);
64
+ }
65
+ const resp = await (0, GenericFunctions_1.makeRequest)(instance, 'GET', '/board_stages', {}, qs);
66
+ let normalizedArray = [];
67
+ if (Array.isArray(resp))
68
+ normalizedArray = resp;
69
+ else if (resp && typeof resp === 'object')
70
+ normalizedArray = resp.board_stages || resp.data || resp.items || [resp];
71
+ const items = normalizedArray.map((obj) => ({ json: obj }));
72
+ const finalItems = await (0, GenericFunctions_1.applyPostFilters)(instance, items, i);
73
+ for (const it of finalItems)
74
+ returnData.push(it);
75
+ }
76
+ return [returnData];
77
+ }
78
+ //# sourceMappingURL=BoardStageExecute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BoardStageExecute.js","sourceRoot":"","sources":["../../../../../nodes/Runrunit/resources/executers/BoardStageExecute.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { type IExecuteFunctions, type INodeExecutionData } from 'n8n-workflow';
2
+ export declare function execute(instance: IExecuteFunctions, operation: string): Promise<INodeExecutionData[][]>;