@memberstack/dom 1.9.28 → 1.9.29

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 (59) hide show
  1. package/lib/auth/index.d.mts +9 -0
  2. package/lib/auth/index.d.ts +9 -0
  3. package/lib/auth/index.js +141 -0
  4. package/lib/auth/index.mjs +104 -0
  5. package/lib/constants/endpoints.d.mts +5 -0
  6. package/lib/constants/endpoints.d.ts +5 -0
  7. package/lib/constants/endpoints.js +31 -0
  8. package/lib/constants/endpoints.mjs +7 -0
  9. package/lib/index.d.mts +8 -578
  10. package/lib/index.d.ts +8 -578
  11. package/lib/methods/dom/index.d.mts +2 -0
  12. package/lib/methods/dom/index.d.ts +2 -0
  13. package/lib/methods/dom/index.js +0 -0
  14. package/lib/methods/dom/index.mjs +0 -0
  15. package/lib/methods/dom/main-dom.d.mts +14 -0
  16. package/lib/methods/dom/main-dom.d.ts +14 -0
  17. package/lib/methods/dom/main-dom.js +13766 -0
  18. package/lib/methods/dom/main-dom.mjs +13749 -0
  19. package/lib/methods/dom/methods.d.mts +12 -0
  20. package/lib/methods/dom/methods.d.ts +12 -0
  21. package/lib/methods/dom/methods.js +13972 -0
  22. package/lib/methods/dom/methods.mjs +13943 -0
  23. package/lib/methods/index.d.mts +79 -0
  24. package/lib/methods/index.d.ts +79 -0
  25. package/lib/methods/index.js +14861 -0
  26. package/lib/methods/index.mjs +14832 -0
  27. package/lib/methods/requests/index.d.mts +72 -0
  28. package/lib/methods/requests/index.d.ts +72 -0
  29. package/lib/methods/requests/index.js +912 -0
  30. package/lib/methods/requests/index.mjs +878 -0
  31. package/lib/methods/requests/requests.d.mts +31 -0
  32. package/lib/methods/requests/requests.d.ts +31 -0
  33. package/lib/methods/requests/requests.js +173 -0
  34. package/lib/methods/requests/requests.mjs +140 -0
  35. package/lib/types/index.d.mts +3 -0
  36. package/lib/types/index.d.ts +3 -0
  37. package/lib/types/index.js +17 -0
  38. package/lib/types/index.mjs +0 -0
  39. package/lib/types/params.d.mts +206 -0
  40. package/lib/types/params.d.ts +206 -0
  41. package/lib/types/params.js +17 -0
  42. package/lib/types/params.mjs +0 -0
  43. package/lib/types/payloads.d.mts +64 -0
  44. package/lib/types/payloads.d.ts +64 -0
  45. package/lib/types/payloads.js +17 -0
  46. package/lib/types/payloads.mjs +0 -0
  47. package/lib/types/utils/payloads.d.mts +296 -0
  48. package/lib/types/utils/payloads.d.ts +296 -0
  49. package/lib/types/utils/payloads.js +17 -0
  50. package/lib/types/utils/payloads.mjs +0 -0
  51. package/lib/utils/cookies.d.mts +7 -0
  52. package/lib/utils/cookies.d.ts +7 -0
  53. package/lib/utils/cookies.js +120 -0
  54. package/lib/utils/cookies.mjs +85 -0
  55. package/lib/utils/defaultMessageBox.d.mts +5 -0
  56. package/lib/utils/defaultMessageBox.d.ts +5 -0
  57. package/lib/utils/defaultMessageBox.js +119 -0
  58. package/lib/utils/defaultMessageBox.mjs +93 -0
  59. package/package.json +1 -1
@@ -0,0 +1,878 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __async = (__this, __arguments, generator) => {
21
+ return new Promise((resolve, reject) => {
22
+ var fulfilled = (value) => {
23
+ try {
24
+ step(generator.next(value));
25
+ } catch (e) {
26
+ reject(e);
27
+ }
28
+ };
29
+ var rejected = (value) => {
30
+ try {
31
+ step(generator.throw(value));
32
+ } catch (e) {
33
+ reject(e);
34
+ }
35
+ };
36
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
37
+ step((generator = generator.apply(__this, __arguments)).next());
38
+ });
39
+ };
40
+
41
+ // src/methods/requests/requests.ts
42
+ import axios from "axios";
43
+
44
+ // src/constants/endpoints.ts
45
+ var endpoints = {
46
+ API: process.env.API_ENDPOINT
47
+ };
48
+
49
+ // src/utils/cookies.ts
50
+ import Cookie from "js-cookie";
51
+ var memberAuthTokenName = "_ms-mid";
52
+ function isLocalStorageAvailable() {
53
+ try {
54
+ localStorage.setItem("test", "test");
55
+ localStorage.removeItem("test");
56
+ return true;
57
+ } catch (e) {
58
+ return false;
59
+ }
60
+ }
61
+ var localStorageAvailable = isLocalStorageAvailable();
62
+ var useCookies = false;
63
+ var setCookieOnRootDomain = false;
64
+ var setMemberToken = (token, expires) => {
65
+ if (localStorageAvailable && !useCookies) {
66
+ localStorage.setItem(memberAuthTokenName, token);
67
+ } else {
68
+ const domain = window.location.hostname.split(".").slice(-2).join(".");
69
+ Cookie.set(memberAuthTokenName, token, __spreadValues({
70
+ expires: expires && Number(expires) || 14,
71
+ sameSite: "strict"
72
+ }, setCookieOnRootDomain && { domain }));
73
+ }
74
+ };
75
+ var removeMemberToken = () => {
76
+ if (localStorageAvailable) {
77
+ localStorage.removeItem(memberAuthTokenName);
78
+ }
79
+ const domain = window.location.hostname.split(".").slice(-2).join(".");
80
+ Cookie.set(memberAuthTokenName, "", __spreadValues({
81
+ expires: -1,
82
+ sameSite: "strict"
83
+ }, setCookieOnRootDomain && { domain }));
84
+ Cookie.set(memberAuthTokenName, "", {
85
+ expires: -1,
86
+ sameSite: "strict"
87
+ });
88
+ };
89
+ var getMemberToken = () => {
90
+ if (localStorageAvailable && !useCookies) {
91
+ const memAuthToken = localStorage.getItem(memberAuthTokenName);
92
+ if (memAuthToken)
93
+ return memAuthToken;
94
+ }
95
+ return Cookie.get(memberAuthTokenName);
96
+ };
97
+
98
+ // src/methods/requests/requests.ts
99
+ var createRequestHandler = ({
100
+ publicKey,
101
+ appId,
102
+ token,
103
+ customEndpoint
104
+ }) => {
105
+ return {
106
+ sendRequest: (data, options) => __async(void 0, null, function* () {
107
+ var _a, _b, _c, _d, _e, _f, _g, _h;
108
+ try {
109
+ const { url } = data;
110
+ const memberToken = getMemberToken();
111
+ const authHeader = [
112
+ (_b = (_a = data.headers) == null ? void 0 : _a["Authorization"]) == null ? void 0 : _b.replace("Bearer ", ""),
113
+ memberToken,
114
+ options == null ? void 0 : options.token
115
+ ].find((x) => x);
116
+ const formattedUrl = `${customEndpoint || endpoints.API}${url}`;
117
+ const res = yield axios({
118
+ method: data.method,
119
+ data: data.data,
120
+ url: formattedUrl,
121
+ headers: __spreadValues(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, authHeader && { authorization: `Bearer ${authHeader}` }), publicKey && { ["X-API-Key" /* API_KEY */]: publicKey }), appId && { ["X-APP-ID" /* APP_ID */]: appId }), {
122
+ ["X-User-Agent" /* USER_AGENT */]: "@memberstack/client@1.2.0"
123
+ }), data.contentType && { "Content-Type": data.contentType }),
124
+ withCredentials: true
125
+ });
126
+ if ((_c = res == null ? void 0 : res.headers) == null ? void 0 : _c["ms-mid"]) {
127
+ token = res.headers["ms-mid"];
128
+ }
129
+ if ((_d = res == null ? void 0 : res.data) == null ? void 0 : _d.error) {
130
+ if (res.data.error.name === "JsonWebTokenError") {
131
+ throw {
132
+ code: "client/invalid-token",
133
+ message: "An invalid token has been provided. Please make sure the token is valid."
134
+ };
135
+ }
136
+ throw (_e = res.data) == null ? void 0 : _e.error;
137
+ }
138
+ return res == null ? void 0 : res.data;
139
+ } catch (e) {
140
+ if (!e.response)
141
+ throw e;
142
+ throw ((_g = (_f = e.response) == null ? void 0 : _f.data) == null ? void 0 : _g.error) || ((_h = e.response) == null ? void 0 : _h.data);
143
+ }
144
+ })
145
+ };
146
+ };
147
+
148
+ // src/auth/index.ts
149
+ var createObservable = () => {
150
+ const observer = /* @__PURE__ */ new Map();
151
+ return {
152
+ subscribe: (key, fn) => {
153
+ if (typeof fn !== "function")
154
+ return;
155
+ return observer.set(key, fn);
156
+ },
157
+ unsubscribe: (key) => {
158
+ return observer.delete(key);
159
+ },
160
+ notify: (data) => {
161
+ return [...observer.values()].forEach((fn) => fn(data));
162
+ }
163
+ };
164
+ };
165
+ var observable = createObservable();
166
+ var getPersistedMember = () => {
167
+ return JSON.parse(localStorage == null ? void 0 : localStorage.getItem("_ms-mem"));
168
+ };
169
+ var setPersistedMember = (member) => {
170
+ if (member) {
171
+ const data = JSON.stringify(member);
172
+ if (data)
173
+ localStorage == null ? void 0 : localStorage.setItem("_ms-mem", data);
174
+ observable.notify(member);
175
+ }
176
+ };
177
+ var updatePersistedMember = (member) => {
178
+ if (member) {
179
+ const data = JSON.stringify(member);
180
+ if (data)
181
+ localStorage == null ? void 0 : localStorage.setItem("_ms-mem", data);
182
+ } else {
183
+ localStorage == null ? void 0 : localStorage.removeItem("_ms-mem");
184
+ removeMemberToken();
185
+ }
186
+ };
187
+ var unsetPersistedMember = () => {
188
+ localStorage == null ? void 0 : localStorage.removeItem("_ms-mem");
189
+ removeMemberToken();
190
+ observable.notify(null);
191
+ };
192
+
193
+ // src/methods/requests/index.ts
194
+ function getSessionDurationDays(unixTimestampMillis) {
195
+ const now = Date.now();
196
+ const differenceMillis = unixTimestampMillis - now;
197
+ return Math.ceil(differenceMillis / (24 * 60 * 60 * 1e3));
198
+ }
199
+ var addHeaders = (options) => __spreadValues({}, (options == null ? void 0 : options.token) && {
200
+ Authorization: `Bearer ${options.token}`
201
+ });
202
+ var promiseResolve;
203
+ var promiseReject;
204
+ var receiveMessage = (event) => {
205
+ var _a;
206
+ const { data, origin } = event;
207
+ if (API_ENDPOINT !== origin)
208
+ return;
209
+ if ((_a = data == null ? void 0 : data.data) == null ? void 0 : _a.member) {
210
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
211
+ setPersistedMember(data.data.member);
212
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
213
+ }
214
+ if (data == null ? void 0 : data.error) {
215
+ promiseReject(data.error);
216
+ }
217
+ promiseResolve(data);
218
+ };
219
+ var windowObjectReference = null;
220
+ var previousUrl = null;
221
+ var openSignInWindow = (url, name) => __async(void 0, null, function* () {
222
+ window.removeEventListener("message", receiveMessage);
223
+ const dualScreenLeft = window.screenLeft !== void 0 ? window.screenLeft : window.screenX;
224
+ const dualScreenTop = window.screenTop !== void 0 ? window.screenTop : window.screenY;
225
+ const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
226
+ const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
227
+ const systemZoom = width / window.screen.availWidth;
228
+ const left = (width - 600) / 2 / systemZoom + dualScreenLeft;
229
+ const top = (height - 700) / 2 / systemZoom + dualScreenTop;
230
+ const strWindowFeatures = `toolbar=no, menubar=no, width=${600 / systemZoom}, height=${700 / systemZoom}, top=${top}, left=${left}`;
231
+ if (windowObjectReference === null || windowObjectReference.closed) {
232
+ windowObjectReference = window.open(url, name, strWindowFeatures);
233
+ } else if (previousUrl !== url) {
234
+ windowObjectReference = window.open(url, name, strWindowFeatures);
235
+ windowObjectReference.focus();
236
+ } else {
237
+ windowObjectReference.focus();
238
+ }
239
+ window.addEventListener("message", (event) => receiveMessage(event), false);
240
+ previousUrl = url;
241
+ window.addEventListener("beforeunload", () => {
242
+ windowObjectReference == null ? void 0 : windowObjectReference.close();
243
+ });
244
+ return new Promise((resolve, reject) => {
245
+ promiseResolve = resolve;
246
+ promiseReject = reject;
247
+ });
248
+ });
249
+ var API_ENDPOINT;
250
+ var initRequest = ({
251
+ publicKey,
252
+ appId,
253
+ token,
254
+ domain
255
+ //sessionDurationDays
256
+ }) => {
257
+ const { sendRequest } = createRequestHandler({
258
+ publicKey,
259
+ token,
260
+ customEndpoint: domain,
261
+ appId
262
+ });
263
+ API_ENDPOINT = domain;
264
+ return {
265
+ postIsTyping(params) {
266
+ return __async(this, null, function* () {
267
+ return sendRequest({
268
+ method: "POST" /* POST */,
269
+ url: `/comments/posts/typing`,
270
+ data: {
271
+ channelKey: params.channelKey
272
+ }
273
+ });
274
+ });
275
+ },
276
+ getChannelInfo(params) {
277
+ return __async(this, null, function* () {
278
+ const queryParams = new URLSearchParams({
279
+ channelKey: params.channelKey
280
+ });
281
+ return sendRequest({
282
+ method: "GET" /* GET */,
283
+ url: `/comments/channels/info?${queryParams}`
284
+ });
285
+ });
286
+ },
287
+ getPosts(params) {
288
+ return __async(this, null, function* () {
289
+ const queryParams = new URLSearchParams(__spreadValues(__spreadValues(__spreadValues({
290
+ channelKey: params.channelKey
291
+ }, params.after && {
292
+ after: params.after
293
+ }), params.order && {
294
+ order: params.order
295
+ }), params.limit && {
296
+ limit: params.limit.toString()
297
+ }));
298
+ return sendRequest({
299
+ method: "GET" /* GET */,
300
+ url: `/comments/posts?${queryParams}`
301
+ });
302
+ });
303
+ },
304
+ getThreads(params) {
305
+ return __async(this, null, function* () {
306
+ const queryParams = new URLSearchParams(__spreadValues(__spreadValues(__spreadValues({
307
+ postId: params.postId
308
+ }, params.after && {
309
+ after: params.after
310
+ }), params.order && {
311
+ order: params.order
312
+ }), params.limit && {
313
+ limit: params.limit.toString()
314
+ }));
315
+ return sendRequest({
316
+ method: "GET" /* GET */,
317
+ url: `/comments/threads?${queryParams}`
318
+ });
319
+ });
320
+ },
321
+ createPost(params) {
322
+ return __async(this, null, function* () {
323
+ return sendRequest({
324
+ method: "POST" /* POST */,
325
+ url: `/comments/posts`,
326
+ data: {
327
+ channelKey: params.channelKey,
328
+ content: params.content
329
+ }
330
+ });
331
+ });
332
+ },
333
+ updatePost(params) {
334
+ return __async(this, null, function* () {
335
+ return sendRequest({
336
+ method: "PATCH" /* PATCH */,
337
+ url: `/comments/posts/${params.postId}/update`,
338
+ data: {
339
+ content: params.content
340
+ }
341
+ });
342
+ });
343
+ },
344
+ postVote(params) {
345
+ return __async(this, null, function* () {
346
+ return sendRequest({
347
+ method: "POST" /* POST */,
348
+ url: `/comments/posts/${params.postId}/vote`,
349
+ data: {
350
+ vote: params.vote
351
+ }
352
+ });
353
+ });
354
+ },
355
+ deletePost(params) {
356
+ return __async(this, null, function* () {
357
+ return sendRequest({
358
+ method: "DELETE" /* DELETE */,
359
+ url: `/comments/posts/${params.postId}`
360
+ });
361
+ });
362
+ },
363
+ createThread(params) {
364
+ return __async(this, null, function* () {
365
+ return sendRequest({
366
+ method: "POST" /* POST */,
367
+ url: `/comments/threads`,
368
+ data: {
369
+ postId: params.postId,
370
+ content: params.content
371
+ }
372
+ });
373
+ });
374
+ },
375
+ updateThread(params) {
376
+ return __async(this, null, function* () {
377
+ return sendRequest({
378
+ method: "PATCH" /* PATCH */,
379
+ url: `/comments/threads/${params.threadId}/update`,
380
+ data: {
381
+ content: params.content
382
+ }
383
+ });
384
+ });
385
+ },
386
+ // vote thread
387
+ threadVote(params) {
388
+ return __async(this, null, function* () {
389
+ return sendRequest({
390
+ method: "POST" /* POST */,
391
+ url: `/comments/threads/${params.threadId}/vote`,
392
+ data: {
393
+ vote: params.vote
394
+ }
395
+ });
396
+ });
397
+ },
398
+ deleteThread(params) {
399
+ return __async(this, null, function* () {
400
+ return sendRequest({
401
+ method: "DELETE" /* DELETE */,
402
+ url: `/comments/threads/${params.threadId}`
403
+ });
404
+ });
405
+ },
406
+ getSecureContent(params) {
407
+ return __async(this, null, function* () {
408
+ const data = yield sendRequest({
409
+ method: "POST" /* POST */,
410
+ url: "/secure-content",
411
+ data: {
412
+ contentId: params.contentId
413
+ }
414
+ });
415
+ return data;
416
+ });
417
+ },
418
+ signupWithProvider(params) {
419
+ return __async(this, null, function* () {
420
+ const customFields = encodeURIComponent(params.customFields ? JSON.stringify(params.customFields) : "{}");
421
+ const plans = encodeURIComponent(params.plans ? JSON.stringify(params.plans) : "[]");
422
+ const queryParams = new URLSearchParams(__spreadProps(__spreadValues({
423
+ provider: params.provider,
424
+ customFields,
425
+ plans,
426
+ appId
427
+ }, publicKey && {
428
+ publicKey
429
+ }), {
430
+ origin: window.location.hostname
431
+ }));
432
+ return openSignInWindow(`${domain}/auth-provider/signup?${queryParams}`, "signup");
433
+ });
434
+ },
435
+ loginWithProvider(params) {
436
+ return __async(this, null, function* () {
437
+ const queryParams = new URLSearchParams(__spreadProps(__spreadValues({
438
+ provider: params.provider,
439
+ appId
440
+ }, publicKey && {
441
+ publicKey
442
+ }), {
443
+ origin: window.location.hostname
444
+ }));
445
+ return openSignInWindow(`${domain}/auth-provider/login?${queryParams}`, "login");
446
+ });
447
+ },
448
+ connectProvider(params) {
449
+ return __async(this, null, function* () {
450
+ const queryParams = new URLSearchParams(__spreadProps(__spreadValues({
451
+ provider: params.provider,
452
+ appId
453
+ }, publicKey && {
454
+ publicKey
455
+ }), {
456
+ member: getMemberToken(),
457
+ origin: window.location.hostname
458
+ }));
459
+ return openSignInWindow(`${domain}/auth-provider/connect?${queryParams}`, "connect");
460
+ });
461
+ },
462
+ disconnectProvider(params) {
463
+ return __async(this, null, function* () {
464
+ return sendRequest({
465
+ method: "POST" /* POST */,
466
+ url: "/member/disconnect-provider",
467
+ data: {
468
+ provider: params.provider
469
+ }
470
+ });
471
+ });
472
+ },
473
+ getAppAndMember(params) {
474
+ return __async(this, null, function* () {
475
+ const queryParams = new URLSearchParams({
476
+ // @ts-ignore
477
+ includeSSOText: window == null ? void 0 : window.ssoUI
478
+ });
479
+ return sendRequest({
480
+ method: "GET" /* GET */,
481
+ url: `/app-member?${queryParams}`
482
+ });
483
+ });
484
+ },
485
+ getApp() {
486
+ return __async(this, null, function* () {
487
+ const queryParams = new URLSearchParams({
488
+ // @ts-ignore
489
+ includeSSOText: window == null ? void 0 : window.ssoUI
490
+ });
491
+ return sendRequest({
492
+ method: "GET" /* GET */,
493
+ url: `/app?${queryParams}`
494
+ });
495
+ });
496
+ },
497
+ loginMemberEmailPassword(params, options) {
498
+ return __async(this, null, function* () {
499
+ const data = yield sendRequest({
500
+ method: "POST" /* POST */,
501
+ url: `/auth/login`,
502
+ data: {
503
+ email: params.email,
504
+ password: params.password,
505
+ options
506
+ }
507
+ });
508
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
509
+ setPersistedMember(data.data.member);
510
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
511
+ return data;
512
+ });
513
+ },
514
+ sendMemberLoginPasswordlessEmail(params, options) {
515
+ return __async(this, null, function* () {
516
+ return yield sendRequest({
517
+ method: "POST" /* POST */,
518
+ url: `/auth/passwordless/login/send`,
519
+ data: {
520
+ email: params.email
521
+ }
522
+ });
523
+ });
524
+ },
525
+ sendMemberSignupPasswordlessEmail(params, options) {
526
+ return __async(this, null, function* () {
527
+ return yield sendRequest({
528
+ method: "POST" /* POST */,
529
+ url: `/auth/passwordless/signup/send`,
530
+ data: {
531
+ email: params.email
532
+ }
533
+ });
534
+ });
535
+ },
536
+ loginMemberPasswordless(params, options) {
537
+ return __async(this, null, function* () {
538
+ const data = yield sendRequest({
539
+ method: "POST" /* POST */,
540
+ url: `/auth/passwordless/login`,
541
+ data: {
542
+ passwordlessToken: params.passwordlessToken,
543
+ email: params.email,
544
+ options
545
+ }
546
+ });
547
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
548
+ setPersistedMember(data.data.member);
549
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
550
+ return data;
551
+ });
552
+ },
553
+ getPlan(params) {
554
+ return __async(this, null, function* () {
555
+ return sendRequest({
556
+ method: "GET" /* GET */,
557
+ url: `/app/plans/${params.planId}`
558
+ });
559
+ });
560
+ },
561
+ getPlans() {
562
+ return __async(this, null, function* () {
563
+ const { data } = yield sendRequest({
564
+ method: "GET" /* GET */,
565
+ url: `/app`
566
+ });
567
+ return {
568
+ data: data.plans
569
+ };
570
+ });
571
+ },
572
+ getRestrictedUrlGroups() {
573
+ return __async(this, null, function* () {
574
+ const { data } = yield sendRequest({
575
+ method: "GET" /* GET */,
576
+ url: `/app`
577
+ });
578
+ return {
579
+ data: data.contentGroups
580
+ };
581
+ });
582
+ },
583
+ getCurrentMember(options) {
584
+ return __async(this, null, function* () {
585
+ const getMemberRequest = sendRequest({
586
+ method: "GET" /* GET */,
587
+ url: `/member?${Math.floor(1e3 + Math.random() * 9e3)}`,
588
+ headers: addHeaders(options)
589
+ });
590
+ function setMember() {
591
+ return __async(this, null, function* () {
592
+ const data = yield getMemberRequest;
593
+ updatePersistedMember(data.data);
594
+ });
595
+ }
596
+ setMember();
597
+ if ((options == null ? void 0 : options.useCache) === true) {
598
+ const member = getPersistedMember();
599
+ return { data: member };
600
+ } else {
601
+ return getMemberRequest;
602
+ }
603
+ });
604
+ },
605
+ getMemberJSON(options) {
606
+ return __async(this, null, function* () {
607
+ return sendRequest({
608
+ method: "GET" /* GET */,
609
+ url: `/member/json`,
610
+ headers: addHeaders(options)
611
+ });
612
+ });
613
+ },
614
+ updateMemberJSON(params, options) {
615
+ return __async(this, null, function* () {
616
+ return sendRequest({
617
+ method: "POST" /* POST */,
618
+ url: `/member/json`,
619
+ data: {
620
+ json: params.json
621
+ },
622
+ headers: addHeaders(options)
623
+ });
624
+ });
625
+ },
626
+ addPlan(params, options) {
627
+ return __async(this, null, function* () {
628
+ return sendRequest({
629
+ method: "POST" /* POST */,
630
+ url: `/member/plans/add`,
631
+ data: {
632
+ planId: params.planId
633
+ },
634
+ headers: addHeaders(options)
635
+ });
636
+ });
637
+ },
638
+ purchasePlansWithCheckout(params, options) {
639
+ return __async(this, null, function* () {
640
+ function getRedirectURL(URL) {
641
+ let redirectUrl = window.location.href;
642
+ const urlParam = URL;
643
+ if (urlParam) {
644
+ if (urlParam.indexOf("http://") === 0 || urlParam.indexOf("https://") === 0) {
645
+ redirectUrl = urlParam;
646
+ } else {
647
+ redirectUrl = window.location.origin + urlParam;
648
+ }
649
+ }
650
+ return redirectUrl;
651
+ }
652
+ const success_url = params.successUrl ? getRedirectURL(params.successUrl) : void 0;
653
+ const cancel_url = getRedirectURL(params.cancelUrl);
654
+ const request = yield sendRequest({
655
+ method: "POST" /* POST */,
656
+ url: `/member/plans/create-checkout-session`,
657
+ data: {
658
+ priceId: params.priceId,
659
+ couponId: params.couponId,
660
+ //window.location requires dom
661
+ success_url,
662
+ cancel_url,
663
+ origin_url: window.location.href
664
+ },
665
+ headers: addHeaders(options)
666
+ });
667
+ if (params.autoRedirect === false) {
668
+ return request;
669
+ }
670
+ window.location.href = request.data.url;
671
+ });
672
+ },
673
+ // used for plan updates
674
+ launchStripeCustomerPortal(params, options) {
675
+ return __async(this, null, function* () {
676
+ function getRedirectURL(URL) {
677
+ let redirectUrl = window.location.href;
678
+ const urlParam = URL;
679
+ if (urlParam) {
680
+ if (urlParam.indexOf("http://") === 0 || urlParam.indexOf("https://") === 0) {
681
+ redirectUrl = urlParam;
682
+ } else {
683
+ redirectUrl = window.location.origin + urlParam;
684
+ }
685
+ }
686
+ return redirectUrl;
687
+ }
688
+ const returnUrl = (params == null ? void 0 : params.returnUrl) ? getRedirectURL(params.returnUrl) : void 0;
689
+ const request = yield sendRequest({
690
+ method: "POST" /* POST */,
691
+ url: `/member/create-billing-portal-session`,
692
+ data: __spreadValues({
693
+ //window.location requires dom
694
+ return_url: returnUrl,
695
+ origin_url: window.location.href
696
+ }, params && {
697
+ priceIds: params.priceIds,
698
+ configuration: params.configuration
699
+ }),
700
+ headers: addHeaders(options)
701
+ });
702
+ if ((params == null ? void 0 : params.autoRedirect) === false) {
703
+ return request;
704
+ }
705
+ window.location.href = request.data.url;
706
+ });
707
+ },
708
+ removePlan(params, options) {
709
+ return __async(this, null, function* () {
710
+ return sendRequest({
711
+ method: "POST" /* POST */,
712
+ url: `/member/plans/remove`,
713
+ data: {
714
+ planId: params.planId
715
+ },
716
+ headers: addHeaders(options)
717
+ });
718
+ });
719
+ },
720
+ updateMember(params, options) {
721
+ return __async(this, null, function* () {
722
+ return sendRequest({
723
+ method: "POST" /* POST */,
724
+ url: `/member`,
725
+ data: __spreadValues({}, params.customFields && { customFields: params.customFields }),
726
+ headers: addHeaders(options)
727
+ });
728
+ });
729
+ },
730
+ updateMemberAuth(params, options) {
731
+ return __async(this, null, function* () {
732
+ return sendRequest({
733
+ method: "POST" /* POST */,
734
+ url: `/member-auth`,
735
+ data: __spreadValues(__spreadValues(__spreadValues({}, params.email && { email: params.email }), params.oldPassword && { oldPassword: params.oldPassword }), params.newPassword && { newPassword: params.newPassword }),
736
+ headers: addHeaders(options)
737
+ });
738
+ });
739
+ },
740
+ setPassword(params, options) {
741
+ return __async(this, null, function* () {
742
+ return sendRequest({
743
+ method: "POST" /* POST */,
744
+ url: `/member/set-password`,
745
+ data: {
746
+ password: params.password
747
+ },
748
+ headers: addHeaders(options)
749
+ });
750
+ });
751
+ },
752
+ signupMemberPasswordless(params, options) {
753
+ return __async(this, null, function* () {
754
+ var _a2, _b;
755
+ const data = yield sendRequest({
756
+ method: "POST" /* POST */,
757
+ url: `/auth/signup?isPasswordless=true`,
758
+ data: __spreadValues(__spreadProps(__spreadValues({
759
+ email: params.email,
760
+ customFields: params.customFields,
761
+ passwordlessToken: params.passwordlessToken,
762
+ metaData: params.metaData
763
+ }, params.plans && { plans: params.plans }), {
764
+ //internal use only
765
+ origin_domain: window.location.origin,
766
+ options
767
+ }), ((_a2 = window.Rewardful) == null ? void 0 : _a2.referral) && {
768
+ rewardfulData: {
769
+ // @ts-ignore
770
+ referral: window.Rewardful.referral,
771
+ // @ts-ignore
772
+ coupon: (_b = window.Rewardful.coupon) == null ? void 0 : _b.id
773
+ }
774
+ })
775
+ });
776
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
777
+ setPersistedMember(data.data.member);
778
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
779
+ return data;
780
+ });
781
+ },
782
+ signupMemberEmailPassword(params, options) {
783
+ return __async(this, null, function* () {
784
+ var _a2, _b;
785
+ const data = yield sendRequest({
786
+ method: "POST" /* POST */,
787
+ url: `/auth/signup`,
788
+ data: __spreadValues(__spreadProps(__spreadValues({
789
+ email: params.email,
790
+ password: params.password,
791
+ customFields: params.customFields,
792
+ metaData: params.metaData,
793
+ captchaToken: params.captchaToken
794
+ }, params.plans && { plans: params.plans }), {
795
+ //internal use only
796
+ origin_domain: window.location.origin,
797
+ options
798
+ }), ((_a2 = window.Rewardful) == null ? void 0 : _a2.referral) && {
799
+ rewardfulData: {
800
+ // @ts-ignore
801
+ referral: window.Rewardful.referral,
802
+ // @ts-ignore
803
+ coupon: (_b = window.Rewardful.coupon) == null ? void 0 : _b.id
804
+ }
805
+ })
806
+ });
807
+ const sessionDurationDays = getSessionDurationDays(data.data.tokens.expires);
808
+ setPersistedMember(data.data.member);
809
+ setMemberToken(data.data.tokens.accessToken, sessionDurationDays);
810
+ return data;
811
+ });
812
+ },
813
+ updateMemberProfileImage(params) {
814
+ return __async(this, null, function* () {
815
+ if (params.profileImage) {
816
+ const formData = new FormData();
817
+ formData.append("profileImage", params.profileImage);
818
+ return sendRequest({
819
+ method: "POST" /* POST */,
820
+ url: `/member/profile-image`,
821
+ data: formData,
822
+ contentType: "multipart/form-data"
823
+ });
824
+ }
825
+ });
826
+ },
827
+ sendMemberVerificationEmail() {
828
+ return __async(this, null, function* () {
829
+ return sendRequest({
830
+ method: "POST" /* POST */,
831
+ url: `/auth/send-email-verification`,
832
+ data: {
833
+ //internal use only
834
+ origin_domain: window.location.origin
835
+ }
836
+ });
837
+ });
838
+ },
839
+ sendMemberResetPasswordEmail(params) {
840
+ return __async(this, null, function* () {
841
+ return sendRequest({
842
+ method: "POST" /* POST */,
843
+ url: `/auth/send-reset-password-email`,
844
+ data: {
845
+ email: params.email
846
+ }
847
+ });
848
+ });
849
+ },
850
+ resetMemberPassword(params) {
851
+ return __async(this, null, function* () {
852
+ return sendRequest({
853
+ method: "POST" /* POST */,
854
+ url: `/auth/reset-password`,
855
+ data: {
856
+ token: params.token,
857
+ newPassword: params.newPassword
858
+ }
859
+ });
860
+ });
861
+ },
862
+ logout(options) {
863
+ return __async(this, null, function* () {
864
+ const data = yield sendRequest({
865
+ method: "POST" /* POST */,
866
+ url: `/member/logout`,
867
+ headers: addHeaders(options)
868
+ });
869
+ unsetPersistedMember();
870
+ return data;
871
+ });
872
+ }
873
+ };
874
+ };
875
+ export {
876
+ getSessionDurationDays,
877
+ initRequest
878
+ };