@doist/comms-sdk 3.5.0 → 3.6.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/esm/clients/add-comment-helper.js +1 -0
- package/dist/esm/clients/attachments-client.js +2 -0
- package/dist/esm/clients/base-client.js +1 -0
- package/dist/esm/clients/channels-client.js +2 -0
- package/dist/esm/clients/comments-client.js +6 -0
- package/dist/esm/clients/conversation-messages-client.js +2 -0
- package/dist/esm/clients/conversations-client.js +2 -0
- package/dist/esm/clients/groups-client.js +2 -0
- package/dist/esm/clients/hooks-client.js +2 -0
- package/dist/esm/clients/inbox-client.js +6 -0
- package/dist/esm/clients/reactions-client.js +3 -0
- package/dist/esm/clients/search-client.js +3 -0
- package/dist/esm/clients/threads-client.js +3 -0
- package/dist/esm/clients/users-client.js +10 -0
- package/dist/esm/clients/workspace-users-client.js +10 -0
- package/dist/esm/clients/workspaces-client.js +7 -0
- package/dist/esm/comms-api.js +1 -0
- package/dist/esm/transport/http-client.js +5 -4
- package/dist/esm/utils/multipart-upload.js +2 -1
- package/dist/types/clients/add-comment-helper.d.ts +1 -0
- package/dist/types/clients/base-client.d.ts +3 -0
- package/dist/types/comms-api.d.ts +2 -0
- package/dist/types/transport/http-client.d.ts +1 -0
- package/dist/types/utils/multipart-upload.d.ts +2 -0
- package/package.json +1 -1
|
@@ -35,6 +35,7 @@ export function addCommentRequest(context, params, options) {
|
|
|
35
35
|
relativePath: `${ENDPOINT_COMMENTS}/add`,
|
|
36
36
|
apiToken: context.apiToken,
|
|
37
37
|
payload,
|
|
38
|
+
headers: context.headers,
|
|
38
39
|
customFetch: context.customFetch,
|
|
39
40
|
}).then((response) => context.schema.parse(response.data));
|
|
40
41
|
}
|
|
@@ -47,6 +47,7 @@ export class AttachmentsClient extends BaseClient {
|
|
|
47
47
|
baseUri: this.getBaseUri(),
|
|
48
48
|
relativePath: `${ENDPOINT_FILES}/image/${checkedThreadId}/${id}`,
|
|
49
49
|
apiToken: this.apiToken,
|
|
50
|
+
headers: this.headers,
|
|
50
51
|
customFetch: this.customFetch,
|
|
51
52
|
});
|
|
52
53
|
return ImageReadResultSchema.parse(response.data);
|
|
@@ -88,6 +89,7 @@ export class AttachmentsClient extends BaseClient {
|
|
|
88
89
|
additionalFields: {
|
|
89
90
|
attachment_id: resolveAttachmentId(args.attachmentId),
|
|
90
91
|
},
|
|
92
|
+
headers: this.headers,
|
|
91
93
|
customFetch: this.customFetch,
|
|
92
94
|
});
|
|
93
95
|
return AttachmentSchema.parse(data);
|
|
@@ -10,6 +10,7 @@ export class BaseClient {
|
|
|
10
10
|
this.baseUrl = config.baseUrl;
|
|
11
11
|
this.defaultVersion = config.version || DEFAULT_API_VERSION;
|
|
12
12
|
this.customFetch = config.customFetch;
|
|
13
|
+
this.headers = config.headers;
|
|
13
14
|
}
|
|
14
15
|
/**
|
|
15
16
|
* Returns the base URI for an API request, with a guaranteed trailing
|
|
@@ -43,6 +43,7 @@ export class ChannelsClient extends BaseClient {
|
|
|
43
43
|
relativePath: `${ENDPOINT_CHANNELS}/get`,
|
|
44
44
|
apiToken: this.apiToken,
|
|
45
45
|
payload: args,
|
|
46
|
+
headers: this.headers,
|
|
46
47
|
customFetch: this.customFetch,
|
|
47
48
|
}).then((response) => this.channelListSchema.parse(response.data));
|
|
48
49
|
}
|
|
@@ -201,6 +202,7 @@ export class ChannelsClient extends BaseClient {
|
|
|
201
202
|
relativePath: `${ENDPOINT_CHANNELS}/${suffix}`,
|
|
202
203
|
apiToken: this.apiToken,
|
|
203
204
|
payload: params,
|
|
205
|
+
headers: this.headers,
|
|
204
206
|
customFetch: this.customFetch,
|
|
205
207
|
}).then((response) => schema.parse(response.data));
|
|
206
208
|
}
|
|
@@ -56,6 +56,7 @@ export class CommentsClient extends BaseClient {
|
|
|
56
56
|
relativePath: `${ENDPOINT_COMMENTS}/get`,
|
|
57
57
|
apiToken: this.apiToken,
|
|
58
58
|
payload: params,
|
|
59
|
+
headers: this.headers,
|
|
59
60
|
customFetch: this.customFetch,
|
|
60
61
|
}).then((response) => this.commentListSchema.parse(response.data));
|
|
61
62
|
}
|
|
@@ -73,6 +74,7 @@ export class CommentsClient extends BaseClient {
|
|
|
73
74
|
relativePath: `${ENDPOINT_COMMENTS}/getone`,
|
|
74
75
|
apiToken: this.apiToken,
|
|
75
76
|
payload: { id },
|
|
77
|
+
headers: this.headers,
|
|
76
78
|
customFetch: this.customFetch,
|
|
77
79
|
}).then((response) => this.commentSchema.parse(response.data));
|
|
78
80
|
}
|
|
@@ -107,6 +109,7 @@ export class CommentsClient extends BaseClient {
|
|
|
107
109
|
return addCommentRequest({
|
|
108
110
|
baseUri: this.getBaseUri(),
|
|
109
111
|
apiToken: this.apiToken,
|
|
112
|
+
headers: this.headers,
|
|
110
113
|
customFetch: this.customFetch,
|
|
111
114
|
schema: this.commentSchema,
|
|
112
115
|
}, args);
|
|
@@ -126,6 +129,7 @@ export class CommentsClient extends BaseClient {
|
|
|
126
129
|
relativePath: `${ENDPOINT_COMMENTS}/update`,
|
|
127
130
|
apiToken: this.apiToken,
|
|
128
131
|
payload: { ...args },
|
|
132
|
+
headers: this.headers,
|
|
129
133
|
customFetch: this.customFetch,
|
|
130
134
|
}).then((response) => this.commentSchema.parse(response.data));
|
|
131
135
|
}
|
|
@@ -141,6 +145,7 @@ export class CommentsClient extends BaseClient {
|
|
|
141
145
|
relativePath: `${ENDPOINT_COMMENTS}/remove`,
|
|
142
146
|
apiToken: this.apiToken,
|
|
143
147
|
payload: { id },
|
|
148
|
+
headers: this.headers,
|
|
144
149
|
customFetch: this.customFetch,
|
|
145
150
|
}).then((response) => StatusOkSchema.parse(response.data));
|
|
146
151
|
}
|
|
@@ -165,6 +170,7 @@ export class CommentsClient extends BaseClient {
|
|
|
165
170
|
relativePath: `${ENDPOINT_COMMENTS}/mark_position`,
|
|
166
171
|
apiToken: this.apiToken,
|
|
167
172
|
payload: { threadId: args.threadId, commentId: args.commentId },
|
|
173
|
+
headers: this.headers,
|
|
168
174
|
customFetch: this.customFetch,
|
|
169
175
|
}).then((response) => StatusOkSchema.parse(response.data));
|
|
170
176
|
}
|
|
@@ -56,6 +56,7 @@ export class ConversationMessagesClient extends BaseClient {
|
|
|
56
56
|
relativePath: `${ENDPOINT_CONVERSATION_MESSAGES}/get`,
|
|
57
57
|
apiToken: this.apiToken,
|
|
58
58
|
payload: params,
|
|
59
|
+
headers: this.headers,
|
|
59
60
|
customFetch: this.customFetch,
|
|
60
61
|
}).then((response) => this.messageListSchema.parse(response.data));
|
|
61
62
|
}
|
|
@@ -159,6 +160,7 @@ export class ConversationMessagesClient extends BaseClient {
|
|
|
159
160
|
relativePath: `${ENDPOINT_CONVERSATION_MESSAGES}/${suffix}`,
|
|
160
161
|
apiToken: this.apiToken,
|
|
161
162
|
payload: params,
|
|
163
|
+
headers: this.headers,
|
|
162
164
|
customFetch: this.customFetch,
|
|
163
165
|
}).then((response) => schema.parse(response.data));
|
|
164
166
|
}
|
|
@@ -77,6 +77,7 @@ export class ConversationsClient extends BaseClient {
|
|
|
77
77
|
relativePath: `${ENDPOINT_CONVERSATIONS}/get`,
|
|
78
78
|
apiToken: this.apiToken,
|
|
79
79
|
payload: params,
|
|
80
|
+
headers: this.headers,
|
|
80
81
|
customFetch: this.customFetch,
|
|
81
82
|
}).then((response) => this.conversationListSchema.parse(response.data));
|
|
82
83
|
}
|
|
@@ -273,6 +274,7 @@ export class ConversationsClient extends BaseClient {
|
|
|
273
274
|
relativePath: `${ENDPOINT_CONVERSATIONS}/${suffix}`,
|
|
274
275
|
apiToken: this.apiToken,
|
|
275
276
|
payload: params,
|
|
277
|
+
headers: this.headers,
|
|
276
278
|
customFetch: this.customFetch,
|
|
277
279
|
}).then((response) => schema.parse(response.data));
|
|
278
280
|
}
|
|
@@ -34,6 +34,7 @@ export class GroupsClient extends BaseClient {
|
|
|
34
34
|
relativePath: `${ENDPOINT_GROUPS}/get`,
|
|
35
35
|
apiToken: this.apiToken,
|
|
36
36
|
payload: { workspaceId },
|
|
37
|
+
headers: this.headers,
|
|
37
38
|
customFetch: this.customFetch,
|
|
38
39
|
}).then((response) => GroupListSchema.parse(response.data));
|
|
39
40
|
}
|
|
@@ -162,6 +163,7 @@ export class GroupsClient extends BaseClient {
|
|
|
162
163
|
relativePath: `${ENDPOINT_GROUPS}/${suffix}`,
|
|
163
164
|
apiToken: this.apiToken,
|
|
164
165
|
payload: params,
|
|
166
|
+
headers: this.headers,
|
|
165
167
|
customFetch: this.customFetch,
|
|
166
168
|
}).then((response) => schema.parse(response.data));
|
|
167
169
|
}
|
|
@@ -26,6 +26,7 @@ export class HooksClient extends BaseClient {
|
|
|
26
26
|
relativePath: `${ENDPOINT_HOOKS}/subscribe`,
|
|
27
27
|
apiToken: this.apiToken,
|
|
28
28
|
payload: args,
|
|
29
|
+
headers: this.headers,
|
|
29
30
|
customFetch: this.customFetch,
|
|
30
31
|
}).then((response) => HookSubscribeResponseSchema.parse(response.data));
|
|
31
32
|
}
|
|
@@ -42,6 +43,7 @@ export class HooksClient extends BaseClient {
|
|
|
42
43
|
relativePath: `${ENDPOINT_HOOKS}/unsubscribe`,
|
|
43
44
|
apiToken: this.apiToken,
|
|
44
45
|
payload: args,
|
|
46
|
+
headers: this.headers,
|
|
45
47
|
customFetch: this.customFetch,
|
|
46
48
|
}).then((response) => StatusOkSchema.parse(response.data));
|
|
47
49
|
}
|
|
@@ -61,6 +61,7 @@ export class InboxClient extends BaseClient {
|
|
|
61
61
|
relativePath: `${ENDPOINT_INBOX}/get`,
|
|
62
62
|
apiToken: this.apiToken,
|
|
63
63
|
payload: params,
|
|
64
|
+
headers: this.headers,
|
|
64
65
|
customFetch: this.customFetch,
|
|
65
66
|
}).then((response) => this.inboxThreadListSchema.parse(response.data));
|
|
66
67
|
}
|
|
@@ -83,6 +84,7 @@ export class InboxClient extends BaseClient {
|
|
|
83
84
|
relativePath: `${ENDPOINT_INBOX}/get_count`,
|
|
84
85
|
apiToken: this.apiToken,
|
|
85
86
|
payload: { workspace_id: workspaceId },
|
|
87
|
+
headers: this.headers,
|
|
86
88
|
customFetch: this.customFetch,
|
|
87
89
|
}).then((response) => response.data.data);
|
|
88
90
|
}
|
|
@@ -103,6 +105,7 @@ export class InboxClient extends BaseClient {
|
|
|
103
105
|
relativePath: `${ENDPOINT_INBOX}/archive`,
|
|
104
106
|
apiToken: this.apiToken,
|
|
105
107
|
payload: { id },
|
|
108
|
+
headers: this.headers,
|
|
106
109
|
customFetch: this.customFetch,
|
|
107
110
|
}).then(() => undefined);
|
|
108
111
|
}
|
|
@@ -123,6 +126,7 @@ export class InboxClient extends BaseClient {
|
|
|
123
126
|
relativePath: `${ENDPOINT_INBOX}/unarchive`,
|
|
124
127
|
apiToken: this.apiToken,
|
|
125
128
|
payload: { id },
|
|
129
|
+
headers: this.headers,
|
|
126
130
|
customFetch: this.customFetch,
|
|
127
131
|
}).then(() => undefined);
|
|
128
132
|
}
|
|
@@ -143,6 +147,7 @@ export class InboxClient extends BaseClient {
|
|
|
143
147
|
relativePath: `${ENDPOINT_INBOX}/mark_all_read`,
|
|
144
148
|
apiToken: this.apiToken,
|
|
145
149
|
payload: { workspace_id: workspaceId },
|
|
150
|
+
headers: this.headers,
|
|
146
151
|
customFetch: this.customFetch,
|
|
147
152
|
}).then(() => undefined);
|
|
148
153
|
}
|
|
@@ -174,6 +179,7 @@ export class InboxClient extends BaseClient {
|
|
|
174
179
|
relativePath: `${ENDPOINT_INBOX}/archive_all`,
|
|
175
180
|
apiToken: this.apiToken,
|
|
176
181
|
payload: params,
|
|
182
|
+
headers: this.headers,
|
|
177
183
|
customFetch: this.customFetch,
|
|
178
184
|
}).then(() => undefined);
|
|
179
185
|
}
|
|
@@ -35,6 +35,7 @@ export class ReactionsClient extends BaseClient {
|
|
|
35
35
|
relativePath: `${ENDPOINT_REACTIONS}/add`,
|
|
36
36
|
apiToken: this.apiToken,
|
|
37
37
|
payload: { ...reactionTarget(args), reaction: args.reaction },
|
|
38
|
+
headers: this.headers,
|
|
38
39
|
customFetch: this.customFetch,
|
|
39
40
|
}).then(() => undefined);
|
|
40
41
|
}
|
|
@@ -63,6 +64,7 @@ export class ReactionsClient extends BaseClient {
|
|
|
63
64
|
relativePath: `${ENDPOINT_REACTIONS}/get`,
|
|
64
65
|
apiToken: this.apiToken,
|
|
65
66
|
payload: reactionTarget(args),
|
|
67
|
+
headers: this.headers,
|
|
66
68
|
customFetch: this.customFetch,
|
|
67
69
|
}).then((response) => response.data);
|
|
68
70
|
}
|
|
@@ -87,6 +89,7 @@ export class ReactionsClient extends BaseClient {
|
|
|
87
89
|
relativePath: `${ENDPOINT_REACTIONS}/remove`,
|
|
88
90
|
apiToken: this.apiToken,
|
|
89
91
|
payload: { ...reactionTarget(args), reaction: args.reaction },
|
|
92
|
+
headers: this.headers,
|
|
90
93
|
customFetch: this.customFetch,
|
|
91
94
|
}).then(() => undefined);
|
|
92
95
|
}
|
|
@@ -53,6 +53,7 @@ export class SearchClient extends BaseClient {
|
|
|
53
53
|
relativePath: ENDPOINT_SEARCH,
|
|
54
54
|
apiToken: this.apiToken,
|
|
55
55
|
payload: params,
|
|
56
|
+
headers: this.headers,
|
|
56
57
|
customFetch: this.customFetch,
|
|
57
58
|
}).then((response) => ({
|
|
58
59
|
...response.data,
|
|
@@ -92,6 +93,7 @@ export class SearchClient extends BaseClient {
|
|
|
92
93
|
relativePath: `${ENDPOINT_SEARCH}/thread`,
|
|
93
94
|
apiToken: this.apiToken,
|
|
94
95
|
payload: params,
|
|
96
|
+
headers: this.headers,
|
|
95
97
|
customFetch: this.customFetch,
|
|
96
98
|
}).then((response) => response.data);
|
|
97
99
|
}
|
|
@@ -128,6 +130,7 @@ export class SearchClient extends BaseClient {
|
|
|
128
130
|
relativePath: `${ENDPOINT_SEARCH}/conversation`,
|
|
129
131
|
apiToken: this.apiToken,
|
|
130
132
|
payload: params,
|
|
133
|
+
headers: this.headers,
|
|
131
134
|
customFetch: this.customFetch,
|
|
132
135
|
}).then((response) => response.data);
|
|
133
136
|
}
|
|
@@ -72,6 +72,7 @@ export class ThreadsClient extends BaseClient {
|
|
|
72
72
|
relativePath: `${ENDPOINT_THREADS}/get`,
|
|
73
73
|
apiToken: this.apiToken,
|
|
74
74
|
payload: params,
|
|
75
|
+
headers: this.headers,
|
|
75
76
|
customFetch: this.customFetch,
|
|
76
77
|
}).then((response) => this.threadListSchema.parse(response.data));
|
|
77
78
|
}
|
|
@@ -343,6 +344,7 @@ export class ThreadsClient extends BaseClient {
|
|
|
343
344
|
return addCommentRequest({
|
|
344
345
|
baseUri: this.getBaseUri(),
|
|
345
346
|
apiToken: this.apiToken,
|
|
347
|
+
headers: this.headers,
|
|
346
348
|
customFetch: this.customFetch,
|
|
347
349
|
schema: this.commentSchema,
|
|
348
350
|
}, { threadId: resolveReferenceId(id, 'id'), ...rest }, { threadAction });
|
|
@@ -354,6 +356,7 @@ export class ThreadsClient extends BaseClient {
|
|
|
354
356
|
relativePath: `${ENDPOINT_THREADS}/${suffix}`,
|
|
355
357
|
apiToken: this.apiToken,
|
|
356
358
|
payload: params,
|
|
359
|
+
headers: this.headers,
|
|
357
360
|
customFetch: this.customFetch,
|
|
358
361
|
}).then((response) => schema.parse(response.data));
|
|
359
362
|
}
|
|
@@ -92,6 +92,7 @@ export class UsersClient extends BaseClient {
|
|
|
92
92
|
relativePath: `${ENDPOINT_USERS}/mfa/challenge`,
|
|
93
93
|
apiToken: undefined,
|
|
94
94
|
payload: args,
|
|
95
|
+
headers: this.headers,
|
|
95
96
|
customFetch: this.customFetch,
|
|
96
97
|
}).then((response) => response.data);
|
|
97
98
|
}
|
|
@@ -103,6 +104,7 @@ export class UsersClient extends BaseClient {
|
|
|
103
104
|
relativePath: `${ENDPOINT_USERS}/logout`,
|
|
104
105
|
apiToken: this.apiToken,
|
|
105
106
|
payload: undefined,
|
|
107
|
+
headers: this.headers,
|
|
106
108
|
customFetch: this.customFetch,
|
|
107
109
|
}).then(() => undefined);
|
|
108
110
|
}
|
|
@@ -246,6 +248,7 @@ export class UsersClient extends BaseClient {
|
|
|
246
248
|
relativePath: `${ENDPOINT_USERS}/validate_token`,
|
|
247
249
|
apiToken: undefined,
|
|
248
250
|
payload: { token },
|
|
251
|
+
headers: this.headers,
|
|
249
252
|
customFetch: this.customFetch,
|
|
250
253
|
}).then(() => undefined);
|
|
251
254
|
}
|
|
@@ -268,6 +271,7 @@ export class UsersClient extends BaseClient {
|
|
|
268
271
|
relativePath: `${ENDPOINT_USERS}/heartbeat`,
|
|
269
272
|
apiToken: this.apiToken,
|
|
270
273
|
payload: args,
|
|
274
|
+
headers: this.headers,
|
|
271
275
|
customFetch: this.customFetch,
|
|
272
276
|
}).then(() => undefined);
|
|
273
277
|
}
|
|
@@ -283,6 +287,7 @@ export class UsersClient extends BaseClient {
|
|
|
283
287
|
relativePath: `${ENDPOINT_USERS}/reset_presence`,
|
|
284
288
|
apiToken: this.apiToken,
|
|
285
289
|
payload: { workspaceId },
|
|
290
|
+
headers: this.headers,
|
|
286
291
|
customFetch: this.customFetch,
|
|
287
292
|
}).then(() => undefined);
|
|
288
293
|
}
|
|
@@ -299,6 +304,7 @@ export class UsersClient extends BaseClient {
|
|
|
299
304
|
relativePath: `${ENDPOINT_USERS}/check_email`,
|
|
300
305
|
apiToken: undefined,
|
|
301
306
|
payload: { email },
|
|
307
|
+
headers: this.headers,
|
|
302
308
|
customFetch: this.customFetch,
|
|
303
309
|
}).then((response) => response.data);
|
|
304
310
|
}
|
|
@@ -315,6 +321,7 @@ export class UsersClient extends BaseClient {
|
|
|
315
321
|
relativePath: `${ENDPOINT_USERS}/get_unsubscribe_settings`,
|
|
316
322
|
apiToken: this.apiToken,
|
|
317
323
|
payload: undefined,
|
|
324
|
+
headers: this.headers,
|
|
318
325
|
customFetch: this.customFetch,
|
|
319
326
|
}).then((response) => response.data);
|
|
320
327
|
}
|
|
@@ -331,6 +338,7 @@ export class UsersClient extends BaseClient {
|
|
|
331
338
|
relativePath: `${ENDPOINT_USERS}/update_unsubscribe_settings`,
|
|
332
339
|
apiToken: this.apiToken,
|
|
333
340
|
payload: settings,
|
|
341
|
+
headers: this.headers,
|
|
334
342
|
customFetch: this.customFetch,
|
|
335
343
|
}).then((response) => response.data);
|
|
336
344
|
}
|
|
@@ -341,6 +349,7 @@ export class UsersClient extends BaseClient {
|
|
|
341
349
|
relativePath: url,
|
|
342
350
|
apiToken: this.apiToken,
|
|
343
351
|
payload: params,
|
|
352
|
+
headers: this.headers,
|
|
344
353
|
customFetch: this.customFetch,
|
|
345
354
|
}).then((response) => schema.parse(response.data));
|
|
346
355
|
}
|
|
@@ -352,6 +361,7 @@ export class UsersClient extends BaseClient {
|
|
|
352
361
|
relativePath: url,
|
|
353
362
|
apiToken: authed ? this.apiToken : undefined,
|
|
354
363
|
payload: params,
|
|
364
|
+
headers: this.headers,
|
|
355
365
|
customFetch: this.customFetch,
|
|
356
366
|
}).then((response) => schema.parse(response.data));
|
|
357
367
|
}
|
|
@@ -32,6 +32,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
32
32
|
relativePath: 'workspace_users/get',
|
|
33
33
|
apiToken: this.apiToken,
|
|
34
34
|
payload: { id: args.workspaceId, archived: args.archived },
|
|
35
|
+
headers: this.headers,
|
|
35
36
|
customFetch: this.customFetch,
|
|
36
37
|
}).then((response) => {
|
|
37
38
|
const rawUsers = includeRemoved
|
|
@@ -53,6 +54,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
53
54
|
relativePath: 'workspace_users/get_ids',
|
|
54
55
|
apiToken: this.apiToken,
|
|
55
56
|
payload: { id: workspaceId },
|
|
57
|
+
headers: this.headers,
|
|
56
58
|
customFetch: this.customFetch,
|
|
57
59
|
}).then((response) => response.data);
|
|
58
60
|
}
|
|
@@ -78,6 +80,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
78
80
|
relativePath: 'workspace_users/getone',
|
|
79
81
|
apiToken: this.apiToken,
|
|
80
82
|
payload: { id: args.workspaceId, user_id: args.userId },
|
|
83
|
+
headers: this.headers,
|
|
81
84
|
customFetch: this.customFetch,
|
|
82
85
|
}).then((response) => VisibleWorkspaceUserSchema.parse(response.data));
|
|
83
86
|
}
|
|
@@ -105,6 +108,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
105
108
|
relativePath: 'workspace_users/get_by_email',
|
|
106
109
|
apiToken: this.apiToken,
|
|
107
110
|
payload: { id: args.workspaceId, email: args.email },
|
|
111
|
+
headers: this.headers,
|
|
108
112
|
customFetch: this.customFetch,
|
|
109
113
|
}).then((response) => VisibleWorkspaceUserSchema.parse(response.data));
|
|
110
114
|
}
|
|
@@ -123,6 +127,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
123
127
|
relativePath: 'workspace_users/get_info',
|
|
124
128
|
apiToken: this.apiToken,
|
|
125
129
|
payload: { id: args.workspaceId, user_id: args.userId },
|
|
130
|
+
headers: this.headers,
|
|
126
131
|
customFetch: this.customFetch,
|
|
127
132
|
}).then((response) => response.data);
|
|
128
133
|
}
|
|
@@ -150,6 +155,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
150
155
|
relativePath: 'workspace_users/get_local_time',
|
|
151
156
|
apiToken: this.apiToken,
|
|
152
157
|
payload: { id: args.workspaceId, user_id: args.userId },
|
|
158
|
+
headers: this.headers,
|
|
153
159
|
customFetch: this.customFetch,
|
|
154
160
|
}).then((response) => response.data);
|
|
155
161
|
}
|
|
@@ -173,6 +179,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
173
179
|
email: args.email,
|
|
174
180
|
userType: args.userType,
|
|
175
181
|
},
|
|
182
|
+
headers: this.headers,
|
|
176
183
|
customFetch: this.customFetch,
|
|
177
184
|
}).then((response) => WorkspaceUserSchema.parse(response.data));
|
|
178
185
|
}
|
|
@@ -198,6 +205,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
198
205
|
email: args.email,
|
|
199
206
|
userId: args.userId,
|
|
200
207
|
},
|
|
208
|
+
headers: this.headers,
|
|
201
209
|
customFetch: this.customFetch,
|
|
202
210
|
}).then((response) => WorkspaceUserSchema.parse(response.data));
|
|
203
211
|
}
|
|
@@ -220,6 +228,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
220
228
|
email: args.email,
|
|
221
229
|
userId: args.userId,
|
|
222
230
|
},
|
|
231
|
+
headers: this.headers,
|
|
223
232
|
customFetch: this.customFetch,
|
|
224
233
|
}).then(() => undefined);
|
|
225
234
|
}
|
|
@@ -242,6 +251,7 @@ export class WorkspaceUsersClient extends BaseClient {
|
|
|
242
251
|
email: args.email,
|
|
243
252
|
userId: args.userId,
|
|
244
253
|
},
|
|
254
|
+
headers: this.headers,
|
|
245
255
|
customFetch: this.customFetch,
|
|
246
256
|
}).then(() => undefined);
|
|
247
257
|
}
|
|
@@ -35,6 +35,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
35
35
|
relativePath: `${ENDPOINT_WORKSPACES}/get`,
|
|
36
36
|
apiToken: this.apiToken,
|
|
37
37
|
payload: undefined,
|
|
38
|
+
headers: this.headers,
|
|
38
39
|
customFetch: this.customFetch,
|
|
39
40
|
}).then((response) => response.data.map((workspace) => WorkspaceSchema.parse(workspace)));
|
|
40
41
|
}
|
|
@@ -57,6 +58,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
57
58
|
relativePath: `${ENDPOINT_WORKSPACES}/getone`,
|
|
58
59
|
apiToken: this.apiToken,
|
|
59
60
|
payload: { id },
|
|
61
|
+
headers: this.headers,
|
|
60
62
|
customFetch: this.customFetch,
|
|
61
63
|
}).then((response) => WorkspaceSchema.parse(response.data));
|
|
62
64
|
}
|
|
@@ -78,6 +80,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
78
80
|
relativePath: `${ENDPOINT_WORKSPACES}/get_default`,
|
|
79
81
|
apiToken: this.apiToken,
|
|
80
82
|
payload: undefined,
|
|
83
|
+
headers: this.headers,
|
|
81
84
|
customFetch: this.customFetch,
|
|
82
85
|
}).then((response) => WorkspaceSchema.parse(response.data));
|
|
83
86
|
}
|
|
@@ -100,6 +103,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
100
103
|
relativePath: `${ENDPOINT_WORKSPACES}/add`,
|
|
101
104
|
apiToken: this.apiToken,
|
|
102
105
|
payload: { name },
|
|
106
|
+
headers: this.headers,
|
|
103
107
|
customFetch: this.customFetch,
|
|
104
108
|
}).then((response) => WorkspaceSchema.parse(response.data));
|
|
105
109
|
}
|
|
@@ -122,6 +126,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
122
126
|
relativePath: `${ENDPOINT_WORKSPACES}/update`,
|
|
123
127
|
apiToken: this.apiToken,
|
|
124
128
|
payload: { id, name },
|
|
129
|
+
headers: this.headers,
|
|
125
130
|
customFetch: this.customFetch,
|
|
126
131
|
}).then((response) => WorkspaceSchema.parse(response.data));
|
|
127
132
|
}
|
|
@@ -142,6 +147,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
142
147
|
relativePath: `${ENDPOINT_WORKSPACES}/remove`,
|
|
143
148
|
apiToken: this.apiToken,
|
|
144
149
|
payload: { id },
|
|
150
|
+
headers: this.headers,
|
|
145
151
|
customFetch: this.customFetch,
|
|
146
152
|
}).then(() => undefined);
|
|
147
153
|
}
|
|
@@ -164,6 +170,7 @@ export class WorkspacesClient extends BaseClient {
|
|
|
164
170
|
relativePath: `${ENDPOINT_WORKSPACES}/get_public_channels`,
|
|
165
171
|
apiToken: this.apiToken,
|
|
166
172
|
payload: { id },
|
|
173
|
+
headers: this.headers,
|
|
167
174
|
customFetch: this.customFetch,
|
|
168
175
|
}).then((response) => this.channelListSchema.parse(response.data));
|
|
169
176
|
}
|
package/dist/esm/comms-api.js
CHANGED
|
@@ -21,15 +21,16 @@ const defaultHeaders = {
|
|
|
21
21
|
function getAuthHeader(apiToken) {
|
|
22
22
|
return `Bearer ${apiToken}`;
|
|
23
23
|
}
|
|
24
|
-
function getRequestConfiguration(baseURL, apiToken, requestId) {
|
|
24
|
+
function getRequestConfiguration(baseURL, apiToken, requestId, customHeaders) {
|
|
25
25
|
const authHeader = apiToken ? { Authorization: getAuthHeader(apiToken) } : undefined;
|
|
26
26
|
const requestIdHeader = requestId ? { 'X-Request-Id': requestId } : undefined;
|
|
27
|
-
|
|
27
|
+
// Custom headers sit below auth and request id so they can never clobber them.
|
|
28
|
+
const headers = { ...defaultHeaders, ...customHeaders, ...authHeader, ...requestIdHeader };
|
|
28
29
|
return { baseURL, headers, timeout: 30000 };
|
|
29
30
|
}
|
|
30
31
|
export async function request(args) {
|
|
31
|
-
const { httpMethod, baseUri, relativePath, apiToken, payload, requestId, customFetch } = args;
|
|
32
|
-
const config = getRequestConfiguration(baseUri, apiToken, requestId);
|
|
32
|
+
const { httpMethod, baseUri, relativePath, apiToken, payload, requestId, headers, customFetch, } = args;
|
|
33
|
+
const config = getRequestConfiguration(baseUri, apiToken, requestId, headers);
|
|
33
34
|
const url = new URL(relativePath, config.baseURL).toString();
|
|
34
35
|
const options = {
|
|
35
36
|
method: httpMethod,
|
|
@@ -164,7 +164,7 @@ function buildMultipartBody(args) {
|
|
|
164
164
|
* the returned shape with the appropriate schema.
|
|
165
165
|
*/
|
|
166
166
|
export async function uploadMultipartFile(args) {
|
|
167
|
-
const { baseUrl, authToken, endpoint, file, fileName, contentType, additionalFields, maxRetries = 0, requestId, customFetch, } = args;
|
|
167
|
+
const { baseUrl, authToken, endpoint, file, fileName, contentType, additionalFields, maxRetries = 0, requestId, headers: customHeaders, customFetch, } = args;
|
|
168
168
|
const { blob, fileName: resolvedFileName, contentType: resolvedType, } = toBlob(file, fileName, contentType);
|
|
169
169
|
const fields = {
|
|
170
170
|
file_name: resolvedFileName,
|
|
@@ -179,6 +179,7 @@ export async function uploadMultipartFile(args) {
|
|
|
179
179
|
fields,
|
|
180
180
|
});
|
|
181
181
|
const headers = {
|
|
182
|
+
...customHeaders,
|
|
182
183
|
Authorization: `Bearer ${authToken}`,
|
|
183
184
|
// The boundary is ours, so this has to be declared explicitly — `fetch`
|
|
184
185
|
// only fills it in for a `FormData` body.
|
|
@@ -9,6 +9,8 @@ export type ClientConfig = {
|
|
|
9
9
|
version?: ApiVersion;
|
|
10
10
|
/** Optional custom fetch implementation for cross-platform compatibility */
|
|
11
11
|
customFetch?: CustomFetch;
|
|
12
|
+
/** Optional headers sent with every request */
|
|
13
|
+
headers?: Record<string, string>;
|
|
12
14
|
};
|
|
13
15
|
/**
|
|
14
16
|
* Base class for every Comms API client. Centralizes URL handling and
|
|
@@ -19,6 +21,7 @@ export declare class BaseClient {
|
|
|
19
21
|
protected readonly baseUrl?: string;
|
|
20
22
|
protected readonly defaultVersion: ApiVersion;
|
|
21
23
|
protected readonly customFetch?: CustomFetch;
|
|
24
|
+
protected readonly headers?: Record<string, string>;
|
|
22
25
|
constructor(config: ClientConfig);
|
|
23
26
|
/**
|
|
24
27
|
* Returns the base URI for an API request, with a guaranteed trailing
|
|
@@ -21,6 +21,8 @@ export type CommsApiOptions = {
|
|
|
21
21
|
version?: ApiVersion;
|
|
22
22
|
/** Optional custom fetch implementation for cross-platform compatibility (e.g., Obsidian, React Native, Electron). */
|
|
23
23
|
customFetch?: CustomFetch;
|
|
24
|
+
/** Optional headers sent with every request, e.g. `{ 'Doist-Platform': 'cli' }` for client attribution. Cannot override `Authorization` or `X-Request-Id`. */
|
|
25
|
+
headers?: Record<string, string>;
|
|
24
26
|
};
|
|
25
27
|
/**
|
|
26
28
|
* The main API client for interacting with the Comms REST API.
|
|
@@ -33,6 +33,8 @@ type UploadMultipartFileArgs = {
|
|
|
33
33
|
maxRetries?: number;
|
|
34
34
|
/** Optional request ID for tracing. */
|
|
35
35
|
requestId?: string;
|
|
36
|
+
/** Optional headers sent with the request. Cannot override `Authorization` or `Content-Type`. */
|
|
37
|
+
headers?: Record<string, string>;
|
|
36
38
|
/** Optional custom fetch implementation. */
|
|
37
39
|
customFetch?: CustomFetch;
|
|
38
40
|
};
|