n8n-nodes-ticktick 1.2.1 → 1.3.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.
- package/README.md +31 -84
- package/dist/nodes/TickTick/GenericFunctions.d.ts +4 -16
- package/dist/nodes/TickTick/GenericFunctions.js +18 -132
- package/dist/nodes/TickTick/GenericFunctions.js.map +1 -1
- package/dist/nodes/TickTick/TickTick.node.d.ts +2 -2
- package/dist/nodes/TickTick/TickTick.node.js +103 -282
- package/dist/nodes/TickTick/TickTick.node.js.map +1 -1
- package/dist/nodes/TickTick/helpers/apiRequest.d.ts +2 -0
- package/dist/nodes/TickTick/helpers/apiRequest.js +56 -0
- package/dist/nodes/TickTick/helpers/apiRequest.js.map +1 -0
- package/dist/nodes/TickTick/helpers/constants.d.ts +4 -0
- package/dist/nodes/TickTick/helpers/constants.js +54 -0
- package/dist/nodes/TickTick/helpers/constants.js.map +1 -0
- package/dist/nodes/TickTick/helpers/loadOptions.d.ts +10 -0
- package/dist/nodes/TickTick/helpers/loadOptions.js +72 -0
- package/dist/nodes/TickTick/helpers/loadOptions.js.map +1 -0
- package/dist/nodes/TickTick/helpers/utils.d.ts +1 -0
- package/dist/nodes/TickTick/helpers/utils.js +15 -0
- package/dist/nodes/TickTick/helpers/utils.js.map +1 -0
- package/dist/nodes/TickTick/resources/index.d.ts +10 -0
- package/dist/nodes/TickTick/resources/index.js +16 -0
- package/dist/nodes/TickTick/resources/index.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/ProjectsDescription.js +46 -0
- package/dist/nodes/TickTick/resources/projects/ProjectsDescription.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/index.d.ts +1 -0
- package/dist/nodes/TickTick/{descriptions → resources/projects}/index.js +1 -2
- package/dist/nodes/TickTick/resources/projects/index.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectCreate.d.ts +5 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectCreate.js +128 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectCreate.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectDelete.d.ts +9 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectDelete.js +32 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectDelete.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectGet.d.ts +5 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectGet.js +73 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectGet.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectUpdate.d.ts +5 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectUpdate.js +140 -0
- package/dist/nodes/TickTick/resources/projects/operations/ProjectUpdate.js.map +1 -0
- package/dist/nodes/TickTick/resources/projects/operations/index.d.ts +4 -0
- package/dist/nodes/TickTick/resources/projects/operations/index.js +21 -0
- package/dist/nodes/TickTick/resources/projects/operations/index.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/TasksDescription.js +47 -0
- package/dist/nodes/TickTick/resources/tasks/TasksDescription.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/index.d.ts +1 -0
- package/dist/nodes/TickTick/resources/tasks/index.js +18 -0
- package/dist/nodes/TickTick/resources/tasks/index.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskComplete.d.ts +10 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskComplete.js +46 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskComplete.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskCreate.d.ts +5 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskCreate.js +333 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskCreate.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskDelete.d.ts +10 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskDelete.js +46 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskDelete.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskGet.d.ts +5 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskGet.js +37 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskGet.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskUpdate.d.ts +5 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskUpdate.js +341 -0
- package/dist/nodes/TickTick/resources/tasks/operations/TaskUpdate.js.map +1 -0
- package/dist/nodes/TickTick/resources/tasks/operations/index.d.ts +5 -0
- package/dist/nodes/TickTick/resources/tasks/operations/index.js +22 -0
- package/dist/nodes/TickTick/resources/tasks/operations/index.js.map +1 -0
- package/dist/package.json +25 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -4
- package/dist/credentials/TickTickApi.credentials.d.ts +0 -9
- package/dist/credentials/TickTickApi.credentials.js +0 -43
- package/dist/credentials/TickTickApi.credentials.js.map +0 -1
- package/dist/nodes/TickTick/descriptions/ProjectDescription.js +0 -306
- package/dist/nodes/TickTick/descriptions/ProjectDescription.js.map +0 -1
- package/dist/nodes/TickTick/descriptions/TaskDescription.js +0 -450
- package/dist/nodes/TickTick/descriptions/TaskDescription.js.map +0 -1
- package/dist/nodes/TickTick/descriptions/index.d.ts +0 -2
- package/dist/nodes/TickTick/descriptions/index.js.map +0 -1
- /package/dist/nodes/TickTick/{descriptions/ProjectDescription.d.ts → resources/projects/ProjectsDescription.d.ts} +0 -0
- /package/dist/nodes/TickTick/{descriptions/TaskDescription.d.ts → resources/tasks/TasksDescription.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -23,17 +23,7 @@ Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes
|
|
|
23
23
|
|
|
24
24
|
1. Go to **Settings** > **Community Nodes.**
|
|
25
25
|
2. Select **Install.**
|
|
26
|
-
3.
|
|
27
|
-
|
|
28
|
-
a.) Select **Browse**. n8n takes you to an npm search results page, showing all npm packages tagged with the keyword `n8n-community-node-package`.
|
|
29
|
-
|
|
30
|
-
b.) Browse the list of results. You can filter the results or add more keywords.
|
|
31
|
-
|
|
32
|
-
c.) Once you find the package you want, make a note of the package name. If you want to install a specific version, make a note of the version number as well.
|
|
33
|
-
|
|
34
|
-
d.) Return to n8n.
|
|
35
|
-
|
|
36
|
-
4. Enter the npm package name, and version number if required.
|
|
26
|
+
3. Type `n8n-nodes-ticktick` (and version number if required) into **npm Package Name** field
|
|
37
27
|
5. Agree to the risks of using community nodes: select I understand the risks of installing unverified code from a public source.
|
|
38
28
|
6. Select Install. n8n installs the node, and returns to the Community Nodes list in Settings.
|
|
39
29
|
|
|
@@ -69,53 +59,38 @@ Steps:
|
|
|
69
59
|
### 1. Create a Task
|
|
70
60
|
|
|
71
61
|
Parameters:
|
|
62
|
+
- Title (required)
|
|
63
|
+
- Project (defaults to Inbox if empty)
|
|
64
|
+
- Additional Fields:
|
|
65
|
+
- All Day, Completed Time, Content, Description, Due Date, Kind, Priority, Reminders, Repeat Flag, Sort Order, Start Date, Status, Time Zone
|
|
66
|
+
- Items (Subtasks)
|
|
72
67
|
|
|
73
|
-
|
|
74
|
-
- Task Content
|
|
75
|
-
- Description of Checklist
|
|
76
|
-
- All day
|
|
77
|
-
- Start date
|
|
78
|
-
- Due date
|
|
79
|
-
|
|
80
|
-
>> use Additional Fields or JSON Parameters
|
|
81
|
-
>> Subtasks will be part of the next release
|
|
82
|
-
|
|
83
|
-
### 2. Get Task By Project ID And Task ID
|
|
68
|
+
### 2. Get Task
|
|
84
69
|
|
|
85
70
|
Parameters:
|
|
86
|
-
|
|
87
71
|
- Task identifier (required)
|
|
88
72
|
- Project identifier (required)
|
|
89
73
|
|
|
90
74
|
### 3. Update a Task
|
|
91
75
|
|
|
92
76
|
Parameters:
|
|
93
|
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
|
|
97
|
-
- Task Content
|
|
98
|
-
- Description of Checklist
|
|
99
|
-
- All day
|
|
100
|
-
- Start date
|
|
101
|
-
- Due date
|
|
102
|
-
|
|
103
|
-
>> use Additional Fields or JSON Parameters
|
|
77
|
+
- Task ID (required)
|
|
78
|
+
- Project ID (optional - preserves current project if empty)
|
|
79
|
+
- Update Fields:
|
|
80
|
+
- All Day, Completed Time, Content, Description, Due Date, Items, Priority, Reminders, Repeat Flag, Sort Order, Start Date, Status, Time Zone, Title
|
|
104
81
|
|
|
105
82
|
### 4. Complete a Task
|
|
106
83
|
|
|
107
84
|
Parameters:
|
|
108
|
-
|
|
109
85
|
- Task identifier (required)
|
|
110
86
|
- Project identifier (required)
|
|
111
87
|
|
|
112
88
|
### 5. Delete a Task
|
|
113
89
|
|
|
114
90
|
Parameters:
|
|
115
|
-
|
|
116
91
|
- Task identifier (required)
|
|
117
92
|
- Project identifier (required)
|
|
118
|
-
|
|
93
|
+
|
|
119
94
|
---
|
|
120
95
|
|
|
121
96
|
## 📁 Project Operations
|
|
@@ -123,53 +98,33 @@ Steps:
|
|
|
123
98
|
### 1. Create a Project
|
|
124
99
|
|
|
125
100
|
Parameters:
|
|
101
|
+
- Project Name (required)
|
|
102
|
+
- Additional Fields: Color, Kind, Sort Order, View Mode
|
|
126
103
|
|
|
127
|
-
|
|
128
|
-
- Color
|
|
129
|
-
- View Mode (List, Kanban, Timeline)
|
|
130
|
-
- Kind (Task, Note)
|
|
131
|
-
|
|
132
|
-
>> use Additional Fields or JSON Parameters
|
|
104
|
+
### 2. Get Project(s)
|
|
133
105
|
|
|
134
|
-
|
|
106
|
+
Modes:
|
|
107
|
+
- Get All Projects: Retrieve a list of all projects
|
|
108
|
+
- Get Specific Project: Retrieve details of a single project (Name, Color, etc.)
|
|
109
|
+
- Get Project With Data: Retrieve a project along with its tasks and columns (Works for Inbox)
|
|
135
110
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
### 3. Get Project by ID
|
|
111
|
+
### 3. Update a Project
|
|
139
112
|
|
|
140
113
|
Parameters:
|
|
114
|
+
- Project ID (required)
|
|
115
|
+
- Update Fields: Color, Kind, Name, Sort Order, View Mode
|
|
141
116
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
### 4. Get Project with Data
|
|
117
|
+
### 4. Delete a Project
|
|
145
118
|
|
|
146
119
|
Parameters:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
### 5. Update a Project
|
|
151
|
-
|
|
152
|
-
Parameters:
|
|
153
|
-
|
|
154
|
-
- Project identifier (required)
|
|
155
|
-
- Name
|
|
156
|
-
- Color
|
|
157
|
-
- View Mode (List, Kanban, Timeline)
|
|
158
|
-
- Kind (Task, Note)
|
|
159
|
-
|
|
160
|
-
>> use Additional Fields or JSON Parameters
|
|
161
|
-
|
|
162
|
-
### 6. Delete a Project
|
|
163
|
-
|
|
164
|
-
Parameters:
|
|
165
|
-
|
|
166
|
-
- Project identifier (required)
|
|
120
|
+
- Project ID (required)
|
|
121
|
+
|
|
167
122
|
|
|
168
123
|
---
|
|
169
124
|
|
|
170
125
|
## 🧰 Compatibility
|
|
171
126
|
|
|
172
|
-
Tested successfully on 2025-12-
|
|
127
|
+
Tested successfully on 2025-12-07 with:
|
|
173
128
|
|
|
174
129
|
- n8n Version: 1.121.3
|
|
175
130
|
- Node Version: 22.11.0
|
|
@@ -180,19 +135,9 @@ Tested successfully on 2025-12-01 with:
|
|
|
180
135
|
|
|
181
136
|
## ⚠ Known Issues & Notes
|
|
182
137
|
|
|
183
|
-
###
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
- **No Content Responses**: For some operations, such as deleting a project or completing a task, the TickTick API returns an HTTP status code indicating success (e.g., `200 OK`) but does not include any response body. This means that while these operations can be successfully executed, the API does not provide additional data or confirmation in the response body.
|
|
188
|
-
|
|
189
|
-
- **Handling of API Responses**: This custom node has been designed to interpret HTTP status codes as indicators of the success or failure of an operation. Since no further details are provided by the API for certain requests, the node generates its own success messages for user feedback. Users should rely on these status codes and custom messages for confirmation of operation outcomes.
|
|
190
|
-
|
|
191
|
-
- **API Documentation Discrepancies**: Users may also encounter instances where the behavior of the TickTick API does not fully align with its documentation, particularly regarding the response data for certain requests. We recommend users to proceed with caution and validate the functionality through testing, especially for critical workflows.
|
|
192
|
-
|
|
193
|
-
This project's implementation takes these API characteristics into account, aiming to provide clear and useful feedback to users whenever possible. However, users are encouraged to conduct their own testing and verification to ensure the node meets their specific needs.
|
|
194
|
-
|
|
195
|
-
Future updates to the TickTick API may address these issues, and subsequent versions of this project will aim to incorporate any changes to enhance functionality and user experience.
|
|
138
|
+
### API Behavior
|
|
139
|
+
- **Inbox Handling**: The "Default Inbox" is handled internally as the "inbox" ID. It supports fetching data (tasks) but does not support "Get Specific Project" details as it is not a standard project.
|
|
140
|
+
- **Empty Responses**: Operations like delete or complete often return `200 OK` with no body. This node generates a success message for these cases.
|
|
196
141
|
|
|
197
142
|
---
|
|
198
143
|
|
|
@@ -208,6 +153,8 @@ Future updates to the TickTick API may address these issues, and subsequent vers
|
|
|
208
153
|
|
|
209
154
|
## 📜 Version History
|
|
210
155
|
|
|
156
|
+
- `1.3.0` – Major refactor: Fixed API request context, added Inbox support, expanded Task/Project fields, added Subtask support, improved Project Get modes.
|
|
157
|
+
- `1.2.2` – documentation and metadata update only
|
|
211
158
|
- `1.2.1` – Inbox support, API Token credential, improved task/project operations, success messages
|
|
212
159
|
- `1.1.1` – Added Luxon for date formatting (thank you [mrozekadam](https://github.com/mrozekadam))
|
|
213
160
|
- `1.0.0` – Initial release
|
|
@@ -1,16 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
value: string;
|
|
6
|
-
}[]>;
|
|
7
|
-
export declare function getTasks(this: ILoadOptionsFunctions, projectId: string): Promise<{
|
|
8
|
-
name: string;
|
|
9
|
-
value: string;
|
|
10
|
-
}[]>;
|
|
11
|
-
export declare function tickTickApiRequest(this: IExecuteFunctions | IHookFunctions | ILoadOptionsFunctions, method: IHttpRequestMethods, endpoint: string, body?: IDataObject, qs?: IDataObject): Promise<any>;
|
|
12
|
-
export declare const TimeZones: {
|
|
13
|
-
name: string;
|
|
14
|
-
value: string;
|
|
15
|
-
}[];
|
|
16
|
-
export declare function formatTickTickDate(dateString: string): string | undefined;
|
|
1
|
+
export * from "./helpers/apiRequest";
|
|
2
|
+
export * from "./helpers/loadOptions";
|
|
3
|
+
export * from "./helpers/utils";
|
|
4
|
+
export * from "./helpers/constants";
|
|
@@ -1,135 +1,21 @@
|
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports
|
|
4
|
-
exports
|
|
5
|
-
exports
|
|
6
|
-
exports
|
|
7
|
-
exports.tickTickApiRequest = tickTickApiRequest;
|
|
8
|
-
exports.formatTickTickDate = formatTickTickDate;
|
|
9
|
-
const n8n_workflow_1 = require("n8n-workflow");
|
|
10
|
-
const luxon_1 = require("luxon");
|
|
11
|
-
async function getInboxProjectId() {
|
|
12
|
-
const endpoint = "/open/v1/project/inbox/data";
|
|
13
|
-
try {
|
|
14
|
-
const responseData = (await tickTickApiRequest.call(this, "GET", endpoint));
|
|
15
|
-
const tasks = responseData.tasks || [];
|
|
16
|
-
const columns = responseData.columns || [];
|
|
17
|
-
if (tasks.length > 0 && typeof tasks[0].projectId === "string") {
|
|
18
|
-
return tasks[0].projectId;
|
|
19
|
-
}
|
|
20
|
-
if (columns.length > 0 && typeof columns[0].projectId === "string") {
|
|
21
|
-
return columns[0].projectId;
|
|
22
|
-
}
|
|
23
|
-
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
24
|
-
message: "Could not determine Inbox project ID from /open/v1/project/inbox/data response.",
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
async function getProjects() {
|
|
32
|
-
const endpoint = "/open/v1/project";
|
|
33
|
-
try {
|
|
34
|
-
const responseData = await tickTickApiRequest.call(this, "GET", endpoint);
|
|
35
|
-
const options = responseData.map((project) => ({
|
|
36
|
-
name: project.name,
|
|
37
|
-
value: project.id,
|
|
38
|
-
}));
|
|
39
|
-
const resource = this.getCurrentNodeParameter("resource");
|
|
40
|
-
const operation = this.getCurrentNodeParameter("operation");
|
|
41
|
-
if (resource === "task") {
|
|
42
|
-
options.unshift({
|
|
43
|
-
name: "Inbox",
|
|
44
|
-
value: "",
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
else if (resource === "project" && operation === "get") {
|
|
48
|
-
options.unshift({
|
|
49
|
-
name: "Inbox",
|
|
50
|
-
value: "inbox",
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
return options;
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
async function getTasks(projectId) {
|
|
60
|
-
if (!projectId) {
|
|
61
|
-
projectId = "inbox";
|
|
62
|
-
}
|
|
63
|
-
const endpoint = `/open/v1/project/${projectId}/data`;
|
|
64
|
-
try {
|
|
65
|
-
const responseData = (await tickTickApiRequest.call(this, "GET", endpoint));
|
|
66
|
-
const tasks = responseData.tasks;
|
|
67
|
-
return tasks.map((task) => ({
|
|
68
|
-
name: task.title,
|
|
69
|
-
value: task.id.toString(),
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
catch (error) {
|
|
73
|
-
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
async function tickTickApiRequest(method, endpoint, body = {}, qs = {}) {
|
|
77
|
-
const authentication = this.getNodeParameter("authentication", 0);
|
|
78
|
-
const baseUrl = "https://ticktick.com";
|
|
79
|
-
const options = {
|
|
80
|
-
method,
|
|
81
|
-
qs,
|
|
82
|
-
url: `${baseUrl}${endpoint}`,
|
|
83
|
-
json: true,
|
|
84
|
-
};
|
|
85
|
-
if (Object.keys(body).length) {
|
|
86
|
-
options.body = body;
|
|
87
|
-
}
|
|
88
|
-
try {
|
|
89
|
-
let responseData;
|
|
90
|
-
if (authentication === "tickTickOAuth2Api") {
|
|
91
|
-
responseData = await this.helpers.requestOAuth2.call(this, "tickTickOAuth2Api", options);
|
|
92
|
-
}
|
|
93
|
-
else if (authentication === "tickTickTokenApi") {
|
|
94
|
-
responseData = await this.helpers.requestWithAuthentication.call(this, "tickTickTokenApi", options);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
throw new n8n_workflow_1.NodeApiError(this.getNode(), {
|
|
98
|
-
message: `Unknown authentication method: ${authentication}`,
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
return responseData;
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
exports.TimeZones = [
|
|
108
|
-
{ name: "UTC", value: "UTC" },
|
|
109
|
-
{ name: "Europe/London", value: "Europe/London" },
|
|
110
|
-
{ name: "Europe/Berlin", value: "Europe/Berlin" },
|
|
111
|
-
{ name: "Europe/Moscow", value: "Europe/Moscow" },
|
|
112
|
-
{ name: "Asia/Kolkata", value: "Asia/Kolkata" },
|
|
113
|
-
{ name: "Asia/Shanghai", value: "Asia/Shanghai" },
|
|
114
|
-
{ name: "Asia/Tokyo", value: "Asia/Tokyo" },
|
|
115
|
-
{ name: "America/New_York", value: "America/New_York" },
|
|
116
|
-
{ name: "America/Chicago", value: "America/Chicago" },
|
|
117
|
-
{ name: "America/Denver", value: "America/Denver" },
|
|
118
|
-
{ name: "America/Los_Angeles", value: "America/Los_Angeles" },
|
|
119
|
-
{ name: "America/Sao_Paulo", value: "America/Sao_Paulo" },
|
|
120
|
-
{ name: "Australia/Sydney", value: "Australia/Sydney" },
|
|
121
|
-
{ name: "Pacific/Auckland", value: "Pacific/Auckland" },
|
|
122
|
-
];
|
|
123
|
-
function formatTickTickDate(dateString) {
|
|
124
|
-
if (!dateString) {
|
|
125
|
-
return undefined;
|
|
126
|
-
}
|
|
127
|
-
const date = luxon_1.DateTime.fromISO(dateString);
|
|
128
|
-
const dateTimePart = date.toFormat("yyyy-MM-dd'T'HH:mm:ss");
|
|
129
|
-
const offsetSign = date.offset >= 0 ? "+" : "-";
|
|
130
|
-
const offsetHours = String(Math.floor(Math.abs(date.offset) / 60)).padStart(2, "0");
|
|
131
|
-
const offsetMinutes = String(Math.abs(date.offset) % 60).padStart(2, "0");
|
|
132
|
-
const timezonePart = `${offsetSign}${offsetHours}${offsetMinutes}`;
|
|
133
|
-
return `${dateTimePart}${timezonePart}`;
|
|
134
|
-
}
|
|
17
|
+
__exportStar(require("./helpers/apiRequest"), exports);
|
|
18
|
+
__exportStar(require("./helpers/loadOptions"), exports);
|
|
19
|
+
__exportStar(require("./helpers/utils"), exports);
|
|
20
|
+
__exportStar(require("./helpers/constants"), exports);
|
|
135
21
|
//# sourceMappingURL=GenericFunctions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/TickTick/GenericFunctions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/TickTick/GenericFunctions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,wDAAsC;AACtC,kDAAgC;AAChC,sDAAoC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from "n8n-workflow";
|
|
1
|
+
import type { IExecuteFunctions, ILoadOptionsFunctions, INodeExecutionData, INodeType, INodeTypeDescription } from "n8n-workflow";
|
|
2
2
|
export declare class TickTick implements INodeType {
|
|
3
|
+
description: INodeTypeDescription;
|
|
3
4
|
methods: {
|
|
4
5
|
loadOptions: {
|
|
5
6
|
getProjects(this: ILoadOptionsFunctions): Promise<{
|
|
@@ -12,6 +13,5 @@ export declare class TickTick implements INodeType {
|
|
|
12
13
|
}[]>;
|
|
13
14
|
};
|
|
14
15
|
};
|
|
15
|
-
description: INodeTypeDescription;
|
|
16
16
|
execute(this: IExecuteFunctions): Promise<INodeExecutionData[][]>;
|
|
17
17
|
}
|