@pipedream/todoist 0.1.2 → 0.1.4

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 CHANGED
@@ -1,11 +1,11 @@
1
1
  # Overview
2
2
 
3
- With the Todoist API, you can build a variety of applications and tools to help
4
- you manage your to-do lists and tasks. Here are just a few examples of what you
5
- can build:
6
-
7
- - A to-do list application that allows you to manage your tasks and to-dos in
8
- one place.
9
- - A task management tool that helps you keep track of your tasks and to-dos.
10
- - A tool that helps you prioritize your tasks and to-dos.
11
- - A tool that helps you track your progress on your tasks and to-dos.
3
+ The Todoist API unlocks the potential to automate task management with precision. With Pipedream, you can craft workflows that react to events in Todoist, like task completions or due date changes, or drive actions in Todoist, such as creating tasks or updating projects. By integrating Todoist with Pipedream, you can seamlessly connect your to-do list with other apps to streamline your productivity, manage tasks based on triggers from other services, or compile reports on your task management patterns.
4
+
5
+ # Example Use Cases
6
+
7
+ - **Task Completion Notifications**: Send a notification through Slack or email when a high-priority task is completed in Todoist. This keeps your team in sync and immediately alerts members of critical task progress.
8
+
9
+ - **Calendar Syncing**: Automatically create a Google Calendar event when a new task with a due date is added to Todoist. This ensures you never miss a deadline and integrates your task list with your personal or work calendar.
10
+
11
+ - **GitHub Issue Tracking**: Whenever a new GitHub issue is reported, create a corresponding task in Todoist and assign it to the relevant team member. This bridges the gap between issue tracking and personal task management.
@@ -4,10 +4,15 @@ export default {
4
4
  key: "todoist-create-task",
5
5
  name: "Create Task",
6
6
  description: "Creates a task. [See the docs here](https://developer.todoist.com/rest/v2/#create-a-new-task)",
7
- version: "0.0.3",
7
+ version: "0.0.5",
8
8
  type: "action",
9
9
  props: {
10
10
  todoist,
11
+ recurringInfoLabel: {
12
+ type: "alert",
13
+ alertType: "info",
14
+ content: "To create a recurring task, use the `Due String` prop with a value such as `every week`. [See the Todoist documentation on recurring dates](https://www.todoist.com/help/articles/introduction-to-recurring-dates-YUYVJJAV) for more examples and information.",
15
+ },
11
16
  content: {
12
17
  propDefinition: [
13
18
  todoist,
@@ -135,7 +140,7 @@ export default {
135
140
  due_date: dueDate,
136
141
  due_datetime: dueDatetime,
137
142
  due_lang: dueLang,
138
- assignee,
143
+ assignee_id: assignee,
139
144
  };
140
145
  const resp = await this.todoist.createTask({
141
146
  $,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pipedream/todoist",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "Pipedream Todoist Components",
5
5
  "main": "todoist.app.mjs",
6
6
  "keywords": [
@@ -10,7 +10,7 @@
10
10
  "homepage": "https://pipedream.com/apps/todoist",
11
11
  "author": "Pipedream <support@pipedream.com> (https://pipedream.com/)",
12
12
  "dependencies": {
13
- "@pipedream/platform": "^1.2.1",
13
+ "@pipedream/platform": "^3.0.3",
14
14
  "json-2-csv": "^3.15.1",
15
15
  "query-string": "^7.1.3",
16
16
  "tmp-promise": "^3.0.3",
@@ -5,13 +5,36 @@ export default {
5
5
  key: "todoist-completed-task",
6
6
  name: "New Completed Task",
7
7
  description: "Emit new event for each completed task. [See the docs here](https://developer.todoist.com/sync/v8/#read-resources)",
8
- version: "0.0.6",
8
+ version: "1.0.0",
9
9
  type: "source",
10
10
  dedupe: "unique",
11
11
  methods: {
12
12
  ...common.methods,
13
- isElementRelevant(element) {
14
- return element.checked;
13
+ _getLastDate() {
14
+ return this.db.get("lastDate");
15
+ },
16
+ _setLastDate(value) {
17
+ this.db.set("lastDate", value);
18
+ },
19
+ async getSyncResult() {
20
+ const lastDate = this._getLastDate();
21
+ const items = await this.todoist.getCompletedTasks({
22
+ params: {
23
+ since: lastDate,
24
+ annotate_items: true,
25
+ },
26
+ });
27
+
28
+ const newDate = new Date().toISOString();
29
+ this._setLastDate(newDate);
30
+
31
+ console.log(items);
32
+ return items;
33
+ },
34
+ filterResults(syncResult) {
35
+ return syncResult
36
+ .filter((element) =>
37
+ this.todoist.isProjectInList(element.project_id, this.selectProjects ?? []));
15
38
  },
16
39
  },
17
40
  };