@37signals/basecamp 0.13.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 +3 -2
- package/dist/client.d.ts +1 -1
- package/dist/client.js +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +11 -0
- package/dist/errors.js.map +1 -1
- package/dist/generated/metadata.d.ts.map +1 -1
- package/dist/generated/metadata.js +12 -1
- package/dist/generated/metadata.js.map +1 -1
- package/dist/generated/metadata.ts +12 -1
- package/dist/generated/openapi-stripped.json +280 -1
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +1 -0
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +1 -0
- package/dist/generated/schema.d.ts +209 -2
- package/dist/generated/services/uploads.d.ts +36 -2
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +37 -1
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +65 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- 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/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/package.json +2 -2
- package/src/generated/metadata.ts +12 -1
- package/src/generated/openapi-stripped.json +280 -1
- package/src/generated/path-mapping.ts +1 -0
- package/src/generated/schema.d.ts +209 -2
- package/src/generated/services/uploads.ts +65 -2
|
@@ -16,6 +16,8 @@ import { Errors } from "../../errors.js";
|
|
|
16
16
|
|
|
17
17
|
/** Upload entity from the Basecamp API. */
|
|
18
18
|
export type Upload = components["schemas"]["Upload"];
|
|
19
|
+
/** UploadVersion entity from the Basecamp API. */
|
|
20
|
+
export type UploadVersion = components["schemas"]["UploadVersion"];
|
|
19
21
|
|
|
20
22
|
/**
|
|
21
23
|
* Request parameters for update.
|
|
@@ -33,6 +35,26 @@ export interface UpdateUploadRequest {
|
|
|
33
35
|
export interface ListVersionsUploadOptions extends PaginationOptions {
|
|
34
36
|
}
|
|
35
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Request parameters for createVersion.
|
|
40
|
+
*/
|
|
41
|
+
export interface CreateVersionUploadRequest {
|
|
42
|
+
/** Attachable sgid */
|
|
43
|
+
attachableSgid: string;
|
|
44
|
+
/** Omit to keep the uploaded file's own name. Sending "" also keeps it. */
|
|
45
|
+
baseName?: string;
|
|
46
|
+
/** Presence-aware: omit to carry the previous version's description forward,
|
|
47
|
+
send "" to clear it, send a value to set it. */
|
|
48
|
+
description?: string;
|
|
49
|
+
/** Who to notify: "default", "everyone", or "custom" (the people in subscriptions).
|
|
50
|
+
|
|
51
|
+
Omit both this and subscriptions to notify nobody. A subscriptions array sent
|
|
52
|
+
without notify is read as "custom". */
|
|
53
|
+
notify?: string;
|
|
54
|
+
/** People to notify about the replacement and subscribe to the upload. */
|
|
55
|
+
subscriptions?: number[];
|
|
56
|
+
}
|
|
57
|
+
|
|
36
58
|
/**
|
|
37
59
|
* Options for list.
|
|
38
60
|
*/
|
|
@@ -136,14 +158,14 @@ export class UploadsService extends BaseService {
|
|
|
136
158
|
* List versions of an upload
|
|
137
159
|
* @param uploadId - The upload ID
|
|
138
160
|
* @param options - Optional query parameters
|
|
139
|
-
* @returns All
|
|
161
|
+
* @returns All UploadVersion across all pages, with .meta.totalCount
|
|
140
162
|
*
|
|
141
163
|
* @example
|
|
142
164
|
* ```ts
|
|
143
165
|
* const result = await client.uploads.listVersions(123);
|
|
144
166
|
* ```
|
|
145
167
|
*/
|
|
146
|
-
async listVersions(uploadId: number, options?: ListVersionsUploadOptions): Promise<ListResult<
|
|
168
|
+
async listVersions(uploadId: number, options?: ListVersionsUploadOptions): Promise<ListResult<UploadVersion>> {
|
|
147
169
|
return this.requestPaginated(
|
|
148
170
|
{
|
|
149
171
|
service: "Uploads",
|
|
@@ -162,6 +184,47 @@ export class UploadsService extends BaseService {
|
|
|
162
184
|
);
|
|
163
185
|
}
|
|
164
186
|
|
|
187
|
+
/**
|
|
188
|
+
* Replace an upload's file with a new version
|
|
189
|
+
* @param uploadId - The upload ID
|
|
190
|
+
* @param req - Upload_version creation parameters
|
|
191
|
+
* @returns The Upload
|
|
192
|
+
* @throws {BasecampError} If required fields are missing or invalid
|
|
193
|
+
*
|
|
194
|
+
* @example
|
|
195
|
+
* ```ts
|
|
196
|
+
* const result = await client.uploads.createVersion(123, { attachableSgid: "example" });
|
|
197
|
+
* ```
|
|
198
|
+
*/
|
|
199
|
+
async createVersion(uploadId: number, req: CreateVersionUploadRequest): Promise<Upload> {
|
|
200
|
+
if (!req.attachableSgid) {
|
|
201
|
+
throw Errors.validation("Attachable sgid is required");
|
|
202
|
+
}
|
|
203
|
+
const response = await this.request(
|
|
204
|
+
{
|
|
205
|
+
service: "Uploads",
|
|
206
|
+
operation: "CreateUploadVersion",
|
|
207
|
+
resourceType: "upload_version",
|
|
208
|
+
isMutation: true,
|
|
209
|
+
resourceId: uploadId,
|
|
210
|
+
},
|
|
211
|
+
() =>
|
|
212
|
+
this.client.POST("/uploads/{uploadId}/versions.json", {
|
|
213
|
+
params: {
|
|
214
|
+
path: { uploadId },
|
|
215
|
+
},
|
|
216
|
+
body: {
|
|
217
|
+
attachable_sgid: req.attachableSgid,
|
|
218
|
+
base_name: req.baseName,
|
|
219
|
+
description: req.description,
|
|
220
|
+
notify: req.notify,
|
|
221
|
+
subscriptions: req.subscriptions,
|
|
222
|
+
},
|
|
223
|
+
})
|
|
224
|
+
);
|
|
225
|
+
return response;
|
|
226
|
+
}
|
|
227
|
+
|
|
165
228
|
/**
|
|
166
229
|
* List uploads in a vault
|
|
167
230
|
* @param vaultId - The vault ID
|