@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.
- package/lib/auth/index.d.mts +9 -0
- package/lib/auth/index.d.ts +9 -0
- package/lib/auth/index.js +141 -0
- package/lib/auth/index.mjs +104 -0
- package/lib/constants/endpoints.d.mts +5 -0
- package/lib/constants/endpoints.d.ts +5 -0
- package/lib/constants/endpoints.js +31 -0
- package/lib/constants/endpoints.mjs +7 -0
- package/lib/index.d.mts +8 -578
- package/lib/index.d.ts +8 -578
- package/lib/methods/dom/index.d.mts +2 -0
- package/lib/methods/dom/index.d.ts +2 -0
- package/lib/methods/dom/index.js +0 -0
- package/lib/methods/dom/index.mjs +0 -0
- package/lib/methods/dom/main-dom.d.mts +14 -0
- package/lib/methods/dom/main-dom.d.ts +14 -0
- package/lib/methods/dom/main-dom.js +13766 -0
- package/lib/methods/dom/main-dom.mjs +13749 -0
- package/lib/methods/dom/methods.d.mts +12 -0
- package/lib/methods/dom/methods.d.ts +12 -0
- package/lib/methods/dom/methods.js +13972 -0
- package/lib/methods/dom/methods.mjs +13943 -0
- package/lib/methods/index.d.mts +79 -0
- package/lib/methods/index.d.ts +79 -0
- package/lib/methods/index.js +14861 -0
- package/lib/methods/index.mjs +14832 -0
- package/lib/methods/requests/index.d.mts +72 -0
- package/lib/methods/requests/index.d.ts +72 -0
- package/lib/methods/requests/index.js +912 -0
- package/lib/methods/requests/index.mjs +878 -0
- package/lib/methods/requests/requests.d.mts +31 -0
- package/lib/methods/requests/requests.d.ts +31 -0
- package/lib/methods/requests/requests.js +173 -0
- package/lib/methods/requests/requests.mjs +140 -0
- package/lib/types/index.d.mts +3 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.js +17 -0
- package/lib/types/index.mjs +0 -0
- package/lib/types/params.d.mts +206 -0
- package/lib/types/params.d.ts +206 -0
- package/lib/types/params.js +17 -0
- package/lib/types/params.mjs +0 -0
- package/lib/types/payloads.d.mts +64 -0
- package/lib/types/payloads.d.ts +64 -0
- package/lib/types/payloads.js +17 -0
- package/lib/types/payloads.mjs +0 -0
- package/lib/types/utils/payloads.d.mts +296 -0
- package/lib/types/utils/payloads.d.ts +296 -0
- package/lib/types/utils/payloads.js +17 -0
- package/lib/types/utils/payloads.mjs +0 -0
- package/lib/utils/cookies.d.mts +7 -0
- package/lib/utils/cookies.d.ts +7 -0
- package/lib/utils/cookies.js +120 -0
- package/lib/utils/cookies.mjs +85 -0
- package/lib/utils/defaultMessageBox.d.mts +5 -0
- package/lib/utils/defaultMessageBox.d.ts +5 -0
- package/lib/utils/defaultMessageBox.js +119 -0
- package/lib/utils/defaultMessageBox.mjs +93 -0
- 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
|
+
};
|