@37signals/basecamp 0.12.0 → 0.14.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 +114 -17
- package/dist/.build-complete +0 -0
- package/dist/client.d.ts +53 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +132 -150
- package/dist/client.js.map +1 -1
- package/dist/download.d.ts +7 -0
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +82 -22
- package/dist/download.js.map +1 -1
- package/dist/errors.d.ts +19 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +138 -14
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +291 -141
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +291 -141
- package/dist/generated/openapi-stripped.json +5954 -3523
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +28 -16
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +28 -16
- package/dist/generated/schema.d.ts +4390 -2357
- package/dist/generated/services/bookmarks.d.ts +1 -1
- package/dist/generated/services/bookmarks.d.ts.map +1 -1
- package/dist/generated/services/bookmarks.ts +1 -1
- package/dist/generated/services/boosts.d.ts +10 -0
- package/dist/generated/services/boosts.d.ts.map +1 -1
- package/dist/generated/services/boosts.js +8 -0
- package/dist/generated/services/boosts.js.map +1 -1
- package/dist/generated/services/boosts.ts +12 -0
- package/dist/generated/services/campfires.d.ts +54 -40
- package/dist/generated/services/campfires.d.ts.map +1 -1
- package/dist/generated/services/campfires.js +82 -65
- package/dist/generated/services/campfires.js.map +1 -1
- package/dist/generated/services/campfires.ts +107 -85
- package/dist/generated/services/cards.d.ts +5 -0
- package/dist/generated/services/cards.d.ts.map +1 -1
- package/dist/generated/services/cards.js +4 -0
- package/dist/generated/services/cards.js.map +1 -1
- package/dist/generated/services/cards.ts +6 -0
- package/dist/generated/services/checkins.d.ts +14 -0
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +14 -1
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +20 -0
- package/dist/generated/services/client-approvals.d.ts +6 -3
- package/dist/generated/services/client-approvals.d.ts.map +1 -1
- package/dist/generated/services/client-approvals.js +8 -5
- package/dist/generated/services/client-approvals.js.map +1 -1
- package/dist/generated/services/client-approvals.ts +10 -5
- package/dist/generated/services/client-correspondences.d.ts +6 -3
- package/dist/generated/services/client-correspondences.d.ts.map +1 -1
- package/dist/generated/services/client-correspondences.js +8 -5
- package/dist/generated/services/client-correspondences.js.map +1 -1
- package/dist/generated/services/client-correspondences.ts +10 -5
- package/dist/generated/services/client-replies.d.ts +11 -4
- package/dist/generated/services/client-replies.d.ts.map +1 -1
- package/dist/generated/services/client-replies.js +16 -8
- package/dist/generated/services/client-replies.js.map +1 -1
- package/dist/generated/services/client-replies.ts +18 -8
- package/dist/generated/services/cloud-files.d.ts +92 -0
- package/dist/generated/services/cloud-files.d.ts.map +1 -0
- package/dist/generated/services/cloud-files.js +121 -0
- package/dist/generated/services/cloud-files.js.map +1 -0
- package/dist/generated/services/cloud-files.ts +188 -0
- package/dist/generated/services/comments.d.ts +5 -0
- package/dist/generated/services/comments.d.ts.map +1 -1
- package/dist/generated/services/comments.js +4 -0
- package/dist/generated/services/comments.js.map +1 -1
- package/dist/generated/services/comments.ts +6 -0
- package/dist/generated/services/documents.d.ts +12 -7
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +10 -6
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +14 -8
- package/dist/generated/services/drafts.d.ts +1 -1
- package/dist/generated/services/drafts.d.ts.map +1 -1
- package/dist/generated/services/drafts.ts +1 -1
- package/dist/generated/services/events.d.ts +5 -0
- package/dist/generated/services/events.d.ts.map +1 -1
- package/dist/generated/services/events.js +4 -0
- package/dist/generated/services/events.js.map +1 -1
- package/dist/generated/services/events.ts +6 -0
- package/dist/generated/services/everything.d.ts +14 -14
- package/dist/generated/services/everything.d.ts.map +1 -1
- package/dist/generated/services/everything.ts +14 -14
- package/dist/generated/services/folders.d.ts +96 -0
- package/dist/generated/services/folders.d.ts.map +1 -0
- package/dist/generated/services/folders.js +140 -0
- package/dist/generated/services/folders.js.map +1 -0
- package/dist/generated/services/folders.ts +201 -0
- package/dist/generated/services/forwards.d.ts +7 -20
- package/dist/generated/services/forwards.d.ts.map +1 -1
- package/dist/generated/services/forwards.js +6 -35
- package/dist/generated/services/forwards.js.map +1 -1
- package/dist/generated/services/forwards.ts +10 -48
- package/dist/generated/services/gauges.d.ts +7 -0
- package/dist/generated/services/gauges.d.ts.map +1 -1
- package/dist/generated/services/gauges.js +5 -1
- package/dist/generated/services/gauges.js.map +1 -1
- package/dist/generated/services/gauges.ts +9 -1
- package/dist/generated/services/google-documents.d.ts +98 -0
- package/dist/generated/services/google-documents.d.ts.map +1 -0
- package/dist/generated/services/google-documents.js +123 -0
- package/dist/generated/services/google-documents.js.map +1 -0
- package/dist/generated/services/google-documents.ts +196 -0
- package/dist/generated/services/index.d.ts +7 -4
- package/dist/generated/services/index.d.ts.map +1 -1
- package/dist/generated/services/index.js +7 -4
- package/dist/generated/services/index.js.map +1 -1
- package/dist/generated/services/index.ts +7 -4
- 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 -1
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -1
- package/dist/generated/services/my-notes.d.ts +1 -1
- package/dist/generated/services/my-notes.js +1 -1
- package/dist/generated/services/my-notes.ts +1 -1
- package/dist/generated/services/my-notifications.d.ts +4 -2
- package/dist/generated/services/my-notifications.d.ts.map +1 -1
- package/dist/generated/services/my-notifications.js.map +1 -1
- package/dist/generated/services/my-notifications.ts +4 -2
- package/dist/generated/services/people.d.ts +11 -1
- package/dist/generated/services/people.d.ts.map +1 -1
- package/dist/generated/services/people.js +13 -2
- package/dist/generated/services/people.js.map +1 -1
- package/dist/generated/services/people.ts +15 -1
- package/dist/generated/services/projects.d.ts +26 -0
- package/dist/generated/services/projects.d.ts.map +1 -1
- package/dist/generated/services/projects.js +49 -1
- package/dist/generated/services/projects.js.map +1 -1
- package/dist/generated/services/projects.ts +61 -1
- package/dist/generated/services/recordings.d.ts +2 -12
- package/dist/generated/services/recordings.d.ts.map +1 -1
- package/dist/generated/services/recordings.js +1 -26
- package/dist/generated/services/recordings.js.map +1 -1
- package/dist/generated/services/recordings.ts +3 -31
- package/dist/generated/services/reports.d.ts +8 -12
- package/dist/generated/services/reports.d.ts.map +1 -1
- package/dist/generated/services/reports.js +11 -5
- package/dist/generated/services/reports.js.map +1 -1
- package/dist/generated/services/reports.ts +13 -14
- package/dist/generated/services/schedules.d.ts +94 -15
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +19 -8
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +107 -17
- package/dist/generated/services/search.d.ts +2 -0
- 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 +3 -1
- package/dist/generated/services/templates.d.ts +2 -0
- package/dist/generated/services/templates.d.ts.map +1 -1
- package/dist/generated/services/templates.js +1 -1
- package/dist/generated/services/templates.js.map +1 -1
- package/dist/generated/services/templates.ts +3 -1
- package/dist/generated/services/timeline.d.ts +2 -0
- package/dist/generated/services/timeline.d.ts.map +1 -1
- package/dist/generated/services/timeline.js +1 -0
- package/dist/generated/services/timeline.js.map +1 -1
- package/dist/generated/services/timeline.ts +3 -0
- package/dist/generated/services/timesheets.d.ts +16 -0
- package/dist/generated/services/timesheets.d.ts.map +1 -1
- package/dist/generated/services/timesheets.js +26 -2
- package/dist/generated/services/timesheets.js.map +1 -1
- package/dist/generated/services/timesheets.ts +35 -2
- package/dist/generated/services/todolist-groups.d.ts +11 -6
- package/dist/generated/services/todolist-groups.d.ts.map +1 -1
- package/dist/generated/services/todolist-groups.js +7 -3
- package/dist/generated/services/todolist-groups.js.map +1 -1
- package/dist/generated/services/todolist-groups.ts +13 -7
- package/dist/generated/services/todolists.d.ts +15 -13
- package/dist/generated/services/todolists.d.ts.map +1 -1
- package/dist/generated/services/todolists.js +11 -8
- package/dist/generated/services/todolists.js.map +1 -1
- package/dist/generated/services/todolists.ts +19 -14
- package/dist/generated/services/todos.d.ts +2 -12
- package/dist/generated/services/todos.d.ts.map +1 -1
- package/dist/generated/services/todos.js +1 -25
- package/dist/generated/services/todos.js.map +1 -1
- package/dist/generated/services/todos.ts +3 -30
- package/dist/generated/services/uploads.d.ts +41 -2
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +41 -1
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +71 -2
- package/dist/generated/services/vaults.d.ts +5 -0
- package/dist/generated/services/vaults.d.ts.map +1 -1
- package/dist/generated/services/vaults.js +4 -0
- package/dist/generated/services/vaults.js.map +1 -1
- package/dist/generated/services/vaults.ts +6 -0
- package/dist/index.d.ts +16 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -8
- package/dist/index.js.map +1 -1
- package/dist/oauth/authorization-document.d.ts +201 -0
- package/dist/oauth/authorization-document.d.ts.map +1 -0
- package/dist/oauth/authorization-document.js +130 -0
- package/dist/oauth/authorization-document.js.map +1 -0
- package/dist/oauth/identity.d.ts +7 -1
- package/dist/oauth/identity.d.ts.map +1 -1
- package/dist/oauth/identity.js +8 -19
- package/dist/oauth/identity.js.map +1 -1
- package/dist/oauth/index.d.ts +1 -0
- package/dist/oauth/index.d.ts.map +1 -1
- package/dist/oauth/index.js +2 -0
- package/dist/oauth/index.js.map +1 -1
- package/dist/pagination-utils.d.ts +46 -0
- package/dist/pagination-utils.d.ts.map +1 -1
- package/dist/pagination-utils.js +85 -2
- package/dist/pagination-utils.js.map +1 -1
- package/dist/pagination.d.ts +11 -0
- package/dist/pagination.d.ts.map +1 -1
- package/dist/pagination.js.map +1 -1
- package/dist/retry.d.ts +110 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +253 -0
- package/dist/retry.js.map +1 -0
- package/dist/services/authorization.d.ts +22 -52
- package/dist/services/authorization.d.ts.map +1 -1
- package/dist/services/authorization.js +14 -32
- package/dist/services/authorization.js.map +1 -1
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +59 -5
- package/dist/services/base.js.map +1 -1
- package/dist/services/cards-extensions.d.ts +26 -21
- package/dist/services/cards-extensions.d.ts.map +1 -1
- package/dist/services/cards-extensions.js +28 -31
- package/dist/services/cards-extensions.js.map +1 -1
- package/dist/services/documents-extensions.d.ts +122 -0
- package/dist/services/documents-extensions.d.ts.map +1 -0
- package/dist/services/documents-extensions.js +125 -0
- package/dist/services/documents-extensions.js.map +1 -0
- package/dist/services/merge-safe.d.ts +167 -0
- package/dist/services/merge-safe.d.ts.map +1 -0
- package/dist/services/merge-safe.js +217 -0
- package/dist/services/merge-safe.js.map +1 -0
- package/dist/services/schedules-extensions.d.ts +266 -0
- package/dist/services/schedules-extensions.d.ts.map +1 -0
- package/dist/services/schedules-extensions.js +268 -0
- package/dist/services/schedules-extensions.js.map +1 -0
- package/dist/services/todolists-extensions.d.ts +110 -0
- package/dist/services/todolists-extensions.d.ts.map +1 -0
- package/dist/services/todolists-extensions.js +262 -0
- package/dist/services/todolists-extensions.js.map +1 -0
- package/dist/services/todos-extensions.d.ts +12 -1
- package/dist/services/todos-extensions.d.ts.map +1 -1
- package/dist/services/todos-extensions.js +27 -8
- package/dist/services/todos-extensions.js.map +1 -1
- package/package.json +6 -5
- package/src/generated/metadata.ts +291 -141
- package/src/generated/openapi-stripped.json +5954 -3523
- package/src/generated/path-mapping.ts +28 -16
- package/src/generated/schema.d.ts +4390 -2357
- package/src/generated/services/bookmarks.ts +1 -1
- package/src/generated/services/boosts.ts +12 -0
- package/src/generated/services/campfires.ts +107 -85
- package/src/generated/services/cards.ts +6 -0
- package/src/generated/services/checkins.ts +20 -0
- package/src/generated/services/client-approvals.ts +10 -5
- package/src/generated/services/client-correspondences.ts +10 -5
- package/src/generated/services/client-replies.ts +18 -8
- package/src/generated/services/cloud-files.ts +188 -0
- package/src/generated/services/comments.ts +6 -0
- package/src/generated/services/documents.ts +14 -8
- package/src/generated/services/drafts.ts +1 -1
- package/src/generated/services/events.ts +6 -0
- package/src/generated/services/everything.ts +14 -14
- package/src/generated/services/folders.ts +201 -0
- package/src/generated/services/forwards.ts +10 -48
- package/src/generated/services/gauges.ts +9 -1
- package/src/generated/services/google-documents.ts +196 -0
- package/src/generated/services/index.ts +7 -4
- package/src/generated/services/messages.ts +3 -1
- package/src/generated/services/my-notes.ts +1 -1
- package/src/generated/services/my-notifications.ts +4 -2
- package/src/generated/services/people.ts +15 -1
- package/src/generated/services/projects.ts +61 -1
- package/src/generated/services/recordings.ts +3 -31
- package/src/generated/services/reports.ts +13 -14
- package/src/generated/services/schedules.ts +107 -17
- package/src/generated/services/search.ts +3 -1
- package/src/generated/services/templates.ts +3 -1
- package/src/generated/services/timeline.ts +3 -0
- package/src/generated/services/timesheets.ts +35 -2
- package/src/generated/services/todolist-groups.ts +13 -7
- package/src/generated/services/todolists.ts +19 -14
- package/src/generated/services/todos.ts +3 -30
- package/src/generated/services/uploads.ts +71 -2
- package/src/generated/services/vaults.ts +6 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folders 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 Folders operations.
|
|
13
|
+
*/
|
|
14
|
+
export class FoldersService extends BaseService {
|
|
15
|
+
/**
|
|
16
|
+
* List the authenticated user's folders in home-screen order.
|
|
17
|
+
* @returns Array of Folder
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* const result = await client.folders.listFolders();
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
async listFolders() {
|
|
25
|
+
const response = await this.request({
|
|
26
|
+
service: "Folders",
|
|
27
|
+
operation: "ListFolders",
|
|
28
|
+
resourceType: "folder",
|
|
29
|
+
isMutation: false,
|
|
30
|
+
}, () => this.client.GET("/stacks.json", {}));
|
|
31
|
+
return response ?? [];
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Create a folder for the authenticated user and file the given projects into it.
|
|
35
|
+
* @param req - Folder creation parameters
|
|
36
|
+
* @returns The FolderWithProjects
|
|
37
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* const result = await client.folders.createFolder({ });
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
async createFolder(req) {
|
|
45
|
+
const response = await this.request({
|
|
46
|
+
service: "Folders",
|
|
47
|
+
operation: "CreateFolder",
|
|
48
|
+
resourceType: "folder",
|
|
49
|
+
isMutation: true,
|
|
50
|
+
}, () => this.client.POST("/stacks.json", {
|
|
51
|
+
body: {
|
|
52
|
+
name: req.name,
|
|
53
|
+
project_ids: req.projectIds,
|
|
54
|
+
},
|
|
55
|
+
}));
|
|
56
|
+
return response;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get one folder, with the projects grouped inside it expanded under `projects`.
|
|
60
|
+
* @param folderId - The folder ID
|
|
61
|
+
* @returns The FolderWithProjects
|
|
62
|
+
* @throws {BasecampError} If the resource is not found
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* const result = await client.folders.getFolder(123);
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
async getFolder(folderId) {
|
|
70
|
+
const response = await this.request({
|
|
71
|
+
service: "Folders",
|
|
72
|
+
operation: "GetFolder",
|
|
73
|
+
resourceType: "folder",
|
|
74
|
+
isMutation: false,
|
|
75
|
+
resourceId: folderId,
|
|
76
|
+
}, () => this.client.GET("/stacks/{folderId}", {
|
|
77
|
+
params: {
|
|
78
|
+
path: { folderId },
|
|
79
|
+
},
|
|
80
|
+
}));
|
|
81
|
+
return response;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Rename a folder.
|
|
85
|
+
* @param folderId - The folder ID
|
|
86
|
+
* @param req - Folder update parameters
|
|
87
|
+
* @returns The FolderWithProjects
|
|
88
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```ts
|
|
92
|
+
* const result = await client.folders.updateFolder(123, { name: "My example" });
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
async updateFolder(folderId, req) {
|
|
96
|
+
if (!req.name) {
|
|
97
|
+
throw Errors.validation("Name is required");
|
|
98
|
+
}
|
|
99
|
+
const response = await this.request({
|
|
100
|
+
service: "Folders",
|
|
101
|
+
operation: "UpdateFolder",
|
|
102
|
+
resourceType: "folder",
|
|
103
|
+
isMutation: true,
|
|
104
|
+
resourceId: folderId,
|
|
105
|
+
}, () => this.client.PUT("/stacks/{folderId}", {
|
|
106
|
+
params: {
|
|
107
|
+
path: { folderId },
|
|
108
|
+
},
|
|
109
|
+
body: {
|
|
110
|
+
name: req.name,
|
|
111
|
+
},
|
|
112
|
+
}));
|
|
113
|
+
return response;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Delete a folder and unpin its projects from the home screen.
|
|
117
|
+
* @param folderId - The folder ID
|
|
118
|
+
* @returns void
|
|
119
|
+
* @throws {BasecampError} If the request fails
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* await client.folders.deleteFolder(123);
|
|
124
|
+
* ```
|
|
125
|
+
*/
|
|
126
|
+
async deleteFolder(folderId) {
|
|
127
|
+
await this.request({
|
|
128
|
+
service: "Folders",
|
|
129
|
+
operation: "DeleteFolder",
|
|
130
|
+
resourceType: "folder",
|
|
131
|
+
isMutation: true,
|
|
132
|
+
resourceId: folderId,
|
|
133
|
+
}, () => this.client.DELETE("/stacks/{folderId}", {
|
|
134
|
+
params: {
|
|
135
|
+
path: { folderId },
|
|
136
|
+
},
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=folders.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"folders.js","sourceRoot":"","sources":["../../../src/generated/services/folders.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Folders 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
|
+
/** Folder entity from the Basecamp API. */
|
|
16
|
+
export type Folder = components["schemas"]["Folder"];
|
|
17
|
+
/** FolderWithProjects entity from the Basecamp API. */
|
|
18
|
+
export type FolderWithProjects = components["schemas"]["FolderWithProjects"];
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Request parameters for createFolder.
|
|
22
|
+
*/
|
|
23
|
+
export interface CreateFolderFolderRequest {
|
|
24
|
+
/** The folder's name. Defaults to `New folder` when blank, null, or omitted. */
|
|
25
|
+
name?: string;
|
|
26
|
+
/** IDs of the projects to file into the folder — the same ids the folder
|
|
27
|
+
reports back as `bucket_ids` and expands as `projects`. This does not
|
|
28
|
+
round-trip under its own name. Omit it, or send null or an empty array,
|
|
29
|
+
for an empty folder. */
|
|
30
|
+
projectIds?: number[];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Request parameters for updateFolder.
|
|
35
|
+
*/
|
|
36
|
+
export interface UpdateFolderFolderRequest {
|
|
37
|
+
/** The folder's new name. Blank is rejected with 422 — unlike create, update
|
|
38
|
+
does not fall back to a default name. */
|
|
39
|
+
name: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
// =============================================================================
|
|
44
|
+
// Service
|
|
45
|
+
// =============================================================================
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Service for Folders operations.
|
|
49
|
+
*/
|
|
50
|
+
export class FoldersService extends BaseService {
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* List the authenticated user's folders in home-screen order.
|
|
54
|
+
* @returns Array of Folder
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* const result = await client.folders.listFolders();
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
async listFolders(): Promise<Folder[]> {
|
|
62
|
+
const response = await this.request(
|
|
63
|
+
{
|
|
64
|
+
service: "Folders",
|
|
65
|
+
operation: "ListFolders",
|
|
66
|
+
resourceType: "folder",
|
|
67
|
+
isMutation: false,
|
|
68
|
+
},
|
|
69
|
+
() =>
|
|
70
|
+
this.client.GET("/stacks.json", {
|
|
71
|
+
})
|
|
72
|
+
);
|
|
73
|
+
return response ?? [];
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Create a folder for the authenticated user and file the given projects into it.
|
|
78
|
+
* @param req - Folder creation parameters
|
|
79
|
+
* @returns The FolderWithProjects
|
|
80
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* const result = await client.folders.createFolder({ });
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
async createFolder(req: CreateFolderFolderRequest): Promise<FolderWithProjects> {
|
|
88
|
+
const response = await this.request(
|
|
89
|
+
{
|
|
90
|
+
service: "Folders",
|
|
91
|
+
operation: "CreateFolder",
|
|
92
|
+
resourceType: "folder",
|
|
93
|
+
isMutation: true,
|
|
94
|
+
},
|
|
95
|
+
() =>
|
|
96
|
+
this.client.POST("/stacks.json", {
|
|
97
|
+
body: {
|
|
98
|
+
name: req.name,
|
|
99
|
+
project_ids: req.projectIds,
|
|
100
|
+
},
|
|
101
|
+
})
|
|
102
|
+
);
|
|
103
|
+
return response;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Get one folder, with the projects grouped inside it expanded under `projects`.
|
|
108
|
+
* @param folderId - The folder ID
|
|
109
|
+
* @returns The FolderWithProjects
|
|
110
|
+
* @throws {BasecampError} If the resource is not found
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* ```ts
|
|
114
|
+
* const result = await client.folders.getFolder(123);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
async getFolder(folderId: number): Promise<FolderWithProjects> {
|
|
118
|
+
const response = await this.request(
|
|
119
|
+
{
|
|
120
|
+
service: "Folders",
|
|
121
|
+
operation: "GetFolder",
|
|
122
|
+
resourceType: "folder",
|
|
123
|
+
isMutation: false,
|
|
124
|
+
resourceId: folderId,
|
|
125
|
+
},
|
|
126
|
+
() =>
|
|
127
|
+
this.client.GET("/stacks/{folderId}", {
|
|
128
|
+
params: {
|
|
129
|
+
path: { folderId },
|
|
130
|
+
},
|
|
131
|
+
})
|
|
132
|
+
);
|
|
133
|
+
return response;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Rename a folder.
|
|
138
|
+
* @param folderId - The folder ID
|
|
139
|
+
* @param req - Folder update parameters
|
|
140
|
+
* @returns The FolderWithProjects
|
|
141
|
+
* @throws {BasecampError} If the resource is not found or fields are invalid
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```ts
|
|
145
|
+
* const result = await client.folders.updateFolder(123, { name: "My example" });
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
async updateFolder(folderId: number, req: UpdateFolderFolderRequest): Promise<FolderWithProjects> {
|
|
149
|
+
if (!req.name) {
|
|
150
|
+
throw Errors.validation("Name is required");
|
|
151
|
+
}
|
|
152
|
+
const response = await this.request(
|
|
153
|
+
{
|
|
154
|
+
service: "Folders",
|
|
155
|
+
operation: "UpdateFolder",
|
|
156
|
+
resourceType: "folder",
|
|
157
|
+
isMutation: true,
|
|
158
|
+
resourceId: folderId,
|
|
159
|
+
},
|
|
160
|
+
() =>
|
|
161
|
+
this.client.PUT("/stacks/{folderId}", {
|
|
162
|
+
params: {
|
|
163
|
+
path: { folderId },
|
|
164
|
+
},
|
|
165
|
+
body: {
|
|
166
|
+
name: req.name,
|
|
167
|
+
},
|
|
168
|
+
})
|
|
169
|
+
);
|
|
170
|
+
return response;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Delete a folder and unpin its projects from the home screen.
|
|
175
|
+
* @param folderId - The folder ID
|
|
176
|
+
* @returns void
|
|
177
|
+
* @throws {BasecampError} If the request fails
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts
|
|
181
|
+
* await client.folders.deleteFolder(123);
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
async deleteFolder(folderId: number): Promise<void> {
|
|
185
|
+
await this.request(
|
|
186
|
+
{
|
|
187
|
+
service: "Folders",
|
|
188
|
+
operation: "DeleteFolder",
|
|
189
|
+
resourceType: "folder",
|
|
190
|
+
isMutation: true,
|
|
191
|
+
resourceId: folderId,
|
|
192
|
+
},
|
|
193
|
+
() =>
|
|
194
|
+
this.client.DELETE("/stacks/{folderId}", {
|
|
195
|
+
params: {
|
|
196
|
+
path: { folderId },
|
|
197
|
+
},
|
|
198
|
+
})
|
|
199
|
+
);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
@@ -17,13 +17,8 @@ export type Inbox = components["schemas"]["Inbox"];
|
|
|
17
17
|
* Options for listReplies.
|
|
18
18
|
*/
|
|
19
19
|
export interface ListRepliesForwardOptions extends PaginationOptions {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
* Request parameters for createReply.
|
|
23
|
-
*/
|
|
24
|
-
export interface CreateReplyForwardRequest {
|
|
25
|
-
/** Text content */
|
|
26
|
-
content: string;
|
|
20
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
21
|
+
page?: number;
|
|
27
22
|
}
|
|
28
23
|
/**
|
|
29
24
|
* Options for list.
|
|
@@ -33,6 +28,8 @@ export interface ListForwardOptions extends PaginationOptions {
|
|
|
33
28
|
sort?: "created_at" | "updated_at";
|
|
34
29
|
/** Filter by direction */
|
|
35
30
|
direction?: "asc" | "desc";
|
|
31
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
32
|
+
page?: number;
|
|
36
33
|
}
|
|
37
34
|
/**
|
|
38
35
|
* Service for Forwards operations.
|
|
@@ -59,22 +56,12 @@ export declare class ForwardsService extends BaseService {
|
|
|
59
56
|
* @example
|
|
60
57
|
* ```ts
|
|
61
58
|
* const result = await client.forwards.listReplies(123);
|
|
62
|
-
* ```
|
|
63
|
-
*/
|
|
64
|
-
listReplies(forwardId: number, options?: ListRepliesForwardOptions): Promise<ListResult<ForwardReply>>;
|
|
65
|
-
/**
|
|
66
|
-
* Create a reply to a forward
|
|
67
|
-
* @param forwardId - The forward ID
|
|
68
|
-
* @param req - Forward_reply creation parameters
|
|
69
|
-
* @returns The ForwardReply
|
|
70
|
-
* @throws {BasecampError} If required fields are missing or invalid
|
|
71
59
|
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
* const result = await client.forwards.createReply(123, { content: "Hello world" });
|
|
60
|
+
* // With options
|
|
61
|
+
* const filtered = await client.forwards.listReplies(123, { page: 1 });
|
|
75
62
|
* ```
|
|
76
63
|
*/
|
|
77
|
-
|
|
64
|
+
listReplies(forwardId: number, options?: ListRepliesForwardOptions): Promise<ListResult<ForwardReply>>;
|
|
78
65
|
/**
|
|
79
66
|
* Get a forward reply by ID
|
|
80
67
|
* @param forwardId - The forward ID
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwards.d.ts","sourceRoot":"","sources":["../../../src/generated/services/forwards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"forwards.d.ts","sourceRoot":"","sources":["../../../src/generated/services/forwards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D,4CAA4C;AAC5C,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;AACvD,iDAAiD;AACjD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;AACjE,0CAA0C;AAC1C,MAAM,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,qBAAqB;IACrB,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;IACnC,0BAA0B;IAC1B,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAE9C;;;;;;;;;;OAUG;IACG,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;;;;;;;;;;;;OAaG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAoB5G;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAmBzE;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAmB/C;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAmBxF"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* @generated from OpenAPI spec - do not edit directly
|
|
5
5
|
*/
|
|
6
6
|
import { BaseService } from "../../services/base.js";
|
|
7
|
-
import { Errors } from "../../errors.js";
|
|
8
7
|
// =============================================================================
|
|
9
8
|
// Service
|
|
10
9
|
// =============================================================================
|
|
@@ -46,6 +45,9 @@ export class ForwardsService extends BaseService {
|
|
|
46
45
|
* @example
|
|
47
46
|
* ```ts
|
|
48
47
|
* const result = await client.forwards.listReplies(123);
|
|
48
|
+
*
|
|
49
|
+
* // With options
|
|
50
|
+
* const filtered = await client.forwards.listReplies(123, { page: 1 });
|
|
49
51
|
* ```
|
|
50
52
|
*/
|
|
51
53
|
async listReplies(forwardId, options) {
|
|
@@ -58,41 +60,10 @@ export class ForwardsService extends BaseService {
|
|
|
58
60
|
}, () => this.client.GET("/inbox_forwards/{forwardId}/replies.json", {
|
|
59
61
|
params: {
|
|
60
62
|
path: { forwardId },
|
|
63
|
+
query: { page: options?.page },
|
|
61
64
|
},
|
|
62
65
|
}), options);
|
|
63
66
|
}
|
|
64
|
-
/**
|
|
65
|
-
* Create a reply to a forward
|
|
66
|
-
* @param forwardId - The forward ID
|
|
67
|
-
* @param req - Forward_reply creation parameters
|
|
68
|
-
* @returns The ForwardReply
|
|
69
|
-
* @throws {BasecampError} If required fields are missing or invalid
|
|
70
|
-
*
|
|
71
|
-
* @example
|
|
72
|
-
* ```ts
|
|
73
|
-
* const result = await client.forwards.createReply(123, { content: "Hello world" });
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
async createReply(forwardId, req) {
|
|
77
|
-
if (!req.content) {
|
|
78
|
-
throw Errors.validation("Content is required");
|
|
79
|
-
}
|
|
80
|
-
const response = await this.request({
|
|
81
|
-
service: "Forwards",
|
|
82
|
-
operation: "CreateForwardReply",
|
|
83
|
-
resourceType: "forward_reply",
|
|
84
|
-
isMutation: true,
|
|
85
|
-
resourceId: forwardId,
|
|
86
|
-
}, () => this.client.POST("/inbox_forwards/{forwardId}/replies.json", {
|
|
87
|
-
params: {
|
|
88
|
-
path: { forwardId },
|
|
89
|
-
},
|
|
90
|
-
body: {
|
|
91
|
-
content: req.content,
|
|
92
|
-
},
|
|
93
|
-
}));
|
|
94
|
-
return response;
|
|
95
|
-
}
|
|
96
67
|
/**
|
|
97
68
|
* Get a forward reply by ID
|
|
98
69
|
* @param forwardId - The forward ID
|
|
@@ -165,10 +136,10 @@ export class ForwardsService extends BaseService {
|
|
|
165
136
|
resourceType: "forward",
|
|
166
137
|
isMutation: false,
|
|
167
138
|
resourceId: inboxId,
|
|
168
|
-
}, () => this.client.GET("/inboxes/{inboxId}/
|
|
139
|
+
}, () => this.client.GET("/inboxes/{inboxId}/inbox_forwards.json", {
|
|
169
140
|
params: {
|
|
170
141
|
path: { inboxId },
|
|
171
|
-
query: { sort: options?.sort, direction: options?.direction },
|
|
142
|
+
query: { sort: options?.sort, direction: options?.direction, page: options?.page },
|
|
172
143
|
},
|
|
173
144
|
}), options);
|
|
174
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwards.js","sourceRoot":"","sources":["../../../src/generated/services/forwards.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"forwards.js","sourceRoot":"","sources":["../../../src/generated/services/forwards.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ import { BaseService } from "../../services/base.js";
|
|
|
8
8
|
import type { components } from "../schema.js";
|
|
9
9
|
import { ListResult } from "../../pagination.js";
|
|
10
10
|
import type { PaginationOptions } from "../../pagination.js";
|
|
11
|
-
import { Errors } from "../../errors.js";
|
|
12
11
|
|
|
13
12
|
// =============================================================================
|
|
14
13
|
// Types
|
|
@@ -25,14 +24,8 @@ export type Inbox = components["schemas"]["Inbox"];
|
|
|
25
24
|
* Options for listReplies.
|
|
26
25
|
*/
|
|
27
26
|
export interface ListRepliesForwardOptions extends PaginationOptions {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Request parameters for createReply.
|
|
32
|
-
*/
|
|
33
|
-
export interface CreateReplyForwardRequest {
|
|
34
|
-
/** Text content */
|
|
35
|
-
content: string;
|
|
27
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
28
|
+
page?: number;
|
|
36
29
|
}
|
|
37
30
|
|
|
38
31
|
/**
|
|
@@ -43,6 +36,8 @@ export interface ListForwardOptions extends PaginationOptions {
|
|
|
43
36
|
sort?: "created_at" | "updated_at";
|
|
44
37
|
/** Filter by direction */
|
|
45
38
|
direction?: "asc" | "desc";
|
|
39
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
40
|
+
page?: number;
|
|
46
41
|
}
|
|
47
42
|
|
|
48
43
|
|
|
@@ -94,6 +89,9 @@ export class ForwardsService extends BaseService {
|
|
|
94
89
|
* @example
|
|
95
90
|
* ```ts
|
|
96
91
|
* const result = await client.forwards.listReplies(123);
|
|
92
|
+
*
|
|
93
|
+
* // With options
|
|
94
|
+
* const filtered = await client.forwards.listReplies(123, { page: 1 });
|
|
97
95
|
* ```
|
|
98
96
|
*/
|
|
99
97
|
async listReplies(forwardId: number, options?: ListRepliesForwardOptions): Promise<ListResult<ForwardReply>> {
|
|
@@ -109,49 +107,13 @@ export class ForwardsService extends BaseService {
|
|
|
109
107
|
this.client.GET("/inbox_forwards/{forwardId}/replies.json", {
|
|
110
108
|
params: {
|
|
111
109
|
path: { forwardId },
|
|
110
|
+
query: { page: options?.page },
|
|
112
111
|
},
|
|
113
112
|
})
|
|
114
113
|
, options
|
|
115
114
|
);
|
|
116
115
|
}
|
|
117
116
|
|
|
118
|
-
/**
|
|
119
|
-
* Create a reply to a forward
|
|
120
|
-
* @param forwardId - The forward ID
|
|
121
|
-
* @param req - Forward_reply creation parameters
|
|
122
|
-
* @returns The ForwardReply
|
|
123
|
-
* @throws {BasecampError} If required fields are missing or invalid
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* ```ts
|
|
127
|
-
* const result = await client.forwards.createReply(123, { content: "Hello world" });
|
|
128
|
-
* ```
|
|
129
|
-
*/
|
|
130
|
-
async createReply(forwardId: number, req: CreateReplyForwardRequest): Promise<ForwardReply> {
|
|
131
|
-
if (!req.content) {
|
|
132
|
-
throw Errors.validation("Content is required");
|
|
133
|
-
}
|
|
134
|
-
const response = await this.request(
|
|
135
|
-
{
|
|
136
|
-
service: "Forwards",
|
|
137
|
-
operation: "CreateForwardReply",
|
|
138
|
-
resourceType: "forward_reply",
|
|
139
|
-
isMutation: true,
|
|
140
|
-
resourceId: forwardId,
|
|
141
|
-
},
|
|
142
|
-
() =>
|
|
143
|
-
this.client.POST("/inbox_forwards/{forwardId}/replies.json", {
|
|
144
|
-
params: {
|
|
145
|
-
path: { forwardId },
|
|
146
|
-
},
|
|
147
|
-
body: {
|
|
148
|
-
content: req.content,
|
|
149
|
-
},
|
|
150
|
-
})
|
|
151
|
-
);
|
|
152
|
-
return response;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
117
|
/**
|
|
156
118
|
* Get a forward reply by ID
|
|
157
119
|
* @param forwardId - The forward ID
|
|
@@ -237,10 +199,10 @@ export class ForwardsService extends BaseService {
|
|
|
237
199
|
resourceId: inboxId,
|
|
238
200
|
},
|
|
239
201
|
() =>
|
|
240
|
-
this.client.GET("/inboxes/{inboxId}/
|
|
202
|
+
this.client.GET("/inboxes/{inboxId}/inbox_forwards.json", {
|
|
241
203
|
params: {
|
|
242
204
|
path: { inboxId },
|
|
243
|
-
query: { sort: options?.sort, direction: options?.direction },
|
|
205
|
+
query: { sort: options?.sort, direction: options?.direction, page: options?.page },
|
|
244
206
|
},
|
|
245
207
|
})
|
|
246
208
|
, options
|
|
@@ -24,6 +24,8 @@ export interface ToggleGaugeGaugeRequest {
|
|
|
24
24
|
* Options for listGaugeNeedles.
|
|
25
25
|
*/
|
|
26
26
|
export interface ListGaugeNeedlesGaugeOptions extends PaginationOptions {
|
|
27
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
28
|
+
page?: number;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* Request parameters for createGaugeNeedle.
|
|
@@ -43,6 +45,8 @@ export interface ListGaugesGaugeOptions extends PaginationOptions {
|
|
|
43
45
|
/** Comma-separated list of project IDs. When provided, results are returned
|
|
44
46
|
in the order specified instead of by risk level. */
|
|
45
47
|
bucketIds?: string;
|
|
48
|
+
/** Page number for paginating through results. Defaults to 1. A positive value selects exactly that page, not a starting offset; see SPEC section 8. */
|
|
49
|
+
page?: number;
|
|
46
50
|
}
|
|
47
51
|
/**
|
|
48
52
|
* Service for Gauges operations.
|
|
@@ -106,6 +110,9 @@ export declare class GaugesService extends BaseService {
|
|
|
106
110
|
* @example
|
|
107
111
|
* ```ts
|
|
108
112
|
* const result = await client.gauges.listGaugeNeedles(123);
|
|
113
|
+
*
|
|
114
|
+
* // With options
|
|
115
|
+
* const filtered = await client.gauges.listGaugeNeedles(123, { page: 1 });
|
|
109
116
|
* ```
|
|
110
117
|
*/
|
|
111
118
|
listGaugeNeedles(projectId: number, options?: ListGaugeNeedlesGaugeOptions): Promise<components["schemas"]["ListGaugeNeedlesResponseContent"]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gauges.d.ts","sourceRoot":"","sources":["../../../src/generated/services/gauges.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;AAQ7D;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB;IACnB,WAAW,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY;IACZ,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"gauges.d.ts","sourceRoot":"","sources":["../../../src/generated/services/gauges.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;AAQ7D;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB;IACnB,WAAW,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY;IACZ,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,4BAA6B,SAAQ,iBAAiB;IACrE,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,mBAAmB;IACnB,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACzD,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D;qDACiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wJAAwJ;IACxJ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAOD;;GAEG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAE5C;;;;;;;;;OASG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAmBpG;;;;;;;;;;;OAWG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;IAsBjJ;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBjF;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,iCAAiC,CAAC,CAAC;IAoBpJ;;;;;;;;;;;OAWG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,6BAA6B,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,kCAAkC,CAAC,CAAC;IA2BlJ;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;CAiBhH"}
|
|
@@ -129,6 +129,9 @@ export class GaugesService extends BaseService {
|
|
|
129
129
|
* @example
|
|
130
130
|
* ```ts
|
|
131
131
|
* const result = await client.gauges.listGaugeNeedles(123);
|
|
132
|
+
*
|
|
133
|
+
* // With options
|
|
134
|
+
* const filtered = await client.gauges.listGaugeNeedles(123, { page: 1 });
|
|
132
135
|
* ```
|
|
133
136
|
*/
|
|
134
137
|
async listGaugeNeedles(projectId, options) {
|
|
@@ -141,6 +144,7 @@ export class GaugesService extends BaseService {
|
|
|
141
144
|
}, () => this.client.GET("/projects/{projectId}/gauge/needles.json", {
|
|
142
145
|
params: {
|
|
143
146
|
path: { projectId },
|
|
147
|
+
query: { page: options?.page },
|
|
144
148
|
},
|
|
145
149
|
}), options);
|
|
146
150
|
}
|
|
@@ -199,7 +203,7 @@ export class GaugesService extends BaseService {
|
|
|
199
203
|
isMutation: false,
|
|
200
204
|
}, () => this.client.GET("/reports/gauges.json", {
|
|
201
205
|
params: {
|
|
202
|
-
query: { "bucket_ids": options?.bucketIds },
|
|
206
|
+
query: { "bucket_ids": options?.bucketIds, page: options?.page },
|
|
203
207
|
},
|
|
204
208
|
}), options);
|
|
205
209
|
}
|