n8n-nodes-ticktick 1.2.2 → 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 +29 -73
- 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 +3 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- 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
|
@@ -59,53 +59,38 @@ Steps:
|
|
|
59
59
|
### 1. Create a Task
|
|
60
60
|
|
|
61
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)
|
|
62
67
|
|
|
63
|
-
|
|
64
|
-
- Task Content
|
|
65
|
-
- Description of Checklist
|
|
66
|
-
- All day
|
|
67
|
-
- Start date
|
|
68
|
-
- Due date
|
|
69
|
-
|
|
70
|
-
>> use Additional Fields or JSON Parameters
|
|
71
|
-
>> Subtasks will be part of the next release
|
|
72
|
-
|
|
73
|
-
### 2. Get Task By Project ID And Task ID
|
|
68
|
+
### 2. Get Task
|
|
74
69
|
|
|
75
70
|
Parameters:
|
|
76
|
-
|
|
77
71
|
- Task identifier (required)
|
|
78
72
|
- Project identifier (required)
|
|
79
73
|
|
|
80
74
|
### 3. Update a Task
|
|
81
75
|
|
|
82
76
|
Parameters:
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
- Task Content
|
|
88
|
-
- Description of Checklist
|
|
89
|
-
- All day
|
|
90
|
-
- Start date
|
|
91
|
-
- Due date
|
|
92
|
-
|
|
93
|
-
>> 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
|
|
94
81
|
|
|
95
82
|
### 4. Complete a Task
|
|
96
83
|
|
|
97
84
|
Parameters:
|
|
98
|
-
|
|
99
85
|
- Task identifier (required)
|
|
100
86
|
- Project identifier (required)
|
|
101
87
|
|
|
102
88
|
### 5. Delete a Task
|
|
103
89
|
|
|
104
90
|
Parameters:
|
|
105
|
-
|
|
106
91
|
- Task identifier (required)
|
|
107
92
|
- Project identifier (required)
|
|
108
|
-
|
|
93
|
+
|
|
109
94
|
---
|
|
110
95
|
|
|
111
96
|
## 📁 Project Operations
|
|
@@ -113,53 +98,33 @@ Steps:
|
|
|
113
98
|
### 1. Create a Project
|
|
114
99
|
|
|
115
100
|
Parameters:
|
|
101
|
+
- Project Name (required)
|
|
102
|
+
- Additional Fields: Color, Kind, Sort Order, View Mode
|
|
116
103
|
|
|
117
|
-
|
|
118
|
-
- Color
|
|
119
|
-
- View Mode (List, Kanban, Timeline)
|
|
120
|
-
- Kind (Task, Note)
|
|
121
|
-
|
|
122
|
-
>> use Additional Fields or JSON Parameters
|
|
123
|
-
|
|
124
|
-
### 2. Get User Project
|
|
125
|
-
|
|
126
|
-
Empty Parameters
|
|
127
|
-
|
|
128
|
-
### 3. Get Project by ID
|
|
129
|
-
|
|
130
|
-
Parameters:
|
|
131
|
-
|
|
132
|
-
- Project identifier (required)
|
|
133
|
-
|
|
134
|
-
### 4. Get Project with Data
|
|
135
|
-
|
|
136
|
-
Parameters:
|
|
104
|
+
### 2. Get Project(s)
|
|
137
105
|
|
|
138
|
-
|
|
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)
|
|
139
110
|
|
|
140
|
-
###
|
|
111
|
+
### 3. Update a Project
|
|
141
112
|
|
|
142
113
|
Parameters:
|
|
114
|
+
- Project ID (required)
|
|
115
|
+
- Update Fields: Color, Kind, Name, Sort Order, View Mode
|
|
143
116
|
|
|
144
|
-
|
|
145
|
-
- Name
|
|
146
|
-
- Color
|
|
147
|
-
- View Mode (List, Kanban, Timeline)
|
|
148
|
-
- Kind (Task, Note)
|
|
149
|
-
|
|
150
|
-
>> use Additional Fields or JSON Parameters
|
|
151
|
-
|
|
152
|
-
### 6. Delete a Project
|
|
117
|
+
### 4. Delete a Project
|
|
153
118
|
|
|
154
119
|
Parameters:
|
|
155
|
-
|
|
156
|
-
|
|
120
|
+
- Project ID (required)
|
|
121
|
+
|
|
157
122
|
|
|
158
123
|
---
|
|
159
124
|
|
|
160
125
|
## 🧰 Compatibility
|
|
161
126
|
|
|
162
|
-
Tested successfully on 2025-12-
|
|
127
|
+
Tested successfully on 2025-12-07 with:
|
|
163
128
|
|
|
164
129
|
- n8n Version: 1.121.3
|
|
165
130
|
- Node Version: 22.11.0
|
|
@@ -170,19 +135,9 @@ Tested successfully on 2025-12-01 with:
|
|
|
170
135
|
|
|
171
136
|
## ⚠ Known Issues & Notes
|
|
172
137
|
|
|
173
|
-
###
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
- **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.
|
|
178
|
-
|
|
179
|
-
- **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.
|
|
180
|
-
|
|
181
|
-
- **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.
|
|
182
|
-
|
|
183
|
-
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.
|
|
184
|
-
|
|
185
|
-
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.
|
|
186
141
|
|
|
187
142
|
---
|
|
188
143
|
|
|
@@ -198,6 +153,7 @@ Future updates to the TickTick API may address these issues, and subsequent vers
|
|
|
198
153
|
|
|
199
154
|
## 📜 Version History
|
|
200
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.
|
|
201
157
|
- `1.2.2` – documentation and metadata update only
|
|
202
158
|
- `1.2.1` – Inbox support, API Token credential, improved task/project operations, success messages
|
|
203
159
|
- `1.1.1` – Added Luxon for date formatting (thank you [mrozekadam](https://github.com/mrozekadam))
|
|
@@ -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
|
}
|