@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,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Templates service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
import { BaseService } from "../../services/base.js";
|
|
7
|
+
import { Errors } from "../../errors.js";
|
|
8
|
+
// =============================================================================
|
|
9
|
+
// Service
|
|
10
|
+
// =============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* Service for Templates operations.
|
|
13
|
+
*/
|
|
14
|
+
export class TemplatesService extends BaseService {
|
|
15
|
+
/**
|
|
16
|
+
* List all templates visible to the current user
|
|
17
|
+
* @param options - Optional query parameters
|
|
18
|
+
* @returns All Template across all pages, with .meta.totalCount
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const result = await client.templates.list();
|
|
23
|
+
*
|
|
24
|
+
* // With options
|
|
25
|
+
* const filtered = await client.templates.list({ status: "active" });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
async list(options) {
|
|
29
|
+
return this.requestPaginated({
|
|
30
|
+
service: "Templates",
|
|
31
|
+
operation: "ListTemplates",
|
|
32
|
+
resourceType: "template",
|
|
33
|
+
isMutation: false,
|
|
34
|
+
}, () => this.client.GET("/templates.json", {
|
|
35
|
+
params: {
|
|
36
|
+
query: { status: options?.status },
|
|
37
|
+
},
|
|
38
|
+
}), options);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Create a new template
|
|
42
|
+
* @param req - Template creation parameters
|
|
43
|
+
* @returns The Template
|
|
44
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const result = await client.templates.create({ name: "My example" });
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
async create(req) {
|
|
52
|
+
if (!req.name) {
|
|
53
|
+
throw Errors.validation("Name is required");
|
|
54
|
+
}
|
|
55
|
+
const response = await this.request({
|
|
56
|
+
service: "Templates",
|
|
57
|
+
operation: "CreateTemplate",
|
|
58
|
+
resourceType: "template",
|
|
59
|
+
isMutation: true,
|
|
60
|
+
}, () => this.client.POST("/templates.json", {
|
|
61
|
+
body: {
|
|
62
|
+
name: req.name,
|
|
63
|
+
description: req.description,
|
|
64
|
+
},
|
|
65
|
+
}));
|
|
66
|
+
return response;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get a single template by id
|
|
70
|
+
* @param templateId - The template ID
|
|
71
|
+
* @returns The Template
|
|
72
|
+
* @throws {BasecampError} If the resource is not found
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* const result = await client.templates.get(123);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
async get(templateId) {
|
|
80
|
+
const response = await this.request({
|
|
81
|
+
service: "Templates",
|
|
82
|
+
operation: "GetTemplate",
|
|
83
|
+
resourceType: "template",
|
|
84
|
+
isMutation: false,
|
|
85
|
+
resourceId: templateId,
|
|
86
|
+
}, () => this.client.GET("/templates/{templateId}", {
|
|
87
|
+
params: {
|
|
88
|
+
path: { templateId },
|
|
89
|
+
},
|
|
90
|
+
}));
|
|
91
|
+
return response;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Update an existing template
|
|
95
|
+
* @param templateId - The template ID
|
|
96
|
+
* @param req - Template update parameters
|
|
97
|
+
* @returns The Template
|
|
98
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const result = await client.templates.update(123, { });
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
async update(templateId, req) {
|
|
106
|
+
const response = await this.request({
|
|
107
|
+
service: "Templates",
|
|
108
|
+
operation: "UpdateTemplate",
|
|
109
|
+
resourceType: "template",
|
|
110
|
+
isMutation: true,
|
|
111
|
+
resourceId: templateId,
|
|
112
|
+
}, () => this.client.PUT("/templates/{templateId}", {
|
|
113
|
+
params: {
|
|
114
|
+
path: { templateId },
|
|
115
|
+
},
|
|
116
|
+
body: {
|
|
117
|
+
name: req.name,
|
|
118
|
+
description: req.description,
|
|
119
|
+
},
|
|
120
|
+
}));
|
|
121
|
+
return response;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Delete a template (trash it)
|
|
125
|
+
* @param templateId - The template ID
|
|
126
|
+
* @returns void
|
|
127
|
+
* @throws {BasecampError} If the request fails
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* await client.templates.delete(123);
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
async delete(templateId) {
|
|
135
|
+
await this.request({
|
|
136
|
+
service: "Templates",
|
|
137
|
+
operation: "DeleteTemplate",
|
|
138
|
+
resourceType: "template",
|
|
139
|
+
isMutation: true,
|
|
140
|
+
resourceId: templateId,
|
|
141
|
+
}, () => this.client.DELETE("/templates/{templateId}", {
|
|
142
|
+
params: {
|
|
143
|
+
path: { templateId },
|
|
144
|
+
},
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Create a project from a template (asynchronous)
|
|
149
|
+
* @param templateId - The template ID
|
|
150
|
+
* @param req - Project_from_template creation parameters
|
|
151
|
+
* @returns The project_from_template
|
|
152
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```ts
|
|
156
|
+
* const result = await client.templates.createProject(123, { name: "My example" });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
async createProject(templateId, req) {
|
|
160
|
+
if (!req.name) {
|
|
161
|
+
throw Errors.validation("Name is required");
|
|
162
|
+
}
|
|
163
|
+
const response = await this.request({
|
|
164
|
+
service: "Templates",
|
|
165
|
+
operation: "CreateProjectFromTemplate",
|
|
166
|
+
resourceType: "project_from_template",
|
|
167
|
+
isMutation: true,
|
|
168
|
+
resourceId: templateId,
|
|
169
|
+
}, () => this.client.POST("/templates/{templateId}/project_constructions.json", {
|
|
170
|
+
params: {
|
|
171
|
+
path: { templateId },
|
|
172
|
+
},
|
|
173
|
+
body: {
|
|
174
|
+
name: req.name,
|
|
175
|
+
description: req.description,
|
|
176
|
+
},
|
|
177
|
+
}));
|
|
178
|
+
return response;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get the status of a project construction
|
|
182
|
+
* @param templateId - The template ID
|
|
183
|
+
* @param constructionId - The construction ID
|
|
184
|
+
* @returns The project_construction
|
|
185
|
+
* @throws {BasecampError} If the resource is not found
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```ts
|
|
189
|
+
* const result = await client.templates.getConstruction(123, 123);
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
async getConstruction(templateId, constructionId) {
|
|
193
|
+
const response = await this.request({
|
|
194
|
+
service: "Templates",
|
|
195
|
+
operation: "GetProjectConstruction",
|
|
196
|
+
resourceType: "project_construction",
|
|
197
|
+
isMutation: false,
|
|
198
|
+
resourceId: templateId,
|
|
199
|
+
}, () => this.client.GET("/templates/{templateId}/project_constructions/{constructionId}", {
|
|
200
|
+
params: {
|
|
201
|
+
path: { templateId, constructionId },
|
|
202
|
+
},
|
|
203
|
+
}));
|
|
204
|
+
return response;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/generated/services/templates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Templates 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
|
+
/** Template entity from the Basecamp API. */
|
|
18
|
+
export type Template = components["schemas"]["Template"];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Options for list.
|
|
22
|
+
*/
|
|
23
|
+
export interface ListTemplateOptions extends PaginationOptions {
|
|
24
|
+
/** Filter by status */
|
|
25
|
+
status?: "active" | "archived" | "trashed";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Request parameters for create.
|
|
30
|
+
*/
|
|
31
|
+
export interface CreateTemplateRequest {
|
|
32
|
+
/** Display name */
|
|
33
|
+
name: string;
|
|
34
|
+
/** Rich text description (HTML) */
|
|
35
|
+
description?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Request parameters for update.
|
|
40
|
+
*/
|
|
41
|
+
export interface UpdateTemplateRequest {
|
|
42
|
+
/** Display name */
|
|
43
|
+
name?: string;
|
|
44
|
+
/** Rich text description (HTML) */
|
|
45
|
+
description?: string;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Request parameters for createProject.
|
|
50
|
+
*/
|
|
51
|
+
export interface CreateProjectTemplateRequest {
|
|
52
|
+
/** Display name */
|
|
53
|
+
name: string;
|
|
54
|
+
/** Rich text description (HTML) */
|
|
55
|
+
description?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
// =============================================================================
|
|
60
|
+
// Service
|
|
61
|
+
// =============================================================================
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Service for Templates operations.
|
|
65
|
+
*/
|
|
66
|
+
export class TemplatesService extends BaseService {
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* List all templates visible to the current user
|
|
70
|
+
* @param options - Optional query parameters
|
|
71
|
+
* @returns All Template across all pages, with .meta.totalCount
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* const result = await client.templates.list();
|
|
76
|
+
*
|
|
77
|
+
* // With options
|
|
78
|
+
* const filtered = await client.templates.list({ status: "active" });
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
async list(options?: ListTemplateOptions): Promise<ListResult<Template>> {
|
|
82
|
+
return this.requestPaginated(
|
|
83
|
+
{
|
|
84
|
+
service: "Templates",
|
|
85
|
+
operation: "ListTemplates",
|
|
86
|
+
resourceType: "template",
|
|
87
|
+
isMutation: false,
|
|
88
|
+
},
|
|
89
|
+
() =>
|
|
90
|
+
this.client.GET("/templates.json", {
|
|
91
|
+
params: {
|
|
92
|
+
query: { status: options?.status },
|
|
93
|
+
},
|
|
94
|
+
})
|
|
95
|
+
, options
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Create a new template
|
|
101
|
+
* @param req - Template creation parameters
|
|
102
|
+
* @returns The Template
|
|
103
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```ts
|
|
107
|
+
* const result = await client.templates.create({ name: "My example" });
|
|
108
|
+
* ```
|
|
109
|
+
*/
|
|
110
|
+
async create(req: CreateTemplateRequest): Promise<Template> {
|
|
111
|
+
if (!req.name) {
|
|
112
|
+
throw Errors.validation("Name is required");
|
|
113
|
+
}
|
|
114
|
+
const response = await this.request(
|
|
115
|
+
{
|
|
116
|
+
service: "Templates",
|
|
117
|
+
operation: "CreateTemplate",
|
|
118
|
+
resourceType: "template",
|
|
119
|
+
isMutation: true,
|
|
120
|
+
},
|
|
121
|
+
() =>
|
|
122
|
+
this.client.POST("/templates.json", {
|
|
123
|
+
body: {
|
|
124
|
+
name: req.name,
|
|
125
|
+
description: req.description,
|
|
126
|
+
},
|
|
127
|
+
})
|
|
128
|
+
);
|
|
129
|
+
return response;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Get a single template by id
|
|
134
|
+
* @param templateId - The template ID
|
|
135
|
+
* @returns The Template
|
|
136
|
+
* @throws {BasecampError} If the resource is not found
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```ts
|
|
140
|
+
* const result = await client.templates.get(123);
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
async get(templateId: number): Promise<Template> {
|
|
144
|
+
const response = await this.request(
|
|
145
|
+
{
|
|
146
|
+
service: "Templates",
|
|
147
|
+
operation: "GetTemplate",
|
|
148
|
+
resourceType: "template",
|
|
149
|
+
isMutation: false,
|
|
150
|
+
resourceId: templateId,
|
|
151
|
+
},
|
|
152
|
+
() =>
|
|
153
|
+
this.client.GET("/templates/{templateId}", {
|
|
154
|
+
params: {
|
|
155
|
+
path: { templateId },
|
|
156
|
+
},
|
|
157
|
+
})
|
|
158
|
+
);
|
|
159
|
+
return response;
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Update an existing template
|
|
164
|
+
* @param templateId - The template ID
|
|
165
|
+
* @param req - Template update parameters
|
|
166
|
+
* @returns The Template
|
|
167
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```ts
|
|
171
|
+
* const result = await client.templates.update(123, { });
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
async update(templateId: number, req: UpdateTemplateRequest): Promise<Template> {
|
|
175
|
+
const response = await this.request(
|
|
176
|
+
{
|
|
177
|
+
service: "Templates",
|
|
178
|
+
operation: "UpdateTemplate",
|
|
179
|
+
resourceType: "template",
|
|
180
|
+
isMutation: true,
|
|
181
|
+
resourceId: templateId,
|
|
182
|
+
},
|
|
183
|
+
() =>
|
|
184
|
+
this.client.PUT("/templates/{templateId}", {
|
|
185
|
+
params: {
|
|
186
|
+
path: { templateId },
|
|
187
|
+
},
|
|
188
|
+
body: {
|
|
189
|
+
name: req.name,
|
|
190
|
+
description: req.description,
|
|
191
|
+
},
|
|
192
|
+
})
|
|
193
|
+
);
|
|
194
|
+
return response;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Delete a template (trash it)
|
|
199
|
+
* @param templateId - The template ID
|
|
200
|
+
* @returns void
|
|
201
|
+
* @throws {BasecampError} If the request fails
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```ts
|
|
205
|
+
* await client.templates.delete(123);
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
async delete(templateId: number): Promise<void> {
|
|
209
|
+
await this.request(
|
|
210
|
+
{
|
|
211
|
+
service: "Templates",
|
|
212
|
+
operation: "DeleteTemplate",
|
|
213
|
+
resourceType: "template",
|
|
214
|
+
isMutation: true,
|
|
215
|
+
resourceId: templateId,
|
|
216
|
+
},
|
|
217
|
+
() =>
|
|
218
|
+
this.client.DELETE("/templates/{templateId}", {
|
|
219
|
+
params: {
|
|
220
|
+
path: { templateId },
|
|
221
|
+
},
|
|
222
|
+
})
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Create a project from a template (asynchronous)
|
|
228
|
+
* @param templateId - The template ID
|
|
229
|
+
* @param req - Project_from_template creation parameters
|
|
230
|
+
* @returns The project_from_template
|
|
231
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```ts
|
|
235
|
+
* const result = await client.templates.createProject(123, { name: "My example" });
|
|
236
|
+
* ```
|
|
237
|
+
*/
|
|
238
|
+
async createProject(templateId: number, req: CreateProjectTemplateRequest): Promise<components["schemas"]["CreateProjectFromTemplateResponseContent"]> {
|
|
239
|
+
if (!req.name) {
|
|
240
|
+
throw Errors.validation("Name is required");
|
|
241
|
+
}
|
|
242
|
+
const response = await this.request(
|
|
243
|
+
{
|
|
244
|
+
service: "Templates",
|
|
245
|
+
operation: "CreateProjectFromTemplate",
|
|
246
|
+
resourceType: "project_from_template",
|
|
247
|
+
isMutation: true,
|
|
248
|
+
resourceId: templateId,
|
|
249
|
+
},
|
|
250
|
+
() =>
|
|
251
|
+
this.client.POST("/templates/{templateId}/project_constructions.json", {
|
|
252
|
+
params: {
|
|
253
|
+
path: { templateId },
|
|
254
|
+
},
|
|
255
|
+
body: {
|
|
256
|
+
name: req.name,
|
|
257
|
+
description: req.description,
|
|
258
|
+
},
|
|
259
|
+
})
|
|
260
|
+
);
|
|
261
|
+
return response;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Get the status of a project construction
|
|
266
|
+
* @param templateId - The template ID
|
|
267
|
+
* @param constructionId - The construction ID
|
|
268
|
+
* @returns The project_construction
|
|
269
|
+
* @throws {BasecampError} If the resource is not found
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```ts
|
|
273
|
+
* const result = await client.templates.getConstruction(123, 123);
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
async getConstruction(templateId: number, constructionId: number): Promise<components["schemas"]["GetProjectConstructionResponseContent"]> {
|
|
277
|
+
const response = await this.request(
|
|
278
|
+
{
|
|
279
|
+
service: "Templates",
|
|
280
|
+
operation: "GetProjectConstruction",
|
|
281
|
+
resourceType: "project_construction",
|
|
282
|
+
isMutation: false,
|
|
283
|
+
resourceId: templateId,
|
|
284
|
+
},
|
|
285
|
+
() =>
|
|
286
|
+
this.client.GET("/templates/{templateId}/project_constructions/{constructionId}", {
|
|
287
|
+
params: {
|
|
288
|
+
path: { templateId, constructionId },
|
|
289
|
+
},
|
|
290
|
+
})
|
|
291
|
+
);
|
|
292
|
+
return response;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
import { BaseService } from "../../services/base.js";
|
|
7
|
+
import type { components } from "../schema.js";
|
|
8
|
+
import type { PaginationOptions } from "../../pagination.js";
|
|
9
|
+
/**
|
|
10
|
+
* Options for projectTimeline.
|
|
11
|
+
*/
|
|
12
|
+
export interface ProjectTimelineTimelineOptions extends PaginationOptions {
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Service for Timeline operations.
|
|
16
|
+
*/
|
|
17
|
+
export declare class TimelineService extends BaseService {
|
|
18
|
+
/**
|
|
19
|
+
* Get project timeline
|
|
20
|
+
* @param projectId - The project ID
|
|
21
|
+
* @param options - Optional query parameters
|
|
22
|
+
* @returns All results across all pages, with .meta.totalCount
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const result = await client.timeline.projectTimeline(123);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
projectTimeline(projectId: number, options?: ProjectTimelineTimelineOptions): Promise<components["schemas"]["GetProjectTimelineResponseContent"]>;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../../../src/generated/services/timeline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,iBAAiB;CACxE;AAOD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;OAUG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,mCAAmC,CAAC,CAAC;CAkBxJ"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline service for the Basecamp API.
|
|
3
|
+
*
|
|
4
|
+
* @generated from OpenAPI spec - do not edit directly
|
|
5
|
+
*/
|
|
6
|
+
import { BaseService } from "../../services/base.js";
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// Service
|
|
9
|
+
// =============================================================================
|
|
10
|
+
/**
|
|
11
|
+
* Service for Timeline operations.
|
|
12
|
+
*/
|
|
13
|
+
export class TimelineService extends BaseService {
|
|
14
|
+
/**
|
|
15
|
+
* Get project timeline
|
|
16
|
+
* @param projectId - The project ID
|
|
17
|
+
* @param options - Optional query parameters
|
|
18
|
+
* @returns All results across all pages, with .meta.totalCount
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const result = await client.timeline.projectTimeline(123);
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
async projectTimeline(projectId, options) {
|
|
26
|
+
return this.requestPaginated({
|
|
27
|
+
service: "Timeline",
|
|
28
|
+
operation: "GetProjectTimeline",
|
|
29
|
+
resourceType: "project_timeline",
|
|
30
|
+
isMutation: false,
|
|
31
|
+
projectId,
|
|
32
|
+
}, () => this.client.GET("/projects/{projectId}/timeline.json", {
|
|
33
|
+
params: {
|
|
34
|
+
path: { projectId },
|
|
35
|
+
},
|
|
36
|
+
}), options);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../../src/generated/services/timeline.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAiBrD,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;GAEG;AACH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,OAAwC;QAC/E,OAAO,IAAI,CAAC,gBAAgB,CAC1B;YACE,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,kBAAkB;YAChC,UAAU,EAAE,KAAK;YACjB,SAAS;SACV,EACD,GAAG,EAAE,CACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,EAAE;YACrD,MAAM,EAAE;gBACN,IAAI,EAAE,EAAE,SAAS,EAAE;aACpB;SACF,CAAC,EACF,OAAO,CACV,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timeline 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
|
+
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Types
|
|
14
|
+
// =============================================================================
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Options for projectTimeline.
|
|
19
|
+
*/
|
|
20
|
+
export interface ProjectTimelineTimelineOptions extends PaginationOptions {
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
// =============================================================================
|
|
25
|
+
// Service
|
|
26
|
+
// =============================================================================
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Service for Timeline operations.
|
|
30
|
+
*/
|
|
31
|
+
export class TimelineService extends BaseService {
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Get project timeline
|
|
35
|
+
* @param projectId - The project ID
|
|
36
|
+
* @param options - Optional query parameters
|
|
37
|
+
* @returns All results across all pages, with .meta.totalCount
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const result = await client.timeline.projectTimeline(123);
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
async projectTimeline(projectId: number, options?: ProjectTimelineTimelineOptions): Promise<components["schemas"]["GetProjectTimelineResponseContent"]> {
|
|
45
|
+
return this.requestPaginated(
|
|
46
|
+
{
|
|
47
|
+
service: "Timeline",
|
|
48
|
+
operation: "GetProjectTimeline",
|
|
49
|
+
resourceType: "project_timeline",
|
|
50
|
+
isMutation: false,
|
|
51
|
+
projectId,
|
|
52
|
+
},
|
|
53
|
+
() =>
|
|
54
|
+
this.client.GET("/projects/{projectId}/timeline.json", {
|
|
55
|
+
params: {
|
|
56
|
+
path: { projectId },
|
|
57
|
+
},
|
|
58
|
+
})
|
|
59
|
+
, options
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
}
|