@37signals/basecamp 0.2.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 +600 -0
- package/dist/auth-strategy.d.ts +36 -0
- package/dist/auth-strategy.d.ts.map +1 -0
- package/dist/auth-strategy.js +33 -0
- package/dist/auth-strategy.js.map +1 -0
- package/dist/client.d.ts +224 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +715 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +137 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +269 -0
- package/dist/errors.js.map +1 -0
- package/dist/generated/metadata.json +2281 -0
- package/dist/generated/openapi-stripped.json +21268 -0
- package/dist/generated/path-mapping.d.ts +8 -0
- package/dist/generated/path-mapping.d.ts.map +1 -0
- package/dist/generated/path-mapping.js +192 -0
- package/dist/generated/path-mapping.js.map +1 -0
- package/dist/generated/path-mapping.ts +199 -0
- package/dist/generated/schema.d.ts +14883 -0
- package/dist/generated/services/attachments.d.ts +27 -0
- package/dist/generated/services/attachments.d.ts.map +1 -0
- package/dist/generated/services/attachments.js +49 -0
- package/dist/generated/services/attachments.js.map +1 -0
- package/dist/generated/services/attachments.ts +59 -0
- package/dist/generated/services/boosts.d.ts +114 -0
- package/dist/generated/services/boosts.d.ts.map +1 -0
- package/dist/generated/services/boosts.js +179 -0
- package/dist/generated/services/boosts.js.map +1 -0
- package/dist/generated/services/boosts.ts +250 -0
- package/dist/generated/services/campfires.d.ts +202 -0
- package/dist/generated/services/campfires.d.ts.map +1 -0
- package/dist/generated/services/campfires.js +309 -0
- package/dist/generated/services/campfires.js.map +1 -0
- package/dist/generated/services/campfires.ts +433 -0
- package/dist/generated/services/card-columns.d.ts +163 -0
- package/dist/generated/services/card-columns.d.ts.map +1 -0
- package/dist/generated/services/card-columns.js +264 -0
- package/dist/generated/services/card-columns.js.map +1 -0
- package/dist/generated/services/card-columns.ts +360 -0
- package/dist/generated/services/card-steps.d.ts +105 -0
- package/dist/generated/services/card-steps.d.ts.map +1 -0
- package/dist/generated/services/card-steps.js +148 -0
- package/dist/generated/services/card-steps.js.map +1 -0
- package/dist/generated/services/card-steps.ts +221 -0
- package/dist/generated/services/card-tables.d.ts +27 -0
- package/dist/generated/services/card-tables.d.ts.map +1 -0
- package/dist/generated/services/card-tables.js +40 -0
- package/dist/generated/services/card-tables.js.map +1 -0
- package/dist/generated/services/card-tables.ts +55 -0
- package/dist/generated/services/cards.d.ts +118 -0
- package/dist/generated/services/cards.d.ts.map +1 -0
- package/dist/generated/services/cards.js +166 -0
- package/dist/generated/services/cards.js.map +1 -0
- package/dist/generated/services/cards.ts +247 -0
- package/dist/generated/services/checkins.d.ts +278 -0
- package/dist/generated/services/checkins.d.ts.map +1 -0
- package/dist/generated/services/checkins.js +420 -0
- package/dist/generated/services/checkins.js.map +1 -0
- package/dist/generated/services/checkins.ts +600 -0
- package/dist/generated/services/client-approvals.d.ts +45 -0
- package/dist/generated/services/client-approvals.d.ts.map +1 -0
- package/dist/generated/services/client-approvals.js +58 -0
- package/dist/generated/services/client-approvals.js.map +1 -0
- package/dist/generated/services/client-approvals.ts +89 -0
- package/dist/generated/services/client-correspondences.d.ts +45 -0
- package/dist/generated/services/client-correspondences.d.ts.map +1 -0
- package/dist/generated/services/client-correspondences.js +58 -0
- package/dist/generated/services/client-correspondences.js.map +1 -0
- package/dist/generated/services/client-correspondences.ts +89 -0
- package/dist/generated/services/client-replies.d.ts +47 -0
- package/dist/generated/services/client-replies.d.ts.map +1 -0
- package/dist/generated/services/client-replies.js +65 -0
- package/dist/generated/services/client-replies.js.map +1 -0
- package/dist/generated/services/client-replies.ts +95 -0
- package/dist/generated/services/client-visibility.d.ts +35 -0
- package/dist/generated/services/client-visibility.d.ts.map +1 -0
- package/dist/generated/services/client-visibility.js +44 -0
- package/dist/generated/services/client-visibility.js.map +1 -0
- package/dist/generated/services/client-visibility.ts +68 -0
- package/dist/generated/services/comments.d.ts +86 -0
- package/dist/generated/services/comments.d.ts.map +1 -0
- package/dist/generated/services/comments.js +129 -0
- package/dist/generated/services/comments.js.map +1 -0
- package/dist/generated/services/comments.ts +185 -0
- package/dist/generated/services/documents.d.ts +92 -0
- package/dist/generated/services/documents.d.ts.map +1 -0
- package/dist/generated/services/documents.js +129 -0
- package/dist/generated/services/documents.js.map +1 -0
- package/dist/generated/services/documents.ts +191 -0
- package/dist/generated/services/events.d.ts +34 -0
- package/dist/generated/services/events.d.ts.map +1 -0
- package/dist/generated/services/events.js +39 -0
- package/dist/generated/services/events.js.map +1 -0
- package/dist/generated/services/events.ts +64 -0
- package/dist/generated/services/forwards.d.ts +112 -0
- package/dist/generated/services/forwards.d.ts.map +1 -0
- package/dist/generated/services/forwards.js +172 -0
- package/dist/generated/services/forwards.js.map +1 -0
- package/dist/generated/services/forwards.ts +241 -0
- package/dist/generated/services/index.d.ts +39 -0
- package/dist/generated/services/index.d.ts.map +1 -0
- package/dist/generated/services/index.js +39 -0
- package/dist/generated/services/index.js.map +1 -0
- package/dist/generated/services/index.ts +38 -0
- package/dist/generated/services/lineup.d.ts +67 -0
- package/dist/generated/services/lineup.d.ts.map +1 -0
- package/dist/generated/services/lineup.js +99 -0
- package/dist/generated/services/lineup.js.map +1 -0
- package/dist/generated/services/lineup.ts +143 -0
- package/dist/generated/services/message-boards.d.ts +27 -0
- package/dist/generated/services/message-boards.d.ts.map +1 -0
- package/dist/generated/services/message-boards.js +40 -0
- package/dist/generated/services/message-boards.js.map +1 -0
- package/dist/generated/services/message-boards.ts +55 -0
- package/dist/generated/services/message-types.d.ts +100 -0
- package/dist/generated/services/message-types.d.ts.map +1 -0
- package/dist/generated/services/message-types.js +144 -0
- package/dist/generated/services/message-types.js.map +1 -0
- package/dist/generated/services/message-types.ts +210 -0
- package/dist/generated/services/messages.d.ts +122 -0
- package/dist/generated/services/messages.d.ts.map +1 -0
- package/dist/generated/services/messages.js +180 -0
- package/dist/generated/services/messages.js.map +1 -0
- package/dist/generated/services/messages.ts +258 -0
- package/dist/generated/services/people.d.ts +122 -0
- package/dist/generated/services/people.d.ts.map +1 -0
- package/dist/generated/services/people.js +167 -0
- package/dist/generated/services/people.js.map +1 -0
- package/dist/generated/services/people.ts +252 -0
- package/dist/generated/services/projects.d.ts +109 -0
- package/dist/generated/services/projects.d.ts.map +1 -0
- package/dist/generated/services/projects.js +153 -0
- package/dist/generated/services/projects.js.map +1 -0
- package/dist/generated/services/projects.ts +224 -0
- package/dist/generated/services/recordings.d.ts +93 -0
- package/dist/generated/services/recordings.d.ts.map +1 -0
- package/dist/generated/services/recordings.js +138 -0
- package/dist/generated/services/recordings.js.map +1 -0
- package/dist/generated/services/recordings.ts +191 -0
- package/dist/generated/services/reports.d.ts +90 -0
- package/dist/generated/services/reports.d.ts.map +1 -0
- package/dist/generated/services/reports.js +124 -0
- package/dist/generated/services/reports.js.map +1 -0
- package/dist/generated/services/reports.ts +187 -0
- package/dist/generated/services/schedules.d.ts +162 -0
- package/dist/generated/services/schedules.d.ts.map +1 -0
- package/dist/generated/services/schedules.js +228 -0
- package/dist/generated/services/schedules.js.map +1 -0
- package/dist/generated/services/schedules.ts +335 -0
- package/dist/generated/services/search.d.ts +45 -0
- package/dist/generated/services/search.d.ts.map +1 -0
- package/dist/generated/services/search.js +56 -0
- package/dist/generated/services/search.js.map +1 -0
- package/dist/generated/services/search.ts +89 -0
- package/dist/generated/services/subscriptions.d.ts +73 -0
- package/dist/generated/services/subscriptions.d.ts.map +1 -0
- package/dist/generated/services/subscriptions.js +119 -0
- package/dist/generated/services/subscriptions.js.map +1 -0
- package/dist/generated/services/subscriptions.ts +160 -0
- package/dist/generated/services/templates.d.ts +140 -0
- package/dist/generated/services/templates.d.ts.map +1 -0
- package/dist/generated/services/templates.js +207 -0
- package/dist/generated/services/templates.js.map +1 -0
- package/dist/generated/services/templates.ts +294 -0
- package/dist/generated/services/timeline.d.ts +31 -0
- package/dist/generated/services/timeline.d.ts.map +1 -0
- package/dist/generated/services/timeline.js +39 -0
- package/dist/generated/services/timeline.js.map +1 -0
- package/dist/generated/services/timeline.ts +62 -0
- package/dist/generated/services/timesheets.d.ts +145 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -0
- package/dist/generated/services/timesheets.js +186 -0
- package/dist/generated/services/timesheets.js.map +1 -0
- package/dist/generated/services/timesheets.ts +289 -0
- package/dist/generated/services/todolist-groups.d.ts +74 -0
- package/dist/generated/services/todolist-groups.d.ts.map +1 -0
- package/dist/generated/services/todolist-groups.js +100 -0
- package/dist/generated/services/todolist-groups.js.map +1 -0
- package/dist/generated/services/todolist-groups.ts +151 -0
- package/dist/generated/services/todolists.d.ts +95 -0
- package/dist/generated/services/todolists.d.ts.map +1 -0
- package/dist/generated/services/todolists.js +130 -0
- package/dist/generated/services/todolists.js.map +1 -0
- package/dist/generated/services/todolists.ts +192 -0
- package/dist/generated/services/todos.d.ts +175 -0
- package/dist/generated/services/todos.d.ts.map +1 -0
- package/dist/generated/services/todos.js +255 -0
- package/dist/generated/services/todos.js.map +1 -0
- package/dist/generated/services/todos.ts +369 -0
- package/dist/generated/services/todosets.d.ts +27 -0
- package/dist/generated/services/todosets.d.ts.map +1 -0
- package/dist/generated/services/todosets.js +40 -0
- package/dist/generated/services/todosets.js.map +1 -0
- package/dist/generated/services/todosets.ts +55 -0
- package/dist/generated/services/tools.d.ts +122 -0
- package/dist/generated/services/tools.d.ts.map +1 -0
- package/dist/generated/services/tools.js +197 -0
- package/dist/generated/services/tools.js.map +1 -0
- package/dist/generated/services/tools.ts +267 -0
- package/dist/generated/services/uploads.d.ts +109 -0
- package/dist/generated/services/uploads.d.ts.map +1 -0
- package/dist/generated/services/uploads.js +153 -0
- package/dist/generated/services/uploads.js.map +1 -0
- package/dist/generated/services/uploads.ts +227 -0
- package/dist/generated/services/vaults.d.ts +86 -0
- package/dist/generated/services/vaults.d.ts.map +1 -0
- package/dist/generated/services/vaults.js +126 -0
- package/dist/generated/services/vaults.js.map +1 -0
- package/dist/generated/services/vaults.ts +182 -0
- package/dist/generated/services/webhooks.d.ts +106 -0
- package/dist/generated/services/webhooks.d.ts.map +1 -0
- package/dist/generated/services/webhooks.js +157 -0
- package/dist/generated/services/webhooks.js.map +1 -0
- package/dist/generated/services/webhooks.ts +226 -0
- package/dist/hooks/otel.d.ts +136 -0
- package/dist/hooks/otel.d.ts.map +1 -0
- package/dist/hooks/otel.js +240 -0
- package/dist/hooks/otel.js.map +1 -0
- package/dist/hooks.d.ts +171 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +196 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +90 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/oauth/authorize.d.ts +48 -0
- package/dist/oauth/authorize.d.ts.map +1 -0
- package/dist/oauth/authorize.js +56 -0
- package/dist/oauth/authorize.js.map +1 -0
- package/dist/oauth/callback-server.d.ts +56 -0
- package/dist/oauth/callback-server.d.ts.map +1 -0
- package/dist/oauth/callback-server.js +150 -0
- package/dist/oauth/callback-server.js.map +1 -0
- package/dist/oauth/discovery.d.ts +54 -0
- package/dist/oauth/discovery.d.ts.map +1 -0
- package/dist/oauth/discovery.js +116 -0
- package/dist/oauth/discovery.js.map +1 -0
- package/dist/oauth/exchange.d.ts +96 -0
- package/dist/oauth/exchange.d.ts.map +1 -0
- package/dist/oauth/exchange.js +324 -0
- package/dist/oauth/exchange.js.map +1 -0
- package/dist/oauth/identity.d.ts +30 -0
- package/dist/oauth/identity.d.ts.map +1 -0
- package/dist/oauth/identity.js +82 -0
- package/dist/oauth/identity.js.map +1 -0
- package/dist/oauth/index.d.ts +50 -0
- package/dist/oauth/index.d.ts.map +1 -0
- package/dist/oauth/index.js +58 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/interactive-login.d.ts +62 -0
- package/dist/oauth/interactive-login.d.ts.map +1 -0
- package/dist/oauth/interactive-login.js +106 -0
- package/dist/oauth/interactive-login.js.map +1 -0
- package/dist/oauth/pkce.d.ts +68 -0
- package/dist/oauth/pkce.d.ts.map +1 -0
- package/dist/oauth/pkce.js +80 -0
- package/dist/oauth/pkce.js.map +1 -0
- package/dist/oauth/token-manager.d.ts +92 -0
- package/dist/oauth/token-manager.d.ts.map +1 -0
- package/dist/oauth/token-manager.js +126 -0
- package/dist/oauth/token-manager.js.map +1 -0
- package/dist/oauth/token-store.d.ts +45 -0
- package/dist/oauth/token-store.d.ts.map +1 -0
- package/dist/oauth/token-store.js +105 -0
- package/dist/oauth/token-store.js.map +1 -0
- package/dist/oauth/types.d.ts +98 -0
- package/dist/oauth/types.d.ts.map +1 -0
- package/dist/oauth/types.js +8 -0
- package/dist/oauth/types.js.map +1 -0
- package/dist/pagination-utils.d.ts +27 -0
- package/dist/pagination-utils.d.ts.map +1 -0
- package/dist/pagination-utils.js +54 -0
- package/dist/pagination-utils.js.map +1 -0
- package/dist/pagination.d.ts +56 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +57 -0
- package/dist/pagination.js.map +1 -0
- package/dist/security.d.ts +68 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +107 -0
- package/dist/security.js.map +1 -0
- package/dist/services/authorization.d.ts +124 -0
- package/dist/services/authorization.d.ts.map +1 -0
- package/dist/services/authorization.js +117 -0
- package/dist/services/authorization.js.map +1 -0
- package/dist/services/base.d.ts +102 -0
- package/dist/services/base.d.ts.map +1 -0
- package/dist/services/base.js +230 -0
- package/dist/services/base.js.map +1 -0
- package/dist/webhooks/adapters/node-http.d.ts +14 -0
- package/dist/webhooks/adapters/node-http.d.ts.map +1 -0
- package/dist/webhooks/adapters/node-http.js +60 -0
- package/dist/webhooks/adapters/node-http.js.map +1 -0
- package/dist/webhooks/events.d.ts +52 -0
- package/dist/webhooks/events.d.ts.map +1 -0
- package/dist/webhooks/events.js +52 -0
- package/dist/webhooks/events.js.map +1 -0
- package/dist/webhooks/handler.d.ts +62 -0
- package/dist/webhooks/handler.d.ts.map +1 -0
- package/dist/webhooks/handler.js +226 -0
- package/dist/webhooks/handler.js.map +1 -0
- package/dist/webhooks/index.d.ts +5 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/index.js +5 -0
- package/dist/webhooks/index.js.map +1 -0
- package/dist/webhooks/verify.d.ts +11 -0
- package/dist/webhooks/verify.d.ts.map +1 -0
- package/dist/webhooks/verify.js +25 -0
- package/dist/webhooks/verify.js.map +1 -0
- package/package.json +70 -0
- package/src/generated/metadata.json +2281 -0
- package/src/generated/openapi-stripped.json +21268 -0
- package/src/generated/path-mapping.ts +199 -0
- package/src/generated/schema.d.ts +14883 -0
- package/src/generated/services/attachments.ts +59 -0
- package/src/generated/services/boosts.ts +250 -0
- package/src/generated/services/campfires.ts +433 -0
- package/src/generated/services/card-columns.ts +360 -0
- package/src/generated/services/card-steps.ts +221 -0
- package/src/generated/services/card-tables.ts +55 -0
- package/src/generated/services/cards.ts +247 -0
- package/src/generated/services/checkins.ts +600 -0
- package/src/generated/services/client-approvals.ts +89 -0
- package/src/generated/services/client-correspondences.ts +89 -0
- package/src/generated/services/client-replies.ts +95 -0
- package/src/generated/services/client-visibility.ts +68 -0
- package/src/generated/services/comments.ts +185 -0
- package/src/generated/services/documents.ts +191 -0
- package/src/generated/services/events.ts +64 -0
- package/src/generated/services/forwards.ts +241 -0
- package/src/generated/services/index.ts +38 -0
- package/src/generated/services/lineup.ts +143 -0
- package/src/generated/services/message-boards.ts +55 -0
- package/src/generated/services/message-types.ts +210 -0
- package/src/generated/services/messages.ts +258 -0
- package/src/generated/services/people.ts +252 -0
- package/src/generated/services/projects.ts +224 -0
- package/src/generated/services/recordings.ts +191 -0
- package/src/generated/services/reports.ts +187 -0
- package/src/generated/services/schedules.ts +335 -0
- package/src/generated/services/search.ts +89 -0
- package/src/generated/services/subscriptions.ts +160 -0
- package/src/generated/services/templates.ts +294 -0
- package/src/generated/services/timeline.ts +62 -0
- package/src/generated/services/timesheets.ts +289 -0
- package/src/generated/services/todolist-groups.ts +151 -0
- package/src/generated/services/todolists.ts +192 -0
- package/src/generated/services/todos.ts +369 -0
- package/src/generated/services/todosets.ts +55 -0
- package/src/generated/services/tools.ts +267 -0
- package/src/generated/services/uploads.ts +227 -0
- package/src/generated/services/vaults.ts +182 -0
- package/src/generated/services/webhooks.ts +226 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Todosets service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { BaseService } from "../../services/base.js";
|
|
8
|
+
import type { components } from "../schema.js";
|
|
9
|
+
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// Types
|
|
12
|
+
// =============================================================================
|
|
13
|
+
|
|
14
|
+
/** Todoset entity from the Basecamp API. */
|
|
15
|
+
export type Todoset = components["schemas"]["Todoset"];
|
|
16
|
+
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Service
|
|
19
|
+
// =============================================================================
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Service for Todosets operations.
|
|
23
|
+
*/
|
|
24
|
+
export class TodosetsService extends BaseService {
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Get a todoset (container for todolists in a project)
|
|
28
|
+
* @param todosetId - The todoset ID
|
|
29
|
+
* @returns The Todoset
|
|
30
|
+
* @throws {BasecampError} If the resource is not found
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const result = await client.todosets.get(123);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
async get(todosetId: number): Promise<Todoset> {
|
|
38
|
+
const response = await this.request(
|
|
39
|
+
{
|
|
40
|
+
service: "Todosets",
|
|
41
|
+
operation: "GetTodoset",
|
|
42
|
+
resourceType: "todoset",
|
|
43
|
+
isMutation: false,
|
|
44
|
+
resourceId: todosetId,
|
|
45
|
+
},
|
|
46
|
+
() =>
|
|
47
|
+
this.client.GET("/todosets/{todosetId}", {
|
|
48
|
+
params: {
|
|
49
|
+
path: { todosetId },
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
);
|
|
53
|
+
return response;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tools service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { BaseService } from "../../services/base.js";
|
|
8
|
+
import type { components } from "../schema.js";
|
|
9
|
+
import { Errors } from "../../errors.js";
|
|
10
|
+
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// Types
|
|
13
|
+
// =============================================================================
|
|
14
|
+
|
|
15
|
+
/** Tool entity from the Basecamp API. */
|
|
16
|
+
export type Tool = components["schemas"]["Tool"];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Request parameters for clone.
|
|
20
|
+
*/
|
|
21
|
+
export interface CloneToolRequest {
|
|
22
|
+
/** Source recording id */
|
|
23
|
+
sourceRecordingId: number;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Request parameters for update.
|
|
28
|
+
*/
|
|
29
|
+
export interface UpdateToolRequest {
|
|
30
|
+
/** Title */
|
|
31
|
+
title: string;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Request parameters for reposition.
|
|
36
|
+
*/
|
|
37
|
+
export interface RepositionToolRequest {
|
|
38
|
+
/** Position for ordering (1-based) */
|
|
39
|
+
position: number;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
// =============================================================================
|
|
44
|
+
// Service
|
|
45
|
+
// =============================================================================
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Service for Tools operations.
|
|
49
|
+
*/
|
|
50
|
+
export class ToolsService extends BaseService {
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Clone an existing tool to create a new one
|
|
54
|
+
* @param req - Tool request parameters
|
|
55
|
+
* @returns The Tool
|
|
56
|
+
* @throws {BasecampError} If the request fails
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const result = await client.tools.clone({ sourceRecordingId: 1 });
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
async clone(req: CloneToolRequest): Promise<Tool> {
|
|
64
|
+
const response = await this.request(
|
|
65
|
+
{
|
|
66
|
+
service: "Tools",
|
|
67
|
+
operation: "CloneTool",
|
|
68
|
+
resourceType: "tool",
|
|
69
|
+
isMutation: true,
|
|
70
|
+
},
|
|
71
|
+
() =>
|
|
72
|
+
this.client.POST("/dock/tools.json", {
|
|
73
|
+
body: {
|
|
74
|
+
source_recording_id: req.sourceRecordingId,
|
|
75
|
+
},
|
|
76
|
+
})
|
|
77
|
+
);
|
|
78
|
+
return response;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Get a dock tool by id
|
|
83
|
+
* @param toolId - The tool ID
|
|
84
|
+
* @returns The Tool
|
|
85
|
+
* @throws {BasecampError} If the resource is not found
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const result = await client.tools.get(123);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
async get(toolId: number): Promise<Tool> {
|
|
93
|
+
const response = await this.request(
|
|
94
|
+
{
|
|
95
|
+
service: "Tools",
|
|
96
|
+
operation: "GetTool",
|
|
97
|
+
resourceType: "tool",
|
|
98
|
+
isMutation: false,
|
|
99
|
+
resourceId: toolId,
|
|
100
|
+
},
|
|
101
|
+
() =>
|
|
102
|
+
this.client.GET("/dock/tools/{toolId}", {
|
|
103
|
+
params: {
|
|
104
|
+
path: { toolId },
|
|
105
|
+
},
|
|
106
|
+
})
|
|
107
|
+
);
|
|
108
|
+
return response;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Update (rename) an existing tool
|
|
113
|
+
* @param toolId - The tool ID
|
|
114
|
+
* @param req - Tool update parameters
|
|
115
|
+
* @returns The Tool
|
|
116
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* const result = await client.tools.update(123, { title: "example" });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
async update(toolId: number, req: UpdateToolRequest): Promise<Tool> {
|
|
124
|
+
if (!req.title) {
|
|
125
|
+
throw Errors.validation("Title is required");
|
|
126
|
+
}
|
|
127
|
+
const response = await this.request(
|
|
128
|
+
{
|
|
129
|
+
service: "Tools",
|
|
130
|
+
operation: "UpdateTool",
|
|
131
|
+
resourceType: "tool",
|
|
132
|
+
isMutation: true,
|
|
133
|
+
resourceId: toolId,
|
|
134
|
+
},
|
|
135
|
+
() =>
|
|
136
|
+
this.client.PUT("/dock/tools/{toolId}", {
|
|
137
|
+
params: {
|
|
138
|
+
path: { toolId },
|
|
139
|
+
},
|
|
140
|
+
body: {
|
|
141
|
+
title: req.title,
|
|
142
|
+
},
|
|
143
|
+
})
|
|
144
|
+
);
|
|
145
|
+
return response;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Delete a tool (trash it)
|
|
150
|
+
* @param toolId - The tool ID
|
|
151
|
+
* @returns void
|
|
152
|
+
* @throws {BasecampError} If the request fails
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* await client.tools.delete(123);
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
async delete(toolId: number): Promise<void> {
|
|
160
|
+
await this.request(
|
|
161
|
+
{
|
|
162
|
+
service: "Tools",
|
|
163
|
+
operation: "DeleteTool",
|
|
164
|
+
resourceType: "tool",
|
|
165
|
+
isMutation: true,
|
|
166
|
+
resourceId: toolId,
|
|
167
|
+
},
|
|
168
|
+
() =>
|
|
169
|
+
this.client.DELETE("/dock/tools/{toolId}", {
|
|
170
|
+
params: {
|
|
171
|
+
path: { toolId },
|
|
172
|
+
},
|
|
173
|
+
})
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Enable a tool (show it on the project dock)
|
|
179
|
+
* @param toolId - The tool ID
|
|
180
|
+
* @returns void
|
|
181
|
+
* @throws {BasecampError} If the request fails
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```ts
|
|
185
|
+
* await client.tools.enable(123);
|
|
186
|
+
* ```
|
|
187
|
+
*/
|
|
188
|
+
async enable(toolId: number): Promise<void> {
|
|
189
|
+
await this.request(
|
|
190
|
+
{
|
|
191
|
+
service: "Tools",
|
|
192
|
+
operation: "EnableTool",
|
|
193
|
+
resourceType: "tool",
|
|
194
|
+
isMutation: true,
|
|
195
|
+
resourceId: toolId,
|
|
196
|
+
},
|
|
197
|
+
() =>
|
|
198
|
+
this.client.POST("/recordings/{toolId}/position.json", {
|
|
199
|
+
params: {
|
|
200
|
+
path: { toolId },
|
|
201
|
+
},
|
|
202
|
+
})
|
|
203
|
+
);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Reposition a tool on the project dock
|
|
208
|
+
* @param toolId - The tool ID
|
|
209
|
+
* @param req - Tool request parameters
|
|
210
|
+
* @returns void
|
|
211
|
+
* @throws {BasecampError} If the request fails
|
|
212
|
+
*
|
|
213
|
+
* @example
|
|
214
|
+
* ```ts
|
|
215
|
+
* await client.tools.reposition(123, { position: 1 });
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
async reposition(toolId: number, req: RepositionToolRequest): Promise<void> {
|
|
219
|
+
await this.request(
|
|
220
|
+
{
|
|
221
|
+
service: "Tools",
|
|
222
|
+
operation: "RepositionTool",
|
|
223
|
+
resourceType: "tool",
|
|
224
|
+
isMutation: true,
|
|
225
|
+
resourceId: toolId,
|
|
226
|
+
},
|
|
227
|
+
() =>
|
|
228
|
+
this.client.PUT("/recordings/{toolId}/position.json", {
|
|
229
|
+
params: {
|
|
230
|
+
path: { toolId },
|
|
231
|
+
},
|
|
232
|
+
body: {
|
|
233
|
+
position: req.position,
|
|
234
|
+
},
|
|
235
|
+
})
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Disable a tool (hide it from the project dock)
|
|
241
|
+
* @param toolId - The tool ID
|
|
242
|
+
* @returns void
|
|
243
|
+
* @throws {BasecampError} If the request fails
|
|
244
|
+
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```ts
|
|
247
|
+
* await client.tools.disable(123);
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
async disable(toolId: number): Promise<void> {
|
|
251
|
+
await this.request(
|
|
252
|
+
{
|
|
253
|
+
service: "Tools",
|
|
254
|
+
operation: "DisableTool",
|
|
255
|
+
resourceType: "tool",
|
|
256
|
+
isMutation: true,
|
|
257
|
+
resourceId: toolId,
|
|
258
|
+
},
|
|
259
|
+
() =>
|
|
260
|
+
this.client.DELETE("/recordings/{toolId}/position.json", {
|
|
261
|
+
params: {
|
|
262
|
+
path: { toolId },
|
|
263
|
+
},
|
|
264
|
+
})
|
|
265
|
+
);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Uploads service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { BaseService } from "../../services/base.js";
|
|
8
|
+
import type { components } from "../schema.js";
|
|
9
|
+
import { ListResult } from "../../pagination.js";
|
|
10
|
+
import type { PaginationOptions } from "../../pagination.js";
|
|
11
|
+
import { Errors } from "../../errors.js";
|
|
12
|
+
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Types
|
|
15
|
+
// =============================================================================
|
|
16
|
+
|
|
17
|
+
/** Upload entity from the Basecamp API. */
|
|
18
|
+
export type Upload = components["schemas"]["Upload"];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Request parameters for update.
|
|
22
|
+
*/
|
|
23
|
+
export interface UpdateUploadRequest {
|
|
24
|
+
/** Rich text description (HTML) */
|
|
25
|
+
description?: string;
|
|
26
|
+
/** Base name */
|
|
27
|
+
baseName?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Options for listVersions.
|
|
32
|
+
*/
|
|
33
|
+
export interface ListVersionsUploadOptions extends PaginationOptions {
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Options for list.
|
|
38
|
+
*/
|
|
39
|
+
export interface ListUploadOptions extends PaginationOptions {
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Request parameters for create.
|
|
44
|
+
*/
|
|
45
|
+
export interface CreateUploadRequest {
|
|
46
|
+
/** Attachable sgid */
|
|
47
|
+
attachableSgid: string;
|
|
48
|
+
/** Rich text description (HTML) */
|
|
49
|
+
description?: string;
|
|
50
|
+
/** Base name */
|
|
51
|
+
baseName?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
// =============================================================================
|
|
56
|
+
// Service
|
|
57
|
+
// =============================================================================
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Service for Uploads operations.
|
|
61
|
+
*/
|
|
62
|
+
export class UploadsService extends BaseService {
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get a single upload by id
|
|
66
|
+
* @param uploadId - The upload ID
|
|
67
|
+
* @returns The Upload
|
|
68
|
+
* @throws {BasecampError} If the resource is not found
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* const result = await client.uploads.get(123);
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
async get(uploadId: number): Promise<Upload> {
|
|
76
|
+
const response = await this.request(
|
|
77
|
+
{
|
|
78
|
+
service: "Uploads",
|
|
79
|
+
operation: "GetUpload",
|
|
80
|
+
resourceType: "upload",
|
|
81
|
+
isMutation: false,
|
|
82
|
+
resourceId: uploadId,
|
|
83
|
+
},
|
|
84
|
+
() =>
|
|
85
|
+
this.client.GET("/uploads/{uploadId}", {
|
|
86
|
+
params: {
|
|
87
|
+
path: { uploadId },
|
|
88
|
+
},
|
|
89
|
+
})
|
|
90
|
+
);
|
|
91
|
+
return response;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Update an existing upload
|
|
96
|
+
* @param uploadId - The upload ID
|
|
97
|
+
* @param req - Upload update parameters
|
|
98
|
+
* @returns The Upload
|
|
99
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* const result = await client.uploads.update(123, { });
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
async update(uploadId: number, req: UpdateUploadRequest): Promise<Upload> {
|
|
107
|
+
const response = await this.request(
|
|
108
|
+
{
|
|
109
|
+
service: "Uploads",
|
|
110
|
+
operation: "UpdateUpload",
|
|
111
|
+
resourceType: "upload",
|
|
112
|
+
isMutation: true,
|
|
113
|
+
resourceId: uploadId,
|
|
114
|
+
},
|
|
115
|
+
() =>
|
|
116
|
+
this.client.PUT("/uploads/{uploadId}", {
|
|
117
|
+
params: {
|
|
118
|
+
path: { uploadId },
|
|
119
|
+
},
|
|
120
|
+
body: {
|
|
121
|
+
description: req.description,
|
|
122
|
+
base_name: req.baseName,
|
|
123
|
+
},
|
|
124
|
+
})
|
|
125
|
+
);
|
|
126
|
+
return response;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* List versions of an upload
|
|
131
|
+
* @param uploadId - The upload ID
|
|
132
|
+
* @param options - Optional query parameters
|
|
133
|
+
* @returns All Upload across all pages, with .meta.totalCount
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* const result = await client.uploads.listVersions(123);
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
async listVersions(uploadId: number, options?: ListVersionsUploadOptions): Promise<ListResult<Upload>> {
|
|
141
|
+
return this.requestPaginated(
|
|
142
|
+
{
|
|
143
|
+
service: "Uploads",
|
|
144
|
+
operation: "ListUploadVersions",
|
|
145
|
+
resourceType: "upload_version",
|
|
146
|
+
isMutation: false,
|
|
147
|
+
resourceId: uploadId,
|
|
148
|
+
},
|
|
149
|
+
() =>
|
|
150
|
+
this.client.GET("/uploads/{uploadId}/versions.json", {
|
|
151
|
+
params: {
|
|
152
|
+
path: { uploadId },
|
|
153
|
+
},
|
|
154
|
+
})
|
|
155
|
+
, options
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* List uploads in a vault
|
|
161
|
+
* @param vaultId - The vault ID
|
|
162
|
+
* @param options - Optional query parameters
|
|
163
|
+
* @returns All Upload across all pages, with .meta.totalCount
|
|
164
|
+
*
|
|
165
|
+
* @example
|
|
166
|
+
* ```ts
|
|
167
|
+
* const result = await client.uploads.list(123);
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
async list(vaultId: number, options?: ListUploadOptions): Promise<ListResult<Upload>> {
|
|
171
|
+
return this.requestPaginated(
|
|
172
|
+
{
|
|
173
|
+
service: "Uploads",
|
|
174
|
+
operation: "ListUploads",
|
|
175
|
+
resourceType: "upload",
|
|
176
|
+
isMutation: false,
|
|
177
|
+
resourceId: vaultId,
|
|
178
|
+
},
|
|
179
|
+
() =>
|
|
180
|
+
this.client.GET("/vaults/{vaultId}/uploads.json", {
|
|
181
|
+
params: {
|
|
182
|
+
path: { vaultId },
|
|
183
|
+
},
|
|
184
|
+
})
|
|
185
|
+
, options
|
|
186
|
+
);
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Create a new upload in a vault
|
|
191
|
+
* @param vaultId - The vault ID
|
|
192
|
+
* @param req - Upload creation parameters
|
|
193
|
+
* @returns The Upload
|
|
194
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```ts
|
|
198
|
+
* const result = await client.uploads.create(123, { attachableSgid: "example" });
|
|
199
|
+
* ```
|
|
200
|
+
*/
|
|
201
|
+
async create(vaultId: number, req: CreateUploadRequest): Promise<Upload> {
|
|
202
|
+
if (!req.attachableSgid) {
|
|
203
|
+
throw Errors.validation("Attachable sgid is required");
|
|
204
|
+
}
|
|
205
|
+
const response = await this.request(
|
|
206
|
+
{
|
|
207
|
+
service: "Uploads",
|
|
208
|
+
operation: "CreateUpload",
|
|
209
|
+
resourceType: "upload",
|
|
210
|
+
isMutation: true,
|
|
211
|
+
resourceId: vaultId,
|
|
212
|
+
},
|
|
213
|
+
() =>
|
|
214
|
+
this.client.POST("/vaults/{vaultId}/uploads.json", {
|
|
215
|
+
params: {
|
|
216
|
+
path: { vaultId },
|
|
217
|
+
},
|
|
218
|
+
body: {
|
|
219
|
+
attachable_sgid: req.attachableSgid,
|
|
220
|
+
description: req.description,
|
|
221
|
+
base_name: req.baseName,
|
|
222
|
+
},
|
|
223
|
+
})
|
|
224
|
+
);
|
|
225
|
+
return response;
|
|
226
|
+
}
|
|
227
|
+
}
|