Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@doist/todoist-api-typescript",
"version": "4.0.0-alpha.5",
"version": "4.0.0-alpha.6",
"description": "A typescript wrapper for the Todoist REST API.",
"author": "Doist developers",
"repository": "git@github.com:doist/todoist-api-typescript.git",
Expand Down
2 changes: 1 addition & 1 deletion src/consts/endpoints.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const TODOIST_URI = 'https://todoist.com'

// The API version is not configurable, to ensure
// compatibility between the API and the client.
export const API_VERSION = 'v9.217'
export const API_VERSION = 'v9.220'

export const API_BASE_URI = `/api/${API_VERSION}/`
const API_AUTHORIZATION_BASE_URI = '/oauth/'
Expand Down
2 changes: 0 additions & 2 deletions src/testUtils/testDefaults.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ export const DEFAULT_TASK: Task = {
isCompleted: false,
labels: DEFAULT_LABELS,
priority: DEFAULT_TASK_PRIORITY,
commentCount: 0,
createdAt: DEFAULT_DATE,
url: 'https://todoist.com/showTask?id=1234',
due: DEFAULT_DUE_DATE,
Expand Down Expand Up @@ -127,7 +126,6 @@ export const DEFAULT_PROJECT: Project = {
color: DEFAULT_ENTITY_COLOR,
order: DEFAULT_ORDER,
parentId: DEFAULT_PROJECT_ID,
commentCount: 0,
isFavorite: false,
isShared: false,
isInboxProject: false,
Expand Down
2 changes: 0 additions & 2 deletions src/types/entities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ export const TaskSchema = z.object({
isCompleted: z.boolean(),
labels: z.array(z.string()),
priority: z.number().int(),
commentCount: z.number().int(),
creatorId: z.string(),
createdAt: z.string(),
due: DueDateSchema.nullable(),
Expand All @@ -69,7 +68,6 @@ export const ProjectSchema = z.object({
order: z.number().int().nullable(),
color: z.string(),
name: z.string(),
commentCount: z.number().int(),
isShared: z.boolean(),
isFavorite: z.boolean(),
isInboxProject: z.boolean(),
Expand Down
1 change: 0 additions & 1 deletion src/utils/taskConverters.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ export function getTaskFromQuickAddResponse(responseData: QuickAddTaskResponse):
isCompleted: responseData.checked,
labels: responseData.labels,
priority: responseData.priority,
commentCount: 0, // Will always be 0 for a quick add
createdAt: responseData.addedAt,
url: getTaskUrlFromQuickAddResponse(responseData),
creatorId: responseData.addedByUid ?? '',
Expand Down
2 changes: 2 additions & 0 deletions website/docs/api/.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,15 @@
| [GetTaskCommentsArgs](type-aliases/GetTaskCommentsArgs.md) | - |
| [GetTasksArgs](type-aliases/GetTasksArgs.md) | - |
| [GetTasksResponse](type-aliases/GetTasksResponse.md) | - |
| [MoveTaskArgs](type-aliases/MoveTaskArgs.md) | - |
| [Permission](type-aliases/Permission.md) | Permission scopes that can be requested during OAuth2 authorization. |
| [ProjectViewStyle](type-aliases/ProjectViewStyle.md) | - |
| [QuickAddTaskArgs](type-aliases/QuickAddTaskArgs.md) | - |
| [QuickAddTaskResponse](type-aliases/QuickAddTaskResponse.md) | - |
| [RemoveSharedLabelArgs](type-aliases/RemoveSharedLabelArgs.md) | - |
| [RenameSharedLabelArgs](type-aliases/RenameSharedLabelArgs.md) | - |
| [RevokeAuthTokenRequestArgs](type-aliases/RevokeAuthTokenRequestArgs.md) | Parameters required to revoke an access token. |
| [SyncTask](type-aliases/SyncTask.md) | - |
| [TaskWithSanitizedContent](type-aliases/TaskWithSanitizedContent.md) | - |
| [UpdateCommentArgs](type-aliases/UpdateCommentArgs.md) | - |
| [UpdateLabelArgs](type-aliases/UpdateLabelArgs.md) | - |
Expand Down
27 changes: 27 additions & 0 deletions website/docs/api/classes/TodoistApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -559,6 +559,33 @@ A promise that resolves to an array of tasks.

***

### moveTasks()

```ts
moveTasks(
ids: string[],
args: MoveTaskArgs,
requestId?: string): Promise<Task[]>
```

Moves existing tasks by their ID to either a different parent/section/project.

#### Parameters

| Parameter | Type | Description |
| ------ | ------ | ------ |
| `ids` | `string`[] | The unique identifier of the tasks to be moved. |
| `args` | [`MoveTaskArgs`](../type-aliases/MoveTaskArgs.md) | The paramets that should contain only one of projectId, sectionId, or parentId |
| `requestId`? | `string` | Optional unique identifier for idempotency. |

#### Returns

`Promise`\<[`Task`](../interfaces/Task.md)[]\>

- A promise that resolves to an array of the updated tasks.

***

### quickAddTask()

```ts
Expand Down
1 change: 0 additions & 1 deletion website/docs/api/interfaces/Project.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ https://developer.todoist.com/sync/v9/#projects
| Property | Type |
| ------ | ------ |
| <a id="color"></a> `color` | `string` |
| <a id="commentcount"></a> `commentCount` | `number` |
| <a id="id"></a> `id` | `string` |
| <a id="isfavorite"></a> `isFavorite` | `boolean` |
| <a id="isinboxproject"></a> `isInboxProject` | `boolean` |
Expand Down
1 change: 0 additions & 1 deletion website/docs/api/interfaces/Task.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ https://developer.todoist.com/sync/v9/#items
| ------ | ------ |
| <a id="assigneeid"></a> `assigneeId` | `null` \| `string` |
| <a id="assignerid"></a> `assignerId` | `null` \| `string` |
| <a id="commentcount"></a> `commentCount` | `number` |
| <a id="content"></a> `content` | `string` |
| <a id="createdat"></a> `createdAt` | `string` |
| <a id="creatorid"></a> `creatorId` | `string` |
Expand Down
13 changes: 13 additions & 0 deletions website/docs/api/type-aliases/MoveTaskArgs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# MoveTaskArgs

```ts
type MoveTaskArgs = RequireExactlyOne<{
parentId: string;
projectId: string;
sectionId: string;
}>;
```

## See

https://developer.todoist.com/sync/v9/#move-an-item
42 changes: 1 addition & 41 deletions website/docs/api/type-aliases/QuickAddTaskResponse.md
Original file line number Diff line number Diff line change
@@ -1,49 +1,9 @@
# QuickAddTaskResponse

```ts
type QuickAddTaskResponse = {
addedAt: string;
addedByUid: string | null;
assignedByUid: string | null;
checked: boolean;
childOrder: number;
content: string;
deadline: Deadline | null;
description: string;
due: DueDate | null;
duration: Duration | null;
id: string;
labels: string[];
parentId: string | null;
priority: number;
projectId: string;
responsibleUid: string | null;
sectionId: string | null;
};
type QuickAddTaskResponse = SyncTask;
```

## Type declaration

| Name | Type |
| ------ | ------ |
| <a id="addedat"></a> `addedAt` | `string` |
| <a id="addedbyuid"></a> `addedByUid` | `string` \| `null` |
| <a id="assignedbyuid"></a> `assignedByUid` | `string` \| `null` |
| <a id="checked"></a> `checked` | `boolean` |
| <a id="childorder"></a> `childOrder` | `number` |
| <a id="content"></a> `content` | `string` |
| <a id="deadline"></a> `deadline` | [`Deadline`](../interfaces/Deadline.md) \| `null` |
| <a id="description"></a> `description` | `string` |
| <a id="due"></a> `due` | [`DueDate`](../interfaces/DueDate.md) \| `null` |
| <a id="duration"></a> `duration` | [`Duration`](../interfaces/Duration.md) \| `null` |
| <a id="id"></a> `id` | `string` |
| <a id="labels"></a> `labels` | `string`[] |
| <a id="parentid"></a> `parentId` | `string` \| `null` |
| <a id="priority"></a> `priority` | `number` |
| <a id="projectid"></a> `projectId` | `string` |
| <a id="responsibleuid"></a> `responsibleUid` | `string` \| `null` |
| <a id="sectionid"></a> `sectionId` | `string` \| `null` |

## See

https://developer.todoist.com/rest/v2/#quick-add-task
49 changes: 49 additions & 0 deletions website/docs/api/type-aliases/SyncTask.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# SyncTask

```ts
type SyncTask = {
addedAt: string;
addedByUid: string | null;
assignedByUid: string | null;
checked: boolean;
childOrder: number;
content: string;
deadline: Deadline | null;
description: string;
due: DueDate | null;
duration: Duration | null;
id: string;
labels: string[];
parentId: string | null;
priority: number;
projectId: string;
responsibleUid: string | null;
sectionId: string | null;
};
```

## Type declaration

| Name | Type |
| ------ | ------ |
| <a id="addedat"></a> `addedAt` | `string` |
| <a id="addedbyuid"></a> `addedByUid` | `string` \| `null` |
| <a id="assignedbyuid"></a> `assignedByUid` | `string` \| `null` |
| <a id="checked"></a> `checked` | `boolean` |
| <a id="childorder"></a> `childOrder` | `number` |
| <a id="content"></a> `content` | `string` |
| <a id="deadline"></a> `deadline` | [`Deadline`](../interfaces/Deadline.md) \| `null` |
| <a id="description"></a> `description` | `string` |
| <a id="due"></a> `due` | [`DueDate`](../interfaces/DueDate.md) \| `null` |
| <a id="duration"></a> `duration` | [`Duration`](../interfaces/Duration.md) \| `null` |
| <a id="id"></a> `id` | `string` |
| <a id="labels"></a> `labels` | `string`[] |
| <a id="parentid"></a> `parentId` | `string` \| `null` |
| <a id="priority"></a> `priority` | `number` |
| <a id="projectid"></a> `projectId` | `string` |
| <a id="responsibleuid"></a> `responsibleUid` | `string` \| `null` |
| <a id="sectionid"></a> `sectionId` | `string` \| `null` |

## See

https://developer.todoist.com/rest/v2/#quick-add-task
2 changes: 1 addition & 1 deletion website/docs/api/typedoc-sidebar.cjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// @ts-check
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const typedocSidebar = { items: [{"type":"category","label":"Classes","items":[{"type":"doc","id":"api/classes/TodoistApi","label":"TodoistApi"},{"type":"doc","id":"api/classes/TodoistRequestError","label":"TodoistRequestError"}]},{"type":"category","label":"Interfaces","items":[{"type":"doc","id":"api/interfaces/Attachment","label":"Attachment"},{"type":"doc","id":"api/interfaces/Color","label":"Color"},{"type":"doc","id":"api/interfaces/Comment","label":"Comment"},{"type":"doc","id":"api/interfaces/Deadline","label":"Deadline"},{"type":"doc","id":"api/interfaces/DueDate","label":"DueDate"},{"type":"doc","id":"api/interfaces/Duration","label":"Duration"},{"type":"doc","id":"api/interfaces/Label","label":"Label"},{"type":"doc","id":"api/interfaces/Project","label":"Project"},{"type":"doc","id":"api/interfaces/Section","label":"Section"},{"type":"doc","id":"api/interfaces/Task","label":"Task"},{"type":"doc","id":"api/interfaces/User","label":"User"}]},{"type":"category","label":"Type Aliases","items":[{"type":"doc","id":"api/type-aliases/AddCommentArgs","label":"AddCommentArgs"},{"type":"doc","id":"api/type-aliases/AddLabelArgs","label":"AddLabelArgs"},{"type":"doc","id":"api/type-aliases/AddProjectArgs","label":"AddProjectArgs"},{"type":"doc","id":"api/type-aliases/AddSectionArgs","label":"AddSectionArgs"},{"type":"doc","id":"api/type-aliases/AddTaskArgs","label":"AddTaskArgs"},{"type":"doc","id":"api/type-aliases/AuthTokenRequestArgs","label":"AuthTokenRequestArgs"},{"type":"doc","id":"api/type-aliases/AuthTokenResponse","label":"AuthTokenResponse"},{"type":"doc","id":"api/type-aliases/GetCommentsResponse","label":"GetCommentsResponse"},{"type":"doc","id":"api/type-aliases/GetLabelsArgs","label":"GetLabelsArgs"},{"type":"doc","id":"api/type-aliases/GetLabelsResponse","label":"GetLabelsResponse"},{"type":"doc","id":"api/type-aliases/GetProjectCollaboratorsArgs","label":"GetProjectCollaboratorsArgs"},{"type":"doc","id":"api/type-aliases/GetProjectCollaboratorsResponse","label":"GetProjectCollaboratorsResponse"},{"type":"doc","id":"api/type-aliases/GetProjectCommentsArgs","label":"GetProjectCommentsArgs"},{"type":"doc","id":"api/type-aliases/GetProjectsArgs","label":"GetProjectsArgs"},{"type":"doc","id":"api/type-aliases/GetProjectsResponse","label":"GetProjectsResponse"},{"type":"doc","id":"api/type-aliases/GetSectionsArgs","label":"GetSectionsArgs"},{"type":"doc","id":"api/type-aliases/GetSectionsResponse","label":"GetSectionsResponse"},{"type":"doc","id":"api/type-aliases/GetSharedLabelsArgs","label":"GetSharedLabelsArgs"},{"type":"doc","id":"api/type-aliases/GetSharedLabelsResponse","label":"GetSharedLabelsResponse"},{"type":"doc","id":"api/type-aliases/GetTaskCommentsArgs","label":"GetTaskCommentsArgs"},{"type":"doc","id":"api/type-aliases/GetTasksArgs","label":"GetTasksArgs"},{"type":"doc","id":"api/type-aliases/GetTasksResponse","label":"GetTasksResponse"},{"type":"doc","id":"api/type-aliases/Permission","label":"Permission"},{"type":"doc","id":"api/type-aliases/ProjectViewStyle","label":"ProjectViewStyle"},{"type":"doc","id":"api/type-aliases/QuickAddTaskArgs","label":"QuickAddTaskArgs"},{"type":"doc","id":"api/type-aliases/QuickAddTaskResponse","label":"QuickAddTaskResponse"},{"type":"doc","id":"api/type-aliases/RemoveSharedLabelArgs","label":"RemoveSharedLabelArgs"},{"type":"doc","id":"api/type-aliases/RenameSharedLabelArgs","label":"RenameSharedLabelArgs"},{"type":"doc","id":"api/type-aliases/RevokeAuthTokenRequestArgs","label":"RevokeAuthTokenRequestArgs"},{"type":"doc","id":"api/type-aliases/TaskWithSanitizedContent","label":"TaskWithSanitizedContent"},{"type":"doc","id":"api/type-aliases/UpdateCommentArgs","label":"UpdateCommentArgs"},{"type":"doc","id":"api/type-aliases/UpdateLabelArgs","label":"UpdateLabelArgs"},{"type":"doc","id":"api/type-aliases/UpdateProjectArgs","label":"UpdateProjectArgs"},{"type":"doc","id":"api/type-aliases/UpdateSectionArgs","label":"UpdateSectionArgs"},{"type":"doc","id":"api/type-aliases/UpdateTaskArgs","label":"UpdateTaskArgs"}]},{"type":"category","label":"Functions","items":[{"type":"doc","id":"api/functions/getAuthorizationUrl","label":"getAuthorizationUrl"},{"type":"doc","id":"api/functions/getAuthStateParameter","label":"getAuthStateParameter"},{"type":"doc","id":"api/functions/getAuthToken","label":"getAuthToken"},{"type":"doc","id":"api/functions/getColorByKey","label":"getColorByKey"},{"type":"doc","id":"api/functions/getSanitizedContent","label":"getSanitizedContent"},{"type":"doc","id":"api/functions/getSanitizedTasks","label":"getSanitizedTasks"},{"type":"doc","id":"api/functions/revokeAuthToken","label":"revokeAuthToken"}]}]};
const typedocSidebar = { items: [{"type":"category","label":"Classes","items":[{"type":"doc","id":"api/classes/TodoistApi","label":"TodoistApi"},{"type":"doc","id":"api/classes/TodoistRequestError","label":"TodoistRequestError"}]},{"type":"category","label":"Interfaces","items":[{"type":"doc","id":"api/interfaces/Attachment","label":"Attachment"},{"type":"doc","id":"api/interfaces/Color","label":"Color"},{"type":"doc","id":"api/interfaces/Comment","label":"Comment"},{"type":"doc","id":"api/interfaces/Deadline","label":"Deadline"},{"type":"doc","id":"api/interfaces/DueDate","label":"DueDate"},{"type":"doc","id":"api/interfaces/Duration","label":"Duration"},{"type":"doc","id":"api/interfaces/Label","label":"Label"},{"type":"doc","id":"api/interfaces/Project","label":"Project"},{"type":"doc","id":"api/interfaces/Section","label":"Section"},{"type":"doc","id":"api/interfaces/Task","label":"Task"},{"type":"doc","id":"api/interfaces/User","label":"User"}]},{"type":"category","label":"Type Aliases","items":[{"type":"doc","id":"api/type-aliases/AddCommentArgs","label":"AddCommentArgs"},{"type":"doc","id":"api/type-aliases/AddLabelArgs","label":"AddLabelArgs"},{"type":"doc","id":"api/type-aliases/AddProjectArgs","label":"AddProjectArgs"},{"type":"doc","id":"api/type-aliases/AddSectionArgs","label":"AddSectionArgs"},{"type":"doc","id":"api/type-aliases/AddTaskArgs","label":"AddTaskArgs"},{"type":"doc","id":"api/type-aliases/AuthTokenRequestArgs","label":"AuthTokenRequestArgs"},{"type":"doc","id":"api/type-aliases/AuthTokenResponse","label":"AuthTokenResponse"},{"type":"doc","id":"api/type-aliases/GetCommentsResponse","label":"GetCommentsResponse"},{"type":"doc","id":"api/type-aliases/GetLabelsArgs","label":"GetLabelsArgs"},{"type":"doc","id":"api/type-aliases/GetLabelsResponse","label":"GetLabelsResponse"},{"type":"doc","id":"api/type-aliases/GetProjectCollaboratorsArgs","label":"GetProjectCollaboratorsArgs"},{"type":"doc","id":"api/type-aliases/GetProjectCollaboratorsResponse","label":"GetProjectCollaboratorsResponse"},{"type":"doc","id":"api/type-aliases/GetProjectCommentsArgs","label":"GetProjectCommentsArgs"},{"type":"doc","id":"api/type-aliases/GetProjectsArgs","label":"GetProjectsArgs"},{"type":"doc","id":"api/type-aliases/GetProjectsResponse","label":"GetProjectsResponse"},{"type":"doc","id":"api/type-aliases/GetSectionsArgs","label":"GetSectionsArgs"},{"type":"doc","id":"api/type-aliases/GetSectionsResponse","label":"GetSectionsResponse"},{"type":"doc","id":"api/type-aliases/GetSharedLabelsArgs","label":"GetSharedLabelsArgs"},{"type":"doc","id":"api/type-aliases/GetSharedLabelsResponse","label":"GetSharedLabelsResponse"},{"type":"doc","id":"api/type-aliases/GetTaskCommentsArgs","label":"GetTaskCommentsArgs"},{"type":"doc","id":"api/type-aliases/GetTasksArgs","label":"GetTasksArgs"},{"type":"doc","id":"api/type-aliases/GetTasksResponse","label":"GetTasksResponse"},{"type":"doc","id":"api/type-aliases/MoveTaskArgs","label":"MoveTaskArgs"},{"type":"doc","id":"api/type-aliases/Permission","label":"Permission"},{"type":"doc","id":"api/type-aliases/ProjectViewStyle","label":"ProjectViewStyle"},{"type":"doc","id":"api/type-aliases/QuickAddTaskArgs","label":"QuickAddTaskArgs"},{"type":"doc","id":"api/type-aliases/QuickAddTaskResponse","label":"QuickAddTaskResponse"},{"type":"doc","id":"api/type-aliases/RemoveSharedLabelArgs","label":"RemoveSharedLabelArgs"},{"type":"doc","id":"api/type-aliases/RenameSharedLabelArgs","label":"RenameSharedLabelArgs"},{"type":"doc","id":"api/type-aliases/RevokeAuthTokenRequestArgs","label":"RevokeAuthTokenRequestArgs"},{"type":"doc","id":"api/type-aliases/SyncTask","label":"SyncTask"},{"type":"doc","id":"api/type-aliases/TaskWithSanitizedContent","label":"TaskWithSanitizedContent"},{"type":"doc","id":"api/type-aliases/UpdateCommentArgs","label":"UpdateCommentArgs"},{"type":"doc","id":"api/type-aliases/UpdateLabelArgs","label":"UpdateLabelArgs"},{"type":"doc","id":"api/type-aliases/UpdateProjectArgs","label":"UpdateProjectArgs"},{"type":"doc","id":"api/type-aliases/UpdateSectionArgs","label":"UpdateSectionArgs"},{"type":"doc","id":"api/type-aliases/UpdateTaskArgs","label":"UpdateTaskArgs"}]},{"type":"category","label":"Functions","items":[{"type":"doc","id":"api/functions/getAuthorizationUrl","label":"getAuthorizationUrl"},{"type":"doc","id":"api/functions/getAuthStateParameter","label":"getAuthStateParameter"},{"type":"doc","id":"api/functions/getAuthToken","label":"getAuthToken"},{"type":"doc","id":"api/functions/getColorByKey","label":"getColorByKey"},{"type":"doc","id":"api/functions/getSanitizedContent","label":"getSanitizedContent"},{"type":"doc","id":"api/functions/getSanitizedTasks","label":"getSanitizedTasks"},{"type":"doc","id":"api/functions/revokeAuthToken","label":"revokeAuthToken"}]}]};
module.exports = typedocSidebar.items;