n8n-nodes-runrunit 0.3.3 → 0.3.5

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 (38) hide show
  1. package/README.md +110 -26
  2. package/dist/nodes/Runrunit/Runrunit.node.js +18 -0
  3. package/dist/nodes/Runrunit/Runrunit.node.js.map +1 -1
  4. package/dist/nodes/Runrunit/resources/boardStage/index.d.ts +2 -0
  5. package/dist/nodes/Runrunit/resources/boardStage/index.js +153 -0
  6. package/dist/nodes/Runrunit/resources/boardStage/index.js.map +1 -0
  7. package/dist/nodes/Runrunit/resources/checklistItems/index.d.ts +2 -0
  8. package/dist/nodes/Runrunit/resources/checklistItems/index.js +89 -0
  9. package/dist/nodes/Runrunit/resources/checklistItems/index.js.map +1 -0
  10. package/dist/nodes/Runrunit/resources/checklists/index.d.ts +2 -0
  11. package/dist/nodes/Runrunit/resources/checklists/index.js +69 -0
  12. package/dist/nodes/Runrunit/resources/checklists/index.js.map +1 -0
  13. package/dist/nodes/Runrunit/resources/clients/index.d.ts +2 -0
  14. package/dist/nodes/Runrunit/resources/clients/index.js +97 -0
  15. package/dist/nodes/Runrunit/resources/clients/index.js.map +1 -0
  16. package/dist/nodes/Runrunit/resources/comments/index.d.ts +2 -0
  17. package/dist/nodes/Runrunit/resources/comments/index.js +110 -0
  18. package/dist/nodes/Runrunit/resources/comments/index.js.map +1 -0
  19. package/dist/nodes/Runrunit/resources/descendants/index.d.ts +2 -0
  20. package/dist/nodes/Runrunit/resources/descendants/index.js +72 -0
  21. package/dist/nodes/Runrunit/resources/descendants/index.js.map +1 -0
  22. package/dist/nodes/Runrunit/resources/descriptions/index.d.ts +2 -0
  23. package/dist/nodes/Runrunit/resources/descriptions/index.js +80 -0
  24. package/dist/nodes/Runrunit/resources/descriptions/index.js.map +1 -0
  25. package/dist/nodes/Runrunit/resources/documents/index.d.ts +2 -0
  26. package/dist/nodes/Runrunit/resources/documents/index.js +118 -0
  27. package/dist/nodes/Runrunit/resources/documents/index.js.map +1 -0
  28. package/dist/nodes/Runrunit/resources/team/index.d.ts +2 -0
  29. package/dist/nodes/Runrunit/resources/team/index.js +109 -0
  30. package/dist/nodes/Runrunit/resources/team/index.js.map +1 -0
  31. package/dist/nodes/Runrunit/resources/timeWorked/index.d.ts +2 -0
  32. package/dist/nodes/Runrunit/resources/timeWorked/index.js +26 -0
  33. package/dist/nodes/Runrunit/resources/timeWorked/index.js.map +1 -0
  34. package/dist/package.json +12 -3
  35. package/dist/tsconfig.tsbuildinfo +1 -1
  36. package/nodes/Runrunit/runrunit.dark.svg +25 -0
  37. package/nodes/Runrunit/runrunit.svg +25 -0
  38. package/package.json +12 -3
package/README.md CHANGED
@@ -1,46 +1,130 @@
1
1
  # n8n-nodes-runrunit
2
2
 
3
- This is an n8n community node. It lets you use _app/service name_ in your n8n workflows.
3
+ Node n8n para integrar com a API do Runrun.it (API v1.0).
4
4
 
5
- _App/service name_ is _one or two sentences describing the service this node integrates with_.
5
+ Este pacote implementa um conjunto de recursos (resources) do Runrun.it como propriedades declarativas do node para uso em workflows n8n.
6
6
 
7
- [n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.
7
+ Índice
8
+ - [Instalação](#instalação)
9
+ - [Credenciais](#credenciais)
10
+ - [Recursos implementados](#recursos-implementados)
11
+ - [Exemplos de uso / cURL](#exemplos-de-uso--curl)
12
+ - [Notas de implementação](#notas-de-implementação)
13
+ - [Contribuição e testes](#contribuição-e-testes)
8
14
 
9
- [Installation](#installation)
10
- [Operations](#operations)
11
- [Credentials](#credentials)
12
- [Compatibility](#compatibility)
13
- [Usage](#usage)
14
- [Resources](#resources)
15
- [Version history](#version-history)
15
+ ## Instalação
16
16
 
17
- ## Installation
17
+ Siga o guia de instalação de community nodes do n8n. Depois de instalado, importe o pacote ou coloque-o em `~/.n8n/node_modules/` conforme a documentação do n8n.
18
18
 
19
- Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.
19
+ ## Credenciais
20
20
 
21
- ## Operations
21
+ O node usa credenciais `RunrunitApi` (arquivo em `credentials/RunrunitApi.credentials.ts`) que devem prover os cabeçalhos necessários:
22
22
 
23
- _List the operations supported by your node._
23
+ - `App-Key`: chave da conta
24
+ - `User-Token`: token do usuário
24
25
 
25
- ## Credentials
26
+ As requests do node já possuem `requestDefaults.baseURL` apontando para `https://runrun.it/api/v1.0` e `Content-Type: application/json` quando aplicável.
26
27
 
27
- _If users need to authenticate with the app/service, provide details here. You should include prerequisites (such as signing up with the service), available authentication methods, and how to set them up._
28
+ ## Recursos implementados
28
29
 
29
- ## Compatibility
30
+ As seguintes resources foram adicionadas ao node e expostas nas propriedades (campo `resource`):
30
31
 
31
- _State the minimum n8n version, as well as which versions you test against. You can also include any known version incompatibility issues._
32
+ - Users (`user`)
33
+ - Operações: `getAll` (GET /users), `get` (GET /users/:id), `create` (POST /users), `update` (PUT /users/:id)
32
34
 
33
- ## Usage
35
+ - Teams (`team`)
36
+ - Operações: `getAll`, `get`, `create`, `update`, `delete`, `add_member`, `remove_member`
34
37
 
35
- _This is an optional section. Use it to help users with any difficult or confusing aspects of the node._
38
+ - Tasks (`task`)
39
+ - Operações principais: `getAll`, `get`, `create`, `update`, `delete` e ações (play/pause/move/reposition/reestimate/share/unshare/clone/etc.)
36
40
 
37
- _By the time users are looking for community nodes, they probably already know n8n basics. But if you expect new users, you can link to the [Try it out](https://docs.n8n.io/try-it-out/) documentation to help them get started._
41
+ - Board Stages (`boardStage`)
42
+ - Operações: `getAll`, `get`, `create`, `update`, `delete`, `move`, `update_use_latency_time`, `update_use_scrum_points`
38
43
 
39
- ## Resources
44
+ - Time Worked (`timeWorked`)
45
+ - Operação: `get` (GET /reports/time_worked)
40
46
 
41
- * [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
42
- * _Link to app/service documentation._
47
+ - Comments (`comments`) ADICIONADO
48
+ - Operações: `getAll` (GET /tasks/:taskId/comments), `get` (GET /comments/:id), `create`, `update`, `delete`, `reaction` (POST /comments/:id/reaction)
49
+ - Payloads via propriedade `commentObject` (JSON) enviada no body como `comment`.
43
50
 
44
- ## Version history
51
+ - Documents (`documents`) — ADICIONADO
52
+ - Operações: `getAll` (GET /tasks/:taskId/documents), `get`, `download`, `thumbnail`, `preview`, `create` (upload multipart), `mark_as_uploaded`, `delete`
53
+ - Observação: `create` suporta upload via `filePath` (n8n deve fornecer o arquivo). Metadados opcionais via `documentObject` enviados como `document`.
54
+
55
+ - Checklists (`checklists`) — ADICIONADO
56
+ - Operações: `get`, `create`, `update`, `delete` (vinculadas a `/tasks/:task_id/checklist`)
57
+
58
+ - Checklist Items (`checklistItems`) — ADICIONADO
59
+ - Operações: `getAll`, `get`, `create`, `update`, `delete` (vinculadas a `/checklists/:checklist_id/items`)
60
+
61
+ - Clients (`clients`) — ADICIONADO
62
+ - Operações: `getAll`, `get`, `create`, `update`, `monthly_budgets`, `update_monthly_budget`
63
+
64
+ - Descendants (`descendants`) — ADICIONADO
65
+ - Operações: `getAll` (GET /tasks/:taskId/descendants), `create` (POST /tasks/:taskId/descendants), `delete`
66
+
67
+ - Descriptions (`descriptions`) — ADICIONADO
68
+ - Operações: `get` (GET /descriptions?subject_type=...&subject_id=...), `update` (PUT /descriptions)
69
+
70
+ Cada resource está definido em `nodes/Runrunit/resources/<resource>/index.ts` e exportado no `Runrunit.node.ts`.
71
+
72
+ ## Exemplos de uso / cURL
73
+
74
+ - Listar usuários (exemplo cURL):
75
+
76
+ ```bash
77
+ curl -g "https://runrun.it/api/v1.0/users" \
78
+ -H "App-Key: YOUR_APP_KEY" \
79
+ -H "User-Token: YOUR_USER_TOKEN"
80
+ ```
81
+
82
+ - Criar usuário via body JSON:
83
+
84
+ ```bash
85
+ curl -X POST "https://runrun.it/api/v1.0/users" \
86
+ -H "App-Key: YOUR_APP_KEY" -H "User-Token: YOUR_USER_TOKEN" \
87
+ -H "Content-Type: application/json" \
88
+ -d '{"user": {"name":"Joao", "email":"joao@example.com", "role":"user"}}'
89
+ ```
90
+
91
+ - Listar comentários de uma tarefa:
92
+
93
+ ```bash
94
+ curl -g "https://runrun.it/api/v1.0/tasks/123/comments" -H "App-Key: ..." -H "User-Token: ..."
95
+ ```
96
+
97
+ - Upload de documento (exemplo):
98
+ ```bash
99
+ curl -X POST "https://runrun.it/api/v1.0/tasks/123/documents" \
100
+ -H "App-Key: ..." -H "User-Token: ..." \
101
+ -F "file=@/path/to/report.pdf"
102
+ ```
103
+
104
+ ## Notas de implementação
105
+
106
+ - O node é declarativo (properties) e usa o sistema de `routing` do n8n para mapear operações para métodos HTTP e rotas relativas.
107
+ - Paginação: muitos endpoints suportam `page`, `limit` e cabeçalhos `Link` / `X-Item-Range`. As propriedades `getAll`/`returnAll` já foram configuradas em alguns recursos para usar paginação de offset.
108
+ - Upload de arquivos (`documents.create`): foi adicionada a propriedade `filePath` para apontar arquivo local; caso precise de comportamento avançado do n8n (binary data node input), posso implementar leitura do `binary` input e montagem multipart automaticamente.
109
+
110
+ ## Contribuição e testes
111
+
112
+ - Rodar typecheck / lint:
113
+
114
+ ```bash
115
+ npm install
116
+ npm run build
117
+ npm run lint
118
+ ```
119
+
120
+ - Se quiser que eu rode checagem de tipos e corrija erros, posso executar agora e ajustar os arquivos modificados.
121
+
122
+ ---
123
+
124
+ Se desejar, eu:
125
+ - gero exemplos JSON completos para cada endpoint descrito em `runrun.itDoc/doc.MD`, ou
126
+ - implemento suporte a upload via `binary` do n8n para `documents.create`, ou
127
+ - executo `npm run build` e corrijo problemas de tipagem.
128
+
129
+ Diga qual ação prefere em seguida.
45
130
 
46
- _This is another optional section. If your node has multiple versions, include a short description of available versions and what changed, as well as any compatibility impact._
@@ -4,6 +4,9 @@ exports.Runrunit = void 0;
4
4
  const n8n_workflow_1 = require("n8n-workflow");
5
5
  const user_1 = require("./resources/user");
6
6
  const task_1 = require("./resources/task");
7
+ const team_1 = require("./resources/team");
8
+ const timeWorked_1 = require("./resources/timeWorked");
9
+ const boardStage_1 = require("./resources/boardStage");
7
10
  class Runrunit {
8
11
  constructor() {
9
12
  this.description = {
@@ -43,9 +46,24 @@ class Runrunit {
43
46
  name: 'Task',
44
47
  value: 'task',
45
48
  },
49
+ {
50
+ name: 'Team',
51
+ value: 'team',
52
+ },
53
+ {
54
+ name: 'Board Stages',
55
+ value: 'boardStage',
56
+ },
57
+ {
58
+ name: 'Time Worked',
59
+ value: 'timeWorked',
60
+ },
46
61
  ],
47
62
  default: 'user',
48
63
  },
64
+ ...team_1.teamDescription,
65
+ ...timeWorked_1.timeWorkedDescription,
66
+ ...boardStage_1.boardStageDescription,
49
67
  ...user_1.userDescription,
50
68
  ...task_1.taskDescription,
51
69
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"Runrunit.node.js","sourceRoot":"","sources":["../../../nodes/Runrunit/Runrunit.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAC9F,2CAAmD;AACnD,2CAAmD;AAEnD,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;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;yBACb;wBACD;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;yBACb;qBACD;oBACD,OAAO,EAAE,MAAM;iBACf;gBACD,GAAG,sBAAe;gBAClB,GAAG,sBAAe;aAClB;SACD,CAAC;IACH,CAAC;CAAA;AA7CD,4BA6CC"}
1
+ {"version":3,"file":"Runrunit.node.js","sourceRoot":"","sources":["../../../nodes/Runrunit/Runrunit.node.ts"],"names":[],"mappings":";;;AAAA,+CAA8F;AAC9F,2CAAmD;AACnD,2CAAmD;AACnD,2CAAmD;AACnD,uDAA+D;AAC/D,uDAA+D;AAE/D,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;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;yBACb;wBACD;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;yBACb;wBACD;4BACC,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,MAAM;yBACb;wBACA;4BACC,IAAI,EAAE,cAAc;4BACpB,KAAK,EAAE,YAAY;yBACnB;wBACF;4BACC,IAAI,EAAE,aAAa;4BACnB,KAAK,EAAE,YAAY;yBACnB;qBACD;oBACD,OAAO,EAAE,MAAM;iBACd;gBACA,GAAG,sBAAe;gBAClB,GAAG,kCAAqB;gBACxB,GAAG,kCAAqB;gBACxB,GAAG,sBAAe;gBAClB,GAAG,sBAAe;aACpB;SACD,CAAC;IACH,CAAC;CAAA;AA5DD,4BA4DC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const boardStageDescription: INodeProperties[];
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.boardStageDescription = void 0;
4
+ const showOnlyForBoardStages = {
5
+ resource: ['boardStage'],
6
+ };
7
+ const showOnlyForBoardStageWithId = {
8
+ resource: ['boardStage'],
9
+ operation: ['get', 'update', 'delete', 'move', 'update_use_latency_time', 'update_use_scrum_points'],
10
+ };
11
+ exports.boardStageDescription = [
12
+ {
13
+ displayName: 'Operation',
14
+ name: 'operation',
15
+ type: 'options',
16
+ noDataExpression: true,
17
+ displayOptions: { show: showOnlyForBoardStages },
18
+ options: [
19
+ {
20
+ name: 'Get Many',
21
+ value: 'getAll',
22
+ action: 'Get board stages',
23
+ description: 'List all board stages',
24
+ routing: { request: { method: 'GET', url: '=/boards/{{$parameter.boardId}}/stages' } },
25
+ },
26
+ {
27
+ name: 'Get',
28
+ value: 'get',
29
+ action: 'Get a board stage',
30
+ description: 'Show a board stage',
31
+ routing: { request: { method: 'GET', url: '=/boards/{{$parameter.boardId}}/stages/{{$parameter.stageId}}' } },
32
+ },
33
+ {
34
+ name: 'Create',
35
+ value: 'create',
36
+ action: 'Create a board stage',
37
+ description: 'Create a new board stage',
38
+ routing: { request: { method: 'POST', url: '=/boards/{{$parameter.boardId}}/stages' } },
39
+ },
40
+ {
41
+ name: 'Update',
42
+ value: 'update',
43
+ action: 'Update a board stage',
44
+ description: 'Update an existing board stage',
45
+ routing: { request: { method: 'PUT', url: '=/boards/{{$parameter.boardId}}/stages/{{$parameter.stageId}}' } },
46
+ },
47
+ {
48
+ name: 'Delete',
49
+ value: 'delete',
50
+ action: 'Delete a board stage',
51
+ description: 'Destroy a board stage',
52
+ routing: { request: { method: 'DELETE', url: '=/boards/{{$parameter.boardId}}/stages/{{$parameter.stageId}}' } },
53
+ },
54
+ {
55
+ name: 'Move',
56
+ value: 'move',
57
+ action: 'Move a board stage',
58
+ description: 'Move a board stage to another group position',
59
+ routing: { request: { method: 'POST', url: '=/boards/{{$parameter.boardId}}/stages/{{$parameter.stageId}}/move' } },
60
+ },
61
+ {
62
+ name: 'Update Use Latency Time',
63
+ value: 'update_use_latency_time',
64
+ action: 'Update use latency time',
65
+ description: 'Enable or disable latency time usage for the stage',
66
+ routing: { request: { method: 'POST', url: '=/boards/{{$parameter.boardId}}/stages/{{$parameter.stageId}}/update_use_latency_time' } },
67
+ },
68
+ {
69
+ name: 'Update Use Scrum Points',
70
+ value: 'update_use_scrum_points',
71
+ action: 'Update use scrum points',
72
+ description: 'Enable or disable scrum points usage for the stage',
73
+ routing: { request: { method: 'POST', url: '=/boards/{{$parameter.boardId}}/stages/{{$parameter.stageId}}/update_use_scrum_points' } },
74
+ },
75
+ ],
76
+ default: 'getAll',
77
+ },
78
+ {
79
+ displayName: 'Board ID',
80
+ name: 'boardId',
81
+ type: 'string',
82
+ displayOptions: { show: showOnlyForBoardStages },
83
+ default: '',
84
+ required: true,
85
+ description: 'ID of the board',
86
+ },
87
+ {
88
+ displayName: 'Stage ID',
89
+ name: 'stageId',
90
+ type: 'string',
91
+ displayOptions: { show: showOnlyForBoardStageWithId },
92
+ default: '',
93
+ required: true,
94
+ description: 'ID of the stage',
95
+ },
96
+ {
97
+ displayName: 'Stage Object (JSON)',
98
+ name: 'stageObject',
99
+ type: 'json',
100
+ displayOptions: { show: { resource: ['boardStage'], operation: ['create', 'update'] } },
101
+ default: '{}',
102
+ description: 'Stage object to create or update, sent as `stage` in the body',
103
+ routing: {
104
+ send: {
105
+ type: 'body',
106
+ property: 'stage',
107
+ },
108
+ },
109
+ },
110
+ {
111
+ displayName: 'Position',
112
+ name: 'position',
113
+ type: 'number',
114
+ displayOptions: { show: { resource: ['boardStage'], operation: ['move'] } },
115
+ default: 0,
116
+ description: 'Destination position for the stage (send as `position` in body)',
117
+ routing: {
118
+ send: {
119
+ type: 'body',
120
+ property: 'position',
121
+ },
122
+ },
123
+ },
124
+ {
125
+ displayName: 'Use Latency Time',
126
+ name: 'useLatencyTime',
127
+ type: 'boolean',
128
+ displayOptions: { show: { resource: ['boardStage'], operation: ['update_use_latency_time'] } },
129
+ default: false,
130
+ description: 'Whether the stage should use latency time (sent as `use_latency_time`)',
131
+ routing: {
132
+ send: {
133
+ type: 'body',
134
+ property: 'use_latency_time',
135
+ },
136
+ },
137
+ },
138
+ {
139
+ displayName: 'Use Scrum Points',
140
+ name: 'useScrumPoints',
141
+ type: 'boolean',
142
+ displayOptions: { show: { resource: ['boardStage'], operation: ['update_use_scrum_points'] } },
143
+ default: false,
144
+ description: 'Whether the stage should use scrum points (sent as `use_scrum_points`)',
145
+ routing: {
146
+ send: {
147
+ type: 'body',
148
+ property: 'use_scrum_points',
149
+ },
150
+ },
151
+ },
152
+ ];
153
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Runrunit/resources/boardStage/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const checklistItemsDescription: INodeProperties[];
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checklistItemsDescription = void 0;
4
+ const showOnlyForChecklistItems = {
5
+ resource: ['checklistItems'],
6
+ };
7
+ const showOnlyForChecklistItemWithId = {
8
+ resource: ['checklistItems'],
9
+ operation: ['get', 'update', 'delete'],
10
+ };
11
+ exports.checklistItemsDescription = [
12
+ {
13
+ displayName: 'Operation',
14
+ name: 'operation',
15
+ type: 'options',
16
+ noDataExpression: true,
17
+ displayOptions: { show: showOnlyForChecklistItems },
18
+ options: [
19
+ {
20
+ name: 'Get Many',
21
+ value: 'getAll',
22
+ action: 'List checklist items',
23
+ description: 'List items for a checklist',
24
+ routing: { request: { method: 'GET', url: '=/checklists/{{$parameter.checklistId}}/items' } },
25
+ },
26
+ {
27
+ name: 'Get',
28
+ value: 'get',
29
+ action: 'Get a checklist item',
30
+ description: 'Get a checklist item by id',
31
+ routing: { request: { method: 'GET', url: '=/checklists/{{$parameter.checklistId}}/items/{{$parameter.itemId}}' } },
32
+ },
33
+ {
34
+ name: 'Create',
35
+ value: 'create',
36
+ action: 'Create checklist item',
37
+ description: 'Create a new checklist item',
38
+ routing: { request: { method: 'POST', url: '=/checklists/{{$parameter.checklistId}}/items' } },
39
+ },
40
+ {
41
+ name: 'Update',
42
+ value: 'update',
43
+ action: 'Update checklist item',
44
+ description: 'Update an existing checklist item',
45
+ routing: { request: { method: 'PUT', url: '=/checklists/{{$parameter.checklistId}}/items/{{$parameter.itemId}}' } },
46
+ },
47
+ {
48
+ name: 'Delete',
49
+ value: 'delete',
50
+ action: 'Delete checklist item',
51
+ description: 'Delete an item from a checklist',
52
+ routing: { request: { method: 'DELETE', url: '=/checklists/{{$parameter.checklistId}}/items/{{$parameter.itemId}}' } },
53
+ },
54
+ ],
55
+ default: 'getAll',
56
+ },
57
+ {
58
+ displayName: 'Checklist ID',
59
+ name: 'checklistId',
60
+ type: 'string',
61
+ displayOptions: { show: { resource: ['checklistItems'], operation: ['getAll', 'get', 'create', 'update', 'delete'] } },
62
+ default: '',
63
+ description: 'ID of the checklist',
64
+ },
65
+ {
66
+ displayName: 'Item ID',
67
+ name: 'itemId',
68
+ type: 'string',
69
+ displayOptions: { show: showOnlyForChecklistItemWithId },
70
+ default: '',
71
+ required: true,
72
+ description: 'ID of the checklist item',
73
+ },
74
+ {
75
+ displayName: 'Item Object (JSON)',
76
+ name: 'itemObject',
77
+ type: 'json',
78
+ displayOptions: { show: { resource: ['checklistItems'], operation: ['create', 'update'] } },
79
+ default: '{"description":""}',
80
+ description: 'Checklist item payload, e.g. {"checklist_item": {"description": "Buy pencils", "checked": false}}',
81
+ routing: {
82
+ send: {
83
+ type: 'body',
84
+ property: 'checklist_item',
85
+ },
86
+ },
87
+ },
88
+ ];
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Runrunit/resources/checklistItems/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const checklistsDescription: INodeProperties[];
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checklistsDescription = void 0;
4
+ const showOnlyForChecklists = {
5
+ resource: ['checklists'],
6
+ };
7
+ exports.checklistsDescription = [
8
+ {
9
+ displayName: 'Operation',
10
+ name: 'operation',
11
+ type: 'options',
12
+ noDataExpression: true,
13
+ displayOptions: { show: showOnlyForChecklists },
14
+ options: [
15
+ {
16
+ name: 'Get',
17
+ value: 'get',
18
+ action: 'Get a checklist from a task',
19
+ description: 'Show checklist linked to a task',
20
+ routing: { request: { method: 'GET', url: '=/tasks/{{$parameter.taskId}}/checklist' } },
21
+ },
22
+ {
23
+ name: 'Create',
24
+ value: 'create',
25
+ action: 'Create checklist from a task',
26
+ description: 'Create checklist for a task',
27
+ routing: { request: { method: 'POST', url: '=/tasks/{{$parameter.taskId}}/checklist' } },
28
+ },
29
+ {
30
+ name: 'Update',
31
+ value: 'update',
32
+ action: 'Update checklist',
33
+ description: 'Update checklist fields',
34
+ routing: { request: { method: 'PUT', url: '=/tasks/{{$parameter.taskId}}/checklist' } },
35
+ },
36
+ {
37
+ name: 'Delete',
38
+ value: 'delete',
39
+ action: 'Delete checklist',
40
+ description: 'Remove checklist from a task',
41
+ routing: { request: { method: 'DELETE', url: '=/tasks/{{$parameter.taskId}}/checklist' } },
42
+ },
43
+ ],
44
+ default: 'get',
45
+ },
46
+ {
47
+ displayName: 'Task ID',
48
+ name: 'taskId',
49
+ type: 'string',
50
+ displayOptions: { show: { resource: ['checklists'], operation: ['get', 'create', 'update', 'delete'] } },
51
+ default: '',
52
+ description: 'ID of the task',
53
+ },
54
+ {
55
+ displayName: 'Checklist Object (JSON)',
56
+ name: 'checklistObject',
57
+ type: 'json',
58
+ displayOptions: { show: { resource: ['checklists'], operation: ['create', 'update'] } },
59
+ default: '{"checklist": {"title":""}}',
60
+ description: 'Checklist payload, e.g. {"checklist": {"title": "Office Supplies"}}',
61
+ routing: {
62
+ send: {
63
+ type: 'body',
64
+ property: 'checklist',
65
+ },
66
+ },
67
+ },
68
+ ];
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Runrunit/resources/checklists/index.ts"],"names":[],"mappings":";;;AAEA,MAAM,qBAAqB,GAAG;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC;CACzB,CAAC;AAEW,QAAA,qBAAqB,GAAsB;IACtD;QACE,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS;QACf,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE;QAC/C,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,KAAK;gBACX,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,6BAA6B;gBACrC,WAAW,EAAE,iCAAiC;gBAC9C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,yCAAyC,EAAE,EAAE;aACxF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,8BAA8B;gBACtC,WAAW,EAAE,6BAA6B;gBAC1C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,yCAAyC,EAAE,EAAE;aACzF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,kBAAkB;gBAC1B,WAAW,EAAE,yBAAyB;gBACtC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,yCAAyC,EAAE,EAAE;aACxF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,kBAAkB;gBAC1B,WAAW,EAAE,8BAA8B;gBAC3C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,yCAAyC,EAAE,EAAE;aAC3F;SACF;QACD,OAAO,EAAE,KAAK;KACf;IACD;QACE,WAAW,EAAE,SAAS;QACtB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;QACxG,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,WAAW,EAAE,yBAAyB;QACtC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,MAAM;QACZ,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;QACvF,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,qEAAqE;QAClF,OAAO,EAAE;YACP,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,WAAW;aACtB;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { INodeProperties } from 'n8n-workflow';
2
+ export declare const clientsDescription: INodeProperties[];
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clientsDescription = void 0;
4
+ const showOnlyForClients = {
5
+ resource: ['clients'],
6
+ };
7
+ exports.clientsDescription = [
8
+ {
9
+ displayName: 'Operation',
10
+ name: 'operation',
11
+ type: 'options',
12
+ noDataExpression: true,
13
+ displayOptions: { show: showOnlyForClients },
14
+ options: [
15
+ {
16
+ name: 'Get Many',
17
+ value: 'getAll',
18
+ action: 'Get clients',
19
+ description: 'List clients',
20
+ routing: { request: { method: 'GET', url: '/clients' } },
21
+ },
22
+ {
23
+ name: 'Get',
24
+ value: 'get',
25
+ action: 'Get a client',
26
+ description: 'Get a client by id',
27
+ routing: { request: { method: 'GET', url: '=/clients/{{$parameter.clientId}}' } },
28
+ },
29
+ {
30
+ name: 'Create',
31
+ value: 'create',
32
+ action: 'Create a client',
33
+ description: 'Create a new client',
34
+ routing: { request: { method: 'POST', url: '/clients' } },
35
+ },
36
+ {
37
+ name: 'Update',
38
+ value: 'update',
39
+ action: 'Update a client',
40
+ description: 'Update client fields',
41
+ routing: { request: { method: 'PUT', url: '=/clients/{{$parameter.clientId}}' } },
42
+ },
43
+ {
44
+ name: 'List Monthly Budgets',
45
+ value: 'monthly_budgets',
46
+ action: 'List monthly budgets',
47
+ description: 'List monthly budgets for a client',
48
+ routing: { request: { method: 'GET', url: '=/clients/{{$parameter.clientId}}/monthly_budgets' } },
49
+ },
50
+ {
51
+ name: 'Update Monthly Budget',
52
+ value: 'update_monthly_budget',
53
+ action: 'Update monthly budget',
54
+ description: 'Create/update monthly budget for a client',
55
+ routing: { request: { method: 'POST', url: '=/clients/{{$parameter.clientId}}/update_monthly_budget' } },
56
+ },
57
+ ],
58
+ default: 'getAll',
59
+ },
60
+ {
61
+ displayName: 'Client ID',
62
+ name: 'clientId',
63
+ type: 'string',
64
+ displayOptions: { show: { resource: ['clients'], operation: ['get', 'update', 'monthly_budgets', 'update_monthly_budget'] } },
65
+ default: '',
66
+ description: 'ID of the client',
67
+ },
68
+ {
69
+ displayName: 'Client Object (JSON)',
70
+ name: 'clientObject',
71
+ type: 'json',
72
+ displayOptions: { show: { resource: ['clients'], operation: ['create', 'update'] } },
73
+ default: '{}',
74
+ description: 'Client payload, e.g. {"client": {"name":"ACME"}}',
75
+ routing: {
76
+ send: {
77
+ type: 'body',
78
+ property: 'client',
79
+ },
80
+ },
81
+ },
82
+ {
83
+ displayName: 'Monthly Budget Object (JSON)',
84
+ name: 'budgetObject',
85
+ type: 'json',
86
+ displayOptions: { show: { resource: ['clients'], operation: ['update_monthly_budget'] } },
87
+ default: '{"monthly_budget": {"month": "2026-03", "hours": 100, "cost": 2000}}',
88
+ description: 'Monthly budget payload',
89
+ routing: {
90
+ send: {
91
+ type: 'body',
92
+ property: 'monthly_budget',
93
+ },
94
+ },
95
+ },
96
+ ];
97
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../nodes/Runrunit/resources/clients/index.ts"],"names":[],"mappings":"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"}