@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,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
|
+
}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CardSteps 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
|
+
/** CardStep entity from the Basecamp API. */
|
|
16
|
+
export type CardStep = components["schemas"]["CardStep"];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Request parameters for reposition.
|
|
20
|
+
*/
|
|
21
|
+
export interface RepositionCardStepRequest {
|
|
22
|
+
/** Source id */
|
|
23
|
+
sourceId: number;
|
|
24
|
+
/** 0-indexed position */
|
|
25
|
+
position: number;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Request parameters for create.
|
|
30
|
+
*/
|
|
31
|
+
export interface CreateCardStepRequest {
|
|
32
|
+
/** Title */
|
|
33
|
+
title: string;
|
|
34
|
+
/** Due date (YYYY-MM-DD) */
|
|
35
|
+
dueOn?: string;
|
|
36
|
+
/** Assignees */
|
|
37
|
+
assignees?: number[];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Request parameters for update.
|
|
42
|
+
*/
|
|
43
|
+
export interface UpdateCardStepRequest {
|
|
44
|
+
/** Title */
|
|
45
|
+
title?: string;
|
|
46
|
+
/** Due date (YYYY-MM-DD) */
|
|
47
|
+
dueOn?: string;
|
|
48
|
+
/** Assignees */
|
|
49
|
+
assignees?: number[];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Request parameters for setCompletion.
|
|
54
|
+
*/
|
|
55
|
+
export interface SetCompletionCardStepRequest {
|
|
56
|
+
/** Set to "on" to complete the step, "" (empty) to uncomplete */
|
|
57
|
+
completion: string;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
// =============================================================================
|
|
62
|
+
// Service
|
|
63
|
+
// =============================================================================
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Service for CardSteps operations.
|
|
67
|
+
*/
|
|
68
|
+
export class CardStepsService extends BaseService {
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Reposition a step within a card
|
|
72
|
+
* @param cardId - The card ID
|
|
73
|
+
* @param req - Card_step request parameters
|
|
74
|
+
* @returns void
|
|
75
|
+
* @throws {BasecampError} If the request fails
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```ts
|
|
79
|
+
* await client.cardSteps.reposition(123, { sourceId: 1, position: 1 });
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
async reposition(cardId: number, req: RepositionCardStepRequest): Promise<void> {
|
|
83
|
+
await this.request(
|
|
84
|
+
{
|
|
85
|
+
service: "CardSteps",
|
|
86
|
+
operation: "RepositionCardStep",
|
|
87
|
+
resourceType: "card_step",
|
|
88
|
+
isMutation: true,
|
|
89
|
+
resourceId: cardId,
|
|
90
|
+
},
|
|
91
|
+
() =>
|
|
92
|
+
this.client.POST("/card_tables/cards/{cardId}/positions.json", {
|
|
93
|
+
params: {
|
|
94
|
+
path: { cardId },
|
|
95
|
+
},
|
|
96
|
+
body: {
|
|
97
|
+
source_id: req.sourceId,
|
|
98
|
+
position: req.position,
|
|
99
|
+
},
|
|
100
|
+
})
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Create a step on a card
|
|
106
|
+
* @param cardId - The card ID
|
|
107
|
+
* @param req - Card_step creation parameters
|
|
108
|
+
* @returns The CardStep
|
|
109
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```ts
|
|
113
|
+
* const result = await client.cardSteps.create(123, { title: "example" });
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
async create(cardId: number, req: CreateCardStepRequest): Promise<CardStep> {
|
|
117
|
+
if (!req.title) {
|
|
118
|
+
throw Errors.validation("Title is required");
|
|
119
|
+
}
|
|
120
|
+
if (req.dueOn && !/^\d{4}-\d{2}-\d{2}$/.test(req.dueOn)) {
|
|
121
|
+
throw Errors.validation("Due on must be in YYYY-MM-DD format");
|
|
122
|
+
}
|
|
123
|
+
const response = await this.request(
|
|
124
|
+
{
|
|
125
|
+
service: "CardSteps",
|
|
126
|
+
operation: "CreateCardStep",
|
|
127
|
+
resourceType: "card_step",
|
|
128
|
+
isMutation: true,
|
|
129
|
+
resourceId: cardId,
|
|
130
|
+
},
|
|
131
|
+
() =>
|
|
132
|
+
this.client.POST("/card_tables/cards/{cardId}/steps.json", {
|
|
133
|
+
params: {
|
|
134
|
+
path: { cardId },
|
|
135
|
+
},
|
|
136
|
+
body: {
|
|
137
|
+
title: req.title,
|
|
138
|
+
due_on: req.dueOn,
|
|
139
|
+
assignees: req.assignees,
|
|
140
|
+
},
|
|
141
|
+
})
|
|
142
|
+
);
|
|
143
|
+
return response;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Update an existing step
|
|
148
|
+
* @param stepId - The step ID
|
|
149
|
+
* @param req - Card_step update parameters
|
|
150
|
+
* @returns The CardStep
|
|
151
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* const result = await client.cardSteps.update(123, { });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
async update(stepId: number, req: UpdateCardStepRequest): Promise<CardStep> {
|
|
159
|
+
if (req.dueOn && !/^\d{4}-\d{2}-\d{2}$/.test(req.dueOn)) {
|
|
160
|
+
throw Errors.validation("Due on must be in YYYY-MM-DD format");
|
|
161
|
+
}
|
|
162
|
+
const response = await this.request(
|
|
163
|
+
{
|
|
164
|
+
service: "CardSteps",
|
|
165
|
+
operation: "UpdateCardStep",
|
|
166
|
+
resourceType: "card_step",
|
|
167
|
+
isMutation: true,
|
|
168
|
+
resourceId: stepId,
|
|
169
|
+
},
|
|
170
|
+
() =>
|
|
171
|
+
this.client.PUT("/card_tables/steps/{stepId}", {
|
|
172
|
+
params: {
|
|
173
|
+
path: { stepId },
|
|
174
|
+
},
|
|
175
|
+
body: {
|
|
176
|
+
title: req.title,
|
|
177
|
+
due_on: req.dueOn,
|
|
178
|
+
assignees: req.assignees,
|
|
179
|
+
},
|
|
180
|
+
})
|
|
181
|
+
);
|
|
182
|
+
return response;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Set card step completion status (PUT with completion: "on" to complete, "" to uncomplete)
|
|
187
|
+
* @param stepId - The step ID
|
|
188
|
+
* @param req - Card_step_completion request parameters
|
|
189
|
+
* @returns The CardStep
|
|
190
|
+
* @throws {BasecampError} If the request fails
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```ts
|
|
194
|
+
* const result = await client.cardSteps.setCompletion(123, { completion: "example" });
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
async setCompletion(stepId: number, req: SetCompletionCardStepRequest): Promise<CardStep> {
|
|
198
|
+
if (!req.completion) {
|
|
199
|
+
throw Errors.validation("Completion is required");
|
|
200
|
+
}
|
|
201
|
+
const response = await this.request(
|
|
202
|
+
{
|
|
203
|
+
service: "CardSteps",
|
|
204
|
+
operation: "SetCardStepCompletion",
|
|
205
|
+
resourceType: "card_step_completion",
|
|
206
|
+
isMutation: true,
|
|
207
|
+
resourceId: stepId,
|
|
208
|
+
},
|
|
209
|
+
() =>
|
|
210
|
+
this.client.PUT("/card_tables/steps/{stepId}/completions.json", {
|
|
211
|
+
params: {
|
|
212
|
+
path: { stepId },
|
|
213
|
+
},
|
|
214
|
+
body: {
|
|
215
|
+
completion: req.completion,
|
|
216
|
+
},
|
|
217
|
+
})
|
|
218
|
+
);
|
|
219
|
+
return response;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CardTables 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
|
+
/** CardTable entity from the Basecamp API. */
|
|
15
|
+
export type CardTable = components["schemas"]["CardTable"];
|
|
16
|
+
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Service
|
|
19
|
+
// =============================================================================
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Service for CardTables operations.
|
|
23
|
+
*/
|
|
24
|
+
export class CardTablesService extends BaseService {
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Get a card table by ID
|
|
28
|
+
* @param cardTableId - The card table ID
|
|
29
|
+
* @returns The CardTable
|
|
30
|
+
* @throws {BasecampError} If the resource is not found
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const result = await client.cardTables.get(123);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
async get(cardTableId: number): Promise<CardTable> {
|
|
38
|
+
const response = await this.request(
|
|
39
|
+
{
|
|
40
|
+
service: "CardTables",
|
|
41
|
+
operation: "GetCardTable",
|
|
42
|
+
resourceType: "card_table",
|
|
43
|
+
isMutation: false,
|
|
44
|
+
resourceId: cardTableId,
|
|
45
|
+
},
|
|
46
|
+
() =>
|
|
47
|
+
this.client.GET("/card_tables/{cardTableId}", {
|
|
48
|
+
params: {
|
|
49
|
+
path: { cardTableId },
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
);
|
|
53
|
+
return response;
|
|
54
|
+
}
|
|
55
|
+
}
|