@37signals/basecamp 0.21.0 → 0.22.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/dist/client.d.ts +1 -1
- package/dist/client.js +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 +122 -4
- 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 +135 -4
- package/dist/generated/services/checkins.d.ts +5 -4
- package/dist/generated/services/checkins.d.ts.map +1 -1
- package/dist/generated/services/checkins.js +2 -2
- package/dist/generated/services/checkins.js.map +1 -1
- package/dist/generated/services/checkins.ts +7 -6
- package/dist/generated/services/recordings.d.ts +24 -0
- package/dist/generated/services/recordings.d.ts.map +1 -1
- package/dist/generated/services/recordings.js +29 -0
- package/dist/generated/services/recordings.js.map +1 -1
- package/dist/generated/services/recordings.ts +46 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/generated/metadata.ts +12 -1
- package/src/generated/openapi-stripped.json +122 -4
- package/src/generated/path-mapping.ts +1 -0
- package/src/generated/schema.d.ts +135 -4
- package/src/generated/services/checkins.ts +7 -6
- package/src/generated/services/recordings.ts +46 -0
|
@@ -17308,6 +17308,106 @@
|
|
|
17308
17308
|
}
|
|
17309
17309
|
}
|
|
17310
17310
|
},
|
|
17311
|
+
"/recordings/{recordingId}/filing.json": {
|
|
17312
|
+
"post": {
|
|
17313
|
+
"description": "Move a document, upload or vault into another vault in its project, or reorder it in its own vault.\n\nPassing the vault it is already in changes only its position. The\nrecording moves in place: its id, comments, bookmarks and history stay with\nit, and a vault takes everything inside it along. A destination in another\nproject is 404; moves to another project are not this operation. 404, 403 and\nsome 422s carry no body.\n\n403 when the caller may not move the recording (an account can restrict moves\nto admins and creators). 422 when position is not a positive whole number, the\ndestination is not a vault or is not active, the recording is not active, or a\nvault would move into one of its own vaults; only the position and vault-cycle\nrefusals carry an `error` message.",
|
|
17314
|
+
"operationId": "MoveRecordingToVault",
|
|
17315
|
+
"requestBody": {
|
|
17316
|
+
"content": {
|
|
17317
|
+
"application/json": {
|
|
17318
|
+
"schema": {
|
|
17319
|
+
"$ref": "#/components/schemas/MoveRecordingToVaultRequestContent"
|
|
17320
|
+
}
|
|
17321
|
+
}
|
|
17322
|
+
},
|
|
17323
|
+
"required": true
|
|
17324
|
+
},
|
|
17325
|
+
"parameters": [
|
|
17326
|
+
{
|
|
17327
|
+
"name": "recordingId",
|
|
17328
|
+
"in": "path",
|
|
17329
|
+
"schema": {
|
|
17330
|
+
"type": "integer",
|
|
17331
|
+
"format": "int64"
|
|
17332
|
+
},
|
|
17333
|
+
"required": true
|
|
17334
|
+
}
|
|
17335
|
+
],
|
|
17336
|
+
"responses": {
|
|
17337
|
+
"204": {
|
|
17338
|
+
"description": "MoveRecordingToVault 204 response"
|
|
17339
|
+
},
|
|
17340
|
+
"400": {
|
|
17341
|
+
"description": "BadRequestError 400 response",
|
|
17342
|
+
"content": {
|
|
17343
|
+
"application/json": {
|
|
17344
|
+
"schema": {
|
|
17345
|
+
"$ref": "#/components/schemas/BadRequestErrorResponseContent"
|
|
17346
|
+
}
|
|
17347
|
+
}
|
|
17348
|
+
}
|
|
17349
|
+
},
|
|
17350
|
+
"401": {
|
|
17351
|
+
"description": "UnauthorizedError 401 response",
|
|
17352
|
+
"content": {
|
|
17353
|
+
"application/json": {
|
|
17354
|
+
"schema": {
|
|
17355
|
+
"$ref": "#/components/schemas/UnauthorizedErrorResponseContent"
|
|
17356
|
+
}
|
|
17357
|
+
}
|
|
17358
|
+
}
|
|
17359
|
+
},
|
|
17360
|
+
"403": {
|
|
17361
|
+
"description": "BareForbiddenError 403 response"
|
|
17362
|
+
},
|
|
17363
|
+
"404": {
|
|
17364
|
+
"description": "BareNotFoundError 404 response"
|
|
17365
|
+
},
|
|
17366
|
+
"422": {
|
|
17367
|
+
"description": "ValidationError 422 response",
|
|
17368
|
+
"content": {
|
|
17369
|
+
"application/json": {
|
|
17370
|
+
"schema": {
|
|
17371
|
+
"$ref": "#/components/schemas/ValidationErrorResponseContent"
|
|
17372
|
+
}
|
|
17373
|
+
}
|
|
17374
|
+
}
|
|
17375
|
+
},
|
|
17376
|
+
"429": {
|
|
17377
|
+
"description": "RateLimitError 429 response",
|
|
17378
|
+
"content": {
|
|
17379
|
+
"application/json": {
|
|
17380
|
+
"schema": {
|
|
17381
|
+
"$ref": "#/components/schemas/RateLimitErrorResponseContent"
|
|
17382
|
+
}
|
|
17383
|
+
}
|
|
17384
|
+
}
|
|
17385
|
+
},
|
|
17386
|
+
"500": {
|
|
17387
|
+
"description": "InternalServerError 500 response",
|
|
17388
|
+
"content": {
|
|
17389
|
+
"application/json": {
|
|
17390
|
+
"schema": {
|
|
17391
|
+
"$ref": "#/components/schemas/InternalServerErrorResponseContent"
|
|
17392
|
+
}
|
|
17393
|
+
}
|
|
17394
|
+
}
|
|
17395
|
+
}
|
|
17396
|
+
},
|
|
17397
|
+
"tags": [
|
|
17398
|
+
"Recordings"
|
|
17399
|
+
],
|
|
17400
|
+
"x-basecamp-retry": {
|
|
17401
|
+
"maxAttempts": 2,
|
|
17402
|
+
"baseDelayMs": 1000,
|
|
17403
|
+
"backoff": "exponential",
|
|
17404
|
+
"retryOn": [
|
|
17405
|
+
429,
|
|
17406
|
+
503
|
|
17407
|
+
]
|
|
17408
|
+
}
|
|
17409
|
+
}
|
|
17410
|
+
},
|
|
17311
17411
|
"/recordings/{recordingId}/spotlight.json": {
|
|
17312
17412
|
"delete": {
|
|
17313
17413
|
"description": "Remove a recording from the spotlight area.\nIdempotent: removing an absent spotlight also returns 204.",
|
|
@@ -32045,6 +32145,24 @@
|
|
|
32045
32145
|
"column_id"
|
|
32046
32146
|
]
|
|
32047
32147
|
},
|
|
32148
|
+
"MoveRecordingToVaultRequestContent": {
|
|
32149
|
+
"type": "object",
|
|
32150
|
+
"properties": {
|
|
32151
|
+
"parent_id": {
|
|
32152
|
+
"type": "integer",
|
|
32153
|
+
"description": "The destination vault. The recording's current vault keeps it where it is\nand changes only its position.",
|
|
32154
|
+
"format": "int64"
|
|
32155
|
+
},
|
|
32156
|
+
"position": {
|
|
32157
|
+
"type": "integer",
|
|
32158
|
+
"description": "1-indexed position within the destination vault. Defaults to 1 (first); a\nposition past the end places it last.",
|
|
32159
|
+
"format": "int32"
|
|
32160
|
+
}
|
|
32161
|
+
},
|
|
32162
|
+
"required": [
|
|
32163
|
+
"parent_id"
|
|
32164
|
+
]
|
|
32165
|
+
},
|
|
32048
32166
|
"MyAssignment": {
|
|
32049
32167
|
"type": "object",
|
|
32050
32168
|
"properties": {
|
|
@@ -36552,13 +36670,13 @@
|
|
|
36552
36670
|
"UpdateQuestionNotificationSettingsRequestContent": {
|
|
36553
36671
|
"type": "object",
|
|
36554
36672
|
"properties": {
|
|
36555
|
-
"
|
|
36673
|
+
"responding": {
|
|
36556
36674
|
"type": "boolean",
|
|
36557
|
-
"description": "
|
|
36675
|
+
"description": "Whether the authenticated user is asked this question. Omit to leave it unchanged.\nTurning it on also subscribes the user unless `subscribed: false` is sent with it."
|
|
36558
36676
|
},
|
|
36559
|
-
"
|
|
36677
|
+
"subscribed": {
|
|
36560
36678
|
"type": "boolean",
|
|
36561
|
-
"description": "
|
|
36679
|
+
"description": "Whether the authenticated user is notified when someone answers. Omit to leave it unchanged."
|
|
36562
36680
|
}
|
|
36563
36681
|
}
|
|
36564
36682
|
},
|
|
@@ -137,6 +137,7 @@ export const PATH_TO_OPERATION: Record<string, string> = {
|
|
|
137
137
|
"PUT:/{accountId}/recordings/{recordingId}/client_visibility.json": "SetClientVisibility",
|
|
138
138
|
"GET:/{accountId}/recordings/{recordingId}/comments.json": "ListComments",
|
|
139
139
|
"POST:/{accountId}/recordings/{recordingId}/comments.json": "CreateComment",
|
|
140
|
+
"POST:/{accountId}/recordings/{recordingId}/filing.json": "MoveRecordingToVault",
|
|
140
141
|
"DELETE:/{accountId}/recordings/{recordingId}/spotlight.json": "UnspotlightRecording",
|
|
141
142
|
"POST:/{accountId}/recordings/{recordingId}/spotlight.json": "SpotlightRecording",
|
|
142
143
|
"PUT:/{accountId}/recordings/{recordingId}/status/active.json": "UnarchiveRecording",
|
|
@@ -2660,6 +2660,37 @@ export interface paths {
|
|
|
2660
2660
|
patch?: never;
|
|
2661
2661
|
trace?: never;
|
|
2662
2662
|
};
|
|
2663
|
+
"/recordings/{recordingId}/filing.json": {
|
|
2664
|
+
parameters: {
|
|
2665
|
+
query?: never;
|
|
2666
|
+
header?: never;
|
|
2667
|
+
path?: never;
|
|
2668
|
+
cookie?: never;
|
|
2669
|
+
};
|
|
2670
|
+
get?: never;
|
|
2671
|
+
put?: never;
|
|
2672
|
+
/**
|
|
2673
|
+
* @description Move a document, upload or vault into another vault in its project, or reorder it in its own vault.
|
|
2674
|
+
*
|
|
2675
|
+
* Passing the vault it is already in changes only its position. The
|
|
2676
|
+
* recording moves in place: its id, comments, bookmarks and history stay with
|
|
2677
|
+
* it, and a vault takes everything inside it along. A destination in another
|
|
2678
|
+
* project is 404; moves to another project are not this operation. 404, 403 and
|
|
2679
|
+
* some 422s carry no body.
|
|
2680
|
+
*
|
|
2681
|
+
* 403 when the caller may not move the recording (an account can restrict moves
|
|
2682
|
+
* to admins and creators). 422 when position is not a positive whole number, the
|
|
2683
|
+
* destination is not a vault or is not active, the recording is not active, or a
|
|
2684
|
+
* vault would move into one of its own vaults; only the position and vault-cycle
|
|
2685
|
+
* refusals carry an `error` message.
|
|
2686
|
+
*/
|
|
2687
|
+
post: operations["MoveRecordingToVault"];
|
|
2688
|
+
delete?: never;
|
|
2689
|
+
options?: never;
|
|
2690
|
+
head?: never;
|
|
2691
|
+
patch?: never;
|
|
2692
|
+
trace?: never;
|
|
2693
|
+
};
|
|
2663
2694
|
"/recordings/{recordingId}/spotlight.json": {
|
|
2664
2695
|
parameters: {
|
|
2665
2696
|
query?: never;
|
|
@@ -5840,6 +5871,20 @@ export interface components {
|
|
|
5840
5871
|
*/
|
|
5841
5872
|
position?: number;
|
|
5842
5873
|
};
|
|
5874
|
+
MoveRecordingToVaultRequestContent: {
|
|
5875
|
+
/**
|
|
5876
|
+
* Format: int64
|
|
5877
|
+
* @description The destination vault. The recording's current vault keeps it where it is
|
|
5878
|
+
* and changes only its position.
|
|
5879
|
+
*/
|
|
5880
|
+
parent_id: number;
|
|
5881
|
+
/**
|
|
5882
|
+
* Format: int32
|
|
5883
|
+
* @description 1-indexed position within the destination vault. Defaults to 1 (first); a
|
|
5884
|
+
* position past the end places it last.
|
|
5885
|
+
*/
|
|
5886
|
+
position?: number;
|
|
5887
|
+
};
|
|
5843
5888
|
MyAssignment: {
|
|
5844
5889
|
/** Format: int64 */
|
|
5845
5890
|
id: number;
|
|
@@ -7951,10 +7996,13 @@ export interface components {
|
|
|
7951
7996
|
};
|
|
7952
7997
|
UpdateProjectResponseContent: components["schemas"]["Project"];
|
|
7953
7998
|
UpdateQuestionNotificationSettingsRequestContent: {
|
|
7954
|
-
/**
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7999
|
+
/**
|
|
8000
|
+
* @description Whether the authenticated user is asked this question. Omit to leave it unchanged.
|
|
8001
|
+
* Turning it on also subscribes the user unless `subscribed: false` is sent with it.
|
|
8002
|
+
*/
|
|
8003
|
+
responding?: boolean;
|
|
8004
|
+
/** @description Whether the authenticated user is notified when someone answers. Omit to leave it unchanged. */
|
|
8005
|
+
subscribed?: boolean;
|
|
7958
8006
|
};
|
|
7959
8007
|
UpdateQuestionNotificationSettingsResponseContent: {
|
|
7960
8008
|
responding?: boolean;
|
|
@@ -20001,6 +20049,89 @@ export interface operations {
|
|
|
20001
20049
|
};
|
|
20002
20050
|
};
|
|
20003
20051
|
};
|
|
20052
|
+
MoveRecordingToVault: {
|
|
20053
|
+
parameters: {
|
|
20054
|
+
query?: never;
|
|
20055
|
+
header?: never;
|
|
20056
|
+
path: {
|
|
20057
|
+
recordingId: number;
|
|
20058
|
+
};
|
|
20059
|
+
cookie?: never;
|
|
20060
|
+
};
|
|
20061
|
+
requestBody: {
|
|
20062
|
+
content: {
|
|
20063
|
+
"application/json": components["schemas"]["MoveRecordingToVaultRequestContent"];
|
|
20064
|
+
};
|
|
20065
|
+
};
|
|
20066
|
+
responses: {
|
|
20067
|
+
/** @description MoveRecordingToVault 204 response */
|
|
20068
|
+
204: {
|
|
20069
|
+
headers: {
|
|
20070
|
+
[name: string]: unknown;
|
|
20071
|
+
};
|
|
20072
|
+
content?: never;
|
|
20073
|
+
};
|
|
20074
|
+
/** @description BadRequestError 400 response */
|
|
20075
|
+
400: {
|
|
20076
|
+
headers: {
|
|
20077
|
+
[name: string]: unknown;
|
|
20078
|
+
};
|
|
20079
|
+
content: {
|
|
20080
|
+
"application/json": components["schemas"]["BadRequestErrorResponseContent"];
|
|
20081
|
+
};
|
|
20082
|
+
};
|
|
20083
|
+
/** @description UnauthorizedError 401 response */
|
|
20084
|
+
401: {
|
|
20085
|
+
headers: {
|
|
20086
|
+
[name: string]: unknown;
|
|
20087
|
+
};
|
|
20088
|
+
content: {
|
|
20089
|
+
"application/json": components["schemas"]["UnauthorizedErrorResponseContent"];
|
|
20090
|
+
};
|
|
20091
|
+
};
|
|
20092
|
+
/** @description BareForbiddenError 403 response */
|
|
20093
|
+
403: {
|
|
20094
|
+
headers: {
|
|
20095
|
+
[name: string]: unknown;
|
|
20096
|
+
};
|
|
20097
|
+
content?: never;
|
|
20098
|
+
};
|
|
20099
|
+
/** @description BareNotFoundError 404 response */
|
|
20100
|
+
404: {
|
|
20101
|
+
headers: {
|
|
20102
|
+
[name: string]: unknown;
|
|
20103
|
+
};
|
|
20104
|
+
content?: never;
|
|
20105
|
+
};
|
|
20106
|
+
/** @description ValidationError 422 response */
|
|
20107
|
+
422: {
|
|
20108
|
+
headers: {
|
|
20109
|
+
[name: string]: unknown;
|
|
20110
|
+
};
|
|
20111
|
+
content: {
|
|
20112
|
+
"application/json": components["schemas"]["ValidationErrorResponseContent"];
|
|
20113
|
+
};
|
|
20114
|
+
};
|
|
20115
|
+
/** @description RateLimitError 429 response */
|
|
20116
|
+
429: {
|
|
20117
|
+
headers: {
|
|
20118
|
+
[name: string]: unknown;
|
|
20119
|
+
};
|
|
20120
|
+
content: {
|
|
20121
|
+
"application/json": components["schemas"]["RateLimitErrorResponseContent"];
|
|
20122
|
+
};
|
|
20123
|
+
};
|
|
20124
|
+
/** @description InternalServerError 500 response */
|
|
20125
|
+
500: {
|
|
20126
|
+
headers: {
|
|
20127
|
+
[name: string]: unknown;
|
|
20128
|
+
};
|
|
20129
|
+
content: {
|
|
20130
|
+
"application/json": components["schemas"]["InternalServerErrorResponseContent"];
|
|
20131
|
+
};
|
|
20132
|
+
};
|
|
20133
|
+
};
|
|
20134
|
+
};
|
|
20004
20135
|
SpotlightRecording: {
|
|
20005
20136
|
parameters: {
|
|
20006
20137
|
query?: never;
|
|
@@ -109,10 +109,11 @@ export interface ByPersonCheckinOptions extends PaginationOptions {
|
|
|
109
109
|
* Request parameters for updateNotificationSettings.
|
|
110
110
|
*/
|
|
111
111
|
export interface UpdateNotificationSettingsCheckinRequest {
|
|
112
|
-
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
/** Whether the authenticated user is asked this question. Omit to leave it unchanged.
|
|
113
|
+
Turning it on also subscribes the user unless `subscribed: false` is sent with it. */
|
|
114
|
+
responding?: boolean;
|
|
115
|
+
/** Whether the authenticated user is notified when someone answers. Omit to leave it unchanged. */
|
|
116
|
+
subscribed?: boolean;
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
|
|
@@ -559,8 +560,8 @@ export class CheckinsService extends BaseService {
|
|
|
559
560
|
path: { questionId },
|
|
560
561
|
},
|
|
561
562
|
body: {
|
|
562
|
-
|
|
563
|
-
|
|
563
|
+
responding: req.responding,
|
|
564
|
+
subscribed: req.subscribed,
|
|
564
565
|
},
|
|
565
566
|
})
|
|
566
567
|
);
|
|
@@ -32,6 +32,18 @@ export interface ListRecordingOptions extends PaginationOptions {
|
|
|
32
32
|
page?: number;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
/**
|
|
36
|
+
* Request parameters for moveToVault.
|
|
37
|
+
*/
|
|
38
|
+
export interface MoveToVaultRecordingRequest {
|
|
39
|
+
/** The destination vault. The recording's current vault keeps it where it is
|
|
40
|
+
and changes only its position. */
|
|
41
|
+
parentId: number;
|
|
42
|
+
/** 1-indexed position within the destination vault. Defaults to 1 (first); a
|
|
43
|
+
position past the end places it last. */
|
|
44
|
+
position?: number;
|
|
45
|
+
}
|
|
46
|
+
|
|
35
47
|
|
|
36
48
|
// =============================================================================
|
|
37
49
|
// Service
|
|
@@ -74,6 +86,40 @@ export class RecordingsService extends BaseService {
|
|
|
74
86
|
);
|
|
75
87
|
}
|
|
76
88
|
|
|
89
|
+
/**
|
|
90
|
+
* Move a document, upload or vault into another vault in its project, or reorder it in its own vault.
|
|
91
|
+
* @param recordingId - The recording ID
|
|
92
|
+
* @param req - Recording request parameters
|
|
93
|
+
* @returns void
|
|
94
|
+
* @throws {BasecampError} If the request fails
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* ```ts
|
|
98
|
+
* await client.recordings.moveToVault(123, { parentId: 1 });
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
async moveToVault(recordingId: number, req: MoveToVaultRecordingRequest): Promise<void> {
|
|
102
|
+
await this.request(
|
|
103
|
+
{
|
|
104
|
+
service: "Recordings",
|
|
105
|
+
operation: "MoveRecordingToVault",
|
|
106
|
+
resourceType: "recording",
|
|
107
|
+
isMutation: true,
|
|
108
|
+
resourceId: recordingId,
|
|
109
|
+
},
|
|
110
|
+
() =>
|
|
111
|
+
this.client.POST("/recordings/{recordingId}/filing.json", {
|
|
112
|
+
params: {
|
|
113
|
+
path: { recordingId },
|
|
114
|
+
},
|
|
115
|
+
body: {
|
|
116
|
+
parent_id: req.parentId,
|
|
117
|
+
position: req.position,
|
|
118
|
+
},
|
|
119
|
+
})
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
|
|
77
123
|
/**
|
|
78
124
|
* Put a recording's card in the spotlight area on its project or template home page.
|
|
79
125
|
* @param recordingId - The recording ID
|