@37signals/basecamp 0.2.1 → 0.2.3
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 +39 -14
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +65 -45
- package/dist/client.js.map +1 -1
- package/dist/generated/metadata.json +28 -1
- package/dist/generated/openapi-stripped.json +279 -2
- package/dist/generated/path-mapping.d.ts.map +1 -1
- package/dist/generated/path-mapping.js +2 -0
- package/dist/generated/path-mapping.js.map +1 -1
- package/dist/generated/path-mapping.ts +2 -0
- package/dist/generated/schema.d.ts +178 -1
- package/dist/generated/services/campfires.d.ts +32 -0
- package/dist/generated/services/campfires.d.ts.map +1 -1
- package/dist/generated/services/campfires.js +58 -0
- package/dist/generated/services/campfires.js.map +1 -1
- package/dist/generated/services/campfires.ts +75 -0
- package/dist/generated/services/documents.d.ts +2 -0
- package/dist/generated/services/documents.d.ts.map +1 -1
- package/dist/generated/services/documents.js +1 -0
- package/dist/generated/services/documents.js.map +1 -1
- package/dist/generated/services/documents.ts +3 -0
- 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 -0
- package/dist/generated/services/messages.js.map +1 -1
- package/dist/generated/services/messages.ts +3 -0
- package/dist/generated/services/schedules.d.ts +2 -0
- package/dist/generated/services/schedules.d.ts.map +1 -1
- package/dist/generated/services/schedules.js +1 -0
- package/dist/generated/services/schedules.js.map +1 -1
- package/dist/generated/services/schedules.ts +3 -0
- package/dist/generated/services/uploads.d.ts +2 -0
- package/dist/generated/services/uploads.d.ts.map +1 -1
- package/dist/generated/services/uploads.js +1 -0
- package/dist/generated/services/uploads.js.map +1 -1
- package/dist/generated/services/uploads.ts +3 -0
- package/dist/oauth/discovery.d.ts.map +1 -1
- package/dist/oauth/discovery.js +1 -0
- package/dist/oauth/discovery.js.map +1 -1
- package/dist/oauth/interactive-login.d.ts.map +1 -1
- package/dist/oauth/interactive-login.js +3 -2
- package/dist/oauth/interactive-login.js.map +1 -1
- package/dist/oauth/types.d.ts +2 -0
- package/dist/oauth/types.d.ts.map +1 -1
- package/dist/services/base.d.ts +3 -1
- package/dist/services/base.d.ts.map +1 -1
- package/dist/services/base.js +8 -5
- package/dist/services/base.js.map +1 -1
- package/package.json +1 -1
- package/src/generated/metadata.json +28 -1
- package/src/generated/openapi-stripped.json +279 -2
- package/src/generated/path-mapping.ts +2 -0
- package/src/generated/schema.d.ts +178 -1
- package/src/generated/services/campfires.ts +75 -0
- package/src/generated/services/documents.ts +3 -0
- package/src/generated/services/messages.ts +3 -0
- package/src/generated/services/schedules.ts +3 -0
- package/src/generated/services/uploads.ts +3 -0
package/dist/services/base.js
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
import { BasecampError, errorFromResponse } from "../errors.js";
|
|
25
25
|
import { ListResult, parseTotalCount } from "../pagination.js";
|
|
26
26
|
import { parseNextLink, resolveURL, isSameOrigin } from "../pagination-utils.js";
|
|
27
|
-
/**
|
|
28
|
-
const
|
|
27
|
+
/** Default maximum pages to follow as a safety cap against infinite loops. */
|
|
28
|
+
const DEFAULT_MAX_PAGES = 10_000;
|
|
29
29
|
/**
|
|
30
30
|
* Abstract base class for all Basecamp API services.
|
|
31
31
|
*
|
|
@@ -50,10 +50,13 @@ export class BaseService {
|
|
|
50
50
|
* succeed via the authenticated raw client, but page 2+ may 401.
|
|
51
51
|
*/
|
|
52
52
|
fetchPage;
|
|
53
|
-
|
|
53
|
+
/** Maximum pages to follow before stopping (safety cap). */
|
|
54
|
+
maxPages;
|
|
55
|
+
constructor(client, hooks, fetchPage, maxPages) {
|
|
54
56
|
this.client = client;
|
|
55
57
|
this.hooks = hooks;
|
|
56
58
|
this.fetchPage = fetchPage ?? ((url) => fetch(url, { headers: { Accept: "application/json" } }));
|
|
59
|
+
this.maxPages = maxPages ?? DEFAULT_MAX_PAGES;
|
|
57
60
|
}
|
|
58
61
|
/**
|
|
59
62
|
* Executes an API request with error handling and hooks integration.
|
|
@@ -184,7 +187,7 @@ export class BaseService {
|
|
|
184
187
|
const allItems = [...firstPageItems];
|
|
185
188
|
let response = initialResponse;
|
|
186
189
|
const initialUrl = initialResponse.url;
|
|
187
|
-
for (let page = 1; page <
|
|
190
|
+
for (let page = 1; page < this.maxPages; page++) {
|
|
188
191
|
const rawNextUrl = parseNextLink(response.headers.get("Link"));
|
|
189
192
|
if (!rawNextUrl)
|
|
190
193
|
break;
|
|
@@ -204,7 +207,7 @@ export class BaseService {
|
|
|
204
207
|
return { items: allItems.slice(0, maxItems), truncated: true };
|
|
205
208
|
}
|
|
206
209
|
}
|
|
207
|
-
// If we exited the loop because page >=
|
|
210
|
+
// If we exited the loop because page >= maxPages and there's still a next link,
|
|
208
211
|
// the results are truncated by the safety cap
|
|
209
212
|
const hasMore = parseNextLink(response.headers.get("Link")) !== null;
|
|
210
213
|
return { items: allItems, truncated: hasMore };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,eAAe,EAA0B,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAkBjF,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/services/base.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://basecamp.com/schemas/sdk-metadata.json",
|
|
3
3
|
"version": "1.0.0",
|
|
4
|
-
"generated": "2026-
|
|
4
|
+
"generated": "2026-03-09T20:39:56.784Z",
|
|
5
5
|
"operations": {
|
|
6
6
|
"CreateAttachment": {
|
|
7
7
|
"retry": {
|
|
@@ -515,6 +515,33 @@
|
|
|
515
515
|
"natural": true
|
|
516
516
|
}
|
|
517
517
|
},
|
|
518
|
+
"ListCampfireUploads": {
|
|
519
|
+
"retry": {
|
|
520
|
+
"maxAttempts": 3,
|
|
521
|
+
"baseDelayMs": 1000,
|
|
522
|
+
"backoff": "exponential",
|
|
523
|
+
"retryOn": [
|
|
524
|
+
429,
|
|
525
|
+
503
|
|
526
|
+
]
|
|
527
|
+
},
|
|
528
|
+
"pagination": {
|
|
529
|
+
"style": "link",
|
|
530
|
+
"totalCountHeader": "X-Total-Count",
|
|
531
|
+
"maxPageSize": 50
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
"CreateCampfireUpload": {
|
|
535
|
+
"retry": {
|
|
536
|
+
"maxAttempts": 3,
|
|
537
|
+
"baseDelayMs": 2000,
|
|
538
|
+
"backoff": "exponential",
|
|
539
|
+
"retryOn": [
|
|
540
|
+
429,
|
|
541
|
+
503
|
|
542
|
+
]
|
|
543
|
+
}
|
|
544
|
+
},
|
|
518
545
|
"ListPingablePeople": {
|
|
519
546
|
"retry": {
|
|
520
547
|
"maxAttempts": 3,
|
|
@@ -3,7 +3,15 @@
|
|
|
3
3
|
"info": {
|
|
4
4
|
"title": "Basecamp",
|
|
5
5
|
"version": "2026-01-26",
|
|
6
|
-
"description": "Basecamp API"
|
|
6
|
+
"description": "Basecamp API",
|
|
7
|
+
"contact": {
|
|
8
|
+
"name": "Basecamp",
|
|
9
|
+
"url": "https://github.com/basecamp/basecamp-sdk"
|
|
10
|
+
},
|
|
11
|
+
"license": {
|
|
12
|
+
"name": "MIT",
|
|
13
|
+
"url": "https://github.com/basecamp/basecamp-sdk/blob/main/LICENSE"
|
|
14
|
+
}
|
|
7
15
|
},
|
|
8
16
|
"paths": {
|
|
9
17
|
"/attachments.json": {
|
|
@@ -3619,6 +3627,201 @@
|
|
|
3619
3627
|
}
|
|
3620
3628
|
}
|
|
3621
3629
|
},
|
|
3630
|
+
"/chats/{campfireId}/uploads.json": {
|
|
3631
|
+
"get": {
|
|
3632
|
+
"description": "List uploaded files in a campfire\n\n**Pagination**: Uses Link header (RFC5988). Follow the `next` rel URL\nto fetch additional pages. X-Total-Count header provides total count.",
|
|
3633
|
+
"operationId": "ListCampfireUploads",
|
|
3634
|
+
"parameters": [
|
|
3635
|
+
{
|
|
3636
|
+
"name": "campfireId",
|
|
3637
|
+
"in": "path",
|
|
3638
|
+
"schema": {
|
|
3639
|
+
"type": "integer",
|
|
3640
|
+
"format": "int64"
|
|
3641
|
+
},
|
|
3642
|
+
"required": true
|
|
3643
|
+
}
|
|
3644
|
+
],
|
|
3645
|
+
"responses": {
|
|
3646
|
+
"200": {
|
|
3647
|
+
"description": "ListCampfireUploads 200 response",
|
|
3648
|
+
"content": {
|
|
3649
|
+
"application/json": {
|
|
3650
|
+
"schema": {
|
|
3651
|
+
"$ref": "#/components/schemas/ListCampfireUploadsResponseContent"
|
|
3652
|
+
}
|
|
3653
|
+
}
|
|
3654
|
+
}
|
|
3655
|
+
},
|
|
3656
|
+
"401": {
|
|
3657
|
+
"description": "UnauthorizedError 401 response",
|
|
3658
|
+
"content": {
|
|
3659
|
+
"application/json": {
|
|
3660
|
+
"schema": {
|
|
3661
|
+
"$ref": "#/components/schemas/UnauthorizedErrorResponseContent"
|
|
3662
|
+
}
|
|
3663
|
+
}
|
|
3664
|
+
}
|
|
3665
|
+
},
|
|
3666
|
+
"403": {
|
|
3667
|
+
"description": "ForbiddenError 403 response",
|
|
3668
|
+
"content": {
|
|
3669
|
+
"application/json": {
|
|
3670
|
+
"schema": {
|
|
3671
|
+
"$ref": "#/components/schemas/ForbiddenErrorResponseContent"
|
|
3672
|
+
}
|
|
3673
|
+
}
|
|
3674
|
+
}
|
|
3675
|
+
},
|
|
3676
|
+
"429": {
|
|
3677
|
+
"description": "RateLimitError 429 response",
|
|
3678
|
+
"content": {
|
|
3679
|
+
"application/json": {
|
|
3680
|
+
"schema": {
|
|
3681
|
+
"$ref": "#/components/schemas/RateLimitErrorResponseContent"
|
|
3682
|
+
}
|
|
3683
|
+
}
|
|
3684
|
+
}
|
|
3685
|
+
},
|
|
3686
|
+
"500": {
|
|
3687
|
+
"description": "InternalServerError 500 response",
|
|
3688
|
+
"content": {
|
|
3689
|
+
"application/json": {
|
|
3690
|
+
"schema": {
|
|
3691
|
+
"$ref": "#/components/schemas/InternalServerErrorResponseContent"
|
|
3692
|
+
}
|
|
3693
|
+
}
|
|
3694
|
+
}
|
|
3695
|
+
}
|
|
3696
|
+
},
|
|
3697
|
+
"tags": [
|
|
3698
|
+
"Campfire"
|
|
3699
|
+
],
|
|
3700
|
+
"x-basecamp-pagination": {
|
|
3701
|
+
"style": "link",
|
|
3702
|
+
"totalCountHeader": "X-Total-Count",
|
|
3703
|
+
"maxPageSize": 50
|
|
3704
|
+
},
|
|
3705
|
+
"x-basecamp-retry": {
|
|
3706
|
+
"maxAttempts": 3,
|
|
3707
|
+
"baseDelayMs": 1000,
|
|
3708
|
+
"backoff": "exponential",
|
|
3709
|
+
"retryOn": [
|
|
3710
|
+
429,
|
|
3711
|
+
503
|
|
3712
|
+
]
|
|
3713
|
+
}
|
|
3714
|
+
},
|
|
3715
|
+
"post": {
|
|
3716
|
+
"description": "Upload a file to a campfire",
|
|
3717
|
+
"operationId": "CreateCampfireUpload",
|
|
3718
|
+
"requestBody": {
|
|
3719
|
+
"content": {
|
|
3720
|
+
"application/octet-stream": {
|
|
3721
|
+
"schema": {
|
|
3722
|
+
"$ref": "#/components/schemas/CreateCampfireUploadInputPayload"
|
|
3723
|
+
}
|
|
3724
|
+
}
|
|
3725
|
+
},
|
|
3726
|
+
"required": true
|
|
3727
|
+
},
|
|
3728
|
+
"parameters": [
|
|
3729
|
+
{
|
|
3730
|
+
"name": "campfireId",
|
|
3731
|
+
"in": "path",
|
|
3732
|
+
"schema": {
|
|
3733
|
+
"type": "integer",
|
|
3734
|
+
"format": "int64"
|
|
3735
|
+
},
|
|
3736
|
+
"required": true
|
|
3737
|
+
},
|
|
3738
|
+
{
|
|
3739
|
+
"name": "name",
|
|
3740
|
+
"in": "query",
|
|
3741
|
+
"description": "Filename for the uploaded file (e.g. \"report.pdf\").",
|
|
3742
|
+
"schema": {
|
|
3743
|
+
"type": "string",
|
|
3744
|
+
"description": "Filename for the uploaded file (e.g. \"report.pdf\")."
|
|
3745
|
+
},
|
|
3746
|
+
"required": true
|
|
3747
|
+
}
|
|
3748
|
+
],
|
|
3749
|
+
"responses": {
|
|
3750
|
+
"201": {
|
|
3751
|
+
"description": "CreateCampfireUpload 201 response",
|
|
3752
|
+
"content": {
|
|
3753
|
+
"application/json": {
|
|
3754
|
+
"schema": {
|
|
3755
|
+
"$ref": "#/components/schemas/CreateCampfireUploadResponseContent"
|
|
3756
|
+
}
|
|
3757
|
+
}
|
|
3758
|
+
}
|
|
3759
|
+
},
|
|
3760
|
+
"401": {
|
|
3761
|
+
"description": "UnauthorizedError 401 response",
|
|
3762
|
+
"content": {
|
|
3763
|
+
"application/json": {
|
|
3764
|
+
"schema": {
|
|
3765
|
+
"$ref": "#/components/schemas/UnauthorizedErrorResponseContent"
|
|
3766
|
+
}
|
|
3767
|
+
}
|
|
3768
|
+
}
|
|
3769
|
+
},
|
|
3770
|
+
"403": {
|
|
3771
|
+
"description": "ForbiddenError 403 response",
|
|
3772
|
+
"content": {
|
|
3773
|
+
"application/json": {
|
|
3774
|
+
"schema": {
|
|
3775
|
+
"$ref": "#/components/schemas/ForbiddenErrorResponseContent"
|
|
3776
|
+
}
|
|
3777
|
+
}
|
|
3778
|
+
}
|
|
3779
|
+
},
|
|
3780
|
+
"422": {
|
|
3781
|
+
"description": "ValidationError 422 response",
|
|
3782
|
+
"content": {
|
|
3783
|
+
"application/json": {
|
|
3784
|
+
"schema": {
|
|
3785
|
+
"$ref": "#/components/schemas/ValidationErrorResponseContent"
|
|
3786
|
+
}
|
|
3787
|
+
}
|
|
3788
|
+
}
|
|
3789
|
+
},
|
|
3790
|
+
"429": {
|
|
3791
|
+
"description": "RateLimitError 429 response",
|
|
3792
|
+
"content": {
|
|
3793
|
+
"application/json": {
|
|
3794
|
+
"schema": {
|
|
3795
|
+
"$ref": "#/components/schemas/RateLimitErrorResponseContent"
|
|
3796
|
+
}
|
|
3797
|
+
}
|
|
3798
|
+
}
|
|
3799
|
+
},
|
|
3800
|
+
"500": {
|
|
3801
|
+
"description": "InternalServerError 500 response",
|
|
3802
|
+
"content": {
|
|
3803
|
+
"application/json": {
|
|
3804
|
+
"schema": {
|
|
3805
|
+
"$ref": "#/components/schemas/InternalServerErrorResponseContent"
|
|
3806
|
+
}
|
|
3807
|
+
}
|
|
3808
|
+
}
|
|
3809
|
+
}
|
|
3810
|
+
},
|
|
3811
|
+
"tags": [
|
|
3812
|
+
"Campfire"
|
|
3813
|
+
],
|
|
3814
|
+
"x-basecamp-retry": {
|
|
3815
|
+
"maxAttempts": 3,
|
|
3816
|
+
"baseDelayMs": 2000,
|
|
3817
|
+
"backoff": "exponential",
|
|
3818
|
+
"retryOn": [
|
|
3819
|
+
429,
|
|
3820
|
+
503
|
|
3821
|
+
]
|
|
3822
|
+
}
|
|
3823
|
+
}
|
|
3824
|
+
},
|
|
3622
3825
|
"/circles/people.json": {
|
|
3623
3826
|
"get": {
|
|
3624
3827
|
"description": "List all account users who can be pinged\n\n**Pagination**: Uses Link header (RFC5988). Follow the `next` rel URL\nto fetch additional pages. X-Total-Count header provides total count.",
|
|
@@ -16017,6 +16220,9 @@
|
|
|
16017
16220
|
},
|
|
16018
16221
|
"lines_url": {
|
|
16019
16222
|
"type": "string"
|
|
16223
|
+
},
|
|
16224
|
+
"files_url": {
|
|
16225
|
+
"type": "string"
|
|
16020
16226
|
}
|
|
16021
16227
|
},
|
|
16022
16228
|
"required": [
|
|
@@ -16074,6 +16280,12 @@
|
|
|
16074
16280
|
"content": {
|
|
16075
16281
|
"type": "string"
|
|
16076
16282
|
},
|
|
16283
|
+
"attachments": {
|
|
16284
|
+
"type": "array",
|
|
16285
|
+
"items": {
|
|
16286
|
+
"$ref": "#/components/schemas/CampfireLineAttachment"
|
|
16287
|
+
}
|
|
16288
|
+
},
|
|
16077
16289
|
"parent": {
|
|
16078
16290
|
"$ref": "#/components/schemas/RecordingParent"
|
|
16079
16291
|
},
|
|
@@ -16094,7 +16306,6 @@
|
|
|
16094
16306
|
"required": [
|
|
16095
16307
|
"app_url",
|
|
16096
16308
|
"bucket",
|
|
16097
|
-
"content",
|
|
16098
16309
|
"created_at",
|
|
16099
16310
|
"creator",
|
|
16100
16311
|
"id",
|
|
@@ -16108,6 +16319,30 @@
|
|
|
16108
16319
|
"visible_to_clients"
|
|
16109
16320
|
]
|
|
16110
16321
|
},
|
|
16322
|
+
"CampfireLineAttachment": {
|
|
16323
|
+
"type": "object",
|
|
16324
|
+
"properties": {
|
|
16325
|
+
"title": {
|
|
16326
|
+
"type": "string"
|
|
16327
|
+
},
|
|
16328
|
+
"url": {
|
|
16329
|
+
"type": "string"
|
|
16330
|
+
},
|
|
16331
|
+
"filename": {
|
|
16332
|
+
"type": "string"
|
|
16333
|
+
},
|
|
16334
|
+
"content_type": {
|
|
16335
|
+
"type": "string"
|
|
16336
|
+
},
|
|
16337
|
+
"byte_size": {
|
|
16338
|
+
"type": "integer",
|
|
16339
|
+
"format": "int64"
|
|
16340
|
+
},
|
|
16341
|
+
"download_url": {
|
|
16342
|
+
"type": "string"
|
|
16343
|
+
}
|
|
16344
|
+
}
|
|
16345
|
+
},
|
|
16111
16346
|
"Card": {
|
|
16112
16347
|
"type": "object",
|
|
16113
16348
|
"properties": {
|
|
@@ -16961,6 +17196,14 @@
|
|
|
16961
17196
|
"CreateCampfireLineResponseContent": {
|
|
16962
17197
|
"$ref": "#/components/schemas/CampfireLine"
|
|
16963
17198
|
},
|
|
17199
|
+
"CreateCampfireUploadInputPayload": {
|
|
17200
|
+
"type": "string",
|
|
17201
|
+
"description": "Raw binary content of the file. Set the Content-Type header to match\nthe file's media type (e.g. \"image/png\", \"application/pdf\").",
|
|
17202
|
+
"contentEncoding": "byte"
|
|
17203
|
+
},
|
|
17204
|
+
"CreateCampfireUploadResponseContent": {
|
|
17205
|
+
"$ref": "#/components/schemas/CampfireLine"
|
|
17206
|
+
},
|
|
16964
17207
|
"CreateCardColumnRequestContent": {
|
|
16965
17208
|
"type": "object",
|
|
16966
17209
|
"properties": {
|
|
@@ -17068,6 +17311,13 @@
|
|
|
17068
17311
|
"status": {
|
|
17069
17312
|
"type": "string",
|
|
17070
17313
|
"description": "active|drafted"
|
|
17314
|
+
},
|
|
17315
|
+
"subscriptions": {
|
|
17316
|
+
"type": "array",
|
|
17317
|
+
"items": {
|
|
17318
|
+
"type": "integer",
|
|
17319
|
+
"format": "int64"
|
|
17320
|
+
}
|
|
17071
17321
|
}
|
|
17072
17322
|
},
|
|
17073
17323
|
"required": [
|
|
@@ -17136,6 +17386,13 @@
|
|
|
17136
17386
|
"category_id": {
|
|
17137
17387
|
"type": "integer",
|
|
17138
17388
|
"format": "int64"
|
|
17389
|
+
},
|
|
17390
|
+
"subscriptions": {
|
|
17391
|
+
"type": "array",
|
|
17392
|
+
"items": {
|
|
17393
|
+
"type": "integer",
|
|
17394
|
+
"format": "int64"
|
|
17395
|
+
}
|
|
17139
17396
|
}
|
|
17140
17397
|
},
|
|
17141
17398
|
"required": [
|
|
@@ -17281,6 +17538,13 @@
|
|
|
17281
17538
|
},
|
|
17282
17539
|
"notify": {
|
|
17283
17540
|
"type": "boolean"
|
|
17541
|
+
},
|
|
17542
|
+
"subscriptions": {
|
|
17543
|
+
"type": "array",
|
|
17544
|
+
"items": {
|
|
17545
|
+
"type": "integer",
|
|
17546
|
+
"format": "int64"
|
|
17547
|
+
}
|
|
17284
17548
|
}
|
|
17285
17549
|
},
|
|
17286
17550
|
"required": [
|
|
@@ -17416,6 +17680,13 @@
|
|
|
17416
17680
|
},
|
|
17417
17681
|
"base_name": {
|
|
17418
17682
|
"type": "string"
|
|
17683
|
+
},
|
|
17684
|
+
"subscriptions": {
|
|
17685
|
+
"type": "array",
|
|
17686
|
+
"items": {
|
|
17687
|
+
"type": "integer",
|
|
17688
|
+
"format": "int64"
|
|
17689
|
+
}
|
|
17419
17690
|
}
|
|
17420
17691
|
},
|
|
17421
17692
|
"required": [
|
|
@@ -18175,6 +18446,12 @@
|
|
|
18175
18446
|
"$ref": "#/components/schemas/CampfireLine"
|
|
18176
18447
|
}
|
|
18177
18448
|
},
|
|
18449
|
+
"ListCampfireUploadsResponseContent": {
|
|
18450
|
+
"type": "array",
|
|
18451
|
+
"items": {
|
|
18452
|
+
"$ref": "#/components/schemas/CampfireLine"
|
|
18453
|
+
}
|
|
18454
|
+
},
|
|
18178
18455
|
"ListCampfiresResponseContent": {
|
|
18179
18456
|
"type": "array",
|
|
18180
18457
|
"items": {
|
|
@@ -49,6 +49,8 @@ export const PATH_TO_OPERATION: Record<string, string> = {
|
|
|
49
49
|
"POST:/{accountId}/chats/{campfireId}/lines.json": "CreateCampfireLine",
|
|
50
50
|
"DELETE:/{accountId}/chats/{campfireId}/lines/{lineId}": "DeleteCampfireLine",
|
|
51
51
|
"GET:/{accountId}/chats/{campfireId}/lines/{lineId}": "GetCampfireLine",
|
|
52
|
+
"GET:/{accountId}/chats/{campfireId}/uploads.json": "ListCampfireUploads",
|
|
53
|
+
"POST:/{accountId}/chats/{campfireId}/uploads.json": "CreateCampfireUpload",
|
|
52
54
|
"GET:/{accountId}/client/approvals.json": "ListClientApprovals",
|
|
53
55
|
"GET:/{accountId}/client/approvals/{approvalId}": "GetClientApproval",
|
|
54
56
|
"GET:/{accountId}/client/correspondences.json": "ListClientCorrespondences",
|