@doist/todoist-api-typescript 7.6.0 → 7.6.1
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/dist/cjs/todoist-api.js +6 -6
- package/dist/cjs/types/activity/index.js +18 -0
- package/dist/cjs/types/activity/requests.js +2 -0
- package/dist/cjs/types/activity/types.js +28 -0
- package/dist/cjs/types/backups/index.js +18 -0
- package/dist/cjs/types/backups/requests.js +2 -0
- package/dist/cjs/types/backups/types.js +8 -0
- package/dist/cjs/types/comments/index.js +18 -0
- package/dist/cjs/types/comments/requests.js +2 -0
- package/dist/cjs/types/comments/types.js +60 -0
- package/dist/cjs/types/common.js +2 -0
- package/dist/cjs/types/emails/index.js +17 -0
- package/dist/cjs/types/emails/requests.js +5 -0
- package/dist/cjs/types/id-mappings/index.js +18 -0
- package/dist/cjs/types/{requests.js → id-mappings/requests.js} +1 -7
- package/dist/cjs/types/id-mappings/types.js +12 -0
- package/dist/cjs/types/index.js +16 -2
- package/dist/cjs/types/insights/index.js +18 -0
- package/dist/cjs/types/insights/requests.js +2 -0
- package/dist/cjs/types/insights/types.js +84 -0
- package/dist/cjs/types/labels/index.js +18 -0
- package/dist/cjs/types/labels/requests.js +2 -0
- package/dist/cjs/types/labels/types.js +11 -0
- package/dist/cjs/types/productivity/index.js +17 -0
- package/dist/cjs/types/productivity/types.js +67 -0
- package/dist/cjs/types/projects/index.js +18 -0
- package/dist/cjs/types/projects/requests.js +2 -0
- package/dist/cjs/types/projects/types.js +56 -0
- package/dist/cjs/types/reminders/index.js +17 -0
- package/dist/cjs/types/reminders/requests.js +5 -0
- package/dist/cjs/types/sections/index.js +18 -0
- package/dist/cjs/types/sections/requests.js +2 -0
- package/dist/cjs/types/sections/types.js +22 -0
- package/dist/cjs/types/sync/commands/shared.js +2 -2
- package/dist/cjs/types/sync/resources/collaborators.js +2 -2
- package/dist/cjs/types/sync/resources/notes.js +2 -2
- package/dist/cjs/types/sync/resources/reminders.js +3 -3
- package/dist/cjs/types/sync/resources/user.js +2 -2
- package/dist/cjs/types/sync/resources/workspaces.js +5 -5
- package/dist/cjs/types/tasks/index.js +18 -0
- package/dist/cjs/types/tasks/requests.js +2 -0
- package/dist/cjs/types/tasks/types.js +59 -0
- package/dist/cjs/types/templates/index.js +17 -0
- package/dist/cjs/types/templates/requests.js +2 -0
- package/dist/cjs/types/uploads/index.js +17 -0
- package/dist/cjs/types/uploads/requests.js +2 -0
- package/dist/cjs/types/users/index.js +17 -0
- package/dist/cjs/types/users/types.js +51 -0
- package/dist/cjs/types/workspaces/index.js +18 -0
- package/dist/cjs/types/workspaces/requests.js +2 -0
- package/dist/cjs/types/workspaces/types.js +137 -0
- package/dist/cjs/utils/validators.js +38 -27
- package/dist/esm/todoist-api.js +2 -2
- package/dist/esm/types/activity/index.js +2 -0
- package/dist/esm/types/activity/requests.js +1 -0
- package/dist/esm/types/activity/types.js +25 -0
- package/dist/esm/types/backups/index.js +2 -0
- package/dist/esm/types/backups/requests.js +1 -0
- package/dist/esm/types/backups/types.js +5 -0
- package/dist/esm/types/comments/index.js +2 -0
- package/dist/esm/types/comments/requests.js +1 -0
- package/dist/esm/types/comments/types.js +57 -0
- package/dist/esm/types/common.js +1 -0
- package/dist/esm/types/emails/index.js +1 -0
- package/dist/esm/types/emails/requests.js +2 -0
- package/dist/esm/types/id-mappings/index.js +2 -0
- package/dist/esm/types/{requests.js → id-mappings/requests.js} +0 -6
- package/dist/esm/types/id-mappings/types.js +9 -0
- package/dist/esm/types/index.js +16 -2
- package/dist/esm/types/insights/index.js +2 -0
- package/dist/esm/types/insights/requests.js +1 -0
- package/dist/esm/types/insights/types.js +81 -0
- package/dist/esm/types/labels/index.js +2 -0
- package/dist/esm/types/labels/requests.js +1 -0
- package/dist/esm/types/labels/types.js +8 -0
- package/dist/esm/types/productivity/index.js +1 -0
- package/dist/esm/types/productivity/types.js +64 -0
- package/dist/esm/types/projects/index.js +2 -0
- package/dist/esm/types/projects/requests.js +1 -0
- package/dist/esm/types/projects/types.js +53 -0
- package/dist/esm/types/reminders/index.js +1 -0
- package/dist/esm/types/reminders/requests.js +2 -0
- package/dist/esm/types/sections/index.js +2 -0
- package/dist/esm/types/sections/requests.js +1 -0
- package/dist/esm/types/sections/types.js +19 -0
- package/dist/esm/types/sync/commands/shared.js +1 -1
- package/dist/esm/types/sync/resources/collaborators.js +1 -1
- package/dist/esm/types/sync/resources/notes.js +1 -1
- package/dist/esm/types/sync/resources/reminders.js +1 -1
- package/dist/esm/types/sync/resources/user.js +1 -1
- package/dist/esm/types/sync/resources/workspaces.js +1 -1
- package/dist/esm/types/tasks/index.js +2 -0
- package/dist/esm/types/tasks/requests.js +1 -0
- package/dist/esm/types/tasks/types.js +56 -0
- package/dist/esm/types/templates/index.js +1 -0
- package/dist/esm/types/templates/requests.js +1 -0
- package/dist/esm/types/uploads/index.js +1 -0
- package/dist/esm/types/uploads/requests.js +1 -0
- package/dist/esm/types/users/index.js +1 -0
- package/dist/esm/types/users/types.js +48 -0
- package/dist/esm/types/workspaces/index.js +2 -0
- package/dist/esm/types/workspaces/requests.js +1 -0
- package/dist/esm/types/workspaces/types.js +134 -0
- package/dist/esm/utils/validators.js +12 -1
- package/dist/types/test-utils/test-defaults.d.ts +5 -5
- package/dist/types/todoist-api.d.ts +16 -2
- package/dist/types/types/activity/index.d.ts +2 -0
- package/dist/types/types/activity/requests.d.ts +85 -0
- package/dist/types/types/activity/types.d.ts +49 -0
- package/dist/types/types/backups/index.d.ts +2 -0
- package/dist/types/types/backups/requests.d.ts +16 -0
- package/dist/types/types/backups/types.d.ts +7 -0
- package/dist/types/types/comments/index.d.ts +2 -0
- package/dist/types/types/comments/requests.d.ts +63 -0
- package/dist/types/types/comments/types.d.ts +141 -0
- package/dist/types/types/common.d.ts +6 -0
- package/dist/types/types/emails/index.d.ts +1 -0
- package/dist/types/types/emails/requests.d.ts +30 -0
- package/dist/types/types/id-mappings/index.d.ts +2 -0
- package/dist/types/types/id-mappings/requests.d.ts +28 -0
- package/dist/types/types/id-mappings/types.d.ts +13 -0
- package/dist/types/types/index.d.ts +16 -2
- package/dist/types/types/insights/index.d.ts +2 -0
- package/dist/types/types/insights/requests.d.ts +26 -0
- package/dist/types/types/insights/types.d.ts +186 -0
- package/dist/types/types/labels/index.d.ts +2 -0
- package/dist/types/types/labels/requests.d.ts +75 -0
- package/dist/types/types/labels/types.d.ts +13 -0
- package/dist/types/types/productivity/index.d.ts +1 -0
- package/dist/types/types/productivity/types.d.ts +115 -0
- package/dist/types/types/projects/index.d.ts +2 -0
- package/dist/types/types/projects/requests.d.ts +169 -0
- package/dist/types/types/projects/types.d.ts +201 -0
- package/dist/types/types/reminders/index.d.ts +1 -0
- package/dist/types/types/reminders/requests.d.ts +91 -0
- package/dist/types/types/sections/index.d.ts +2 -0
- package/dist/types/types/sections/requests.d.ts +41 -0
- package/dist/types/types/sections/types.d.ts +44 -0
- package/dist/types/types/sync/commands/projects.d.ts +2 -1
- package/dist/types/types/sync/commands/shared.d.ts +2 -2
- package/dist/types/types/sync/commands/workspaces.d.ts +1 -1
- package/dist/types/types/sync/resources/notes.d.ts +1 -1
- package/dist/types/types/sync/response.d.ts +5 -1
- package/dist/types/types/tasks/index.d.ts +2 -0
- package/dist/types/types/tasks/requests.d.ts +197 -0
- package/dist/types/types/tasks/types.d.ts +162 -0
- package/dist/types/types/templates/index.d.ts +1 -0
- package/dist/types/types/templates/requests.d.ts +92 -0
- package/dist/types/types/uploads/index.d.ts +1 -0
- package/dist/types/types/uploads/requests.d.ts +32 -0
- package/dist/types/types/users/index.d.ts +1 -0
- package/dist/types/types/users/types.d.ts +66 -0
- package/dist/types/types/workspaces/index.d.ts +2 -0
- package/dist/types/types/workspaces/requests.d.ts +260 -0
- package/dist/types/types/workspaces/types.d.ts +225 -0
- package/dist/types/utils/colors.d.ts +1 -1
- package/dist/types/utils/validators.d.ts +7 -6
- package/package.json +1 -1
- package/dist/cjs/types/entities.js +0 -552
- package/dist/esm/types/entities.js +0 -548
- package/dist/types/types/entities.d.ts +0 -1211
- package/dist/types/types/requests.d.ts +0 -1188
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DueDateSchema, DeadlineSchema } from '../tasks/types.js';
|
|
3
|
+
/** Available project collaborator roles. */
|
|
4
|
+
export const COLLABORATOR_ROLES = [
|
|
5
|
+
'CREATOR',
|
|
6
|
+
'ADMIN',
|
|
7
|
+
'READ_WRITE',
|
|
8
|
+
'EDIT_ONLY',
|
|
9
|
+
'COMPLETE_ONLY',
|
|
10
|
+
];
|
|
11
|
+
/**
|
|
12
|
+
* Available workspace roles.
|
|
13
|
+
*/
|
|
14
|
+
export const WORKSPACE_ROLES = ['ADMIN', 'MEMBER', 'GUEST'];
|
|
15
|
+
export const WorkspaceRoleSchema = z.enum(WORKSPACE_ROLES);
|
|
16
|
+
export const WorkspaceUserSchema = z.object({
|
|
17
|
+
userId: z.string(),
|
|
18
|
+
workspaceId: z.string(),
|
|
19
|
+
userEmail: z.string(),
|
|
20
|
+
fullName: z.string(),
|
|
21
|
+
timezone: z.string(),
|
|
22
|
+
role: WorkspaceRoleSchema,
|
|
23
|
+
imageId: z.string().nullable(),
|
|
24
|
+
isDeleted: z.boolean().default(false),
|
|
25
|
+
});
|
|
26
|
+
export const WorkspaceInvitationSchema = z.object({
|
|
27
|
+
id: z.string().default('0'),
|
|
28
|
+
inviterId: z.string(),
|
|
29
|
+
userEmail: z.string(),
|
|
30
|
+
workspaceId: z.string(),
|
|
31
|
+
role: WorkspaceRoleSchema,
|
|
32
|
+
isExistingUser: z.boolean(),
|
|
33
|
+
});
|
|
34
|
+
export const PlanPriceSchema = z.object({
|
|
35
|
+
currency: z.string(),
|
|
36
|
+
amount: z.union([z.number(), z.string()]),
|
|
37
|
+
interval: z.string().optional(),
|
|
38
|
+
});
|
|
39
|
+
export const FormattedPriceListingSchema = z.object({
|
|
40
|
+
currency: z.string().optional(),
|
|
41
|
+
amount: z.number().optional(),
|
|
42
|
+
interval: z.string().optional(),
|
|
43
|
+
formatted: z.string().optional(),
|
|
44
|
+
});
|
|
45
|
+
/** Available workspace plan names. */
|
|
46
|
+
export const WORKSPACE_CURRENT_PLANS = ['Business', 'Starter'];
|
|
47
|
+
/** Available workspace plan statuses. */
|
|
48
|
+
export const WORKSPACE_PLAN_STATUSES = [
|
|
49
|
+
'Active',
|
|
50
|
+
'Downgraded',
|
|
51
|
+
'Cancelled',
|
|
52
|
+
'NeverSubscribed',
|
|
53
|
+
];
|
|
54
|
+
export const WorkspacePlanDetailsSchema = z.object({
|
|
55
|
+
currentMemberCount: z.number(),
|
|
56
|
+
currentPlan: z.enum(WORKSPACE_CURRENT_PLANS),
|
|
57
|
+
currentPlanStatus: z.enum(WORKSPACE_PLAN_STATUSES),
|
|
58
|
+
downgradeAt: z.string().nullable(),
|
|
59
|
+
currentActiveProjects: z.number(),
|
|
60
|
+
maximumActiveProjects: z.number(),
|
|
61
|
+
priceList: z.array(FormattedPriceListingSchema),
|
|
62
|
+
workspaceId: z.number(),
|
|
63
|
+
isTrialing: z.boolean(),
|
|
64
|
+
trialEndsAt: z.string().nullable(),
|
|
65
|
+
cancelAtPeriodEnd: z.boolean(),
|
|
66
|
+
hasTrialed: z.boolean(),
|
|
67
|
+
planPrice: PlanPriceSchema.nullable(),
|
|
68
|
+
hasBillingPortal: z.boolean(),
|
|
69
|
+
hasBillingPortalSwitchToAnnual: z.boolean(),
|
|
70
|
+
});
|
|
71
|
+
export const JoinWorkspaceResultSchema = z.object({
|
|
72
|
+
customSortingApplied: z.boolean(),
|
|
73
|
+
projectSortPreference: z.string(),
|
|
74
|
+
role: WorkspaceRoleSchema,
|
|
75
|
+
userId: z.string(),
|
|
76
|
+
workspaceId: z.string(),
|
|
77
|
+
});
|
|
78
|
+
/**
|
|
79
|
+
* Available workspace plans.
|
|
80
|
+
*/
|
|
81
|
+
export const WORKSPACE_PLANS = ['STARTER', 'BUSINESS'];
|
|
82
|
+
export const WorkspacePlanSchema = z.enum(WORKSPACE_PLANS);
|
|
83
|
+
/**
|
|
84
|
+
* Workspace resource limits.
|
|
85
|
+
*/
|
|
86
|
+
export const WorkspaceLimitsSchema = z
|
|
87
|
+
.object({
|
|
88
|
+
current: z.record(z.string(), z.any()).nullable(),
|
|
89
|
+
next: z.record(z.string(), z.any()).nullable(),
|
|
90
|
+
})
|
|
91
|
+
.catchall(z.any());
|
|
92
|
+
/**
|
|
93
|
+
* Workspace properties (flexible object for unknown fields).
|
|
94
|
+
*/
|
|
95
|
+
export const WorkspacePropertiesSchema = z.record(z.string(), z.unknown());
|
|
96
|
+
/**
|
|
97
|
+
* Represents a workspace in Todoist.
|
|
98
|
+
*/
|
|
99
|
+
export const WorkspaceSchema = z.object({
|
|
100
|
+
id: z.string(),
|
|
101
|
+
name: z.string(),
|
|
102
|
+
plan: WorkspacePlanSchema,
|
|
103
|
+
role: WorkspaceRoleSchema,
|
|
104
|
+
inviteCode: z.string(),
|
|
105
|
+
isLinkSharingEnabled: z.boolean(),
|
|
106
|
+
isGuestAllowed: z.boolean(),
|
|
107
|
+
limits: WorkspaceLimitsSchema,
|
|
108
|
+
logoBig: z.string().nullish(),
|
|
109
|
+
logoMedium: z.string().nullish(),
|
|
110
|
+
logoSmall: z.string().nullish(),
|
|
111
|
+
logoS640: z.string().nullish(),
|
|
112
|
+
createdAt: z.string(),
|
|
113
|
+
creatorId: z.string(),
|
|
114
|
+
properties: WorkspacePropertiesSchema,
|
|
115
|
+
});
|
|
116
|
+
export const MemberActivityInfoSchema = z.object({
|
|
117
|
+
userId: z.string(),
|
|
118
|
+
tasksAssigned: z.number().int(),
|
|
119
|
+
tasksOverdue: z.number().int(),
|
|
120
|
+
});
|
|
121
|
+
export const WorkspaceUserTaskSchema = z.object({
|
|
122
|
+
id: z.string(),
|
|
123
|
+
content: z.string(),
|
|
124
|
+
responsibleUid: z.string().nullable(),
|
|
125
|
+
due: DueDateSchema.nullable(),
|
|
126
|
+
deadline: DeadlineSchema.nullable(),
|
|
127
|
+
labels: z.array(z.string()),
|
|
128
|
+
notesCount: z.number().int(),
|
|
129
|
+
projectId: z.string(),
|
|
130
|
+
projectName: z.string(),
|
|
131
|
+
priority: z.number().int(),
|
|
132
|
+
description: z.string(),
|
|
133
|
+
isOverdue: z.boolean(),
|
|
134
|
+
});
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TaskSchema } from '../types/tasks/types.js';
|
|
2
|
+
import { PersonalProjectSchema, WorkspaceProjectSchema, } from '../types/projects/types.js';
|
|
3
|
+
import { SectionSchema } from '../types/sections/types.js';
|
|
4
|
+
import { LabelSchema } from '../types/labels/types.js';
|
|
5
|
+
import { AttachmentSchema, CommentSchema } from '../types/comments/types.js';
|
|
6
|
+
import { UserSchema, CurrentUserSchema } from '../types/users/types.js';
|
|
7
|
+
import { ProductivityStatsSchema } from '../types/productivity/types.js';
|
|
8
|
+
import { ActivityEventSchema } from '../types/activity/types.js';
|
|
9
|
+
import { WorkspaceUserSchema, WorkspaceInvitationSchema, WorkspacePlanDetailsSchema, JoinWorkspaceResultSchema, WorkspaceSchema, MemberActivityInfoSchema, WorkspaceUserTaskSchema, } from '../types/workspaces/types.js';
|
|
10
|
+
import { ProjectActivityStatsSchema, ProjectHealthSchema, ProjectHealthContextSchema, ProjectProgressSchema, WorkspaceInsightsSchema, } from '../types/insights/types.js';
|
|
11
|
+
import { BackupSchema } from '../types/backups/types.js';
|
|
12
|
+
import { IdMappingSchema, MovedIdSchema } from '../types/id-mappings/types.js';
|
|
2
13
|
import { FilterSchema, CollaboratorSchema, CollaboratorStateSchema, FolderSchema, NoteSchema, TooltipsSchema, WorkspaceFilterSchema, WorkspaceGoalSchema, CalendarSchema, CalendarAccountSchema, ReminderSchema, LocationReminderSchema, CompletedInfoSchema, ViewOptionsSchema, ProjectViewOptionsDefaultsSchema, UserPlanLimitsSchema, LiveNotificationSchema, SyncWorkspaceSchema, SyncUserSchema, UserSettingsSchema, SuggestionSchema, } from '../types/sync/resources/index.js';
|
|
3
14
|
function createValidator(schema) {
|
|
4
15
|
return (input) => schema.parse(input);
|
|
@@ -135,7 +135,7 @@ export declare const DEFAULT_COMMENT: {
|
|
|
135
135
|
fileType?: string | null | undefined;
|
|
136
136
|
fileUrl?: string | null | undefined;
|
|
137
137
|
fileDuration?: number | null | undefined;
|
|
138
|
-
uploadState?: "
|
|
138
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
139
139
|
image?: string | null | undefined;
|
|
140
140
|
imageWidth?: number | null | undefined;
|
|
141
141
|
imageHeight?: number | null | undefined;
|
|
@@ -164,7 +164,7 @@ export declare const INVALID_COMMENT: {
|
|
|
164
164
|
fileType?: string | null | undefined;
|
|
165
165
|
fileUrl?: string | null | undefined;
|
|
166
166
|
fileDuration?: number | null | undefined;
|
|
167
|
-
uploadState?: "
|
|
167
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
168
168
|
image?: string | null | undefined;
|
|
169
169
|
imageWidth?: number | null | undefined;
|
|
170
170
|
imageHeight?: number | null | undefined;
|
|
@@ -191,7 +191,7 @@ export declare const COMMENT_WITH_OPTIONALS_AS_NULL_TASK: {
|
|
|
191
191
|
fileType?: string | null | undefined;
|
|
192
192
|
fileUrl?: string | null | undefined;
|
|
193
193
|
fileDuration?: number | null | undefined;
|
|
194
|
-
uploadState?: "
|
|
194
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
195
195
|
image?: string | null | undefined;
|
|
196
196
|
imageWidth?: number | null | undefined;
|
|
197
197
|
imageHeight?: number | null | undefined;
|
|
@@ -218,7 +218,7 @@ export declare const COMMENT_WITH_ATTACHMENT_WITH_OPTIONALS_AS_NULL: {
|
|
|
218
218
|
fileType?: string | null | undefined;
|
|
219
219
|
fileUrl?: string | null | undefined;
|
|
220
220
|
fileDuration?: number | null | undefined;
|
|
221
|
-
uploadState?: "
|
|
221
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
222
222
|
image?: string | null | undefined;
|
|
223
223
|
imageWidth?: number | null | undefined;
|
|
224
224
|
imageHeight?: number | null | undefined;
|
|
@@ -244,7 +244,7 @@ export declare const COMMENT_WITH_OPTIONALS_AS_NULL_PROJECT: {
|
|
|
244
244
|
fileType?: string | null | undefined;
|
|
245
245
|
fileUrl?: string | null | undefined;
|
|
246
246
|
fileDuration?: number | null | undefined;
|
|
247
|
-
uploadState?: "
|
|
247
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
248
248
|
image?: string | null | undefined;
|
|
249
249
|
imageWidth?: number | null | undefined;
|
|
250
250
|
imageHeight?: number | null | undefined;
|
|
@@ -1,5 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Task, AddTaskArgs, GetTasksArgs, GetTasksByFilterArgs, UpdateTaskArgs, QuickAddTaskArgs, type MoveTaskArgs, GetCompletedTasksByCompletionDateArgs, GetCompletedTasksByDueDateArgs, GetCompletedTasksResponse, SearchCompletedTasksArgs, GetTasksResponse, GetAllCompletedTasksArgs, GetAllCompletedTasksResponse } from './types/tasks/index.js';
|
|
2
|
+
import { PersonalProject, WorkspaceProject, AddProjectArgs, UpdateProjectArgs, GetProjectsArgs, SearchProjectsArgs, GetProjectCollaboratorsArgs, GetProjectsResponse, GetProjectCollaboratorsResponse, GetArchivedProjectsArgs, GetArchivedProjectsResponse, MoveProjectToWorkspaceArgs, MoveProjectToPersonalArgs, GetArchivedProjectsCountArgs, GetArchivedProjectsCountResponse, GetProjectPermissionsResponse, GetFullProjectArgs, GetFullProjectResponse } from './types/projects/index.js';
|
|
3
|
+
import { Section, AddSectionArgs, UpdateSectionArgs, GetSectionsArgs, SearchSectionsArgs, GetSectionsResponse } from './types/sections/index.js';
|
|
4
|
+
import { Label, AddLabelArgs, UpdateLabelArgs, GetLabelsArgs, SearchLabelsArgs, GetLabelsResponse, GetSharedLabelsArgs, GetSharedLabelsResponse, RenameSharedLabelArgs, RemoveSharedLabelArgs } from './types/labels/index.js';
|
|
5
|
+
import { Attachment, Comment, AddCommentArgs, UpdateCommentArgs, GetProjectCommentsArgs, GetTaskCommentsArgs, GetCommentsResponse } from './types/comments/index.js';
|
|
6
|
+
import { AddReminderArgs, UpdateReminderArgs, AddLocationReminderArgs, UpdateLocationReminderArgs, GetRemindersArgs, GetRemindersResponse, GetLocationRemindersArgs, GetLocationRemindersResponse } from './types/reminders/index.js';
|
|
7
|
+
import { CurrentUser } from './types/users/index.js';
|
|
8
|
+
import { ProductivityStats } from './types/productivity/index.js';
|
|
9
|
+
import { GetActivityLogsArgs, GetActivityLogsResponse } from './types/activity/index.js';
|
|
10
|
+
import { WorkspaceInvitation, WorkspacePlanDetails, JoinWorkspaceResult, Workspace, AddWorkspaceArgs, UpdateWorkspaceArgs, GetWorkspaceMembersActivityArgs, GetWorkspaceMembersActivityResponse, GetWorkspaceUserTasksArgs, GetWorkspaceUserTasksResponse, InviteWorkspaceUsersArgs, InviteWorkspaceUsersResponse, UpdateWorkspaceUserArgs, RemoveWorkspaceUserArgs, GetWorkspaceInvitationsArgs, DeleteWorkspaceInvitationArgs, WorkspaceInvitationActionArgs, JoinWorkspaceArgs, WorkspaceLogoArgs, GetWorkspacePlanDetailsArgs, GetWorkspaceUsersArgs, GetWorkspaceUsersResponse, GetWorkspaceProjectsArgs, WorkspaceInvitationsResponse, AllWorkspaceInvitationsResponse, WorkspaceLogoResponse } from './types/workspaces/index.js';
|
|
11
|
+
import { ProjectActivityStats, ProjectHealth, ProjectHealthContext, ProjectProgress, WorkspaceInsights, GetProjectActivityStatsArgs, GetWorkspaceInsightsArgs } from './types/insights/index.js';
|
|
12
|
+
import { Backup, GetBackupsArgs, DownloadBackupArgs } from './types/backups/index.js';
|
|
13
|
+
import { IdMapping, MovedId, GetIdMappingsArgs, GetMovedIdsArgs } from './types/id-mappings/index.js';
|
|
14
|
+
import { GetOrCreateEmailArgs, GetOrCreateEmailResponse, DisableEmailArgs } from './types/emails/index.js';
|
|
15
|
+
import { UploadFileArgs, DeleteUploadArgs } from './types/uploads/index.js';
|
|
16
|
+
import { ExportTemplateFileArgs, ExportTemplateUrlArgs, ExportTemplateUrlResponse, CreateProjectFromTemplateArgs, CreateProjectFromTemplateResponse, ImportTemplateIntoProjectArgs, ImportTemplateFromIdArgs, ImportTemplateResponse } from './types/templates/index.js';
|
|
3
17
|
import { CustomFetch, CustomFetchResponse } from './types/http.js';
|
|
4
18
|
import type { Reminder } from './types/index.js';
|
|
5
19
|
import { type SyncResponse, type SyncRequest } from './types/sync/index.js';
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { ActivityEvent, ActivityObjectEventType } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Common arguments for retrieving activity logs (excluding filter-type params).
|
|
4
|
+
*/
|
|
5
|
+
type GetActivityLogsArgsCommon = {
|
|
6
|
+
/**
|
|
7
|
+
* Filter by the ID of a specific object.
|
|
8
|
+
*/
|
|
9
|
+
objectId?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Filter events by parent project ID.
|
|
12
|
+
*/
|
|
13
|
+
parentProjectId?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Filter events by parent task ID.
|
|
16
|
+
*/
|
|
17
|
+
parentItemId?: string;
|
|
18
|
+
/**
|
|
19
|
+
* When true, includes the parent object data in the response.
|
|
20
|
+
*/
|
|
21
|
+
includeParentObject?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* When true, includes child object data in the response.
|
|
24
|
+
*/
|
|
25
|
+
includeChildObjects?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Filter by the user ID who initiated the event.
|
|
28
|
+
*/
|
|
29
|
+
initiatorId?: string;
|
|
30
|
+
/**
|
|
31
|
+
* When true, filters for events with no initiator (system-generated events).
|
|
32
|
+
* When false, filters for events with an initiator.
|
|
33
|
+
* When null or undefined, no filtering on initiator is applied.
|
|
34
|
+
*/
|
|
35
|
+
initiatorIdNull?: boolean | null;
|
|
36
|
+
/**
|
|
37
|
+
* When true, ensures the last state of objects is included in the response.
|
|
38
|
+
*/
|
|
39
|
+
ensureLastState?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* When true, includes comment annotations in the response.
|
|
42
|
+
*/
|
|
43
|
+
annotateNotes?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* When true, includes parent object annotations in the response.
|
|
46
|
+
*/
|
|
47
|
+
annotateParents?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Pagination cursor for retrieving the next page of results.
|
|
50
|
+
*/
|
|
51
|
+
cursor?: string | null;
|
|
52
|
+
/**
|
|
53
|
+
* Maximum number of results to return per page.
|
|
54
|
+
*/
|
|
55
|
+
limit?: number;
|
|
56
|
+
/**
|
|
57
|
+
* Start date for filtering events (inclusive). Replaces deprecated `since`.
|
|
58
|
+
* Accepts a Date object or YYYY-MM-DD string.
|
|
59
|
+
*/
|
|
60
|
+
dateFrom?: Date | string;
|
|
61
|
+
/**
|
|
62
|
+
* End date for filtering events (inclusive). Replaces deprecated `until`.
|
|
63
|
+
* Accepts a Date object or YYYY-MM-DD string.
|
|
64
|
+
*/
|
|
65
|
+
dateTo?: Date | string;
|
|
66
|
+
};
|
|
67
|
+
export type GetActivityLogsArgs = GetActivityLogsArgsCommon & {
|
|
68
|
+
objectEventTypes?: ActivityObjectEventType | ActivityObjectEventType[];
|
|
69
|
+
/** @removed Use `objectEventTypes` instead. */
|
|
70
|
+
objectType?: never;
|
|
71
|
+
/** @removed Use `objectEventTypes` instead. */
|
|
72
|
+
eventType?: never;
|
|
73
|
+
/** @removed Use `dateFrom` instead. */
|
|
74
|
+
since?: never;
|
|
75
|
+
/** @removed Use `dateTo` instead. */
|
|
76
|
+
until?: never;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Response from retrieving activity logs.
|
|
80
|
+
*/
|
|
81
|
+
export type GetActivityLogsResponse = {
|
|
82
|
+
results: ActivityEvent[];
|
|
83
|
+
nextCursor: string | null;
|
|
84
|
+
};
|
|
85
|
+
export {};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Type hints for known object types. Accepts any string for forward compatibility.
|
|
4
|
+
*/
|
|
5
|
+
export type ActivityObjectType = 'task' | 'comment' | 'project' | (string & Record<string, never>);
|
|
6
|
+
/**
|
|
7
|
+
* Type hints for known event types. Accepts any string for forward compatibility.
|
|
8
|
+
*/
|
|
9
|
+
export type ActivityEventType = 'added' | 'updated' | 'deleted' | 'completed' | 'uncompleted' | 'archived' | 'unarchived' | 'shared' | 'left' | (string & Record<string, never>);
|
|
10
|
+
type ModernActivityObjectType = 'task' | 'comment' | 'project' | (string & Record<string, never>);
|
|
11
|
+
/**
|
|
12
|
+
* Combined object:event filter string for the `objectEventTypes` parameter of `getActivityLogs`.
|
|
13
|
+
*
|
|
14
|
+
* Uses modern object type names (`task`, `comment`) rather than legacy API names (`item`, `note`).
|
|
15
|
+
* Either part may be omitted:
|
|
16
|
+
* - `'task:added'` — task additions only
|
|
17
|
+
* - `'task:'` — all events for tasks
|
|
18
|
+
* - `':deleted'` — all deleted events across all object types
|
|
19
|
+
*
|
|
20
|
+
* The final `string & Record<string, never>` member allows any arbitrary string
|
|
21
|
+
* to be passed for forward compatibility, while still providing autocomplete for
|
|
22
|
+
* the known combinations above.
|
|
23
|
+
*/
|
|
24
|
+
export type ActivityObjectEventType = `${ModernActivityObjectType}:${ActivityEventType}` | `${ModernActivityObjectType}:` | `:${ActivityEventType}` | (string & Record<string, never>);
|
|
25
|
+
/**
|
|
26
|
+
* Flexible object containing event-specific data.
|
|
27
|
+
* Uses z.record to accept any properties for forward compatibility.
|
|
28
|
+
*/
|
|
29
|
+
export declare const ActivityEventExtraDataSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
30
|
+
export type ActivityEventExtraData = z.infer<typeof ActivityEventExtraDataSchema>;
|
|
31
|
+
/**
|
|
32
|
+
* Activity log event schema. Accepts unknown fields for forward compatibility.
|
|
33
|
+
*/
|
|
34
|
+
export declare const ActivityEventSchema: z.ZodObject<{
|
|
35
|
+
objectType: z.ZodString;
|
|
36
|
+
objectId: z.ZodString;
|
|
37
|
+
eventType: z.ZodString;
|
|
38
|
+
eventDate: z.ZodString;
|
|
39
|
+
id: z.ZodNullable<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>, z.ZodTransform<string, string | number>>>;
|
|
40
|
+
parentProjectId: z.ZodNullable<z.ZodString>;
|
|
41
|
+
parentItemId: z.ZodNullable<z.ZodString>;
|
|
42
|
+
initiatorId: z.ZodNullable<z.ZodString>;
|
|
43
|
+
extraData: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
44
|
+
}, z.core.$catchall<z.ZodAny>>;
|
|
45
|
+
/**
|
|
46
|
+
* Represents an activity log event in Todoist.
|
|
47
|
+
*/
|
|
48
|
+
export type ActivityEvent = z.infer<typeof ActivityEventSchema>;
|
|
49
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Arguments for listing backups.
|
|
3
|
+
* @see https://developer.todoist.com/api/v1/#tag/Backups/operation/get_backups_api_v1_backups_get
|
|
4
|
+
*/
|
|
5
|
+
export type GetBackupsArgs = {
|
|
6
|
+
/** MFA token if required. Not needed when using an OAuth token with the `backups:read` scope. */
|
|
7
|
+
mfaToken?: string | null;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Arguments for downloading a backup.
|
|
11
|
+
* @see https://developer.todoist.com/api/v1/#tag/Backups/operation/download_backup_api_v1_backups_download_get
|
|
12
|
+
*/
|
|
13
|
+
export type DownloadBackupArgs = {
|
|
14
|
+
/** The backup file URL. */
|
|
15
|
+
file: string;
|
|
16
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { RequireExactlyOne } from 'type-fest';
|
|
2
|
+
import type { Comment } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Arguments for retrieving comments.
|
|
5
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments/operation/get_comments_api_v1_comments_get
|
|
6
|
+
*/
|
|
7
|
+
export type GetCommentsArgs = {
|
|
8
|
+
taskId: string;
|
|
9
|
+
projectId?: never;
|
|
10
|
+
cursor?: string | null;
|
|
11
|
+
limit?: number;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Arguments for retrieving task comments.
|
|
15
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments/operation/get_comments_api_v1_comments_get
|
|
16
|
+
*/
|
|
17
|
+
export type GetTaskCommentsArgs = {
|
|
18
|
+
taskId: string;
|
|
19
|
+
projectId?: never;
|
|
20
|
+
cursor?: string | null;
|
|
21
|
+
limit?: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Arguments for retrieving project comments.
|
|
25
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments/operation/get_comments_api_v1_comments_get
|
|
26
|
+
*/
|
|
27
|
+
export type GetProjectCommentsArgs = {
|
|
28
|
+
projectId: string;
|
|
29
|
+
taskId?: never;
|
|
30
|
+
cursor?: string | null;
|
|
31
|
+
limit?: number;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Response from retrieving comments.
|
|
35
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments/operation/get_comments_api_v1_comments_get
|
|
36
|
+
*/
|
|
37
|
+
export type GetCommentsResponse = {
|
|
38
|
+
results: Comment[];
|
|
39
|
+
nextCursor: string | null;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Arguments for creating a new comment.
|
|
43
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments/operation/create_comment_api_v1_comments_post
|
|
44
|
+
*/
|
|
45
|
+
export type AddCommentArgs = {
|
|
46
|
+
content: string;
|
|
47
|
+
attachment?: {
|
|
48
|
+
fileName?: string;
|
|
49
|
+
fileUrl: string;
|
|
50
|
+
fileType?: string;
|
|
51
|
+
resourceType?: string;
|
|
52
|
+
} | null;
|
|
53
|
+
} & RequireExactlyOne<{
|
|
54
|
+
taskId?: string;
|
|
55
|
+
projectId?: string;
|
|
56
|
+
}>;
|
|
57
|
+
/**
|
|
58
|
+
* Arguments for updating a comment.
|
|
59
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments/operation/update_comment_api_v1_comments__comment_id__post
|
|
60
|
+
*/
|
|
61
|
+
export type UpdateCommentArgs = {
|
|
62
|
+
content: string;
|
|
63
|
+
};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Available file attachment upload states. */
|
|
3
|
+
export declare const UPLOAD_STATES: readonly ["pending", "completed"];
|
|
4
|
+
/** Upload state of a file attachment. */
|
|
5
|
+
export type UploadState = (typeof UPLOAD_STATES)[number];
|
|
6
|
+
export declare const AttachmentSchema: z.ZodObject<{
|
|
7
|
+
resourceType: z.ZodString;
|
|
8
|
+
fileName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
9
|
+
fileSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
10
|
+
fileType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
11
|
+
fileUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
12
|
+
fileDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
13
|
+
uploadState: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
14
|
+
completed: "completed";
|
|
15
|
+
pending: "pending";
|
|
16
|
+
}>>>;
|
|
17
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
|
+
imageWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
19
|
+
imageHeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
20
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
22
|
+
}, z.core.$strip>;
|
|
23
|
+
/**
|
|
24
|
+
* Represents a file attachment in a comment.
|
|
25
|
+
* @see https://developer.todoist.com/api/v1/#tag/Sync/Comments/File-Attachments
|
|
26
|
+
*/
|
|
27
|
+
export type Attachment = z.infer<typeof AttachmentSchema>;
|
|
28
|
+
export declare const RawCommentSchema: z.ZodObject<{
|
|
29
|
+
id: z.ZodString;
|
|
30
|
+
itemId: z.ZodOptional<z.ZodString>;
|
|
31
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
content: z.ZodString;
|
|
33
|
+
postedAt: z.ZodString;
|
|
34
|
+
fileAttachment: z.ZodNullable<z.ZodObject<{
|
|
35
|
+
resourceType: z.ZodString;
|
|
36
|
+
fileName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
37
|
+
fileSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
38
|
+
fileType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
39
|
+
fileUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
40
|
+
fileDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
41
|
+
uploadState: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
42
|
+
completed: "completed";
|
|
43
|
+
pending: "pending";
|
|
44
|
+
}>>>;
|
|
45
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
46
|
+
imageWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
47
|
+
imageHeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
48
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
49
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
50
|
+
}, z.core.$strip>>;
|
|
51
|
+
postedUid: z.ZodString;
|
|
52
|
+
uidsToNotify: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
53
|
+
reactions: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
|
|
54
|
+
isDeleted: z.ZodBoolean;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
/**
|
|
57
|
+
* Represents a raw comment response from the API.
|
|
58
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments
|
|
59
|
+
*/
|
|
60
|
+
export type RawComment = z.infer<typeof RawCommentSchema>;
|
|
61
|
+
export declare const CommentSchema: z.ZodPipe<z.ZodObject<{
|
|
62
|
+
id: z.ZodString;
|
|
63
|
+
itemId: z.ZodOptional<z.ZodString>;
|
|
64
|
+
projectId: z.ZodOptional<z.ZodString>;
|
|
65
|
+
content: z.ZodString;
|
|
66
|
+
postedAt: z.ZodString;
|
|
67
|
+
fileAttachment: z.ZodNullable<z.ZodObject<{
|
|
68
|
+
resourceType: z.ZodString;
|
|
69
|
+
fileName: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
fileSize: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
71
|
+
fileType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
+
fileUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
73
|
+
fileDuration: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
74
|
+
uploadState: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
|
|
75
|
+
completed: "completed";
|
|
76
|
+
pending: "pending";
|
|
77
|
+
}>>>;
|
|
78
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
79
|
+
imageWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
80
|
+
imageHeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
81
|
+
url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
82
|
+
title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
83
|
+
}, z.core.$strip>>;
|
|
84
|
+
postedUid: z.ZodString;
|
|
85
|
+
uidsToNotify: z.ZodNullable<z.ZodArray<z.ZodString>>;
|
|
86
|
+
reactions: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
|
|
87
|
+
isDeleted: z.ZodBoolean;
|
|
88
|
+
}, z.core.$strip>, z.ZodTransform<{
|
|
89
|
+
taskId: string | undefined;
|
|
90
|
+
id: string;
|
|
91
|
+
content: string;
|
|
92
|
+
postedAt: string;
|
|
93
|
+
fileAttachment: {
|
|
94
|
+
resourceType: string;
|
|
95
|
+
fileName?: string | null | undefined;
|
|
96
|
+
fileSize?: number | null | undefined;
|
|
97
|
+
fileType?: string | null | undefined;
|
|
98
|
+
fileUrl?: string | null | undefined;
|
|
99
|
+
fileDuration?: number | null | undefined;
|
|
100
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
101
|
+
image?: string | null | undefined;
|
|
102
|
+
imageWidth?: number | null | undefined;
|
|
103
|
+
imageHeight?: number | null | undefined;
|
|
104
|
+
url?: string | null | undefined;
|
|
105
|
+
title?: string | null | undefined;
|
|
106
|
+
} | null;
|
|
107
|
+
postedUid: string;
|
|
108
|
+
uidsToNotify: string[] | null;
|
|
109
|
+
reactions: Record<string, string[]> | null;
|
|
110
|
+
isDeleted: boolean;
|
|
111
|
+
projectId?: string | undefined;
|
|
112
|
+
}, {
|
|
113
|
+
id: string;
|
|
114
|
+
content: string;
|
|
115
|
+
postedAt: string;
|
|
116
|
+
fileAttachment: {
|
|
117
|
+
resourceType: string;
|
|
118
|
+
fileName?: string | null | undefined;
|
|
119
|
+
fileSize?: number | null | undefined;
|
|
120
|
+
fileType?: string | null | undefined;
|
|
121
|
+
fileUrl?: string | null | undefined;
|
|
122
|
+
fileDuration?: number | null | undefined;
|
|
123
|
+
uploadState?: "completed" | "pending" | null | undefined;
|
|
124
|
+
image?: string | null | undefined;
|
|
125
|
+
imageWidth?: number | null | undefined;
|
|
126
|
+
imageHeight?: number | null | undefined;
|
|
127
|
+
url?: string | null | undefined;
|
|
128
|
+
title?: string | null | undefined;
|
|
129
|
+
} | null;
|
|
130
|
+
postedUid: string;
|
|
131
|
+
uidsToNotify: string[] | null;
|
|
132
|
+
reactions: Record<string, string[]> | null;
|
|
133
|
+
isDeleted: boolean;
|
|
134
|
+
itemId?: string | undefined;
|
|
135
|
+
projectId?: string | undefined;
|
|
136
|
+
}>>;
|
|
137
|
+
/**
|
|
138
|
+
* Represents a comment in Todoist.
|
|
139
|
+
* @see https://developer.todoist.com/api/v1/#tag/Comments
|
|
140
|
+
*/
|
|
141
|
+
export type Comment = z.infer<typeof CommentSchema>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './requests.js';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Object types that support email forwarding. */
|
|
2
|
+
export declare const EMAIL_OBJECT_TYPES: readonly ["project", "project_comments", "task"];
|
|
3
|
+
/** Object type that supports email forwarding. */
|
|
4
|
+
export type EmailObjectType = (typeof EMAIL_OBJECT_TYPES)[number];
|
|
5
|
+
/**
|
|
6
|
+
* Arguments for getting or creating an email forwarding address.
|
|
7
|
+
* @see https://developer.todoist.com/api/v1/#tag/Emails/operation/email_get_or_create_api_v1_emails_put
|
|
8
|
+
*/
|
|
9
|
+
export type GetOrCreateEmailArgs = {
|
|
10
|
+
/** The type of object to forward emails to. */
|
|
11
|
+
objType: EmailObjectType;
|
|
12
|
+
/** The ID of the object. */
|
|
13
|
+
objId: string;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Response from getting or creating an email forwarding address.
|
|
17
|
+
*/
|
|
18
|
+
export type GetOrCreateEmailResponse = {
|
|
19
|
+
email: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Arguments for disabling email forwarding.
|
|
23
|
+
* @see https://developer.todoist.com/api/v1/#tag/Emails/operation/email_disable_api_v1_emails_delete
|
|
24
|
+
*/
|
|
25
|
+
export type DisableEmailArgs = {
|
|
26
|
+
/** The type of object to disable forwarding for. */
|
|
27
|
+
objType: EmailObjectType;
|
|
28
|
+
/** The ID of the object. */
|
|
29
|
+
objId: string;
|
|
30
|
+
};
|