@tellescope/sdk 0.0.4 → 0.0.8

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.
Files changed (45) hide show
  1. package/lib/cjs/enduser.d.ts +346 -13
  2. package/lib/cjs/enduser.d.ts.map +1 -1
  3. package/lib/cjs/enduser.js +135 -14
  4. package/lib/cjs/enduser.js.map +1 -1
  5. package/lib/cjs/sdk.d.ts +106 -19
  6. package/lib/cjs/sdk.d.ts.map +1 -1
  7. package/lib/cjs/sdk.js +116 -32
  8. package/lib/cjs/sdk.js.map +1 -1
  9. package/lib/cjs/session.d.ts +36 -175
  10. package/lib/cjs/session.d.ts.map +1 -1
  11. package/lib/cjs/session.js +131 -34
  12. package/lib/cjs/session.js.map +1 -1
  13. package/lib/cjs/tests/public_endpoint_tests.js +3 -3
  14. package/lib/cjs/tests/public_endpoint_tests.js.map +1 -1
  15. package/lib/cjs/tests/socket_tests.js +42 -31
  16. package/lib/cjs/tests/socket_tests.js.map +1 -1
  17. package/lib/cjs/tests/tests.js +196 -62
  18. package/lib/cjs/tests/tests.js.map +1 -1
  19. package/lib/esm/enduser.d.ts +346 -13
  20. package/lib/esm/enduser.d.ts.map +1 -1
  21. package/lib/esm/enduser.js +132 -12
  22. package/lib/esm/enduser.js.map +1 -1
  23. package/lib/esm/sdk.d.ts +106 -19
  24. package/lib/esm/sdk.d.ts.map +1 -1
  25. package/lib/esm/sdk.js +116 -32
  26. package/lib/esm/sdk.js.map +1 -1
  27. package/lib/esm/session.d.ts +36 -175
  28. package/lib/esm/session.d.ts.map +1 -1
  29. package/lib/esm/session.js +130 -32
  30. package/lib/esm/session.js.map +1 -1
  31. package/lib/esm/tests/public_endpoint_tests.js +3 -3
  32. package/lib/esm/tests/public_endpoint_tests.js.map +1 -1
  33. package/lib/esm/tests/socket_tests.js +41 -30
  34. package/lib/esm/tests/socket_tests.js.map +1 -1
  35. package/lib/esm/tests/tests.js +192 -63
  36. package/lib/esm/tests/tests.js.map +1 -1
  37. package/lib/tsconfig.tsbuildinfo +1 -1
  38. package/package.json +11 -9
  39. package/src/enduser.ts +93 -20
  40. package/src/sdk.ts +70 -42
  41. package/src/session.ts +121 -33
  42. package/src/tests/public_endpoint_tests.ts +6 -4
  43. package/src/tests/socket_tests.ts +37 -16
  44. package/src/tests/tests.ts +117 -24
  45. package/tsconfig.json +0 -1
@@ -1,16 +1,343 @@
1
1
  import { Session, SessionOptions, APIQuery } from "./session";
2
- import { ClientModelForName, Enduser } from "@tellescope/types-client";
2
+ import { S3PresignedPost } from "@tellescope/types-utilities";
3
+ import { ClientModelForName_required, Enduser, File } from "@tellescope/types-client";
3
4
  export interface EnduserSessionOptions extends SessionOptions {
4
5
  }
5
- declare type EnduserAccessibleModels = "chat_rooms" | 'chats';
6
- declare type Queries = {
6
+ declare type EnduserAccessibleModels = "chat_rooms" | 'chats' | 'files';
7
+ export declare const defaultQueries: <N extends keyof import("@tellescope/types-models").ModelForName>(s: EnduserSession, n: keyof ClientModelForName_required) => APIQuery<N, {
8
+ endusers: import("@tellescope/types-models").Enduser & {
9
+ id: string;
10
+ };
11
+ engagement_events: import("@tellescope/types-models").EngagementEvent & {
12
+ id: string;
13
+ };
14
+ journeys: import("@tellescope/types-models").Journey & {
15
+ id: string;
16
+ };
17
+ api_keys: import("@tellescope/types-models").APIKey & {
18
+ id: string;
19
+ };
20
+ tasks: import("@tellescope/types-models").Task & {
21
+ id: string;
22
+ };
23
+ emails: import("@tellescope/types-models").Email & {
24
+ id: string;
25
+ };
26
+ sms_messages: import("@tellescope/types-models").SMSMessage & {
27
+ id: string;
28
+ };
29
+ chat_rooms: import("@tellescope/types-models").ChatRoom & {
30
+ id: string;
31
+ };
32
+ chats: import("@tellescope/types-models").ChatMessage & {
33
+ id: string;
34
+ };
35
+ users: import("@tellescope/types-models").User & {
36
+ id: string;
37
+ };
38
+ templates: import("@tellescope/types-models").MessageTemplate & {
39
+ id: string;
40
+ };
41
+ files: import("@tellescope/types-models").File & {
42
+ id: string;
43
+ };
44
+ }[N], {
45
+ endusers: import("@tellescope/types-models").Enduser_required & {
46
+ id: string;
47
+ };
48
+ engagement_events: import("@tellescope/types-models").EngagementEvent_required & {
49
+ id: string;
50
+ };
51
+ journeys: import("@tellescope/types-models").Journey_required & {
52
+ id: string;
53
+ };
54
+ api_keys: import("@tellescope/types-models").APIKey_required & {
55
+ id: string;
56
+ };
57
+ tasks: import("@tellescope/types-models").Task_required & {
58
+ id: string;
59
+ };
60
+ emails: import("@tellescope/types-models").Email_required & {
61
+ id: string;
62
+ };
63
+ sms_messages: import("@tellescope/types-models").SMSMessage_required & {
64
+ id: string;
65
+ };
66
+ chat_rooms: import("@tellescope/types-models").ChatRoom_required & {
67
+ id: string;
68
+ };
69
+ chats: import("@tellescope/types-models").ChatMessage_required & {
70
+ id: string;
71
+ };
72
+ users: import("@tellescope/types-models").User_required & {
73
+ id: string;
74
+ };
75
+ templates: import("@tellescope/types-models").MessageTemplate_required & {
76
+ id: string;
77
+ };
78
+ files: import("@tellescope/types-models").File_required & {
79
+ id: string;
80
+ };
81
+ }[N], Omit<{
82
+ endusers: import("@tellescope/types-models").Enduser_required & {
83
+ id: string;
84
+ };
85
+ engagement_events: import("@tellescope/types-models").EngagementEvent_required & {
86
+ id: string;
87
+ };
88
+ journeys: import("@tellescope/types-models").Journey_required & {
89
+ id: string;
90
+ };
91
+ api_keys: import("@tellescope/types-models").APIKey_required & {
92
+ id: string;
93
+ };
94
+ tasks: import("@tellescope/types-models").Task_required & {
95
+ id: string;
96
+ };
97
+ emails: import("@tellescope/types-models").Email_required & {
98
+ id: string;
99
+ };
100
+ sms_messages: import("@tellescope/types-models").SMSMessage_required & {
101
+ id: string;
102
+ };
103
+ chat_rooms: import("@tellescope/types-models").ChatRoom_required & {
104
+ id: string;
105
+ };
106
+ chats: import("@tellescope/types-models").ChatMessage_required & {
107
+ id: string;
108
+ };
109
+ users: import("@tellescope/types-models").User_required & {
110
+ id: string;
111
+ };
112
+ templates: import("@tellescope/types-models").MessageTemplate_required & {
113
+ id: string;
114
+ };
115
+ files: import("@tellescope/types-models").File_required & {
116
+ id: string;
117
+ };
118
+ }[N] & Partial<{
119
+ endusers: import("@tellescope/types-models").Enduser & {
120
+ id: string;
121
+ };
122
+ engagement_events: import("@tellescope/types-models").EngagementEvent & {
123
+ id: string;
124
+ };
125
+ journeys: import("@tellescope/types-models").Journey & {
126
+ id: string;
127
+ };
128
+ api_keys: import("@tellescope/types-models").APIKey & {
129
+ id: string;
130
+ };
131
+ tasks: import("@tellescope/types-models").Task & {
132
+ id: string;
133
+ };
134
+ emails: import("@tellescope/types-models").Email & {
135
+ id: string;
136
+ };
137
+ sms_messages: import("@tellescope/types-models").SMSMessage & {
138
+ id: string;
139
+ };
140
+ chat_rooms: import("@tellescope/types-models").ChatRoom & {
141
+ id: string;
142
+ };
143
+ chats: import("@tellescope/types-models").ChatMessage & {
144
+ id: string;
145
+ };
146
+ users: import("@tellescope/types-models").User & {
147
+ id: string;
148
+ };
149
+ templates: import("@tellescope/types-models").MessageTemplate & {
150
+ id: string;
151
+ };
152
+ files: import("@tellescope/types-models").File & {
153
+ id: string;
154
+ };
155
+ }[N]>, keyof {
156
+ endusers: import("@tellescope/types-models").Enduser_readonly & {
157
+ id: string;
158
+ };
159
+ engagement_events: import("@tellescope/types-models").EngagementEvent_readonly & {
160
+ id: string;
161
+ };
162
+ journeys: import("@tellescope/types-models").Journey_readonly & {
163
+ id: string;
164
+ };
165
+ api_keys: import("@tellescope/types-models").APIKey_readonly & {
166
+ id: string;
167
+ };
168
+ tasks: import("@tellescope/types-models").Task_readonly & {
169
+ id: string;
170
+ };
171
+ emails: import("@tellescope/types-models").Email_readonly & {
172
+ id: string;
173
+ };
174
+ sms_messages: import("@tellescope/types-models").SMSMessage_readonly & {
175
+ id: string;
176
+ };
177
+ chat_rooms: import("@tellescope/types-models").ChatRoom_readonly & {
178
+ id: string;
179
+ };
180
+ chats: import("@tellescope/types-models").ChatMessage_readonly & {
181
+ id: string;
182
+ };
183
+ users: import("@tellescope/types-models").User_readonly & {
184
+ id: string;
185
+ };
186
+ templates: import("@tellescope/types-models").MessageTemplate_readonly & {
187
+ id: string;
188
+ };
189
+ files: import("@tellescope/types-models").File_readonly & {
190
+ id: string;
191
+ };
192
+ }[N]>, Omit<Partial<{
193
+ endusers: import("@tellescope/types-models").Enduser & {
194
+ id: string;
195
+ };
196
+ engagement_events: import("@tellescope/types-models").EngagementEvent & {
197
+ id: string;
198
+ };
199
+ journeys: import("@tellescope/types-models").Journey & {
200
+ id: string;
201
+ };
202
+ api_keys: import("@tellescope/types-models").APIKey & {
203
+ id: string;
204
+ };
205
+ tasks: import("@tellescope/types-models").Task & {
206
+ id: string;
207
+ };
208
+ emails: import("@tellescope/types-models").Email & {
209
+ id: string;
210
+ };
211
+ sms_messages: import("@tellescope/types-models").SMSMessage & {
212
+ id: string;
213
+ };
214
+ chat_rooms: import("@tellescope/types-models").ChatRoom & {
215
+ id: string;
216
+ };
217
+ chats: import("@tellescope/types-models").ChatMessage & {
218
+ id: string;
219
+ };
220
+ users: import("@tellescope/types-models").User & {
221
+ id: string;
222
+ };
223
+ templates: import("@tellescope/types-models").MessageTemplate & {
224
+ id: string;
225
+ };
226
+ files: import("@tellescope/types-models").File & {
227
+ id: string;
228
+ };
229
+ }[N]>, keyof {
230
+ endusers: import("@tellescope/types-models").Enduser_readonly & {
231
+ id: string;
232
+ };
233
+ engagement_events: import("@tellescope/types-models").EngagementEvent_readonly & {
234
+ id: string;
235
+ };
236
+ journeys: import("@tellescope/types-models").Journey_readonly & {
237
+ id: string;
238
+ };
239
+ api_keys: import("@tellescope/types-models").APIKey_readonly & {
240
+ id: string;
241
+ };
242
+ tasks: import("@tellescope/types-models").Task_readonly & {
243
+ id: string;
244
+ };
245
+ emails: import("@tellescope/types-models").Email_readonly & {
246
+ id: string;
247
+ };
248
+ sms_messages: import("@tellescope/types-models").SMSMessage_readonly & {
249
+ id: string;
250
+ };
251
+ chat_rooms: import("@tellescope/types-models").ChatRoom_readonly & {
252
+ id: string;
253
+ };
254
+ chats: import("@tellescope/types-models").ChatMessage_readonly & {
255
+ id: string;
256
+ };
257
+ users: import("@tellescope/types-models").User_readonly & {
258
+ id: string;
259
+ };
260
+ templates: import("@tellescope/types-models").MessageTemplate_readonly & {
261
+ id: string;
262
+ };
263
+ files: import("@tellescope/types-models").File_readonly & {
264
+ id: string;
265
+ };
266
+ }[N] | keyof {
267
+ endusers: import("@tellescope/types-models").Enduser_updatesDisabled & {
268
+ id: string;
269
+ };
270
+ engagement_events: import("@tellescope/types-models").EngagementEvent_updatesDisabled & {
271
+ id: string;
272
+ };
273
+ journeys: import("@tellescope/types-models").Journey_updatesDisabled & {
274
+ id: string;
275
+ };
276
+ api_keys: import("@tellescope/types-models").APIKey_updatesDisabled & {
277
+ id: string;
278
+ };
279
+ tasks: import("@tellescope/types-models").Task_updatesDisabled & {
280
+ id: string;
281
+ };
282
+ emails: import("@tellescope/types-models").Email_updatesDisabled & {
283
+ id: string;
284
+ };
285
+ sms_messages: import("@tellescope/types-models").SMSMessage_updatesDisabled & {
286
+ id: string;
287
+ };
288
+ chat_rooms: import("@tellescope/types-models").ChatRoom_updatesDisabled & {
289
+ id: string;
290
+ };
291
+ chats: import("@tellescope/types-models").ChatMessage_updatesDisabled & {
292
+ id: string;
293
+ };
294
+ users: import("@tellescope/types-models").User_updatesDisabled & {
295
+ id: string;
296
+ };
297
+ templates: import("@tellescope/types-models").MessageTemplate_updatesDisabled & {
298
+ id: string;
299
+ };
300
+ files: import("@tellescope/types-models").File_updatesDisabled & {
301
+ id: string;
302
+ };
303
+ }[N]>>;
304
+ declare type EnduserQueries = {
7
305
  [K in EnduserAccessibleModels]: APIQuery<K>;
306
+ } & {
307
+ endusers: {
308
+ logout: () => Promise<void>;
309
+ };
310
+ users: {
311
+ display_names: () => Promise<{
312
+ fname: string;
313
+ lname: string;
314
+ id: string;
315
+ }[]>;
316
+ };
317
+ files: {
318
+ prepare_file_upload: (args: {
319
+ name: string;
320
+ size: number;
321
+ type: string;
322
+ }) => Promise<{
323
+ presignedUpload: S3PresignedPost;
324
+ file: File;
325
+ }>;
326
+ file_download_URL: (args: {
327
+ secureName: string;
328
+ }) => Promise<{
329
+ downloadURL: string;
330
+ }>;
331
+ };
8
332
  };
9
333
  export declare class EnduserSession extends Session {
10
- session: Session;
11
- enduser: Enduser;
12
- api: Queries;
334
+ userInfo: Enduser;
335
+ api: EnduserQueries;
13
336
  constructor(o?: EnduserSessionOptions);
337
+ _POST: <A, R = void>(endpoint: string, args?: A | undefined, authenticated?: boolean) => Promise<R>;
338
+ _GET: <A, R = void>(endpoint: string, params?: A | undefined, authenticated?: boolean) => Promise<R>;
339
+ _PATCH: <A, R = void>(endpoint: string, params?: A | undefined, authenticated?: boolean) => Promise<R>;
340
+ _DELETE: <A, R = void>(endpoint: string, args?: A | undefined, authenticated?: boolean) => Promise<R>;
14
341
  handle_new_session: ({ authToken, enduser }: {
15
342
  authToken: string;
16
343
  enduser: Enduser;
@@ -26,13 +353,19 @@ export declare class EnduserSession extends Session {
26
353
  id: string;
27
354
  };
28
355
  }>;
29
- subscribe: (rooms: {
30
- [index: string]: keyof import("@tellescope/types-models").ModelForName;
31
- }) => Promise<void>;
32
- handle_events: (handlers: {
33
- [index: string]: (a: any) => void;
34
- }) => void;
35
- unsubscribe: (roomIds: string[]) => Promise<void>;
356
+ refresh_session: () => Promise<{
357
+ authToken: string;
358
+ enduser: import("@tellescope/types-models").Enduser & {
359
+ id: string;
360
+ };
361
+ }>;
362
+ refresh_session_if_expiring_soon: () => Promise<{
363
+ authToken: string;
364
+ enduser: import("@tellescope/types-models").Enduser & {
365
+ id: string;
366
+ };
367
+ } | undefined>;
368
+ logout: () => Promise<void>;
36
369
  }
37
370
  export {};
38
371
  //# sourceMappingURL=enduser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enduser.d.ts","sourceRoot":"","sources":["../../src/enduser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAkB,MAAM,WAAW,CAAA;AAK7E,OAAO,EACL,kBAAkB,EAClB,OAAO,EACR,MAAM,0BAA0B,CAAA;AAGjC,MAAM,WAAW,qBAAsB,SAAQ,cAAc;CAAG;AAEhE,aAAK,uBAAuB,GAAG,YAAY,GAAG,OAAO,CAAA;AAErD,aAAK,OAAO,GAAG;KAAG,CAAC,IAAI,uBAAuB,GAAG,QAAQ,CAAC,CAAC,CAAC;CAAE,CAAA;AAQ9D,qBAAa,cAAe,SAAQ,OAAO;IACzC,OAAO,UAAiB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;gBAED,CAAC,CAAC,EAAE,qBAAqB;IAOrC,kBAAkB;mBAA+C,MAAM;iBAAW,OAAO;;;;;;OAWxF;IAED,YAAY,UAAiB,MAAM,YAAY,MAAM;;;;;OAEpD;IAED,SAAS;;wBAAgG;IAEzG,aAAa;6BAAsC,GAAG,KAAK,IAAI;eAE9D;IAED,WAAW,YAAa,MAAM,EAAE,mBAA0C;CAC3E"}
1
+ {"version":3,"file":"enduser.d.ts","sourceRoot":"","sources":["../../src/enduser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAC7D,OAAO,EAEL,2BAA2B,EAC3B,OAAO,EACP,IAAI,EACL,MAAM,0BAA0B,CAAA;AAGjC,MAAM,WAAW,qBAAsB,SAAQ,cAAc;CAAG;AAEhE,aAAK,uBAAuB,GAAG,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA;AAE/D,eAAO,MAAM,cAAc,uEACtB,cAAc,KAAK,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAcxD,CAAA;AAED,aAAK,cAAc,GAAG;KAAG,CAAC,IAAI,uBAAuB,GAAG,QAAQ,CAAC,CAAC,CAAC;CAAE,GAAG;IACtE,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;KAC7B,CAAC;IACF,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,OAAO,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC,CAAA;KAC7E,CAAC;IACF,KAAK,EAAE;QACL,mBAAmB,EAAE,CAAC,IAAI,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,eAAe,EAAE,eAAe,CAAC;YAAC,IAAI,EAAE,IAAI,CAAA;SAAE,CAAC,CAAC;QACvI,iBAAiB,EAAE,CAAC,IAAI,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC;YAAE,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACvF,CAAC;CACH,CAAA;AAUD,qBAAa,cAAe,SAAQ,OAAO;IACzC,QAAQ,EAAG,OAAO,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;gBAER,CAAC,CAAC,EAAE,qBAAqB;IAmBrC,KAAK,0BAA8B,MAAM,+DAGxC;IAED,IAAI,0BAA8B,MAAM,iEAGvC;IAED,MAAM,0BAA8B,MAAM,iEAGzC;IAED,OAAO,0BAA8B,MAAM,+DAG1C;IAED,kBAAkB;mBAA+C,MAAM;iBAAW,OAAO;;;;;;OAYxF;IAED,YAAY,UAAiB,MAAM,YAAY,MAAM;;;;;OAEpD;IAED,eAAe;;;;;OAGd;IAED,gCAAgC;;;;;mBAM/B;IAED,MAAM,sBAGL;CACF"}
@@ -14,6 +14,17 @@ var __extends = (this && this.__extends) || (function () {
14
14
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
15
  };
16
16
  })();
17
+ var __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
17
28
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
29
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
30
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -51,26 +62,97 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
51
62
  }
52
63
  };
53
64
  Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.EnduserSession = void 0;
65
+ exports.EnduserSession = exports.defaultQueries = void 0;
55
66
  var socket_io_client_1 = require("socket.io-client");
56
67
  var session_1 = require("./session");
68
+ var utilities_1 = require("@tellescope/utilities");
69
+ var defaultQueries = function (s, n) {
70
+ var safeName = (0, utilities_1.url_safe_path)(n);
71
+ var singularName = (safeName).substring(0, safeName.length - 1);
72
+ return {
73
+ createOne: function (o) { return s._POST("/v1/" + singularName, o); },
74
+ createSome: function (os) { return s._POST("/v1/" + safeName, { create: os }); },
75
+ getOne: function (id, filter) { return s._GET("/v1/" + singularName + "/" + id, { filter: filter }); },
76
+ getSome: function (o) { return s._GET("/v1/" + safeName, o); },
77
+ updateOne: function (id, updates, options) { return s._PATCH("/v1/" + singularName + "/" + id, { updates: updates, options: options }); },
78
+ deleteOne: function (id) { return s._DELETE("/v1/" + singularName + "/" + id); },
79
+ };
80
+ };
81
+ exports.defaultQueries = defaultQueries;
57
82
  var loadDefaultQueries = function (s) { return ({
58
- chat_rooms: (0, session_1.defaultQueries)(s, 'chat_rooms'),
59
- chats: (0, session_1.defaultQueries)(s, 'chats'),
83
+ chat_rooms: (0, exports.defaultQueries)(s, 'chat_rooms'),
84
+ chats: (0, exports.defaultQueries)(s, 'chats'),
85
+ files: (0, exports.defaultQueries)(s, 'files'),
60
86
  }); };
61
87
  var EnduserSession = /** @class */ (function (_super) {
62
88
  __extends(EnduserSession, _super);
63
89
  function EnduserSession(o) {
64
- var _this = _super.call(this, o) || this;
65
- _this.session = new session_1.Session();
90
+ var _this = _super.call(this, __assign(__assign({}, o), { cacheKey: (o === null || o === void 0 ? void 0 : o.cacheKey) || "tellescope_enduser" })) || this;
91
+ _this._POST = function (endpoint, args, authenticated) {
92
+ if (authenticated === void 0) { authenticated = true; }
93
+ return __awaiter(_this, void 0, void 0, function () {
94
+ return __generator(this, function (_a) {
95
+ switch (_a.label) {
96
+ case 0: return [4 /*yield*/, this.refresh_session_if_expiring_soon()];
97
+ case 1:
98
+ _a.sent();
99
+ return [4 /*yield*/, this.POST(endpoint, args, authenticated)];
100
+ case 2: return [2 /*return*/, _a.sent()];
101
+ }
102
+ });
103
+ });
104
+ };
105
+ _this._GET = function (endpoint, params, authenticated) {
106
+ if (authenticated === void 0) { authenticated = true; }
107
+ return __awaiter(_this, void 0, void 0, function () {
108
+ return __generator(this, function (_a) {
109
+ switch (_a.label) {
110
+ case 0: return [4 /*yield*/, this.refresh_session_if_expiring_soon()];
111
+ case 1:
112
+ _a.sent();
113
+ return [4 /*yield*/, this.GET(endpoint, params, authenticated)];
114
+ case 2: return [2 /*return*/, _a.sent()];
115
+ }
116
+ });
117
+ });
118
+ };
119
+ _this._PATCH = function (endpoint, params, authenticated) {
120
+ if (authenticated === void 0) { authenticated = true; }
121
+ return __awaiter(_this, void 0, void 0, function () {
122
+ return __generator(this, function (_a) {
123
+ switch (_a.label) {
124
+ case 0: return [4 /*yield*/, this.refresh_session_if_expiring_soon()];
125
+ case 1:
126
+ _a.sent();
127
+ return [4 /*yield*/, this.PATCH(endpoint, params, authenticated)];
128
+ case 2: return [2 /*return*/, _a.sent()];
129
+ }
130
+ });
131
+ });
132
+ };
133
+ _this._DELETE = function (endpoint, args, authenticated) {
134
+ if (authenticated === void 0) { authenticated = true; }
135
+ return __awaiter(_this, void 0, void 0, function () {
136
+ return __generator(this, function (_a) {
137
+ switch (_a.label) {
138
+ case 0: return [4 /*yield*/, this.refresh_session_if_expiring_soon()];
139
+ case 1:
140
+ _a.sent();
141
+ return [4 /*yield*/, this.DELETE(endpoint, args, authenticated)];
142
+ case 2: return [2 /*return*/, _a.sent()];
143
+ }
144
+ });
145
+ });
146
+ };
66
147
  _this.handle_new_session = function (_a) {
67
148
  var authToken = _a.authToken, enduser = _a.enduser;
68
149
  return __awaiter(_this, void 0, void 0, function () {
69
150
  var _this = this;
70
151
  return __generator(this, function (_b) {
152
+ this.sessionStart = Date.now();
71
153
  this.setAuthToken(authToken);
72
- this.enduser = enduser;
73
- this.socket = (0, socket_io_client_1.io)(this.host + "/" + enduser.businessId + "/" + enduser.id, { transports: ['websocket'] }); // supporting polling requires sticky session at load balancer
154
+ this.setUserInfo(enduser);
155
+ this.socket = (0, socket_io_client_1.io)(this.host + "/" + enduser.businessId, { transports: ['websocket'] }); // supporting polling requires sticky session at load balancer
74
156
  this.socket.on('disconnect', function () { _this.socketAuthenticated = false; });
75
157
  this.socket.on('authenticated', function () { _this.socketAuthenticated = true; });
76
158
  this.socket.emit('authenticate', authToken);
@@ -89,15 +171,54 @@ var EnduserSession = /** @class */ (function (_super) {
89
171
  }
90
172
  });
91
173
  }); };
92
- _this.subscribe = function (rooms) { return _this.EMIT('join-rooms', { rooms: rooms }); };
93
- _this.handle_events = function (handlers) {
94
- for (var handler in handlers)
95
- _this.ON(handler, handlers[handler]);
96
- };
97
- _this.unsubscribe = function (roomIds) { return _this.EMIT('leave-rooms', { roomIds: roomIds }); };
98
- _this.enduser = {};
174
+ _this.refresh_session = function () { return __awaiter(_this, void 0, void 0, function () {
175
+ var _a, enduser, authToken;
176
+ return __generator(this, function (_b) {
177
+ switch (_b.label) {
178
+ case 0: return [4 /*yield*/, this.POST('/v1/refresh-enduser-session')];
179
+ case 1:
180
+ _a = _b.sent(), enduser = _a.enduser, authToken = _a.authToken;
181
+ return [2 /*return*/, this.handle_new_session({ authToken: authToken, enduser: enduser })];
182
+ }
183
+ });
184
+ }); };
185
+ _this.refresh_session_if_expiring_soon = function () { return __awaiter(_this, void 0, void 0, function () {
186
+ var elapsedSessionMS;
187
+ return __generator(this, function (_a) {
188
+ switch (_a.label) {
189
+ case 0:
190
+ elapsedSessionMS = Date.now() - (this.sessionStart || Date.now());
191
+ if (!(this.AUTO_REFRESH_MS < elapsedSessionMS)) return [3 /*break*/, 2];
192
+ return [4 /*yield*/, this.refresh_session()];
193
+ case 1: return [2 /*return*/, _a.sent()];
194
+ case 2: return [2 /*return*/];
195
+ }
196
+ });
197
+ }); };
198
+ _this.logout = function () { return __awaiter(_this, void 0, void 0, function () {
199
+ return __generator(this, function (_a) {
200
+ switch (_a.label) {
201
+ case 0:
202
+ this.clearState();
203
+ return [4 /*yield*/, this.api.endusers.logout().catch(console.error)];
204
+ case 1:
205
+ _a.sent();
206
+ return [2 /*return*/];
207
+ }
208
+ });
209
+ }); };
99
210
  _this.api = loadDefaultQueries(_this);
211
+ _this.api.endusers = {
212
+ logout: function () { return _this._POST('/v1/logout-enduser'); },
213
+ };
214
+ _this.api.users = {
215
+ display_names: function () { return _this._GET("/v1/user-display-names"); },
216
+ };
217
+ // files have defaultQueries
218
+ _this.api.files.prepare_file_upload = function (a) { return _this._POST("/v1/prepare-file-upload", a); };
219
+ _this.api.files.file_download_URL = function (a) { return _this._GET('/v1/file-download-URL', a); };
100
220
  return _this;
221
+ // if (this.authToken) this.refresh_session()
101
222
  }
102
223
  return EnduserSession;
103
224
  }(session_1.Session));
@@ -1 +1 @@
1
- {"version":3,"file":"enduser.js","sourceRoot":"","sources":["../../src/enduser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAqC;AAErC,qCAA6E;AAiB7E,IAAM,kBAAkB,GAAG,UAAC,CAAU,IAAuD,OAAA,CAAC;IAC5F,UAAU,EAAE,IAAA,wBAAc,EAAC,CAAC,EAAE,YAAY,CAAC;IAC3C,KAAK,EAAE,IAAA,wBAAc,EAAC,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC,EAH2F,CAG3F,CAAA;AAGF;IAAoC,kCAAO;IAKzC,wBAAY,CAAyB;QAArC,YACE,kBAAM,CAAC,CAAC,SAIT;QATD,aAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;QAWxB,wBAAkB,GAAG,UAAO,EAA+D;gBAA7D,SAAS,eAAA,EAAE,OAAO,aAAA;;;;oBAC9C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;oBAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;oBAEtB,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAE,EAAI,IAAI,CAAC,IAAI,SAAI,OAAO,CAAC,UAAU,SAAI,OAAO,CAAC,EAAI,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,8DAA8D;oBACnK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,cAAQ,KAAI,CAAC,mBAAmB,GAAG,KAAK,CAAA,CAAC,CAAC,CAAC,CAAA;oBACxE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,cAAQ,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAA,CAAC,CAAC,CAAC,CAAA;oBAE1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAA;oBAE3C,sBAAO,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,EAAA;;;SAC9B,CAAA;QAED,kBAAY,GAAG,UAAO,KAAa,EAAE,QAAgB;;;;;wBAAK,KAAA,IAAI,CAAC,kBAAkB,CAAA;wBAC/E,qBAAM,IAAI,CAAC,IAAI,CAA8E,mBAAmB,EAAE,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAA;4BAD9E,sBAAA,SAAA,IAAI,GAC5D,SAAsI,EACvI,EAAA;;;aAAA,CAAA;QAED,eAAS,GAAG,UAAC,KAAoD,IAAM,OAAA,KAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,OAAA,EAAE,CAAC,EAAlC,CAAkC,CAAA;QAEzG,mBAAa,GAAG,UAAE,QAA+C;YAC/D,KAAK,IAAM,OAAO,IAAI,QAAQ;gBAAE,KAAI,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QACrE,CAAC,CAAA;QAED,iBAAW,GAAG,UAAC,OAAiB,IAAK,OAAA,KAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,SAAA,EAAE,CAAC,EAArC,CAAqC,CAAA;QA5BxE,KAAI,CAAC,OAAO,GAAG,EAAa,CAAA;QAE5B,KAAI,CAAC,GAAG,GAAG,kBAAkB,CAAC,KAAI,CAAY,CAAA;;IAChD,CAAC;IA0BH,qBAAC;AAAD,CAAC,AApCD,CAAoC,iBAAO,GAoC1C;AApCY,wCAAc"}
1
+ {"version":3,"file":"enduser.js","sourceRoot":"","sources":["../../src/enduser.ts"],"names":[],"mappings":"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"}