@doist/todoist-api-typescript 5.0.1 → 5.1.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.
@@ -1,5 +1,5 @@
1
1
  import { PersonalProject, WorkspaceProject, Label, Section, Comment, Task } from './types/entities';
2
- import { AddCommentArgs, AddLabelArgs, AddProjectArgs, AddSectionArgs, AddTaskArgs, GetProjectCommentsArgs, GetTaskCommentsArgs, GetTasksArgs, GetTasksByFilterArgs, UpdateCommentArgs, UpdateLabelArgs, UpdateProjectArgs, UpdateSectionArgs, UpdateTaskArgs, QuickAddTaskArgs, GetSharedLabelsArgs, RenameSharedLabelArgs, RemoveSharedLabelArgs, GetProjectsArgs, GetProjectCollaboratorsArgs, GetLabelsArgs, GetLabelsResponse, GetTasksResponse, GetProjectsResponse, GetProjectCollaboratorsResponse, GetSectionsArgs, GetSectionsResponse, GetSharedLabelsResponse, GetCommentsResponse, type MoveTaskArgs } from './types/requests';
2
+ import { AddCommentArgs, AddLabelArgs, AddProjectArgs, AddSectionArgs, AddTaskArgs, GetProjectCommentsArgs, GetTaskCommentsArgs, GetTasksArgs, GetTasksByFilterArgs, UpdateCommentArgs, UpdateLabelArgs, UpdateProjectArgs, UpdateSectionArgs, UpdateTaskArgs, QuickAddTaskArgs, GetSharedLabelsArgs, RenameSharedLabelArgs, RemoveSharedLabelArgs, GetProjectsArgs, GetProjectCollaboratorsArgs, GetLabelsArgs, GetLabelsResponse, GetTasksResponse, GetProjectsResponse, GetProjectCollaboratorsResponse, GetSectionsArgs, GetSectionsResponse, GetSharedLabelsResponse, GetCommentsResponse, type MoveTaskArgs, GetCompletedTasksByCompletionDateArgs, GetCompletedTasksByDueDateArgs, GetCompletedTasksResponse } from './types/requests';
3
3
  /**
4
4
  * A client for interacting with the Todoist API v1.
5
5
  * This class provides methods to manage tasks, projects, sections, labels, and comments in Todoist.
@@ -54,6 +54,20 @@ export declare class TodoistApi {
54
54
  * @returns A promise that resolves to a paginated response of tasks.
55
55
  */
56
56
  getTasksByFilter(args: GetTasksByFilterArgs): Promise<GetTasksResponse>;
57
+ /**
58
+ * Retrieves completed tasks by completion date.
59
+ *
60
+ * @param args - Parameters for filtering, including required since, until.
61
+ * @returns A promise that resolves to a paginated response of completed tasks.
62
+ */
63
+ getCompletedTasksByCompletionDate(args: GetCompletedTasksByCompletionDateArgs): Promise<GetCompletedTasksResponse>;
64
+ /**
65
+ * Retrieves completed tasks by due date.
66
+ *
67
+ * @param args - Parameters for filtering, including required since, until.
68
+ * @returns A promise that resolves to a paginated response of completed tasks.
69
+ */
70
+ getCompletedTasksByDueDate(args: GetCompletedTasksByDueDateArgs): Promise<GetCompletedTasksResponse>;
57
71
  /**
58
72
  * Creates a new task with the provided parameters.
59
73
  *
@@ -167,6 +167,50 @@ var TodoistApi = /** @class */ (function () {
167
167
  });
168
168
  });
169
169
  };
170
+ /**
171
+ * Retrieves completed tasks by completion date.
172
+ *
173
+ * @param args - Parameters for filtering, including required since, until.
174
+ * @returns A promise that resolves to a paginated response of completed tasks.
175
+ */
176
+ TodoistApi.prototype.getCompletedTasksByCompletionDate = function (args) {
177
+ return __awaiter(this, void 0, void 0, function () {
178
+ var _a, items, nextCursor;
179
+ return __generator(this, function (_b) {
180
+ switch (_b.label) {
181
+ case 0: return [4 /*yield*/, (0, restClient_1.request)('GET', this.syncApiBase, endpoints_1.ENDPOINT_REST_TASKS_COMPLETED_BY_COMPLETION_DATE, this.authToken, args)];
182
+ case 1:
183
+ _a = (_b.sent()).data, items = _a.items, nextCursor = _a.nextCursor;
184
+ return [2 /*return*/, {
185
+ items: (0, validators_1.validateTaskArray)(items),
186
+ nextCursor: nextCursor,
187
+ }];
188
+ }
189
+ });
190
+ });
191
+ };
192
+ /**
193
+ * Retrieves completed tasks by due date.
194
+ *
195
+ * @param args - Parameters for filtering, including required since, until.
196
+ * @returns A promise that resolves to a paginated response of completed tasks.
197
+ */
198
+ TodoistApi.prototype.getCompletedTasksByDueDate = function (args) {
199
+ return __awaiter(this, void 0, void 0, function () {
200
+ var _a, items, nextCursor;
201
+ return __generator(this, function (_b) {
202
+ switch (_b.label) {
203
+ case 0: return [4 /*yield*/, (0, restClient_1.request)('GET', this.syncApiBase, endpoints_1.ENDPOINT_REST_TASKS_COMPLETED_BY_DUE_DATE, this.authToken, args)];
204
+ case 1:
205
+ _a = (_b.sent()).data, items = _a.items, nextCursor = _a.nextCursor;
206
+ return [2 /*return*/, {
207
+ items: (0, validators_1.validateTaskArray)(items),
208
+ nextCursor: nextCursor,
209
+ }];
210
+ }
211
+ });
212
+ });
213
+ };
170
214
  /**
171
215
  * Creates a new task with the provided parameters.
172
216
  *
@@ -5,6 +5,8 @@ export declare function getSyncBaseUri(domainBase?: string): string;
5
5
  export declare function getAuthBaseUri(domainBase?: string): string;
6
6
  export declare const ENDPOINT_REST_TASKS = "tasks";
7
7
  export declare const ENDPOINT_REST_TASKS_FILTER: string;
8
+ export declare const ENDPOINT_REST_TASKS_COMPLETED_BY_COMPLETION_DATE: string;
9
+ export declare const ENDPOINT_REST_TASKS_COMPLETED_BY_DUE_DATE: string;
8
10
  export declare const ENDPOINT_REST_PROJECTS = "projects";
9
11
  export declare const ENDPOINT_REST_SECTIONS = "sections";
10
12
  export declare const ENDPOINT_REST_LABELS = "labels";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ENDPOINT_REVOKE_TOKEN = exports.ENDPOINT_GET_TOKEN = exports.ENDPOINT_AUTHORIZATION = exports.ENDPOINT_SYNC = exports.ENDPOINT_SYNC_QUICK_ADD = exports.ENDPOINT_REST_PROJECT_COLLABORATORS = exports.ENDPOINT_REST_TASK_REOPEN = exports.ENDPOINT_REST_TASK_CLOSE = exports.ENDPOINT_REST_COMMENTS = exports.ENDPOINT_REST_LABELS_SHARED_REMOVE = exports.ENDPOINT_REST_LABELS_SHARED_RENAME = exports.ENDPOINT_REST_LABELS_SHARED = exports.ENDPOINT_REST_LABELS = exports.ENDPOINT_REST_SECTIONS = exports.ENDPOINT_REST_PROJECTS = exports.ENDPOINT_REST_TASKS_FILTER = exports.ENDPOINT_REST_TASKS = exports.getAuthBaseUri = exports.getSyncBaseUri = exports.API_BASE_URI = exports.API_VERSION = exports.TODOIST_WEB_URI = void 0;
3
+ exports.ENDPOINT_REVOKE_TOKEN = exports.ENDPOINT_GET_TOKEN = exports.ENDPOINT_AUTHORIZATION = exports.ENDPOINT_SYNC = exports.ENDPOINT_SYNC_QUICK_ADD = exports.ENDPOINT_REST_PROJECT_COLLABORATORS = exports.ENDPOINT_REST_TASK_REOPEN = exports.ENDPOINT_REST_TASK_CLOSE = exports.ENDPOINT_REST_COMMENTS = exports.ENDPOINT_REST_LABELS_SHARED_REMOVE = exports.ENDPOINT_REST_LABELS_SHARED_RENAME = exports.ENDPOINT_REST_LABELS_SHARED = exports.ENDPOINT_REST_LABELS = exports.ENDPOINT_REST_SECTIONS = exports.ENDPOINT_REST_PROJECTS = exports.ENDPOINT_REST_TASKS_COMPLETED_BY_DUE_DATE = exports.ENDPOINT_REST_TASKS_COMPLETED_BY_COMPLETION_DATE = exports.ENDPOINT_REST_TASKS_FILTER = exports.ENDPOINT_REST_TASKS = exports.getAuthBaseUri = exports.getSyncBaseUri = exports.API_BASE_URI = exports.API_VERSION = exports.TODOIST_WEB_URI = void 0;
4
4
  var BASE_URI = 'https://api.todoist.com';
5
5
  var TODOIST_URI = 'https://todoist.com';
6
6
  exports.TODOIST_WEB_URI = 'https://app.todoist.com/app';
@@ -21,6 +21,8 @@ function getAuthBaseUri(domainBase) {
21
21
  exports.getAuthBaseUri = getAuthBaseUri;
22
22
  exports.ENDPOINT_REST_TASKS = 'tasks';
23
23
  exports.ENDPOINT_REST_TASKS_FILTER = exports.ENDPOINT_REST_TASKS + '/filter';
24
+ exports.ENDPOINT_REST_TASKS_COMPLETED_BY_COMPLETION_DATE = exports.ENDPOINT_REST_TASKS + '/completed/by_completion_date';
25
+ exports.ENDPOINT_REST_TASKS_COMPLETED_BY_DUE_DATE = exports.ENDPOINT_REST_TASKS + '/completed/by_due_date';
24
26
  exports.ENDPOINT_REST_PROJECTS = 'projects';
25
27
  exports.ENDPOINT_REST_SECTIONS = 'sections';
26
28
  exports.ENDPOINT_REST_LABELS = 'labels';
@@ -463,7 +463,7 @@ export declare const WorkspaceProjectSchema: z.ZodEffects<z.ZodObject<z.objectUt
463
463
  isShared: z.ZodBoolean;
464
464
  }, {
465
465
  collaboratorRoleDefault: z.ZodString;
466
- folderId: z.ZodNullable<z.ZodBoolean>;
466
+ folderId: z.ZodNullable<z.ZodString>;
467
467
  isInviteOnly: z.ZodNullable<z.ZodBoolean>;
468
468
  isLinkSharingEnabled: z.ZodBoolean;
469
469
  role: z.ZodNullable<z.ZodString>;
@@ -488,7 +488,7 @@ export declare const WorkspaceProjectSchema: z.ZodEffects<z.ZodObject<z.objectUt
488
488
  defaultOrder: number;
489
489
  isShared: boolean;
490
490
  collaboratorRoleDefault: string;
491
- folderId: boolean | null;
491
+ folderId: string | null;
492
492
  isInviteOnly: boolean | null;
493
493
  isLinkSharingEnabled: boolean;
494
494
  role: string | null;
@@ -512,7 +512,7 @@ export declare const WorkspaceProjectSchema: z.ZodEffects<z.ZodObject<z.objectUt
512
512
  defaultOrder: number;
513
513
  isShared: boolean;
514
514
  collaboratorRoleDefault: string;
515
- folderId: boolean | null;
515
+ folderId: string | null;
516
516
  isInviteOnly: boolean | null;
517
517
  isLinkSharingEnabled: boolean;
518
518
  role: string | null;
@@ -537,7 +537,7 @@ export declare const WorkspaceProjectSchema: z.ZodEffects<z.ZodObject<z.objectUt
537
537
  defaultOrder: number;
538
538
  isShared: boolean;
539
539
  collaboratorRoleDefault: string;
540
- folderId: boolean | null;
540
+ folderId: string | null;
541
541
  isInviteOnly: boolean | null;
542
542
  isLinkSharingEnabled: boolean;
543
543
  role: string | null;
@@ -561,7 +561,7 @@ export declare const WorkspaceProjectSchema: z.ZodEffects<z.ZodObject<z.objectUt
561
561
  defaultOrder: number;
562
562
  isShared: boolean;
563
563
  collaboratorRoleDefault: string;
564
- folderId: boolean | null;
564
+ folderId: string | null;
565
565
  isInviteOnly: boolean | null;
566
566
  isLinkSharingEnabled: boolean;
567
567
  role: string | null;
@@ -110,7 +110,7 @@ exports.PersonalProjectSchema = exports.BaseProjectSchema.extend({
110
110
  */
111
111
  exports.WorkspaceProjectSchema = exports.BaseProjectSchema.extend({
112
112
  collaboratorRoleDefault: zod_1.z.string(),
113
- folderId: zod_1.z.boolean().nullable(),
113
+ folderId: zod_1.z.string().nullable(),
114
114
  isInviteOnly: zod_1.z.boolean().nullable(),
115
115
  isLinkSharingEnabled: zod_1.z.boolean(),
116
116
  role: zod_1.z.string().nullable(),
@@ -48,6 +48,39 @@ export type GetTasksByFilterArgs = {
48
48
  cursor?: string | null;
49
49
  limit?: number;
50
50
  };
51
+ /**
52
+ * Arguments for retrieving completed tasks by completion date.
53
+ * @see https://todoist.com/api/v1/docs#tag/Tasks/operation/tasks_completed_by_completion_date_api_v1_tasks_completed_by_completion_date_get
54
+ */
55
+ export type GetCompletedTasksByCompletionDateArgs = {
56
+ since: string;
57
+ until: string;
58
+ workspaceId?: string | null;
59
+ projectId?: string | null;
60
+ sectionId?: string | null;
61
+ parentId?: string | null;
62
+ filterQuery?: string | null;
63
+ filterLang?: string | null;
64
+ cursor?: string | null;
65
+ limit?: number;
66
+ publicKey?: string | null;
67
+ };
68
+ /**
69
+ * Arguments for retrieving completed tasks by due date.
70
+ * @see https://todoist.com/api/v1/docs#tag/Tasks/operation/tasks_completed_by_due_date_api_v1_tasks_completed_by_due_date_get
71
+ */
72
+ export type GetCompletedTasksByDueDateArgs = {
73
+ since: string;
74
+ until: string;
75
+ workspaceId?: string | null;
76
+ projectId?: string | null;
77
+ sectionId?: string | null;
78
+ parentId?: string | null;
79
+ filterQuery?: string | null;
80
+ filterLang?: string | null;
81
+ cursor?: string | null;
82
+ limit?: number;
83
+ };
51
84
  /**
52
85
  * @see https://todoist.com/api/v1/docs#tag/Tasks/operation/get_tasks_api_v1_tasks_get
53
86
  */
@@ -55,6 +88,14 @@ export type GetTasksResponse = {
55
88
  results: Task[];
56
89
  nextCursor: string | null;
57
90
  };
91
+ /**
92
+ * @see https://todoist.com/api/v1/docs#tag/Tasks/operation/tasks_completed_by_due_date_api_v1_tasks_completed_by_due_date_get
93
+ * @see https://todoist.com/api/v1/docs#tag/Tasks/operation/tasks_completed_by_completion_date_api_v1_tasks_completed_by_completion_date_get
94
+ */
95
+ export type GetCompletedTasksResponse = {
96
+ items: Task[];
97
+ nextCursor: string | null;
98
+ };
58
99
  /**
59
100
  * Arguments for updating a task.
60
101
  * @see https://todoist.com/api/v1/docs#tag/Tasks/operation/update_task_api_v1_tasks__task_id__post
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-api-typescript",
3
- "version": "5.0.1",
3
+ "version": "5.1.0",
4
4
  "description": "A typescript wrapper for the Todoist REST API.",
5
5
  "author": "Doist developers",
6
6
  "repository": "git@github.com:doist/todoist-api-typescript.git",