@37signals/basecamp 0.7.3 → 0.9.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 +82 -2
- package/dist/client.d.ts +7 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +32 -23
- package/dist/client.js.map +1 -1
- package/dist/download.d.ts.map +1 -1
- package/dist/errors.d.ts +10 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -1
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts +32 -0
- package/dist/generated/metadata.d.ts.map +1 -0
- package/dist/generated/metadata.js +2723 -0
- package/dist/generated/metadata.js.map +1 -0
- package/dist/generated/{metadata.json → metadata.ts} +141 -35
- package/dist/generated/openapi-stripped.json +1713 -478
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +10 -5
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +10 -5
- package/dist/generated/schema.d.ts +1027 -265
- package/dist/generated/services/campfires.d.ts +22 -1
- package/dist/generated/services/campfires.d.ts.map +1 -1
- package/dist/generated/services/campfires.js +33 -1
- package/dist/generated/services/campfires.js.map +1 -1
- package/dist/generated/services/campfires.ts +46 -1
- package/dist/generated/services/card-columns.d.ts +31 -28
- package/dist/generated/services/card-columns.d.ts.map +1 -1
- package/dist/generated/services/card-columns.js +57 -51
- package/dist/generated/services/card-columns.js.map +1 -1
- package/dist/generated/services/card-columns.ts +65 -59
- package/dist/generated/services/checkins.d.ts +3 -1
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +2 -1
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +4 -1
- package/dist/generated/services/documents.d.ts +2 -0
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +1 -0
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +3 -0
- package/dist/generated/services/gauges.d.ts +2 -2
- package/dist/generated/services/gauges.js +2 -2
- package/dist/generated/services/gauges.ts +2 -2
- package/dist/generated/services/index.d.ts +3 -2
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +3 -2
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +3 -2
- package/dist/generated/services/messages.d.ts +2 -0
- package/dist/generated/services/messages.d.ts.map +1 -1
- package/dist/generated/services/messages.js +1 -0
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -0
- package/dist/generated/services/people.d.ts +2 -2
- package/dist/generated/services/people.js +2 -2
- package/dist/generated/services/people.ts +2 -2
- package/dist/generated/services/reports.d.ts +1 -1
- package/dist/generated/services/reports.js +1 -1
- package/dist/generated/services/reports.ts +1 -1
- package/dist/generated/services/schedules.d.ts +2 -0
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +1 -0
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +3 -0
- package/dist/generated/services/search.d.ts +30 -1
- package/dist/generated/services/search.d.ts.map +1 -1
- package/dist/generated/services/search.js +1 -1
- package/dist/generated/services/search.js.map +1 -1
- package/dist/generated/services/search.ts +31 -2
- package/dist/generated/services/templates.d.ts +3 -5
- package/dist/generated/services/templates.d.ts.map +1 -1
- package/dist/generated/services/templates.js +4 -5
- package/dist/generated/services/templates.js.map +1 -1
- package/dist/generated/services/templates.ts +6 -9
- package/dist/generated/services/todolists.d.ts +22 -0
- package/dist/generated/services/todolists.d.ts.map +1 -1
- package/dist/generated/services/todolists.js +31 -0
- package/dist/generated/services/todolists.js.map +1 -1
- package/dist/generated/services/todolists.ts +46 -0
- package/dist/generated/services/todos.d.ts +8 -8
- package/dist/generated/services/todos.d.ts.map +1 -1
- package/dist/generated/services/todos.js +9 -6
- package/dist/generated/services/todos.js.map +1 -1
- package/dist/generated/services/todos.ts +12 -9
- package/dist/generated/services/tools.d.ts +11 -10
- package/dist/generated/services/tools.d.ts.map +1 -1
- package/dist/generated/services/tools.js +16 -8
- package/dist/generated/services/tools.js.map +1 -1
- package/dist/generated/services/tools.ts +21 -13
- package/dist/generated/services/uploads.d.ts +2 -0
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +1 -0
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +3 -0
- package/dist/generated/services/webhooks.js +2 -2
- package/dist/generated/services/webhooks.js.map +1 -1
- package/dist/generated/services/webhooks.ts +2 -2
- package/dist/generated/services/wormholes.d.ts +70 -0
- package/dist/generated/services/wormholes.d.ts.map +1 -0
- package/dist/generated/services/wormholes.js +103 -0
- package/dist/generated/services/wormholes.js.map +1 -0
- package/dist/generated/services/wormholes.ts +145 -0
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/oauth/discovery.d.ts +105 -23
- package/dist/oauth/discovery.d.ts.map +1 -1
- package/dist/oauth/discovery.js +453 -61
- package/dist/oauth/discovery.js.map +1 -1
- package/dist/oauth/index.d.ts +2 -2
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +1 -1
- package/dist/oauth/index.js.map +1 -1
- package/dist/oauth/interactive-login.d.ts +20 -2
- package/dist/oauth/interactive-login.d.ts.map +1 -1
- package/dist/oauth/interactive-login.js +58 -4
- package/dist/oauth/interactive-login.js.map +1 -1
- package/dist/oauth/types.d.ts +54 -2
- package/dist/oauth/types.d.ts.map +1 -1
- package/dist/security.d.ts +22 -0
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +56 -1
- package/dist/security.js.map +1 -1
- package/dist/services/authorization.d.ts.map +1 -1
- package/dist/services/authorization.js +3 -0
- package/dist/services/authorization.js.map +1 -1
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +1 -3
- package/dist/services/base.js.map +1 -1
- package/dist/services/todos-extensions.d.ts +118 -0
- package/dist/services/todos-extensions.d.ts.map +1 -0
- package/dist/services/todos-extensions.js +113 -0
- package/dist/services/todos-extensions.js.map +1 -0
- package/dist/services/uploads-extensions.d.ts +33 -0
- package/dist/services/uploads-extensions.d.ts.map +1 -0
- package/dist/services/uploads-extensions.js +48 -0
- package/dist/services/uploads-extensions.js.map +1 -0
- package/package.json +7 -4
- package/src/generated/{metadata.json → metadata.ts} +141 -35
- package/src/generated/openapi-stripped.json +1713 -478
- package/src/generated/path-mapping.ts +10 -5
- package/src/generated/schema.d.ts +1027 -265
- package/src/generated/services/campfires.ts +46 -1
- package/src/generated/services/card-columns.ts +65 -59
- package/src/generated/services/checkins.ts +4 -1
- package/src/generated/services/documents.ts +3 -0
- package/src/generated/services/gauges.ts +2 -2
- package/src/generated/services/index.ts +3 -2
- package/src/generated/services/messages.ts +3 -0
- package/src/generated/services/people.ts +2 -2
- package/src/generated/services/reports.ts +1 -1
- package/src/generated/services/schedules.ts +3 -0
- package/src/generated/services/search.ts +31 -2
- package/src/generated/services/templates.ts +6 -9
- package/src/generated/services/todolists.ts +46 -0
- package/src/generated/services/todos.ts +12 -9
- package/src/generated/services/tools.ts +21 -13
- package/src/generated/services/uploads.ts +3 -0
- package/src/generated/services/webhooks.ts +2 -2
- package/src/generated/services/wormholes.ts +145 -0
|
@@ -16,12 +16,12 @@ import { Errors } from "../../errors.js";
|
|
|
16
16
|
export type Tool = components["schemas"]["Tool"];
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
|
-
* Request parameters for
|
|
19
|
+
* Request parameters for create.
|
|
20
20
|
*/
|
|
21
|
-
export interface
|
|
22
|
-
/**
|
|
23
|
-
|
|
24
|
-
/** Title */
|
|
21
|
+
export interface CreateToolRequest {
|
|
22
|
+
/** Tool type to add to the project dock. Values: Chat::Transcript|Inbox|Kanban::Board|Message::Board|Questionnaire|Schedule|Todoset|Vault. */
|
|
23
|
+
toolType: string;
|
|
24
|
+
/** Title for the new tool. When omitted, Basecamp assigns the next available default title for the tool type. */
|
|
25
25
|
title?: string;
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -52,28 +52,36 @@ export interface RepositionToolRequest {
|
|
|
52
52
|
export class ToolsService extends BaseService {
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
56
|
-
* @param
|
|
55
|
+
* Create a tool in a project dock
|
|
56
|
+
* @param bucketId - The bucket ID
|
|
57
|
+
* @param req - Tool creation parameters
|
|
57
58
|
* @returns The Tool
|
|
58
|
-
* @throws {BasecampError} If
|
|
59
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
59
60
|
*
|
|
60
61
|
* @example
|
|
61
62
|
* ```ts
|
|
62
|
-
* const result = await client.tools.
|
|
63
|
+
* const result = await client.tools.create(123, { toolType: "example" });
|
|
63
64
|
* ```
|
|
64
65
|
*/
|
|
65
|
-
async
|
|
66
|
+
async create(bucketId: number, req: CreateToolRequest): Promise<Tool> {
|
|
67
|
+
if (!req.toolType) {
|
|
68
|
+
throw Errors.validation("Tool type is required");
|
|
69
|
+
}
|
|
66
70
|
const response = await this.request(
|
|
67
71
|
{
|
|
68
72
|
service: "Tools",
|
|
69
|
-
operation: "
|
|
73
|
+
operation: "CreateTool",
|
|
70
74
|
resourceType: "tool",
|
|
71
75
|
isMutation: true,
|
|
76
|
+
projectId: bucketId,
|
|
72
77
|
},
|
|
73
78
|
() =>
|
|
74
|
-
this.client.POST("/dock/tools.json", {
|
|
79
|
+
this.client.POST("/buckets/{bucketId}/dock/tools.json", {
|
|
80
|
+
params: {
|
|
81
|
+
path: { bucketId },
|
|
82
|
+
},
|
|
75
83
|
body: {
|
|
76
|
-
|
|
84
|
+
tool_type: req.toolType,
|
|
77
85
|
title: req.title,
|
|
78
86
|
},
|
|
79
87
|
})
|
|
@@ -51,6 +51,8 @@ export interface CreateUploadRequest {
|
|
|
51
51
|
baseName?: string;
|
|
52
52
|
/** Subscriptions */
|
|
53
53
|
subscriptions?: number[];
|
|
54
|
+
/** Visible to clients */
|
|
55
|
+
visibleToClients?: boolean;
|
|
54
56
|
}
|
|
55
57
|
|
|
56
58
|
|
|
@@ -222,6 +224,7 @@ export class UploadsService extends BaseService {
|
|
|
222
224
|
description: req.description,
|
|
223
225
|
base_name: req.baseName,
|
|
224
226
|
subscriptions: req.subscriptions,
|
|
227
|
+
visible_to_clients: req.visibleToClients,
|
|
225
228
|
},
|
|
226
229
|
})
|
|
227
230
|
);
|
|
@@ -75,7 +75,7 @@ export class WebhooksService extends BaseService {
|
|
|
75
75
|
operation: "ListWebhooks",
|
|
76
76
|
resourceType: "webhook",
|
|
77
77
|
isMutation: false,
|
|
78
|
-
|
|
78
|
+
projectId: bucketId,
|
|
79
79
|
},
|
|
80
80
|
() =>
|
|
81
81
|
this.client.GET("/buckets/{bucketId}/webhooks.json", {
|
|
@@ -112,7 +112,7 @@ export class WebhooksService extends BaseService {
|
|
|
112
112
|
operation: "CreateWebhook",
|
|
113
113
|
resourceType: "webhook",
|
|
114
114
|
isMutation: true,
|
|
115
|
-
|
|
115
|
+
projectId: bucketId,
|
|
116
116
|
},
|
|
117
117
|
() =>
|
|
118
118
|
this.client.POST("/buckets/{bucketId}/webhooks.json", {
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wormholes 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
|
+
/** Wormhole entity from the Basecamp API. */
|
|
15
|
+
export type Wormhole = components["schemas"]["Wormhole"];
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Request parameters for update.
|
|
19
|
+
*/
|
|
20
|
+
export interface UpdateWormholeRequest {
|
|
21
|
+
/** Id of the new destination column (on another accessible card table). */
|
|
22
|
+
destinationRecordingId: number;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Request parameters for create.
|
|
27
|
+
*/
|
|
28
|
+
export interface CreateWormholeRequest {
|
|
29
|
+
/** Id of the destination column (on another accessible card table) to link to. */
|
|
30
|
+
destinationRecordingId: number;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
// =============================================================================
|
|
35
|
+
// Service
|
|
36
|
+
// =============================================================================
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Service for Wormholes operations.
|
|
40
|
+
*/
|
|
41
|
+
export class WormholesService extends BaseService {
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Update a wormhole's destination column
|
|
45
|
+
* @param bucketId - The bucket ID
|
|
46
|
+
* @param wormholeId - The wormhole ID
|
|
47
|
+
* @param req - Wormhole update parameters
|
|
48
|
+
* @returns The Wormhole
|
|
49
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* const result = await client.wormholes.update(123, 123, { destinationRecordingId: 1 });
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
async update(bucketId: number, wormholeId: number, req: UpdateWormholeRequest): Promise<Wormhole> {
|
|
57
|
+
const response = await this.request(
|
|
58
|
+
{
|
|
59
|
+
service: "Wormholes",
|
|
60
|
+
operation: "UpdateWormhole",
|
|
61
|
+
resourceType: "wormhole",
|
|
62
|
+
isMutation: true,
|
|
63
|
+
projectId: bucketId,
|
|
64
|
+
resourceId: wormholeId,
|
|
65
|
+
},
|
|
66
|
+
() =>
|
|
67
|
+
this.client.PUT("/buckets/{bucketId}/card_tables/wormholes/{wormholeId}", {
|
|
68
|
+
params: {
|
|
69
|
+
path: { bucketId, wormholeId },
|
|
70
|
+
},
|
|
71
|
+
body: {
|
|
72
|
+
destination_recording_id: req.destinationRecordingId,
|
|
73
|
+
},
|
|
74
|
+
})
|
|
75
|
+
);
|
|
76
|
+
return response;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Delete a wormhole
|
|
81
|
+
* @param bucketId - The bucket ID
|
|
82
|
+
* @param wormholeId - The wormhole ID
|
|
83
|
+
* @returns void
|
|
84
|
+
* @throws {BasecampError} If the request fails
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* await client.wormholes.delete(123, 123);
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
async delete(bucketId: number, wormholeId: number): Promise<void> {
|
|
92
|
+
await this.request(
|
|
93
|
+
{
|
|
94
|
+
service: "Wormholes",
|
|
95
|
+
operation: "DeleteWormhole",
|
|
96
|
+
resourceType: "wormhole",
|
|
97
|
+
isMutation: true,
|
|
98
|
+
projectId: bucketId,
|
|
99
|
+
resourceId: wormholeId,
|
|
100
|
+
},
|
|
101
|
+
() =>
|
|
102
|
+
this.client.DELETE("/buckets/{bucketId}/card_tables/wormholes/{wormholeId}", {
|
|
103
|
+
params: {
|
|
104
|
+
path: { bucketId, wormholeId },
|
|
105
|
+
},
|
|
106
|
+
})
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Create a wormhole linking this card table to a column on another card table.
|
|
112
|
+
* @param bucketId - The bucket ID
|
|
113
|
+
* @param cardTableId - The card table ID
|
|
114
|
+
* @param req - Wormhole creation parameters
|
|
115
|
+
* @returns The Wormhole
|
|
116
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```ts
|
|
120
|
+
* const result = await client.wormholes.create(123, 123, { destinationRecordingId: 1 });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
async create(bucketId: number, cardTableId: number, req: CreateWormholeRequest): Promise<Wormhole> {
|
|
124
|
+
const response = await this.request(
|
|
125
|
+
{
|
|
126
|
+
service: "Wormholes",
|
|
127
|
+
operation: "CreateWormhole",
|
|
128
|
+
resourceType: "wormhole",
|
|
129
|
+
isMutation: true,
|
|
130
|
+
projectId: bucketId,
|
|
131
|
+
resourceId: cardTableId,
|
|
132
|
+
},
|
|
133
|
+
() =>
|
|
134
|
+
this.client.POST("/buckets/{bucketId}/card_tables/{cardTableId}/wormholes.json", {
|
|
135
|
+
params: {
|
|
136
|
+
path: { bucketId, cardTableId },
|
|
137
|
+
},
|
|
138
|
+
body: {
|
|
139
|
+
destination_recording_id: req.destinationRecordingId,
|
|
140
|
+
},
|
|
141
|
+
})
|
|
142
|
+
);
|
|
143
|
+
return response;
|
|
144
|
+
}
|
|
145
|
+
}
|