@37signals/basecamp 0.12.0 → 0.14.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 +114 -17
- package/dist/.build-complete +0 -0
- package/dist/client.d.ts +53 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +132 -150
- package/dist/client.js.map +1 -1
- package/dist/download.d.ts +7 -0
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +82 -22
- package/dist/download.js.map +1 -1
- package/dist/errors.d.ts +19 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +138 -14
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +291 -141
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +291 -141
- package/dist/generated/openapi-stripped.json +5954 -3523
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +28 -16
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +28 -16
- package/dist/generated/schema.d.ts +4390 -2357
- package/dist/generated/services/bookmarks.d.ts +1 -1
- package/dist/generated/services/bookmarks.d.ts.map +1 -1
- package/dist/generated/services/bookmarks.ts +1 -1
- package/dist/generated/services/boosts.d.ts +10 -0
- package/dist/generated/services/boosts.d.ts.map +1 -1
- package/dist/generated/services/boosts.js +8 -0
- package/dist/generated/services/boosts.js.map +1 -1
- package/dist/generated/services/boosts.ts +12 -0
- package/dist/generated/services/campfires.d.ts +54 -40
- package/dist/generated/services/campfires.d.ts.map +1 -1
- package/dist/generated/services/campfires.js +82 -65
- package/dist/generated/services/campfires.js.map +1 -1
- package/dist/generated/services/campfires.ts +107 -85
- package/dist/generated/services/cards.d.ts +5 -0
- package/dist/generated/services/cards.d.ts.map +1 -1
- package/dist/generated/services/cards.js +4 -0
- package/dist/generated/services/cards.js.map +1 -1
- package/dist/generated/services/cards.ts +6 -0
- package/dist/generated/services/checkins.d.ts +14 -0
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +14 -1
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +20 -0
- package/dist/generated/services/client-approvals.d.ts +6 -3
- package/dist/generated/services/client-approvals.d.ts.map +1 -1
- package/dist/generated/services/client-approvals.js +8 -5
- package/dist/generated/services/client-approvals.js.map +1 -1
- package/dist/generated/services/client-approvals.ts +10 -5
- package/dist/generated/services/client-correspondences.d.ts +6 -3
- package/dist/generated/services/client-correspondences.d.ts.map +1 -1
- package/dist/generated/services/client-correspondences.js +8 -5
- package/dist/generated/services/client-correspondences.js.map +1 -1
- package/dist/generated/services/client-correspondences.ts +10 -5
- package/dist/generated/services/client-replies.d.ts +11 -4
- package/dist/generated/services/client-replies.d.ts.map +1 -1
- package/dist/generated/services/client-replies.js +16 -8
- package/dist/generated/services/client-replies.js.map +1 -1
- package/dist/generated/services/client-replies.ts +18 -8
- package/dist/generated/services/cloud-files.d.ts +92 -0
- package/dist/generated/services/cloud-files.d.ts.map +1 -0
- package/dist/generated/services/cloud-files.js +121 -0
- package/dist/generated/services/cloud-files.js.map +1 -0
- package/dist/generated/services/cloud-files.ts +188 -0
- package/dist/generated/services/comments.d.ts +5 -0
- package/dist/generated/services/comments.d.ts.map +1 -1
- package/dist/generated/services/comments.js +4 -0
- package/dist/generated/services/comments.js.map +1 -1
- package/dist/generated/services/comments.ts +6 -0
- package/dist/generated/services/documents.d.ts +12 -7
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +10 -6
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +14 -8
- package/dist/generated/services/drafts.d.ts +1 -1
- package/dist/generated/services/drafts.d.ts.map +1 -1
- package/dist/generated/services/drafts.ts +1 -1
- package/dist/generated/services/events.d.ts +5 -0
- package/dist/generated/services/events.d.ts.map +1 -1
- package/dist/generated/services/events.js +4 -0
- package/dist/generated/services/events.js.map +1 -1
- package/dist/generated/services/events.ts +6 -0
- package/dist/generated/services/everything.d.ts +14 -14
- package/dist/generated/services/everything.d.ts.map +1 -1
- package/dist/generated/services/everything.ts +14 -14
- package/dist/generated/services/folders.d.ts +96 -0
- package/dist/generated/services/folders.d.ts.map +1 -0
- package/dist/generated/services/folders.js +140 -0
- package/dist/generated/services/folders.js.map +1 -0
- package/dist/generated/services/folders.ts +201 -0
- package/dist/generated/services/forwards.d.ts +7 -20
- package/dist/generated/services/forwards.d.ts.map +1 -1
- package/dist/generated/services/forwards.js +6 -35
- package/dist/generated/services/forwards.js.map +1 -1
- package/dist/generated/services/forwards.ts +10 -48
- package/dist/generated/services/gauges.d.ts +7 -0
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.js +5 -1
- package/dist/generated/services/gauges.js.map +1 -1
- package/dist/generated/services/gauges.ts +9 -1
- package/dist/generated/services/google-documents.d.ts +98 -0
- package/dist/generated/services/google-documents.d.ts.map +1 -0
- package/dist/generated/services/google-documents.js +123 -0
- package/dist/generated/services/google-documents.js.map +1 -0
- package/dist/generated/services/google-documents.ts +196 -0
- package/dist/generated/services/index.d.ts +7 -4
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +7 -4
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +7 -4
- package/dist/generated/services/messages.d.ts +2 -0
- package/dist/generated/services/messages.d.ts.map +1 -1
- package/dist/generated/services/messages.js +1 -1
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -1
- package/dist/generated/services/my-notes.d.ts +1 -1
- package/dist/generated/services/my-notes.js +1 -1
- package/dist/generated/services/my-notes.ts +1 -1
- package/dist/generated/services/my-notifications.d.ts +4 -2
- package/dist/generated/services/my-notifications.d.ts.map +1 -1
- package/dist/generated/services/my-notifications.js.map +1 -1
- package/dist/generated/services/my-notifications.ts +4 -2
- package/dist/generated/services/people.d.ts +11 -1
- package/dist/generated/services/people.d.ts.map +1 -1
- package/dist/generated/services/people.js +13 -2
- package/dist/generated/services/people.js.map +1 -1
- package/dist/generated/services/people.ts +15 -1
- package/dist/generated/services/projects.d.ts +26 -0
- package/dist/generated/services/projects.d.ts.map +1 -1
- package/dist/generated/services/projects.js +49 -1
- package/dist/generated/services/projects.js.map +1 -1
- package/dist/generated/services/projects.ts +61 -1
- package/dist/generated/services/recordings.d.ts +2 -12
- package/dist/generated/services/recordings.d.ts.map +1 -1
- package/dist/generated/services/recordings.js +1 -26
- package/dist/generated/services/recordings.js.map +1 -1
- package/dist/generated/services/recordings.ts +3 -31
- package/dist/generated/services/reports.d.ts +8 -12
- package/dist/generated/services/reports.d.ts.map +1 -1
- package/dist/generated/services/reports.js +11 -5
- package/dist/generated/services/reports.js.map +1 -1
- package/dist/generated/services/reports.ts +13 -14
- package/dist/generated/services/schedules.d.ts +94 -15
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +19 -8
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +107 -17
- package/dist/generated/services/search.d.ts +2 -0
- package/dist/generated/services/search.d.ts.map +1 -1
- package/dist/generated/services/search.js +1 -1
- package/dist/generated/services/search.js.map +1 -1
- package/dist/generated/services/search.ts +3 -1
- package/dist/generated/services/templates.d.ts +2 -0
- package/dist/generated/services/templates.d.ts.map +1 -1
- package/dist/generated/services/templates.js +1 -1
- package/dist/generated/services/templates.js.map +1 -1
- package/dist/generated/services/templates.ts +3 -1
- package/dist/generated/services/timeline.d.ts +2 -0
- package/dist/generated/services/timeline.d.ts.map +1 -1
- package/dist/generated/services/timeline.js +1 -0
- package/dist/generated/services/timeline.js.map +1 -1
- package/dist/generated/services/timeline.ts +3 -0
- package/dist/generated/services/timesheets.d.ts +16 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -1
- package/dist/generated/services/timesheets.js +26 -2
- package/dist/generated/services/timesheets.js.map +1 -1
- package/dist/generated/services/timesheets.ts +35 -2
- package/dist/generated/services/todolist-groups.d.ts +11 -6
- package/dist/generated/services/todolist-groups.d.ts.map +1 -1
- package/dist/generated/services/todolist-groups.js +7 -3
- package/dist/generated/services/todolist-groups.js.map +1 -1
- package/dist/generated/services/todolist-groups.ts +13 -7
- package/dist/generated/services/todolists.d.ts +15 -13
- package/dist/generated/services/todolists.d.ts.map +1 -1
- package/dist/generated/services/todolists.js +11 -8
- package/dist/generated/services/todolists.js.map +1 -1
- package/dist/generated/services/todolists.ts +19 -14
- package/dist/generated/services/todos.d.ts +2 -12
- package/dist/generated/services/todos.d.ts.map +1 -1
- package/dist/generated/services/todos.js +1 -25
- package/dist/generated/services/todos.js.map +1 -1
- package/dist/generated/services/todos.ts +3 -30
- package/dist/generated/services/uploads.d.ts +41 -2
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +41 -1
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +71 -2
- package/dist/generated/services/vaults.d.ts +5 -0
- package/dist/generated/services/vaults.d.ts.map +1 -1
- package/dist/generated/services/vaults.js +4 -0
- package/dist/generated/services/vaults.js.map +1 -1
- package/dist/generated/services/vaults.ts +6 -0
- package/dist/index.d.ts +16 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -8
- package/dist/index.js.map +1 -1
- package/dist/oauth/authorization-document.d.ts +201 -0
- package/dist/oauth/authorization-document.d.ts.map +1 -0
- package/dist/oauth/authorization-document.js +130 -0
- package/dist/oauth/authorization-document.js.map +1 -0
- package/dist/oauth/identity.d.ts +7 -1
- package/dist/oauth/identity.d.ts.map +1 -1
- package/dist/oauth/identity.js +8 -19
- package/dist/oauth/identity.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -0
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +2 -0
- package/dist/oauth/index.js.map +1 -1
- package/dist/pagination-utils.d.ts +46 -0
- package/dist/pagination-utils.d.ts.map +1 -1
- package/dist/pagination-utils.js +85 -2
- package/dist/pagination-utils.js.map +1 -1
- package/dist/pagination.d.ts +11 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/retry.d.ts +110 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +253 -0
- package/dist/retry.js.map +1 -0
- package/dist/services/authorization.d.ts +22 -52
- package/dist/services/authorization.d.ts.map +1 -1
- package/dist/services/authorization.js +14 -32
- package/dist/services/authorization.js.map +1 -1
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +59 -5
- package/dist/services/base.js.map +1 -1
- package/dist/services/cards-extensions.d.ts +26 -21
- package/dist/services/cards-extensions.d.ts.map +1 -1
- package/dist/services/cards-extensions.js +28 -31
- package/dist/services/cards-extensions.js.map +1 -1
- package/dist/services/documents-extensions.d.ts +122 -0
- package/dist/services/documents-extensions.d.ts.map +1 -0
- package/dist/services/documents-extensions.js +125 -0
- package/dist/services/documents-extensions.js.map +1 -0
- package/dist/services/merge-safe.d.ts +167 -0
- package/dist/services/merge-safe.d.ts.map +1 -0
- package/dist/services/merge-safe.js +217 -0
- package/dist/services/merge-safe.js.map +1 -0
- package/dist/services/schedules-extensions.d.ts +266 -0
- package/dist/services/schedules-extensions.d.ts.map +1 -0
- package/dist/services/schedules-extensions.js +268 -0
- package/dist/services/schedules-extensions.js.map +1 -0
- package/dist/services/todolists-extensions.d.ts +110 -0
- package/dist/services/todolists-extensions.d.ts.map +1 -0
- package/dist/services/todolists-extensions.js +262 -0
- package/dist/services/todolists-extensions.js.map +1 -0
- package/dist/services/todos-extensions.d.ts +12 -1
- package/dist/services/todos-extensions.d.ts.map +1 -1
- package/dist/services/todos-extensions.js +27 -8
- package/dist/services/todos-extensions.js.map +1 -1
- package/package.json +6 -5
- package/src/generated/metadata.ts +291 -141
- package/src/generated/openapi-stripped.json +5954 -3523
- package/src/generated/path-mapping.ts +28 -16
- package/src/generated/schema.d.ts +4390 -2357
- package/src/generated/services/bookmarks.ts +1 -1
- package/src/generated/services/boosts.ts +12 -0
- package/src/generated/services/campfires.ts +107 -85
- package/src/generated/services/cards.ts +6 -0
- package/src/generated/services/checkins.ts +20 -0
- package/src/generated/services/client-approvals.ts +10 -5
- package/src/generated/services/client-correspondences.ts +10 -5
- package/src/generated/services/client-replies.ts +18 -8
- package/src/generated/services/cloud-files.ts +188 -0
- package/src/generated/services/comments.ts +6 -0
- package/src/generated/services/documents.ts +14 -8
- package/src/generated/services/drafts.ts +1 -1
- package/src/generated/services/events.ts +6 -0
- package/src/generated/services/everything.ts +14 -14
- package/src/generated/services/folders.ts +201 -0
- package/src/generated/services/forwards.ts +10 -48
- package/src/generated/services/gauges.ts +9 -1
- package/src/generated/services/google-documents.ts +196 -0
- package/src/generated/services/index.ts +7 -4
- package/src/generated/services/messages.ts +3 -1
- package/src/generated/services/my-notes.ts +1 -1
- package/src/generated/services/my-notifications.ts +4 -2
- package/src/generated/services/people.ts +15 -1
- package/src/generated/services/projects.ts +61 -1
- package/src/generated/services/recordings.ts +3 -31
- package/src/generated/services/reports.ts +13 -14
- package/src/generated/services/schedules.ts +107 -17
- package/src/generated/services/search.ts +3 -1
- package/src/generated/services/templates.ts +3 -1
- package/src/generated/services/timeline.ts +3 -0
- package/src/generated/services/timesheets.ts +35 -2
- package/src/generated/services/todolist-groups.ts +13 -7
- package/src/generated/services/todolists.ts +19 -14
- package/src/generated/services/todos.ts +3 -30
- package/src/generated/services/uploads.ts +71 -2
- package/src/generated/services/vaults.ts +6 -0
|
@@ -18,12 +18,12 @@ import { Errors } from "../../errors.js";
|
|
|
18
18
|
export type Todolist = components["schemas"]["Todolist"];
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
|
-
* Request parameters for
|
|
21
|
+
* Request parameters for replace.
|
|
22
22
|
*/
|
|
23
|
-
export interface
|
|
24
|
-
/** Name (required for
|
|
25
|
-
name
|
|
26
|
-
/** Description (
|
|
23
|
+
export interface ReplaceTodolistRequest {
|
|
24
|
+
/** Name (required for a to-do list and for a group alike) - presence-validated server-side, so omitting it is a 422, not a preserve */
|
|
25
|
+
name: string;
|
|
26
|
+
/** Description (rich text HTML) - writable for a todolist group as well as a todolist, and omitting it clears it either way */
|
|
27
27
|
description?: string;
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -41,6 +41,8 @@ export interface RepositionTodolistRequest {
|
|
|
41
41
|
export interface ListTodolistOptions extends PaginationOptions {
|
|
42
42
|
/** Filter by status */
|
|
43
43
|
status?: "active" | "archived" | "trashed";
|
|
44
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
45
|
+
page?: number;
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
/**
|
|
@@ -68,7 +70,7 @@ export class TodolistsService extends BaseService {
|
|
|
68
70
|
/**
|
|
69
71
|
* Get a single todolist or todolist group by id
|
|
70
72
|
* @param id - The id
|
|
71
|
-
* @returns The
|
|
73
|
+
* @returns The Todolist
|
|
72
74
|
* @throws {BasecampError} If the resource is not found
|
|
73
75
|
*
|
|
74
76
|
* @example
|
|
@@ -76,7 +78,7 @@ export class TodolistsService extends BaseService {
|
|
|
76
78
|
* const result = await client.todolists.get(123);
|
|
77
79
|
* ```
|
|
78
80
|
*/
|
|
79
|
-
async get(id: number): Promise<
|
|
81
|
+
async get(id: number): Promise<Todolist> {
|
|
80
82
|
const response = await this.request(
|
|
81
83
|
{
|
|
82
84
|
service: "Todolists",
|
|
@@ -96,18 +98,21 @@ export class TodolistsService extends BaseService {
|
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
/**
|
|
99
|
-
*
|
|
101
|
+
* Replace a todolist (or todolist group) with a new complete representation.
|
|
100
102
|
* @param id - The id
|
|
101
|
-
* @param req - Todolist_or_group
|
|
102
|
-
* @returns The
|
|
103
|
-
* @throws {BasecampError} If the
|
|
103
|
+
* @param req - Todolist_or_group request parameters
|
|
104
|
+
* @returns The Todolist
|
|
105
|
+
* @throws {BasecampError} If the request fails
|
|
104
106
|
*
|
|
105
107
|
* @example
|
|
106
108
|
* ```ts
|
|
107
|
-
* const result = await client.todolists.
|
|
109
|
+
* const result = await client.todolists.replace(123, { name: "My example" });
|
|
108
110
|
* ```
|
|
109
111
|
*/
|
|
110
|
-
async
|
|
112
|
+
async replace(id: number, req: ReplaceTodolistRequest): Promise<Todolist> {
|
|
113
|
+
if (!req.name) {
|
|
114
|
+
throw Errors.validation("Name is required");
|
|
115
|
+
}
|
|
111
116
|
const response = await this.request(
|
|
112
117
|
{
|
|
113
118
|
service: "Todolists",
|
|
@@ -190,7 +195,7 @@ export class TodolistsService extends BaseService {
|
|
|
190
195
|
this.client.GET("/todosets/{todosetId}/todolists.json", {
|
|
191
196
|
params: {
|
|
192
197
|
path: { todosetId },
|
|
193
|
-
query: { status: options?.status },
|
|
198
|
+
query: { status: options?.status, page: options?.page },
|
|
194
199
|
},
|
|
195
200
|
})
|
|
196
201
|
, options
|
|
@@ -45,6 +45,8 @@ export interface ListTodoOptions extends PaginationOptions {
|
|
|
45
45
|
status?: "active" | "archived" | "trashed";
|
|
46
46
|
/** Completed */
|
|
47
47
|
completed?: boolean;
|
|
48
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
49
|
+
page?: number;
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
/**
|
|
@@ -185,7 +187,7 @@ export class TodosService extends BaseService {
|
|
|
185
187
|
this.client.GET("/todolists/{todolistId}/todos.json", {
|
|
186
188
|
params: {
|
|
187
189
|
path: { todolistId },
|
|
188
|
-
query: { status: options?.status, completed: options?.completed },
|
|
190
|
+
query: { status: options?.status, completed: options?.completed, page: options?.page },
|
|
189
191
|
},
|
|
190
192
|
})
|
|
191
193
|
, options
|
|
@@ -320,35 +322,6 @@ export class TodosService extends BaseService {
|
|
|
320
322
|
return response;
|
|
321
323
|
}
|
|
322
324
|
|
|
323
|
-
/**
|
|
324
|
-
* Trash a todo. Trashed items can be recovered.
|
|
325
|
-
* @param todoId - The todo ID
|
|
326
|
-
* @returns void
|
|
327
|
-
* @throws {BasecampError} If the request fails
|
|
328
|
-
*
|
|
329
|
-
* @example
|
|
330
|
-
* ```ts
|
|
331
|
-
* await client.todos.trash(123);
|
|
332
|
-
* ```
|
|
333
|
-
*/
|
|
334
|
-
async trash(todoId: number): Promise<void> {
|
|
335
|
-
await this.request(
|
|
336
|
-
{
|
|
337
|
-
service: "Todos",
|
|
338
|
-
operation: "TrashTodo",
|
|
339
|
-
resourceType: "todo",
|
|
340
|
-
isMutation: true,
|
|
341
|
-
resourceId: todoId,
|
|
342
|
-
},
|
|
343
|
-
() =>
|
|
344
|
-
this.client.DELETE("/todos/{todoId}", {
|
|
345
|
-
params: {
|
|
346
|
-
path: { todoId },
|
|
347
|
-
},
|
|
348
|
-
})
|
|
349
|
-
);
|
|
350
|
-
}
|
|
351
|
-
|
|
352
325
|
/**
|
|
353
326
|
* Mark a todo as complete
|
|
354
327
|
* @param todoId - The todo ID
|
|
@@ -16,6 +16,8 @@ import { Errors } from "../../errors.js";
|
|
|
16
16
|
|
|
17
17
|
/** Upload entity from the Basecamp API. */
|
|
18
18
|
export type Upload = components["schemas"]["Upload"];
|
|
19
|
+
/** UploadVersion entity from the Basecamp API. */
|
|
20
|
+
export type UploadVersion = components["schemas"]["UploadVersion"];
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
23
|
* Request parameters for update.
|
|
@@ -33,10 +35,32 @@ export interface UpdateUploadRequest {
|
|
|
33
35
|
export interface ListVersionsUploadOptions extends PaginationOptions {
|
|
34
36
|
}
|
|
35
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Request parameters for createVersion.
|
|
40
|
+
*/
|
|
41
|
+
export interface CreateVersionUploadRequest {
|
|
42
|
+
/** Attachable sgid */
|
|
43
|
+
attachableSgid: string;
|
|
44
|
+
/** Omit to keep the uploaded file's own name. Sending "" also keeps it. */
|
|
45
|
+
baseName?: string;
|
|
46
|
+
/** Presence-aware: omit to carry the previous version's description forward,
|
|
47
|
+
send "" to clear it, send a value to set it. */
|
|
48
|
+
description?: string;
|
|
49
|
+
/** Who to notify: "default", "everyone", or "custom" (the people in subscriptions).
|
|
50
|
+
|
|
51
|
+
Omit both this and subscriptions to notify nobody. A subscriptions array sent
|
|
52
|
+
without notify is read as "custom". */
|
|
53
|
+
notify?: string;
|
|
54
|
+
/** People to notify about the replacement and subscribe to the upload. */
|
|
55
|
+
subscriptions?: number[];
|
|
56
|
+
}
|
|
57
|
+
|
|
36
58
|
/**
|
|
37
59
|
* Options for list.
|
|
38
60
|
*/
|
|
39
61
|
export interface ListUploadOptions extends PaginationOptions {
|
|
62
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
63
|
+
page?: number;
|
|
40
64
|
}
|
|
41
65
|
|
|
42
66
|
/**
|
|
@@ -134,14 +158,14 @@ export class UploadsService extends BaseService {
|
|
|
134
158
|
* List versions of an upload
|
|
135
159
|
* @param uploadId - The upload ID
|
|
136
160
|
* @param options - Optional query parameters
|
|
137
|
-
* @returns All
|
|
161
|
+
* @returns All UploadVersion across all pages, with .meta.totalCount
|
|
138
162
|
*
|
|
139
163
|
* @example
|
|
140
164
|
* ```ts
|
|
141
165
|
* const result = await client.uploads.listVersions(123);
|
|
142
166
|
* ```
|
|
143
167
|
*/
|
|
144
|
-
async listVersions(uploadId: number, options?: ListVersionsUploadOptions): Promise<ListResult<
|
|
168
|
+
async listVersions(uploadId: number, options?: ListVersionsUploadOptions): Promise<ListResult<UploadVersion>> {
|
|
145
169
|
return this.requestPaginated(
|
|
146
170
|
{
|
|
147
171
|
service: "Uploads",
|
|
@@ -160,6 +184,47 @@ export class UploadsService extends BaseService {
|
|
|
160
184
|
);
|
|
161
185
|
}
|
|
162
186
|
|
|
187
|
+
/**
|
|
188
|
+
* Replace an upload's file with a new version
|
|
189
|
+
* @param uploadId - The upload ID
|
|
190
|
+
* @param req - Upload_version creation parameters
|
|
191
|
+
* @returns The Upload
|
|
192
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```ts
|
|
196
|
+
* const result = await client.uploads.createVersion(123, { attachableSgid: "example" });
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
async createVersion(uploadId: number, req: CreateVersionUploadRequest): Promise<Upload> {
|
|
200
|
+
if (!req.attachableSgid) {
|
|
201
|
+
throw Errors.validation("Attachable sgid is required");
|
|
202
|
+
}
|
|
203
|
+
const response = await this.request(
|
|
204
|
+
{
|
|
205
|
+
service: "Uploads",
|
|
206
|
+
operation: "CreateUploadVersion",
|
|
207
|
+
resourceType: "upload_version",
|
|
208
|
+
isMutation: true,
|
|
209
|
+
resourceId: uploadId,
|
|
210
|
+
},
|
|
211
|
+
() =>
|
|
212
|
+
this.client.POST("/uploads/{uploadId}/versions.json", {
|
|
213
|
+
params: {
|
|
214
|
+
path: { uploadId },
|
|
215
|
+
},
|
|
216
|
+
body: {
|
|
217
|
+
attachable_sgid: req.attachableSgid,
|
|
218
|
+
base_name: req.baseName,
|
|
219
|
+
description: req.description,
|
|
220
|
+
notify: req.notify,
|
|
221
|
+
subscriptions: req.subscriptions,
|
|
222
|
+
},
|
|
223
|
+
})
|
|
224
|
+
);
|
|
225
|
+
return response;
|
|
226
|
+
}
|
|
227
|
+
|
|
163
228
|
/**
|
|
164
229
|
* List uploads in a vault
|
|
165
230
|
* @param vaultId - The vault ID
|
|
@@ -169,6 +234,9 @@ export class UploadsService extends BaseService {
|
|
|
169
234
|
* @example
|
|
170
235
|
* ```ts
|
|
171
236
|
* const result = await client.uploads.list(123);
|
|
237
|
+
*
|
|
238
|
+
* // With options
|
|
239
|
+
* const filtered = await client.uploads.list(123, { page: 1 });
|
|
172
240
|
* ```
|
|
173
241
|
*/
|
|
174
242
|
async list(vaultId: number, options?: ListUploadOptions): Promise<ListResult<Upload>> {
|
|
@@ -184,6 +252,7 @@ export class UploadsService extends BaseService {
|
|
|
184
252
|
this.client.GET("/vaults/{vaultId}/uploads.json", {
|
|
185
253
|
params: {
|
|
186
254
|
path: { vaultId },
|
|
255
|
+
query: { page: options?.page },
|
|
187
256
|
},
|
|
188
257
|
})
|
|
189
258
|
, options
|
|
@@ -29,6 +29,8 @@ export interface UpdateVaultRequest {
|
|
|
29
29
|
* Options for list.
|
|
30
30
|
*/
|
|
31
31
|
export interface ListVaultOptions extends PaginationOptions {
|
|
32
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
33
|
+
page?: number;
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
/**
|
|
@@ -122,6 +124,9 @@ export class VaultsService extends BaseService {
|
|
|
122
124
|
* @example
|
|
123
125
|
* ```ts
|
|
124
126
|
* const result = await client.vaults.list(123);
|
|
127
|
+
*
|
|
128
|
+
* // With options
|
|
129
|
+
* const filtered = await client.vaults.list(123, { page: 1 });
|
|
125
130
|
* ```
|
|
126
131
|
*/
|
|
127
132
|
async list(vaultId: number, options?: ListVaultOptions): Promise<ListResult<Vault>> {
|
|
@@ -137,6 +142,7 @@ export class VaultsService extends BaseService {
|
|
|
137
142
|
this.client.GET("/vaults/{vaultId}/vaults.json", {
|
|
138
143
|
params: {
|
|
139
144
|
path: { vaultId },
|
|
145
|
+
query: { page: options?.page },
|
|
140
146
|
},
|
|
141
147
|
})
|
|
142
148
|
, options
|