@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,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CardColumns 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 CardColumns operations.
|
|
13
|
+
*/
|
|
14
|
+
export class CardColumnsService extends BaseService {
|
|
15
|
+
/**
|
|
16
|
+
* Get a card column by ID
|
|
17
|
+
* @param columnId - The column ID
|
|
18
|
+
* @returns The CardColumn
|
|
19
|
+
* @throws {BasecampError} If the resource is not found
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const result = await client.cardColumns.get(123);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
async get(columnId) {
|
|
27
|
+
const response = await this.request({
|
|
28
|
+
service: "CardColumns",
|
|
29
|
+
operation: "GetCardColumn",
|
|
30
|
+
resourceType: "card_column",
|
|
31
|
+
isMutation: false,
|
|
32
|
+
resourceId: columnId,
|
|
33
|
+
}, () => this.client.GET("/card_tables/columns/{columnId}", {
|
|
34
|
+
params: {
|
|
35
|
+
path: { columnId },
|
|
36
|
+
},
|
|
37
|
+
}));
|
|
38
|
+
return response;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Update an existing column
|
|
42
|
+
* @param columnId - The column ID
|
|
43
|
+
* @param req - Card_column update parameters
|
|
44
|
+
* @returns The CardColumn
|
|
45
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* const result = await client.cardColumns.update(123, { });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
async update(columnId, req) {
|
|
53
|
+
const response = await this.request({
|
|
54
|
+
service: "CardColumns",
|
|
55
|
+
operation: "UpdateCardColumn",
|
|
56
|
+
resourceType: "card_column",
|
|
57
|
+
isMutation: true,
|
|
58
|
+
resourceId: columnId,
|
|
59
|
+
}, () => this.client.PUT("/card_tables/columns/{columnId}", {
|
|
60
|
+
params: {
|
|
61
|
+
path: { columnId },
|
|
62
|
+
},
|
|
63
|
+
body: {
|
|
64
|
+
title: req.title,
|
|
65
|
+
description: req.description,
|
|
66
|
+
},
|
|
67
|
+
}));
|
|
68
|
+
return response;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Set the color of a column
|
|
72
|
+
* @param columnId - The column ID
|
|
73
|
+
* @param req - Card_column_color request parameters
|
|
74
|
+
* @returns The CardColumn
|
|
75
|
+
* @throws {BasecampError} If the request fails
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* const result = await client.cardColumns.setColor(123, { color: "example" });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
async setColor(columnId, req) {
|
|
83
|
+
if (!req.color) {
|
|
84
|
+
throw Errors.validation("Color is required");
|
|
85
|
+
}
|
|
86
|
+
const response = await this.request({
|
|
87
|
+
service: "CardColumns",
|
|
88
|
+
operation: "SetCardColumnColor",
|
|
89
|
+
resourceType: "card_column_color",
|
|
90
|
+
isMutation: true,
|
|
91
|
+
resourceId: columnId,
|
|
92
|
+
}, () => this.client.PUT("/card_tables/columns/{columnId}/color.json", {
|
|
93
|
+
params: {
|
|
94
|
+
path: { columnId },
|
|
95
|
+
},
|
|
96
|
+
body: {
|
|
97
|
+
color: req.color,
|
|
98
|
+
},
|
|
99
|
+
}));
|
|
100
|
+
return response;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Enable on-hold section in a column
|
|
104
|
+
* @param columnId - The column ID
|
|
105
|
+
* @returns The CardColumn
|
|
106
|
+
* @throws {BasecampError} If the request fails
|
|
107
|
+
*
|
|
108
|
+
* @example
|
|
109
|
+
* ```ts
|
|
110
|
+
* const result = await client.cardColumns.enableOnHold(123);
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
async enableOnHold(columnId) {
|
|
114
|
+
const response = await this.request({
|
|
115
|
+
service: "CardColumns",
|
|
116
|
+
operation: "EnableCardColumnOnHold",
|
|
117
|
+
resourceType: "card_column_on_hold",
|
|
118
|
+
isMutation: true,
|
|
119
|
+
resourceId: columnId,
|
|
120
|
+
}, () => this.client.POST("/card_tables/columns/{columnId}/on_hold.json", {
|
|
121
|
+
params: {
|
|
122
|
+
path: { columnId },
|
|
123
|
+
},
|
|
124
|
+
}));
|
|
125
|
+
return response;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Disable on-hold section in a column
|
|
129
|
+
* @param columnId - The column ID
|
|
130
|
+
* @returns The CardColumn
|
|
131
|
+
* @throws {BasecampError} If the request fails
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```ts
|
|
135
|
+
* const result = await client.cardColumns.disableOnHold(123);
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
async disableOnHold(columnId) {
|
|
139
|
+
const response = await this.request({
|
|
140
|
+
service: "CardColumns",
|
|
141
|
+
operation: "DisableCardColumnOnHold",
|
|
142
|
+
resourceType: "card_column_on_hold",
|
|
143
|
+
isMutation: true,
|
|
144
|
+
resourceId: columnId,
|
|
145
|
+
}, () => this.client.DELETE("/card_tables/columns/{columnId}/on_hold.json", {
|
|
146
|
+
params: {
|
|
147
|
+
path: { columnId },
|
|
148
|
+
},
|
|
149
|
+
}));
|
|
150
|
+
return response;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Subscribe to a card column (watch for changes)
|
|
154
|
+
* @param columnId - The column ID
|
|
155
|
+
* @returns void
|
|
156
|
+
* @throws {BasecampError} If the request fails
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```ts
|
|
160
|
+
* await client.cardColumns.subscribeToColumn(123);
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
async subscribeToColumn(columnId) {
|
|
164
|
+
await this.request({
|
|
165
|
+
service: "CardColumns",
|
|
166
|
+
operation: "SubscribeToCardColumn",
|
|
167
|
+
resourceType: "to_card_column",
|
|
168
|
+
isMutation: true,
|
|
169
|
+
resourceId: columnId,
|
|
170
|
+
}, () => this.client.POST("/card_tables/lists/{columnId}/subscription.json", {
|
|
171
|
+
params: {
|
|
172
|
+
path: { columnId },
|
|
173
|
+
},
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Unsubscribe from a card column (stop watching for changes)
|
|
178
|
+
* @param columnId - The column ID
|
|
179
|
+
* @returns void
|
|
180
|
+
* @throws {BasecampError} If the request fails
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```ts
|
|
184
|
+
* await client.cardColumns.unsubscribeFromColumn(123);
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
async unsubscribeFromColumn(columnId) {
|
|
188
|
+
await this.request({
|
|
189
|
+
service: "CardColumns",
|
|
190
|
+
operation: "UnsubscribeFromCardColumn",
|
|
191
|
+
resourceType: "from_card_column",
|
|
192
|
+
isMutation: true,
|
|
193
|
+
resourceId: columnId,
|
|
194
|
+
}, () => this.client.DELETE("/card_tables/lists/{columnId}/subscription.json", {
|
|
195
|
+
params: {
|
|
196
|
+
path: { columnId },
|
|
197
|
+
},
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Create a column in a card table
|
|
202
|
+
* @param cardTableId - The card table ID
|
|
203
|
+
* @param req - Card_column creation parameters
|
|
204
|
+
* @returns The CardColumn
|
|
205
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```ts
|
|
209
|
+
* const result = await client.cardColumns.create(123, { title: "example" });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
async create(cardTableId, req) {
|
|
213
|
+
if (!req.title) {
|
|
214
|
+
throw Errors.validation("Title is required");
|
|
215
|
+
}
|
|
216
|
+
const response = await this.request({
|
|
217
|
+
service: "CardColumns",
|
|
218
|
+
operation: "CreateCardColumn",
|
|
219
|
+
resourceType: "card_column",
|
|
220
|
+
isMutation: true,
|
|
221
|
+
resourceId: cardTableId,
|
|
222
|
+
}, () => this.client.POST("/card_tables/{cardTableId}/columns.json", {
|
|
223
|
+
params: {
|
|
224
|
+
path: { cardTableId },
|
|
225
|
+
},
|
|
226
|
+
body: {
|
|
227
|
+
title: req.title,
|
|
228
|
+
description: req.description,
|
|
229
|
+
},
|
|
230
|
+
}));
|
|
231
|
+
return response;
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Move a column within a card table
|
|
235
|
+
* @param cardTableId - The card table ID
|
|
236
|
+
* @param req - Card_column request parameters
|
|
237
|
+
* @returns void
|
|
238
|
+
* @throws {BasecampError} If the request fails
|
|
239
|
+
*
|
|
240
|
+
* @example
|
|
241
|
+
* ```ts
|
|
242
|
+
* await client.cardColumns.move(123, { sourceId: 1, targetId: 1 });
|
|
243
|
+
* ```
|
|
244
|
+
*/
|
|
245
|
+
async move(cardTableId, req) {
|
|
246
|
+
await this.request({
|
|
247
|
+
service: "CardColumns",
|
|
248
|
+
operation: "MoveCardColumn",
|
|
249
|
+
resourceType: "card_column",
|
|
250
|
+
isMutation: true,
|
|
251
|
+
resourceId: cardTableId,
|
|
252
|
+
}, () => this.client.POST("/card_tables/{cardTableId}/moves.json", {
|
|
253
|
+
params: {
|
|
254
|
+
path: { cardTableId },
|
|
255
|
+
},
|
|
256
|
+
body: {
|
|
257
|
+
source_id: req.sourceId,
|
|
258
|
+
target_id: req.targetId,
|
|
259
|
+
position: req.position,
|
|
260
|
+
},
|
|
261
|
+
}));
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=card-columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-columns.js","sourceRoot":"","sources":["../../../src/generated/services/card-columns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CardColumns 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
|
+
/** CardColumn entity from the Basecamp API. */
|
|
16
|
+
export type CardColumn = components["schemas"]["CardColumn"];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Request parameters for update.
|
|
20
|
+
*/
|
|
21
|
+
export interface UpdateCardColumnRequest {
|
|
22
|
+
/** Title */
|
|
23
|
+
title?: string;
|
|
24
|
+
/** Rich text description (HTML) */
|
|
25
|
+
description?: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Request parameters for setColor.
|
|
30
|
+
*/
|
|
31
|
+
export interface SetColorCardColumnRequest {
|
|
32
|
+
/** Valid colors: white, red, orange, yellow, green, blue, aqua, purple, gray, pink, brown */
|
|
33
|
+
color: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Request parameters for create.
|
|
38
|
+
*/
|
|
39
|
+
export interface CreateCardColumnRequest {
|
|
40
|
+
/** Title */
|
|
41
|
+
title: string;
|
|
42
|
+
/** Rich text description (HTML) */
|
|
43
|
+
description?: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Request parameters for move.
|
|
48
|
+
*/
|
|
49
|
+
export interface MoveCardColumnRequest {
|
|
50
|
+
/** Source id */
|
|
51
|
+
sourceId: number;
|
|
52
|
+
/** Target id */
|
|
53
|
+
targetId: number;
|
|
54
|
+
/** Position for ordering (1-based) */
|
|
55
|
+
position?: number;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
// =============================================================================
|
|
60
|
+
// Service
|
|
61
|
+
// =============================================================================
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Service for CardColumns operations.
|
|
65
|
+
*/
|
|
66
|
+
export class CardColumnsService extends BaseService {
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Get a card column by ID
|
|
70
|
+
* @param columnId - The column ID
|
|
71
|
+
* @returns The CardColumn
|
|
72
|
+
* @throws {BasecampError} If the resource is not found
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const result = await client.cardColumns.get(123);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
async get(columnId: number): Promise<CardColumn> {
|
|
80
|
+
const response = await this.request(
|
|
81
|
+
{
|
|
82
|
+
service: "CardColumns",
|
|
83
|
+
operation: "GetCardColumn",
|
|
84
|
+
resourceType: "card_column",
|
|
85
|
+
isMutation: false,
|
|
86
|
+
resourceId: columnId,
|
|
87
|
+
},
|
|
88
|
+
() =>
|
|
89
|
+
this.client.GET("/card_tables/columns/{columnId}", {
|
|
90
|
+
params: {
|
|
91
|
+
path: { columnId },
|
|
92
|
+
},
|
|
93
|
+
})
|
|
94
|
+
);
|
|
95
|
+
return response;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Update an existing column
|
|
100
|
+
* @param columnId - The column ID
|
|
101
|
+
* @param req - Card_column update parameters
|
|
102
|
+
* @returns The CardColumn
|
|
103
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* const result = await client.cardColumns.update(123, { });
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
async update(columnId: number, req: UpdateCardColumnRequest): Promise<CardColumn> {
|
|
111
|
+
const response = await this.request(
|
|
112
|
+
{
|
|
113
|
+
service: "CardColumns",
|
|
114
|
+
operation: "UpdateCardColumn",
|
|
115
|
+
resourceType: "card_column",
|
|
116
|
+
isMutation: true,
|
|
117
|
+
resourceId: columnId,
|
|
118
|
+
},
|
|
119
|
+
() =>
|
|
120
|
+
this.client.PUT("/card_tables/columns/{columnId}", {
|
|
121
|
+
params: {
|
|
122
|
+
path: { columnId },
|
|
123
|
+
},
|
|
124
|
+
body: {
|
|
125
|
+
title: req.title,
|
|
126
|
+
description: req.description,
|
|
127
|
+
},
|
|
128
|
+
})
|
|
129
|
+
);
|
|
130
|
+
return response;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Set the color of a column
|
|
135
|
+
* @param columnId - The column ID
|
|
136
|
+
* @param req - Card_column_color request parameters
|
|
137
|
+
* @returns The CardColumn
|
|
138
|
+
* @throws {BasecampError} If the request fails
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```ts
|
|
142
|
+
* const result = await client.cardColumns.setColor(123, { color: "example" });
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
async setColor(columnId: number, req: SetColorCardColumnRequest): Promise<CardColumn> {
|
|
146
|
+
if (!req.color) {
|
|
147
|
+
throw Errors.validation("Color is required");
|
|
148
|
+
}
|
|
149
|
+
const response = await this.request(
|
|
150
|
+
{
|
|
151
|
+
service: "CardColumns",
|
|
152
|
+
operation: "SetCardColumnColor",
|
|
153
|
+
resourceType: "card_column_color",
|
|
154
|
+
isMutation: true,
|
|
155
|
+
resourceId: columnId,
|
|
156
|
+
},
|
|
157
|
+
() =>
|
|
158
|
+
this.client.PUT("/card_tables/columns/{columnId}/color.json", {
|
|
159
|
+
params: {
|
|
160
|
+
path: { columnId },
|
|
161
|
+
},
|
|
162
|
+
body: {
|
|
163
|
+
color: req.color,
|
|
164
|
+
},
|
|
165
|
+
})
|
|
166
|
+
);
|
|
167
|
+
return response;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Enable on-hold section in a column
|
|
172
|
+
* @param columnId - The column ID
|
|
173
|
+
* @returns The CardColumn
|
|
174
|
+
* @throws {BasecampError} If the request fails
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* const result = await client.cardColumns.enableOnHold(123);
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
async enableOnHold(columnId: number): Promise<CardColumn> {
|
|
182
|
+
const response = await this.request(
|
|
183
|
+
{
|
|
184
|
+
service: "CardColumns",
|
|
185
|
+
operation: "EnableCardColumnOnHold",
|
|
186
|
+
resourceType: "card_column_on_hold",
|
|
187
|
+
isMutation: true,
|
|
188
|
+
resourceId: columnId,
|
|
189
|
+
},
|
|
190
|
+
() =>
|
|
191
|
+
this.client.POST("/card_tables/columns/{columnId}/on_hold.json", {
|
|
192
|
+
params: {
|
|
193
|
+
path: { columnId },
|
|
194
|
+
},
|
|
195
|
+
})
|
|
196
|
+
);
|
|
197
|
+
return response;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Disable on-hold section in a column
|
|
202
|
+
* @param columnId - The column ID
|
|
203
|
+
* @returns The CardColumn
|
|
204
|
+
* @throws {BasecampError} If the request fails
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```ts
|
|
208
|
+
* const result = await client.cardColumns.disableOnHold(123);
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
async disableOnHold(columnId: number): Promise<CardColumn> {
|
|
212
|
+
const response = await this.request(
|
|
213
|
+
{
|
|
214
|
+
service: "CardColumns",
|
|
215
|
+
operation: "DisableCardColumnOnHold",
|
|
216
|
+
resourceType: "card_column_on_hold",
|
|
217
|
+
isMutation: true,
|
|
218
|
+
resourceId: columnId,
|
|
219
|
+
},
|
|
220
|
+
() =>
|
|
221
|
+
this.client.DELETE("/card_tables/columns/{columnId}/on_hold.json", {
|
|
222
|
+
params: {
|
|
223
|
+
path: { columnId },
|
|
224
|
+
},
|
|
225
|
+
})
|
|
226
|
+
);
|
|
227
|
+
return response;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Subscribe to a card column (watch for changes)
|
|
232
|
+
* @param columnId - The column ID
|
|
233
|
+
* @returns void
|
|
234
|
+
* @throws {BasecampError} If the request fails
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```ts
|
|
238
|
+
* await client.cardColumns.subscribeToColumn(123);
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
async subscribeToColumn(columnId: number): Promise<void> {
|
|
242
|
+
await this.request(
|
|
243
|
+
{
|
|
244
|
+
service: "CardColumns",
|
|
245
|
+
operation: "SubscribeToCardColumn",
|
|
246
|
+
resourceType: "to_card_column",
|
|
247
|
+
isMutation: true,
|
|
248
|
+
resourceId: columnId,
|
|
249
|
+
},
|
|
250
|
+
() =>
|
|
251
|
+
this.client.POST("/card_tables/lists/{columnId}/subscription.json", {
|
|
252
|
+
params: {
|
|
253
|
+
path: { columnId },
|
|
254
|
+
},
|
|
255
|
+
})
|
|
256
|
+
);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Unsubscribe from a card column (stop watching for changes)
|
|
261
|
+
* @param columnId - The column ID
|
|
262
|
+
* @returns void
|
|
263
|
+
* @throws {BasecampError} If the request fails
|
|
264
|
+
*
|
|
265
|
+
* @example
|
|
266
|
+
* ```ts
|
|
267
|
+
* await client.cardColumns.unsubscribeFromColumn(123);
|
|
268
|
+
* ```
|
|
269
|
+
*/
|
|
270
|
+
async unsubscribeFromColumn(columnId: number): Promise<void> {
|
|
271
|
+
await this.request(
|
|
272
|
+
{
|
|
273
|
+
service: "CardColumns",
|
|
274
|
+
operation: "UnsubscribeFromCardColumn",
|
|
275
|
+
resourceType: "from_card_column",
|
|
276
|
+
isMutation: true,
|
|
277
|
+
resourceId: columnId,
|
|
278
|
+
},
|
|
279
|
+
() =>
|
|
280
|
+
this.client.DELETE("/card_tables/lists/{columnId}/subscription.json", {
|
|
281
|
+
params: {
|
|
282
|
+
path: { columnId },
|
|
283
|
+
},
|
|
284
|
+
})
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Create a column in a card table
|
|
290
|
+
* @param cardTableId - The card table ID
|
|
291
|
+
* @param req - Card_column creation parameters
|
|
292
|
+
* @returns The CardColumn
|
|
293
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
294
|
+
*
|
|
295
|
+
* @example
|
|
296
|
+
* ```ts
|
|
297
|
+
* const result = await client.cardColumns.create(123, { title: "example" });
|
|
298
|
+
* ```
|
|
299
|
+
*/
|
|
300
|
+
async create(cardTableId: number, req: CreateCardColumnRequest): Promise<CardColumn> {
|
|
301
|
+
if (!req.title) {
|
|
302
|
+
throw Errors.validation("Title is required");
|
|
303
|
+
}
|
|
304
|
+
const response = await this.request(
|
|
305
|
+
{
|
|
306
|
+
service: "CardColumns",
|
|
307
|
+
operation: "CreateCardColumn",
|
|
308
|
+
resourceType: "card_column",
|
|
309
|
+
isMutation: true,
|
|
310
|
+
resourceId: cardTableId,
|
|
311
|
+
},
|
|
312
|
+
() =>
|
|
313
|
+
this.client.POST("/card_tables/{cardTableId}/columns.json", {
|
|
314
|
+
params: {
|
|
315
|
+
path: { cardTableId },
|
|
316
|
+
},
|
|
317
|
+
body: {
|
|
318
|
+
title: req.title,
|
|
319
|
+
description: req.description,
|
|
320
|
+
},
|
|
321
|
+
})
|
|
322
|
+
);
|
|
323
|
+
return response;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Move a column within a card table
|
|
328
|
+
* @param cardTableId - The card table ID
|
|
329
|
+
* @param req - Card_column request parameters
|
|
330
|
+
* @returns void
|
|
331
|
+
* @throws {BasecampError} If the request fails
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```ts
|
|
335
|
+
* await client.cardColumns.move(123, { sourceId: 1, targetId: 1 });
|
|
336
|
+
* ```
|
|
337
|
+
*/
|
|
338
|
+
async move(cardTableId: number, req: MoveCardColumnRequest): Promise<void> {
|
|
339
|
+
await this.request(
|
|
340
|
+
{
|
|
341
|
+
service: "CardColumns",
|
|
342
|
+
operation: "MoveCardColumn",
|
|
343
|
+
resourceType: "card_column",
|
|
344
|
+
isMutation: true,
|
|
345
|
+
resourceId: cardTableId,
|
|
346
|
+
},
|
|
347
|
+
() =>
|
|
348
|
+
this.client.POST("/card_tables/{cardTableId}/moves.json", {
|
|
349
|
+
params: {
|
|
350
|
+
path: { cardTableId },
|
|
351
|
+
},
|
|
352
|
+
body: {
|
|
353
|
+
source_id: req.sourceId,
|
|
354
|
+
target_id: req.targetId,
|
|
355
|
+
position: req.position,
|
|
356
|
+
},
|
|
357
|
+
})
|
|
358
|
+
);
|
|
359
|
+
}
|
|
360
|
+
}
|