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