@37signals/basecamp 0.20.0 → 0.22.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 +1 -0
- package/dist/client.d.ts +5 -2
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -2
- package/dist/client.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +176 -2
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +176 -2
- package/dist/generated/openapi-stripped.json +2882 -1276
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +15 -1
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +15 -1
- package/dist/generated/person-id-sites.d.ts.map +1 -1
- package/dist/generated/person-id-sites.js +61 -2
- package/dist/generated/person-id-sites.js.map +1 -1
- package/dist/generated/person-id-sites.ts +61 -2
- package/dist/generated/schema.d.ts +1406 -92
- package/dist/generated/services/bookmarks.d.ts +1 -1
- package/dist/generated/services/bookmarks.js +1 -1
- package/dist/generated/services/bookmarks.ts +1 -1
- package/dist/generated/services/boosts.d.ts +2 -2
- package/dist/generated/services/boosts.js +2 -2
- package/dist/generated/services/boosts.ts +2 -2
- package/dist/generated/services/campfires.d.ts +4 -4
- package/dist/generated/services/campfires.js +4 -4
- package/dist/generated/services/campfires.ts +4 -4
- package/dist/generated/services/card-steps.d.ts +15 -11
- package/dist/generated/services/card-steps.d.ts.map +1 -1
- package/dist/generated/services/card-steps.js +4 -4
- package/dist/generated/services/card-steps.js.map +1 -1
- package/dist/generated/services/card-steps.ts +15 -11
- package/dist/generated/services/cards.d.ts +1 -1
- package/dist/generated/services/cards.js +1 -1
- package/dist/generated/services/cards.ts +1 -1
- package/dist/generated/services/checkins.d.ts +9 -8
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +6 -6
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +11 -10
- package/dist/generated/services/client-approvals.d.ts +1 -1
- package/dist/generated/services/client-approvals.js +1 -1
- package/dist/generated/services/client-approvals.ts +1 -1
- package/dist/generated/services/client-correspondences.d.ts +1 -1
- package/dist/generated/services/client-correspondences.js +1 -1
- package/dist/generated/services/client-correspondences.ts +1 -1
- package/dist/generated/services/client-replies.d.ts +1 -1
- package/dist/generated/services/client-replies.js +1 -1
- package/dist/generated/services/client-replies.ts +1 -1
- package/dist/generated/services/comments.d.ts +1 -1
- package/dist/generated/services/comments.js +1 -1
- package/dist/generated/services/comments.ts +1 -1
- package/dist/generated/services/documents.d.ts +1 -1
- package/dist/generated/services/documents.js +1 -1
- package/dist/generated/services/documents.ts +1 -1
- package/dist/generated/services/drafts.d.ts +1 -1
- package/dist/generated/services/drafts.js +1 -1
- package/dist/generated/services/drafts.ts +1 -1
- package/dist/generated/services/events.d.ts +1 -1
- package/dist/generated/services/events.js +1 -1
- package/dist/generated/services/events.ts +1 -1
- package/dist/generated/services/everything.d.ts +14 -14
- package/dist/generated/services/everything.js +14 -14
- package/dist/generated/services/everything.ts +14 -14
- package/dist/generated/services/forwards.d.ts +2 -2
- package/dist/generated/services/forwards.js +2 -2
- package/dist/generated/services/forwards.ts +2 -2
- package/dist/generated/services/index.d.ts +2 -1
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +2 -1
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +2 -1
- package/dist/generated/services/message-types.d.ts +1 -1
- package/dist/generated/services/message-types.js +1 -1
- package/dist/generated/services/message-types.ts +1 -1
- package/dist/generated/services/messages.d.ts +1 -1
- package/dist/generated/services/messages.js +1 -1
- package/dist/generated/services/messages.ts +1 -1
- package/dist/generated/services/my-notifications.d.ts +3 -2
- package/dist/generated/services/my-notifications.d.ts.map +1 -1
- package/dist/generated/services/my-notifications.js +1 -1
- package/dist/generated/services/my-notifications.js.map +1 -1
- package/dist/generated/services/my-notifications.ts +3 -2
- package/dist/generated/services/people.d.ts +3 -3
- package/dist/generated/services/people.js +3 -3
- package/dist/generated/services/people.ts +3 -3
- package/dist/generated/services/projects.d.ts +1 -1
- package/dist/generated/services/projects.js +1 -1
- package/dist/generated/services/projects.ts +1 -1
- package/dist/generated/services/recordings.d.ts +27 -3
- package/dist/generated/services/recordings.d.ts.map +1 -1
- package/dist/generated/services/recordings.js +32 -3
- package/dist/generated/services/recordings.js.map +1 -1
- package/dist/generated/services/recordings.ts +49 -3
- package/dist/generated/services/reports.d.ts +1 -1
- package/dist/generated/services/reports.js +1 -1
- package/dist/generated/services/reports.ts +1 -1
- package/dist/generated/services/schedules.d.ts +1 -1
- package/dist/generated/services/schedules.js +1 -1
- package/dist/generated/services/schedules.ts +1 -1
- package/dist/generated/services/subtasks.d.ts +157 -0
- package/dist/generated/services/subtasks.d.ts.map +1 -0
- package/dist/generated/services/subtasks.js +240 -0
- package/dist/generated/services/subtasks.js.map +1 -0
- package/dist/generated/services/subtasks.ts +336 -0
- package/dist/generated/services/templates.d.ts +114 -10
- package/dist/generated/services/templates.d.ts.map +1 -1
- package/dist/generated/services/templates.js +147 -10
- package/dist/generated/services/templates.js.map +1 -1
- package/dist/generated/services/templates.ts +220 -13
- package/dist/generated/services/timeline.d.ts +1 -1
- package/dist/generated/services/timeline.js +1 -1
- package/dist/generated/services/timeline.ts +1 -1
- package/dist/generated/services/timesheets.d.ts +3 -3
- package/dist/generated/services/timesheets.js +3 -3
- package/dist/generated/services/timesheets.ts +3 -3
- package/dist/generated/services/todolist-groups.d.ts +1 -1
- package/dist/generated/services/todolist-groups.js +1 -1
- package/dist/generated/services/todolist-groups.ts +1 -1
- package/dist/generated/services/todolists.d.ts +1 -1
- package/dist/generated/services/todolists.js +1 -1
- package/dist/generated/services/todolists.ts +1 -1
- package/dist/generated/services/todos.d.ts +1 -1
- package/dist/generated/services/todos.js +1 -1
- package/dist/generated/services/todos.ts +1 -1
- package/dist/generated/services/uploads.d.ts +2 -2
- package/dist/generated/services/uploads.js +2 -2
- package/dist/generated/services/uploads.ts +2 -2
- package/dist/generated/services/vaults.d.ts +1 -1
- package/dist/generated/services/vaults.js +1 -1
- package/dist/generated/services/vaults.ts +1 -1
- package/dist/generated/services/webhooks.d.ts +1 -1
- package/dist/generated/services/webhooks.js +1 -1
- package/dist/generated/services/webhooks.ts +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/generated/metadata.ts +176 -2
- package/src/generated/openapi-stripped.json +2882 -1276
- package/src/generated/path-mapping.ts +15 -1
- package/src/generated/person-id-sites.ts +61 -2
- package/src/generated/schema.d.ts +1406 -92
- package/src/generated/services/bookmarks.ts +1 -1
- package/src/generated/services/boosts.ts +2 -2
- package/src/generated/services/campfires.ts +4 -4
- package/src/generated/services/card-steps.ts +15 -11
- package/src/generated/services/cards.ts +1 -1
- package/src/generated/services/checkins.ts +11 -10
- package/src/generated/services/client-approvals.ts +1 -1
- package/src/generated/services/client-correspondences.ts +1 -1
- package/src/generated/services/client-replies.ts +1 -1
- package/src/generated/services/comments.ts +1 -1
- package/src/generated/services/documents.ts +1 -1
- package/src/generated/services/drafts.ts +1 -1
- package/src/generated/services/events.ts +1 -1
- package/src/generated/services/everything.ts +14 -14
- package/src/generated/services/forwards.ts +2 -2
- package/src/generated/services/index.ts +2 -1
- package/src/generated/services/message-types.ts +1 -1
- package/src/generated/services/messages.ts +1 -1
- package/src/generated/services/my-notifications.ts +3 -2
- package/src/generated/services/people.ts +3 -3
- package/src/generated/services/projects.ts +1 -1
- package/src/generated/services/recordings.ts +49 -3
- package/src/generated/services/reports.ts +1 -1
- package/src/generated/services/schedules.ts +1 -1
- package/src/generated/services/subtasks.ts +336 -0
- package/src/generated/services/templates.ts +220 -13
- package/src/generated/services/timeline.ts +1 -1
- package/src/generated/services/timesheets.ts +3 -3
- package/src/generated/services/todolist-groups.ts +1 -1
- package/src/generated/services/todolists.ts +1 -1
- package/src/generated/services/todos.ts +1 -1
- package/src/generated/services/uploads.ts +2 -2
- package/src/generated/services/vaults.ts +1 -1
- package/src/generated/services/webhooks.ts +1 -1
|
@@ -39,7 +39,7 @@ export declare class ReportsService extends BaseService {
|
|
|
39
39
|
/**
|
|
40
40
|
* Get account-wide activity feed (progress report)
|
|
41
41
|
* @param options - Optional query parameters
|
|
42
|
-
* @returns
|
|
42
|
+
* @returns Every TimelineEvent across all pages, with .meta.totalCount
|
|
43
43
|
*
|
|
44
44
|
* @example
|
|
45
45
|
* ```ts
|
|
@@ -14,7 +14,7 @@ export class ReportsService extends BaseService {
|
|
|
14
14
|
/**
|
|
15
15
|
* Get account-wide activity feed (progress report)
|
|
16
16
|
* @param options - Optional query parameters
|
|
17
|
-
* @returns
|
|
17
|
+
* @returns Every TimelineEvent across all pages, with .meta.totalCount
|
|
18
18
|
*
|
|
19
19
|
* @example
|
|
20
20
|
* ```ts
|
|
@@ -55,7 +55,7 @@ export class ReportsService extends BaseService {
|
|
|
55
55
|
/**
|
|
56
56
|
* Get account-wide activity feed (progress report)
|
|
57
57
|
* @param options - Optional query parameters
|
|
58
|
-
* @returns
|
|
58
|
+
* @returns Every TimelineEvent across all pages, with .meta.totalCount
|
|
59
59
|
*
|
|
60
60
|
* @example
|
|
61
61
|
* ```ts
|
|
@@ -225,7 +225,7 @@ export declare class SchedulesService extends BaseService {
|
|
|
225
225
|
* List entries on a schedule
|
|
226
226
|
* @param scheduleId - The schedule ID
|
|
227
227
|
* @param options - Optional query parameters
|
|
228
|
-
* @returns
|
|
228
|
+
* @returns Every ScheduleEntry across all pages, with .meta.totalCount
|
|
229
229
|
*
|
|
230
230
|
* @example
|
|
231
231
|
* ```ts
|
|
@@ -164,7 +164,7 @@ export class SchedulesService extends BaseService {
|
|
|
164
164
|
* List entries on a schedule
|
|
165
165
|
* @param scheduleId - The schedule ID
|
|
166
166
|
* @param options - Optional query parameters
|
|
167
|
-
* @returns
|
|
167
|
+
* @returns Every ScheduleEntry across all pages, with .meta.totalCount
|
|
168
168
|
*
|
|
169
169
|
* @example
|
|
170
170
|
* ```ts
|
|
@@ -353,7 +353,7 @@ export class SchedulesService extends BaseService {
|
|
|
353
353
|
* List entries on a schedule
|
|
354
354
|
* @param scheduleId - The schedule ID
|
|
355
355
|
* @param options - Optional query parameters
|
|
356
|
-
* @returns
|
|
356
|
+
* @returns Every ScheduleEntry across all pages, with .meta.totalCount
|
|
357
357
|
*
|
|
358
358
|
* @example
|
|
359
359
|
* ```ts
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subtasks service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
import { BaseService } from "../../services/base.js";
|
|
7
|
+
import type { components } from "../schema.js";
|
|
8
|
+
import { ListResult } from "../../pagination.js";
|
|
9
|
+
import type { PaginationOptions } from "../../pagination.js";
|
|
10
|
+
/** Subtask entity from the Basecamp API. */
|
|
11
|
+
export type Subtask = components["schemas"]["Subtask"];
|
|
12
|
+
/** @deprecated renamed to Subtask, the same Kanban::Step record. */
|
|
13
|
+
export type CardStep = Subtask;
|
|
14
|
+
/**
|
|
15
|
+
* Options for list.
|
|
16
|
+
*/
|
|
17
|
+
export interface ListSubtaskOptions extends PaginationOptions {
|
|
18
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
19
|
+
page?: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Request parameters for create.
|
|
23
|
+
*/
|
|
24
|
+
export interface CreateSubtaskRequest {
|
|
25
|
+
/** Title */
|
|
26
|
+
title: string;
|
|
27
|
+
/** Due date (YYYY-MM-DD) */
|
|
28
|
+
dueOn?: string;
|
|
29
|
+
/** Person IDs to assign to */
|
|
30
|
+
assigneeIds?: number[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Request parameters for update.
|
|
34
|
+
*/
|
|
35
|
+
export interface UpdateSubtaskRequest {
|
|
36
|
+
/** Title */
|
|
37
|
+
title?: string;
|
|
38
|
+
/** Due date (YYYY-MM-DD) */
|
|
39
|
+
dueOn?: string;
|
|
40
|
+
/** Person IDs to assign to */
|
|
41
|
+
assigneeIds?: number[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Request parameters for reposition.
|
|
45
|
+
*/
|
|
46
|
+
export interface RepositionSubtaskRequest {
|
|
47
|
+
/** The 1-based position to move it to */
|
|
48
|
+
position: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Service for Subtasks operations.
|
|
52
|
+
*/
|
|
53
|
+
export declare class SubtasksService extends BaseService {
|
|
54
|
+
/**
|
|
55
|
+
* List a recording's subtasks, in position order
|
|
56
|
+
* @param recordingId - The recording ID
|
|
57
|
+
* @param options - Optional query parameters
|
|
58
|
+
* @returns Every Subtask across all pages, with .meta.totalCount
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const result = await client.subtasks.list(123);
|
|
63
|
+
*
|
|
64
|
+
* // With options
|
|
65
|
+
* const filtered = await client.subtasks.list(123, { page: 1 });
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
list(recordingId: number, options?: ListSubtaskOptions): Promise<ListResult<Subtask>>;
|
|
69
|
+
/**
|
|
70
|
+
* Create a subtask under a to-do or a card
|
|
71
|
+
* @param recordingId - The recording ID
|
|
72
|
+
* @param req - Subtask creation parameters
|
|
73
|
+
* @returns The Subtask
|
|
74
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* const result = await client.subtasks.create(123, { title: "example" });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
create(recordingId: number, req: CreateSubtaskRequest): Promise<Subtask>;
|
|
82
|
+
/**
|
|
83
|
+
* Get a subtask by ID
|
|
84
|
+
* @param subtaskId - The subtask ID
|
|
85
|
+
* @returns The Subtask
|
|
86
|
+
* @throws {BasecampError} If the resource is not found
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* const result = await client.subtasks.get(123);
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
get(subtaskId: number): Promise<Subtask>;
|
|
94
|
+
/**
|
|
95
|
+
* Update a subtask
|
|
96
|
+
* @param subtaskId - The subtask ID
|
|
97
|
+
* @param req - Subtask update parameters
|
|
98
|
+
* @returns The Subtask
|
|
99
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* const result = await client.subtasks.update(123, { });
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
update(subtaskId: number, req: UpdateSubtaskRequest): Promise<Subtask>;
|
|
107
|
+
/**
|
|
108
|
+
* Delete a subtask
|
|
109
|
+
* @param subtaskId - The subtask ID
|
|
110
|
+
* @returns void
|
|
111
|
+
* @throws {BasecampError} If the request fails
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```ts
|
|
115
|
+
* await client.subtasks.delete(123);
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
delete(subtaskId: number): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Mark a subtask as completed
|
|
121
|
+
* @param subtaskId - The subtask ID
|
|
122
|
+
* @returns void
|
|
123
|
+
* @throws {BasecampError} If the request fails
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```ts
|
|
127
|
+
* await client.subtasks.complete(123);
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
complete(subtaskId: number): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Mark a subtask as not completed
|
|
133
|
+
* @param subtaskId - The subtask ID
|
|
134
|
+
* @returns void
|
|
135
|
+
* @throws {BasecampError} If the request fails
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* ```ts
|
|
139
|
+
* await client.subtasks.uncomplete(123);
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
uncomplete(subtaskId: number): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Move a subtask to a new position among its siblings
|
|
145
|
+
* @param subtaskId - The subtask ID
|
|
146
|
+
* @param req - Subtask request parameters
|
|
147
|
+
* @returns void
|
|
148
|
+
* @throws {BasecampError} If the request fails
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts
|
|
152
|
+
* await client.subtasks.reposition(123, { position: 1 });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
reposition(subtaskId: number, req: RepositionSubtaskRequest): Promise<void>;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=subtasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtasks.d.ts","sourceRoot":"","sources":["../../../src/generated/services/subtasks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AACvD,oEAAoE;AACpE,MAAM,MAAM,QAAQ,GAAG,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAOD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAoB3F;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B9E;;;;;;;;;;OAUG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B5E;;;;;;;;;;OAUG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9C;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD;;;;;;;;;;OAUG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBlF"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Subtasks service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
import { BaseService } from "../../services/base.js";
|
|
7
|
+
import { Errors } from "../../errors.js";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Service
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Service for Subtasks operations.
|
|
13
|
+
*/
|
|
14
|
+
export class SubtasksService extends BaseService {
|
|
15
|
+
/**
|
|
16
|
+
* List a recording's subtasks, in position order
|
|
17
|
+
* @param recordingId - The recording ID
|
|
18
|
+
* @param options - Optional query parameters
|
|
19
|
+
* @returns Every Subtask across all pages, with .meta.totalCount
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const result = await client.subtasks.list(123);
|
|
24
|
+
*
|
|
25
|
+
* // With options
|
|
26
|
+
* const filtered = await client.subtasks.list(123, { page: 1 });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
async list(recordingId, options) {
|
|
30
|
+
return this.requestPaginated({
|
|
31
|
+
service: "Subtasks",
|
|
32
|
+
operation: "ListSubtasks",
|
|
33
|
+
resourceType: "subtask",
|
|
34
|
+
isMutation: false,
|
|
35
|
+
resourceId: recordingId,
|
|
36
|
+
}, () => this.client.GET("/recordings/{recordingId}/subtasks.json", {
|
|
37
|
+
params: {
|
|
38
|
+
path: { recordingId },
|
|
39
|
+
query: { page: options?.page },
|
|
40
|
+
},
|
|
41
|
+
}), options);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Create a subtask under a to-do or a card
|
|
45
|
+
* @param recordingId - The recording ID
|
|
46
|
+
* @param req - Subtask creation parameters
|
|
47
|
+
* @returns The Subtask
|
|
48
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const result = await client.subtasks.create(123, { title: "example" });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
async create(recordingId, req) {
|
|
56
|
+
if (!req.title) {
|
|
57
|
+
throw Errors.validation("Title is required");
|
|
58
|
+
}
|
|
59
|
+
if (req.dueOn && !/^\d{4}-\d{2}-\d{2}$/.test(req.dueOn)) {
|
|
60
|
+
throw Errors.validation("Due on must be in YYYY-MM-DD format");
|
|
61
|
+
}
|
|
62
|
+
const response = await this.request({
|
|
63
|
+
service: "Subtasks",
|
|
64
|
+
operation: "CreateSubtask",
|
|
65
|
+
resourceType: "subtask",
|
|
66
|
+
isMutation: true,
|
|
67
|
+
resourceId: recordingId,
|
|
68
|
+
}, () => this.client.POST("/recordings/{recordingId}/subtasks.json", {
|
|
69
|
+
params: {
|
|
70
|
+
path: { recordingId },
|
|
71
|
+
},
|
|
72
|
+
body: {
|
|
73
|
+
title: req.title,
|
|
74
|
+
due_on: req.dueOn,
|
|
75
|
+
assignee_ids: req.assigneeIds,
|
|
76
|
+
},
|
|
77
|
+
}));
|
|
78
|
+
return response;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get a subtask by ID
|
|
82
|
+
* @param subtaskId - The subtask ID
|
|
83
|
+
* @returns The Subtask
|
|
84
|
+
* @throws {BasecampError} If the resource is not found
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* const result = await client.subtasks.get(123);
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
async get(subtaskId) {
|
|
92
|
+
const response = await this.request({
|
|
93
|
+
service: "Subtasks",
|
|
94
|
+
operation: "GetSubtask",
|
|
95
|
+
resourceType: "subtask",
|
|
96
|
+
isMutation: false,
|
|
97
|
+
resourceId: subtaskId,
|
|
98
|
+
}, () => this.client.GET("/subtasks/{subtaskId}", {
|
|
99
|
+
params: {
|
|
100
|
+
path: { subtaskId },
|
|
101
|
+
},
|
|
102
|
+
}));
|
|
103
|
+
return response;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Update a subtask
|
|
107
|
+
* @param subtaskId - The subtask ID
|
|
108
|
+
* @param req - Subtask update parameters
|
|
109
|
+
* @returns The Subtask
|
|
110
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* const result = await client.subtasks.update(123, { });
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
async update(subtaskId, req) {
|
|
118
|
+
if (req.dueOn && !/^\d{4}-\d{2}-\d{2}$/.test(req.dueOn)) {
|
|
119
|
+
throw Errors.validation("Due on must be in YYYY-MM-DD format");
|
|
120
|
+
}
|
|
121
|
+
const response = await this.request({
|
|
122
|
+
service: "Subtasks",
|
|
123
|
+
operation: "UpdateSubtask",
|
|
124
|
+
resourceType: "subtask",
|
|
125
|
+
isMutation: true,
|
|
126
|
+
resourceId: subtaskId,
|
|
127
|
+
}, () => this.client.PUT("/subtasks/{subtaskId}", {
|
|
128
|
+
params: {
|
|
129
|
+
path: { subtaskId },
|
|
130
|
+
},
|
|
131
|
+
body: {
|
|
132
|
+
title: req.title,
|
|
133
|
+
due_on: req.dueOn,
|
|
134
|
+
assignee_ids: req.assigneeIds,
|
|
135
|
+
},
|
|
136
|
+
}));
|
|
137
|
+
return response;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Delete a subtask
|
|
141
|
+
* @param subtaskId - The subtask ID
|
|
142
|
+
* @returns void
|
|
143
|
+
* @throws {BasecampError} If the request fails
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```ts
|
|
147
|
+
* await client.subtasks.delete(123);
|
|
148
|
+
* ```
|
|
149
|
+
*/
|
|
150
|
+
async delete(subtaskId) {
|
|
151
|
+
await this.request({
|
|
152
|
+
service: "Subtasks",
|
|
153
|
+
operation: "DeleteSubtask",
|
|
154
|
+
resourceType: "subtask",
|
|
155
|
+
isMutation: true,
|
|
156
|
+
resourceId: subtaskId,
|
|
157
|
+
}, () => this.client.DELETE("/subtasks/{subtaskId}", {
|
|
158
|
+
params: {
|
|
159
|
+
path: { subtaskId },
|
|
160
|
+
},
|
|
161
|
+
}));
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Mark a subtask as completed
|
|
165
|
+
* @param subtaskId - The subtask ID
|
|
166
|
+
* @returns void
|
|
167
|
+
* @throws {BasecampError} If the request fails
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```ts
|
|
171
|
+
* await client.subtasks.complete(123);
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
async complete(subtaskId) {
|
|
175
|
+
await this.request({
|
|
176
|
+
service: "Subtasks",
|
|
177
|
+
operation: "CompleteSubtask",
|
|
178
|
+
resourceType: "subtask",
|
|
179
|
+
isMutation: true,
|
|
180
|
+
resourceId: subtaskId,
|
|
181
|
+
}, () => this.client.POST("/subtasks/{subtaskId}/completion.json", {
|
|
182
|
+
params: {
|
|
183
|
+
path: { subtaskId },
|
|
184
|
+
},
|
|
185
|
+
}));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Mark a subtask as not completed
|
|
189
|
+
* @param subtaskId - The subtask ID
|
|
190
|
+
* @returns void
|
|
191
|
+
* @throws {BasecampError} If the request fails
|
|
192
|
+
*
|
|
193
|
+
* @example
|
|
194
|
+
* ```ts
|
|
195
|
+
* await client.subtasks.uncomplete(123);
|
|
196
|
+
* ```
|
|
197
|
+
*/
|
|
198
|
+
async uncomplete(subtaskId) {
|
|
199
|
+
await this.request({
|
|
200
|
+
service: "Subtasks",
|
|
201
|
+
operation: "UncompleteSubtask",
|
|
202
|
+
resourceType: "subtask",
|
|
203
|
+
isMutation: true,
|
|
204
|
+
resourceId: subtaskId,
|
|
205
|
+
}, () => this.client.DELETE("/subtasks/{subtaskId}/completion.json", {
|
|
206
|
+
params: {
|
|
207
|
+
path: { subtaskId },
|
|
208
|
+
},
|
|
209
|
+
}));
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Move a subtask to a new position among its siblings
|
|
213
|
+
* @param subtaskId - The subtask ID
|
|
214
|
+
* @param req - Subtask request parameters
|
|
215
|
+
* @returns void
|
|
216
|
+
* @throws {BasecampError} If the request fails
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```ts
|
|
220
|
+
* await client.subtasks.reposition(123, { position: 1 });
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
async reposition(subtaskId, req) {
|
|
224
|
+
await this.request({
|
|
225
|
+
service: "Subtasks",
|
|
226
|
+
operation: "RepositionSubtask",
|
|
227
|
+
resourceType: "subtask",
|
|
228
|
+
isMutation: true,
|
|
229
|
+
resourceId: subtaskId,
|
|
230
|
+
}, () => this.client.PUT("/subtasks/{subtaskId}/position.json", {
|
|
231
|
+
params: {
|
|
232
|
+
path: { subtaskId },
|
|
233
|
+
},
|
|
234
|
+
body: {
|
|
235
|
+
position: req.position,
|
|
236
|
+
},
|
|
237
|
+
}));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
//# sourceMappingURL=subtasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subtasks.js","sourceRoot":"","sources":["../../../src/generated/services/subtasks.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAoDzC,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,CAAC,WAAmB,EAAE,OAA4B;QAC1D,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,cAAc;YACzB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,EAAE;YACzD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;gBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;aAC/B;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,WAAmB,EAAE,GAAyB;QACzD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,WAAW;SACxB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yCAAyC,EAAE;YAC1D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,WAAW,EAAE;aACtB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,YAAY,EAAE,GAAG,CAAC,WAAW;aAC9B;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,GAAG,CAAC,SAAiB;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,SAAS;SACtB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACvC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,GAAyB;QACvD,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,CAAC,UAAU,CAAC,qCAAqC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,SAAS;SACtB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE;YACvC,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;YACD,IAAI,EAAE;gBACJ,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,MAAM,EAAE,GAAG,CAAC,KAAK;gBACjB,YAAY,EAAE,GAAG,CAAC,WAAW;aAC9B;SACF,CAAC,CACL,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC5B,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,eAAe;YAC1B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,SAAS;SACtB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE;YAC1C,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,iBAAiB;YAC5B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,SAAS;SACtB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE;YACxD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,SAAS;SACtB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,uCAAuC,EAAE;YAC1D,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,GAA6B;QAC/D,MAAM,IAAI,CAAC,OAAO,CAChB;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,mBAAmB;YAC9B,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,SAAS;SACtB,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE;YACrD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;YACD,IAAI,EAAE;gBACJ,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB;SACF,CAAC,CACL,CAAC;IACJ,CAAC;CACF"}
|