@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,241 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forwards service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { BaseService } from "../../services/base.js";
|
|
8
|
+
import type { components } from "../schema.js";
|
|
9
|
+
import { ListResult } from "../../pagination.js";
|
|
10
|
+
import type { PaginationOptions } from "../../pagination.js";
|
|
11
|
+
import { Errors } from "../../errors.js";
|
|
12
|
+
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Types
|
|
15
|
+
// =============================================================================
|
|
16
|
+
|
|
17
|
+
/** Forward entity from the Basecamp API. */
|
|
18
|
+
export type Forward = components["schemas"]["Forward"];
|
|
19
|
+
/** ForwardReply entity from the Basecamp API. */
|
|
20
|
+
export type ForwardReply = components["schemas"]["ForwardReply"];
|
|
21
|
+
/** Inbox entity from the Basecamp API. */
|
|
22
|
+
export type Inbox = components["schemas"]["Inbox"];
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Options for listReplies.
|
|
26
|
+
*/
|
|
27
|
+
export interface ListRepliesForwardOptions extends PaginationOptions {
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Request parameters for createReply.
|
|
32
|
+
*/
|
|
33
|
+
export interface CreateReplyForwardRequest {
|
|
34
|
+
/** Text content */
|
|
35
|
+
content: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Options for list.
|
|
40
|
+
*/
|
|
41
|
+
export interface ListForwardOptions extends PaginationOptions {
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
// =============================================================================
|
|
46
|
+
// Service
|
|
47
|
+
// =============================================================================
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Service for Forwards operations.
|
|
51
|
+
*/
|
|
52
|
+
export class ForwardsService extends BaseService {
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Get a forward by ID
|
|
56
|
+
* @param forwardId - The forward ID
|
|
57
|
+
* @returns The Forward
|
|
58
|
+
* @throws {BasecampError} If the resource is not found
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* const result = await client.forwards.get(123);
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
async get(forwardId: number): Promise<Forward> {
|
|
66
|
+
const response = await this.request(
|
|
67
|
+
{
|
|
68
|
+
service: "Forwards",
|
|
69
|
+
operation: "GetForward",
|
|
70
|
+
resourceType: "forward",
|
|
71
|
+
isMutation: false,
|
|
72
|
+
resourceId: forwardId,
|
|
73
|
+
},
|
|
74
|
+
() =>
|
|
75
|
+
this.client.GET("/inbox_forwards/{forwardId}", {
|
|
76
|
+
params: {
|
|
77
|
+
path: { forwardId },
|
|
78
|
+
},
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
return response;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* List all replies to a forward
|
|
86
|
+
* @param forwardId - The forward ID
|
|
87
|
+
* @param options - Optional query parameters
|
|
88
|
+
* @returns All ForwardReply across all pages, with .meta.totalCount
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const result = await client.forwards.listReplies(123);
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
async listReplies(forwardId: number, options?: ListRepliesForwardOptions): Promise<ListResult<ForwardReply>> {
|
|
96
|
+
return this.requestPaginated(
|
|
97
|
+
{
|
|
98
|
+
service: "Forwards",
|
|
99
|
+
operation: "ListForwardReplies",
|
|
100
|
+
resourceType: "forward_replie",
|
|
101
|
+
isMutation: false,
|
|
102
|
+
resourceId: forwardId,
|
|
103
|
+
},
|
|
104
|
+
() =>
|
|
105
|
+
this.client.GET("/inbox_forwards/{forwardId}/replies.json", {
|
|
106
|
+
params: {
|
|
107
|
+
path: { forwardId },
|
|
108
|
+
},
|
|
109
|
+
})
|
|
110
|
+
, options
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Create a reply to a forward
|
|
116
|
+
* @param forwardId - The forward ID
|
|
117
|
+
* @param req - Forward_reply creation parameters
|
|
118
|
+
* @returns The ForwardReply
|
|
119
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* const result = await client.forwards.createReply(123, { content: "Hello world" });
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
async createReply(forwardId: number, req: CreateReplyForwardRequest): Promise<ForwardReply> {
|
|
127
|
+
if (!req.content) {
|
|
128
|
+
throw Errors.validation("Content is required");
|
|
129
|
+
}
|
|
130
|
+
const response = await this.request(
|
|
131
|
+
{
|
|
132
|
+
service: "Forwards",
|
|
133
|
+
operation: "CreateForwardReply",
|
|
134
|
+
resourceType: "forward_reply",
|
|
135
|
+
isMutation: true,
|
|
136
|
+
resourceId: forwardId,
|
|
137
|
+
},
|
|
138
|
+
() =>
|
|
139
|
+
this.client.POST("/inbox_forwards/{forwardId}/replies.json", {
|
|
140
|
+
params: {
|
|
141
|
+
path: { forwardId },
|
|
142
|
+
},
|
|
143
|
+
body: {
|
|
144
|
+
content: req.content,
|
|
145
|
+
},
|
|
146
|
+
})
|
|
147
|
+
);
|
|
148
|
+
return response;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Get a forward reply by ID
|
|
153
|
+
* @param forwardId - The forward ID
|
|
154
|
+
* @param replyId - The reply ID
|
|
155
|
+
* @returns The ForwardReply
|
|
156
|
+
* @throws {BasecampError} If the resource is not found
|
|
157
|
+
*
|
|
158
|
+
* @example
|
|
159
|
+
* ```ts
|
|
160
|
+
* const result = await client.forwards.getReply(123, 123);
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
async getReply(forwardId: number, replyId: number): Promise<ForwardReply> {
|
|
164
|
+
const response = await this.request(
|
|
165
|
+
{
|
|
166
|
+
service: "Forwards",
|
|
167
|
+
operation: "GetForwardReply",
|
|
168
|
+
resourceType: "forward_reply",
|
|
169
|
+
isMutation: false,
|
|
170
|
+
resourceId: forwardId,
|
|
171
|
+
},
|
|
172
|
+
() =>
|
|
173
|
+
this.client.GET("/inbox_forwards/{forwardId}/replies/{replyId}", {
|
|
174
|
+
params: {
|
|
175
|
+
path: { forwardId, replyId },
|
|
176
|
+
},
|
|
177
|
+
})
|
|
178
|
+
);
|
|
179
|
+
return response;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Get an inbox by ID
|
|
184
|
+
* @param inboxId - The inbox ID
|
|
185
|
+
* @returns The Inbox
|
|
186
|
+
* @throws {BasecampError} If the resource is not found
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```ts
|
|
190
|
+
* const result = await client.forwards.getInbox(123);
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
async getInbox(inboxId: number): Promise<Inbox> {
|
|
194
|
+
const response = await this.request(
|
|
195
|
+
{
|
|
196
|
+
service: "Forwards",
|
|
197
|
+
operation: "GetInbox",
|
|
198
|
+
resourceType: "inbox",
|
|
199
|
+
isMutation: false,
|
|
200
|
+
resourceId: inboxId,
|
|
201
|
+
},
|
|
202
|
+
() =>
|
|
203
|
+
this.client.GET("/inboxes/{inboxId}", {
|
|
204
|
+
params: {
|
|
205
|
+
path: { inboxId },
|
|
206
|
+
},
|
|
207
|
+
})
|
|
208
|
+
);
|
|
209
|
+
return response;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* List all forwards in an inbox
|
|
214
|
+
* @param inboxId - The inbox ID
|
|
215
|
+
* @param options - Optional query parameters
|
|
216
|
+
* @returns All Forward across all pages, with .meta.totalCount
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```ts
|
|
220
|
+
* const result = await client.forwards.list(123);
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
async list(inboxId: number, options?: ListForwardOptions): Promise<ListResult<Forward>> {
|
|
224
|
+
return this.requestPaginated(
|
|
225
|
+
{
|
|
226
|
+
service: "Forwards",
|
|
227
|
+
operation: "ListForwards",
|
|
228
|
+
resourceType: "forward",
|
|
229
|
+
isMutation: false,
|
|
230
|
+
resourceId: inboxId,
|
|
231
|
+
},
|
|
232
|
+
() =>
|
|
233
|
+
this.client.GET("/inboxes/{inboxId}/forwards.json", {
|
|
234
|
+
params: {
|
|
235
|
+
path: { inboxId },
|
|
236
|
+
},
|
|
237
|
+
})
|
|
238
|
+
, options
|
|
239
|
+
);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export { AttachmentsService } from "./attachments.js";
|
|
2
|
+
export { BoostsService } from "./boosts.js";
|
|
3
|
+
export { WebhooksService } from "./webhooks.js";
|
|
4
|
+
export { CardsService } from "./cards.js";
|
|
5
|
+
export { CardStepsService } from "./card-steps.js";
|
|
6
|
+
export { CardColumnsService } from "./card-columns.js";
|
|
7
|
+
export { CardTablesService } from "./card-tables.js";
|
|
8
|
+
export { MessageTypesService } from "./message-types.js";
|
|
9
|
+
export { CampfiresService } from "./campfires.js";
|
|
10
|
+
export { PeopleService } from "./people.js";
|
|
11
|
+
export { ClientApprovalsService } from "./client-approvals.js";
|
|
12
|
+
export { ClientCorrespondencesService } from "./client-correspondences.js";
|
|
13
|
+
export { ClientRepliesService } from "./client-replies.js";
|
|
14
|
+
export { CommentsService } from "./comments.js";
|
|
15
|
+
export { ToolsService } from "./tools.js";
|
|
16
|
+
export { DocumentsService } from "./documents.js";
|
|
17
|
+
export { ForwardsService } from "./forwards.js";
|
|
18
|
+
export { LineupService } from "./lineup.js";
|
|
19
|
+
export { MessageBoardsService } from "./message-boards.js";
|
|
20
|
+
export { MessagesService } from "./messages.js";
|
|
21
|
+
export { CheckinsService } from "./checkins.js";
|
|
22
|
+
export { ProjectsService } from "./projects.js";
|
|
23
|
+
export { RecordingsService } from "./recordings.js";
|
|
24
|
+
export { TimelineService } from "./timeline.js";
|
|
25
|
+
export { TimesheetsService } from "./timesheets.js";
|
|
26
|
+
export { ClientVisibilityService } from "./client-visibility.js";
|
|
27
|
+
export { EventsService } from "./events.js";
|
|
28
|
+
export { SubscriptionsService } from "./subscriptions.js";
|
|
29
|
+
export { ReportsService } from "./reports.js";
|
|
30
|
+
export { SchedulesService } from "./schedules.js";
|
|
31
|
+
export { SearchService } from "./search.js";
|
|
32
|
+
export { TemplatesService } from "./templates.js";
|
|
33
|
+
export { TodolistGroupsService } from "./todolist-groups.js";
|
|
34
|
+
export { TodolistsService } from "./todolists.js";
|
|
35
|
+
export { TodosService } from "./todos.js";
|
|
36
|
+
export { TodosetsService } from "./todosets.js";
|
|
37
|
+
export { UploadsService } from "./uploads.js";
|
|
38
|
+
export { VaultsService } from "./vaults.js";
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lineup 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
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Request parameters for create.
|
|
18
|
+
*/
|
|
19
|
+
export interface CreateLineupRequest {
|
|
20
|
+
/** Display name */
|
|
21
|
+
name: string;
|
|
22
|
+
/** Date */
|
|
23
|
+
date: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Request parameters for update.
|
|
28
|
+
*/
|
|
29
|
+
export interface UpdateLineupRequest {
|
|
30
|
+
/** Display name */
|
|
31
|
+
name?: string;
|
|
32
|
+
/** Date */
|
|
33
|
+
date?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// Service
|
|
39
|
+
// =============================================================================
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Service for Lineup operations.
|
|
43
|
+
*/
|
|
44
|
+
export class LineupService extends BaseService {
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Create a new lineup marker
|
|
48
|
+
* @param req - Lineup_marker creation parameters
|
|
49
|
+
* @returns void
|
|
50
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```ts
|
|
54
|
+
* await client.lineup.create({ name: "My example", date: "example" });
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
async create(req: CreateLineupRequest): Promise<void> {
|
|
58
|
+
if (!req.name) {
|
|
59
|
+
throw Errors.validation("Name is required");
|
|
60
|
+
}
|
|
61
|
+
if (!req.date) {
|
|
62
|
+
throw Errors.validation("Date is required");
|
|
63
|
+
}
|
|
64
|
+
await this.request(
|
|
65
|
+
{
|
|
66
|
+
service: "Lineup",
|
|
67
|
+
operation: "CreateLineupMarker",
|
|
68
|
+
resourceType: "lineup_marker",
|
|
69
|
+
isMutation: true,
|
|
70
|
+
},
|
|
71
|
+
() =>
|
|
72
|
+
this.client.POST("/lineup/markers.json", {
|
|
73
|
+
body: {
|
|
74
|
+
name: req.name,
|
|
75
|
+
date: req.date,
|
|
76
|
+
},
|
|
77
|
+
})
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Update an existing lineup marker
|
|
83
|
+
* @param markerId - The marker ID
|
|
84
|
+
* @param req - Lineup_marker update parameters
|
|
85
|
+
* @returns void
|
|
86
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```ts
|
|
90
|
+
* await client.lineup.update(123, { });
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
async update(markerId: number, req: UpdateLineupRequest): Promise<void> {
|
|
94
|
+
await this.request(
|
|
95
|
+
{
|
|
96
|
+
service: "Lineup",
|
|
97
|
+
operation: "UpdateLineupMarker",
|
|
98
|
+
resourceType: "lineup_marker",
|
|
99
|
+
isMutation: true,
|
|
100
|
+
resourceId: markerId,
|
|
101
|
+
},
|
|
102
|
+
() =>
|
|
103
|
+
this.client.PUT("/lineup/markers/{markerId}", {
|
|
104
|
+
params: {
|
|
105
|
+
path: { markerId },
|
|
106
|
+
},
|
|
107
|
+
body: {
|
|
108
|
+
name: req.name,
|
|
109
|
+
date: req.date,
|
|
110
|
+
},
|
|
111
|
+
})
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Delete a lineup marker
|
|
117
|
+
* @param markerId - The marker ID
|
|
118
|
+
* @returns void
|
|
119
|
+
* @throws {BasecampError} If the request fails
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* await client.lineup.delete(123);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
async delete(markerId: number): Promise<void> {
|
|
127
|
+
await this.request(
|
|
128
|
+
{
|
|
129
|
+
service: "Lineup",
|
|
130
|
+
operation: "DeleteLineupMarker",
|
|
131
|
+
resourceType: "lineup_marker",
|
|
132
|
+
isMutation: true,
|
|
133
|
+
resourceId: markerId,
|
|
134
|
+
},
|
|
135
|
+
() =>
|
|
136
|
+
this.client.DELETE("/lineup/markers/{markerId}", {
|
|
137
|
+
params: {
|
|
138
|
+
path: { markerId },
|
|
139
|
+
},
|
|
140
|
+
})
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessageBoards 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
|
+
/** MessageBoard entity from the Basecamp API. */
|
|
15
|
+
export type MessageBoard = components["schemas"]["MessageBoard"];
|
|
16
|
+
|
|
17
|
+
// =============================================================================
|
|
18
|
+
// Service
|
|
19
|
+
// =============================================================================
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Service for MessageBoards operations.
|
|
23
|
+
*/
|
|
24
|
+
export class MessageBoardsService extends BaseService {
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Get a message board
|
|
28
|
+
* @param boardId - The board ID
|
|
29
|
+
* @returns The MessageBoard
|
|
30
|
+
* @throws {BasecampError} If the resource is not found
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const result = await client.messageBoards.get(123);
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
async get(boardId: number): Promise<MessageBoard> {
|
|
38
|
+
const response = await this.request(
|
|
39
|
+
{
|
|
40
|
+
service: "MessageBoards",
|
|
41
|
+
operation: "GetMessageBoard",
|
|
42
|
+
resourceType: "message_board",
|
|
43
|
+
isMutation: false,
|
|
44
|
+
resourceId: boardId,
|
|
45
|
+
},
|
|
46
|
+
() =>
|
|
47
|
+
this.client.GET("/message_boards/{boardId}", {
|
|
48
|
+
params: {
|
|
49
|
+
path: { boardId },
|
|
50
|
+
},
|
|
51
|
+
})
|
|
52
|
+
);
|
|
53
|
+
return response;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MessageTypes service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { BaseService } from "../../services/base.js";
|
|
8
|
+
import type { components } from "../schema.js";
|
|
9
|
+
import { ListResult } from "../../pagination.js";
|
|
10
|
+
import type { PaginationOptions } from "../../pagination.js";
|
|
11
|
+
import { Errors } from "../../errors.js";
|
|
12
|
+
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Types
|
|
15
|
+
// =============================================================================
|
|
16
|
+
|
|
17
|
+
/** MessageType entity from the Basecamp API. */
|
|
18
|
+
export type MessageType = components["schemas"]["MessageType"];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Options for list.
|
|
22
|
+
*/
|
|
23
|
+
export interface ListMessageTypeOptions extends PaginationOptions {
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Request parameters for create.
|
|
28
|
+
*/
|
|
29
|
+
export interface CreateMessageTypeRequest {
|
|
30
|
+
/** Display name */
|
|
31
|
+
name: string;
|
|
32
|
+
/** Icon identifier */
|
|
33
|
+
icon: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Request parameters for update.
|
|
38
|
+
*/
|
|
39
|
+
export interface UpdateMessageTypeRequest {
|
|
40
|
+
/** Display name */
|
|
41
|
+
name?: string;
|
|
42
|
+
/** Icon identifier */
|
|
43
|
+
icon?: string;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
// =============================================================================
|
|
48
|
+
// Service
|
|
49
|
+
// =============================================================================
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Service for MessageTypes operations.
|
|
53
|
+
*/
|
|
54
|
+
export class MessageTypesService extends BaseService {
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* List message types in a project
|
|
58
|
+
* @param options - Optional query parameters
|
|
59
|
+
* @returns All MessageType across all pages, with .meta.totalCount
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```ts
|
|
63
|
+
* const result = await client.messageTypes.list();
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
async list(options?: ListMessageTypeOptions): Promise<ListResult<MessageType>> {
|
|
67
|
+
return this.requestPaginated(
|
|
68
|
+
{
|
|
69
|
+
service: "MessageTypes",
|
|
70
|
+
operation: "ListMessageTypes",
|
|
71
|
+
resourceType: "message_type",
|
|
72
|
+
isMutation: false,
|
|
73
|
+
},
|
|
74
|
+
() =>
|
|
75
|
+
this.client.GET("/categories.json", {
|
|
76
|
+
})
|
|
77
|
+
, options
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Create a new message type in a project
|
|
83
|
+
* @param req - Message_type creation parameters
|
|
84
|
+
* @returns The MessageType
|
|
85
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* const result = await client.messageTypes.create({ name: "My example", icon: "example" });
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
async create(req: CreateMessageTypeRequest): Promise<MessageType> {
|
|
93
|
+
if (!req.name) {
|
|
94
|
+
throw Errors.validation("Name is required");
|
|
95
|
+
}
|
|
96
|
+
if (!req.icon) {
|
|
97
|
+
throw Errors.validation("Icon is required");
|
|
98
|
+
}
|
|
99
|
+
const response = await this.request(
|
|
100
|
+
{
|
|
101
|
+
service: "MessageTypes",
|
|
102
|
+
operation: "CreateMessageType",
|
|
103
|
+
resourceType: "message_type",
|
|
104
|
+
isMutation: true,
|
|
105
|
+
},
|
|
106
|
+
() =>
|
|
107
|
+
this.client.POST("/categories.json", {
|
|
108
|
+
body: {
|
|
109
|
+
name: req.name,
|
|
110
|
+
icon: req.icon,
|
|
111
|
+
},
|
|
112
|
+
})
|
|
113
|
+
);
|
|
114
|
+
return response;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Get a single message type by id
|
|
119
|
+
* @param typeId - The type ID
|
|
120
|
+
* @returns The MessageType
|
|
121
|
+
* @throws {BasecampError} If the resource is not found
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* const result = await client.messageTypes.get(123);
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
async get(typeId: number): Promise<MessageType> {
|
|
129
|
+
const response = await this.request(
|
|
130
|
+
{
|
|
131
|
+
service: "MessageTypes",
|
|
132
|
+
operation: "GetMessageType",
|
|
133
|
+
resourceType: "message_type",
|
|
134
|
+
isMutation: false,
|
|
135
|
+
resourceId: typeId,
|
|
136
|
+
},
|
|
137
|
+
() =>
|
|
138
|
+
this.client.GET("/categories/{typeId}", {
|
|
139
|
+
params: {
|
|
140
|
+
path: { typeId },
|
|
141
|
+
},
|
|
142
|
+
})
|
|
143
|
+
);
|
|
144
|
+
return response;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Update an existing message type
|
|
149
|
+
* @param typeId - The type ID
|
|
150
|
+
* @param req - Message_type update parameters
|
|
151
|
+
* @returns The MessageType
|
|
152
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* const result = await client.messageTypes.update(123, { });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
async update(typeId: number, req: UpdateMessageTypeRequest): Promise<MessageType> {
|
|
160
|
+
const response = await this.request(
|
|
161
|
+
{
|
|
162
|
+
service: "MessageTypes",
|
|
163
|
+
operation: "UpdateMessageType",
|
|
164
|
+
resourceType: "message_type",
|
|
165
|
+
isMutation: true,
|
|
166
|
+
resourceId: typeId,
|
|
167
|
+
},
|
|
168
|
+
() =>
|
|
169
|
+
this.client.PUT("/categories/{typeId}", {
|
|
170
|
+
params: {
|
|
171
|
+
path: { typeId },
|
|
172
|
+
},
|
|
173
|
+
body: {
|
|
174
|
+
name: req.name,
|
|
175
|
+
icon: req.icon,
|
|
176
|
+
},
|
|
177
|
+
})
|
|
178
|
+
);
|
|
179
|
+
return response;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Delete a message type
|
|
184
|
+
* @param typeId - The type ID
|
|
185
|
+
* @returns void
|
|
186
|
+
* @throws {BasecampError} If the request fails
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```ts
|
|
190
|
+
* await client.messageTypes.delete(123);
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
async delete(typeId: number): Promise<void> {
|
|
194
|
+
await this.request(
|
|
195
|
+
{
|
|
196
|
+
service: "MessageTypes",
|
|
197
|
+
operation: "DeleteMessageType",
|
|
198
|
+
resourceType: "message_type",
|
|
199
|
+
isMutation: true,
|
|
200
|
+
resourceId: typeId,
|
|
201
|
+
},
|
|
202
|
+
() =>
|
|
203
|
+
this.client.DELETE("/categories/{typeId}", {
|
|
204
|
+
params: {
|
|
205
|
+
path: { typeId },
|
|
206
|
+
},
|
|
207
|
+
})
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
}
|