@memberstack/dom 1.9.3 → 1.9.6
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.js +14 -20
- package/lib/index.d.ts +752 -32
- package/lib/methods/dom/main-dom.js +2344 -588
- package/lib/methods/dom/methods.d.ts +1 -1
- package/lib/methods/dom/methods.js +11 -18
- package/lib/methods/index.d.ts +754 -32
- package/lib/methods/index.js +4 -2
- package/lib/methods/requests/index.d.ts +4 -2
- package/lib/methods/requests/index.js +44 -28
- package/lib/methods/requests/requests.d.ts +3 -1
- package/lib/methods/requests/requests.js +17 -17
- package/lib/types/index.js +2 -6
- package/lib/types/utils/payloads.d.ts +16 -9
- package/lib/utils/cookies.js +3 -5
- package/package.json +1 -1
package/lib/methods/index.js
CHANGED
|
@@ -14,9 +14,11 @@ var methods = {
|
|
|
14
14
|
onAuthChange: auth_1.onAuthChange,
|
|
15
15
|
};
|
|
16
16
|
function init(props) {
|
|
17
|
-
var requests =
|
|
17
|
+
var requests = requests_1.initRequest({
|
|
18
18
|
publicKey: props.publicKey,
|
|
19
|
-
|
|
19
|
+
appId: props.appId,
|
|
20
|
+
sessionDurationDays: props.sessionDurationDays,
|
|
21
|
+
token: cookies_1.getMemberCookie(),
|
|
20
22
|
});
|
|
21
23
|
var allMethods = Object.assign(methods, requests);
|
|
22
24
|
if (typeof window !== "undefined") {
|
|
@@ -9,17 +9,19 @@ export interface GetCurrentMemberParams {
|
|
|
9
9
|
}
|
|
10
10
|
export interface ClientConfig {
|
|
11
11
|
publicKey: string;
|
|
12
|
+
sessionDurationDays?: number;
|
|
13
|
+
appId?: string;
|
|
12
14
|
token?: string;
|
|
13
15
|
customEndpoint?: string;
|
|
14
16
|
}
|
|
15
17
|
declare type BearerToken = string;
|
|
16
|
-
export declare const initRequest: ({ publicKey, token, customEndpoint, }: ClientConfig) => {
|
|
18
|
+
export declare const initRequest: ({ publicKey, appId, token, customEndpoint, sessionDurationDays }: ClientConfig) => {
|
|
17
19
|
getApp(): Promise<Payloads.AppPayload>;
|
|
18
20
|
getAuthProviders(): Promise<Payloads.AppPayload>;
|
|
19
21
|
loginMemberEmailPassword(params: Params.LoginMemberEmailPasswordParams): Promise<Payloads.LoginMemberEmailPasswordPayload>;
|
|
20
22
|
loginMemberAuthProvider(params: Params.LoginMemberAuthProviderParams): Promise<Payloads.LoginMemberAuthProviderPayload>;
|
|
21
23
|
getPlan(params: Params.GetPlanParams): Promise<Payloads.GetPlanPayload>;
|
|
22
|
-
getPlans(
|
|
24
|
+
getPlans(): Promise<Payloads.GetPlansPayload>;
|
|
23
25
|
getRestrictedUrlGroups(): Promise<Payloads.GetRestrictedUrlGroupsPayload>;
|
|
24
26
|
getCurrentMember(options?: GetCurrentMemberParams): Promise<Payloads.GetCurrentMemberPayload>;
|
|
25
27
|
getMemberJSON(options?: MemberstackOptions): Promise<Payloads.GetMemberJSONPayload>;
|
|
@@ -54,14 +54,15 @@ var jose_1 = require("jose");
|
|
|
54
54
|
var auth_1 = require("../../auth");
|
|
55
55
|
var cookies_1 = require("../../utils/cookies");
|
|
56
56
|
var addHeaders = function (options) { return (__assign({}, ((options === null || options === void 0 ? void 0 : options.token) && {
|
|
57
|
-
Authorization: "Bearer "
|
|
57
|
+
Authorization: "Bearer " + options.token,
|
|
58
58
|
}))); };
|
|
59
|
-
|
|
60
|
-
var publicKey = _a.publicKey, token = _a.token, customEndpoint = _a.customEndpoint;
|
|
61
|
-
var sendRequest =
|
|
59
|
+
exports.initRequest = function (_a) {
|
|
60
|
+
var publicKey = _a.publicKey, appId = _a.appId, token = _a.token, customEndpoint = _a.customEndpoint, sessionDurationDays = _a.sessionDurationDays;
|
|
61
|
+
var sendRequest = requests_1.createRequestHandler({
|
|
62
62
|
publicKey: publicKey,
|
|
63
63
|
token: token,
|
|
64
64
|
customEndpoint: customEndpoint,
|
|
65
|
+
appId: appId,
|
|
65
66
|
}).sendRequest;
|
|
66
67
|
return {
|
|
67
68
|
getApp: function () {
|
|
@@ -99,8 +100,8 @@ var initRequest = function (_a) {
|
|
|
99
100
|
})];
|
|
100
101
|
case 1:
|
|
101
102
|
data = _a.sent();
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
auth_1.setPersistedMember(data.data.member);
|
|
104
|
+
cookies_1.setMemberCookie(data.data.tokens.accessToken, sessionDurationDays);
|
|
104
105
|
return [2 /*return*/, data];
|
|
105
106
|
}
|
|
106
107
|
});
|
|
@@ -125,28 +126,44 @@ var initRequest = function (_a) {
|
|
|
125
126
|
return __generator(this, function (_a) {
|
|
126
127
|
return [2 /*return*/, sendRequest({
|
|
127
128
|
method: requests_2.HttpMethod.GET,
|
|
128
|
-
url: "/app/plans/"
|
|
129
|
+
url: "/app/plans/" + params.planId,
|
|
129
130
|
})];
|
|
130
131
|
});
|
|
131
132
|
});
|
|
132
133
|
},
|
|
133
|
-
getPlans: function (
|
|
134
|
+
getPlans: function () {
|
|
134
135
|
return __awaiter(this, void 0, void 0, function () {
|
|
136
|
+
var data;
|
|
135
137
|
return __generator(this, function (_a) {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
switch (_a.label) {
|
|
139
|
+
case 0: return [4 /*yield*/, sendRequest({
|
|
140
|
+
method: requests_2.HttpMethod.GET,
|
|
141
|
+
url: "/app",
|
|
142
|
+
})];
|
|
143
|
+
case 1:
|
|
144
|
+
data = (_a.sent()).data;
|
|
145
|
+
return [2 /*return*/, {
|
|
146
|
+
data: data.plans
|
|
147
|
+
}];
|
|
148
|
+
}
|
|
140
149
|
});
|
|
141
150
|
});
|
|
142
151
|
},
|
|
143
152
|
getRestrictedUrlGroups: function () {
|
|
144
153
|
return __awaiter(this, void 0, void 0, function () {
|
|
154
|
+
var data;
|
|
145
155
|
return __generator(this, function (_a) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
156
|
+
switch (_a.label) {
|
|
157
|
+
case 0: return [4 /*yield*/, sendRequest({
|
|
158
|
+
method: requests_2.HttpMethod.GET,
|
|
159
|
+
url: "/app",
|
|
160
|
+
})];
|
|
161
|
+
case 1:
|
|
162
|
+
data = (_a.sent()).data;
|
|
163
|
+
return [2 /*return*/, {
|
|
164
|
+
data: data.contentGroups
|
|
165
|
+
}];
|
|
166
|
+
}
|
|
150
167
|
});
|
|
151
168
|
});
|
|
152
169
|
},
|
|
@@ -160,7 +177,7 @@ var initRequest = function (_a) {
|
|
|
160
177
|
case 0: return [4 /*yield*/, getMemberRequest];
|
|
161
178
|
case 1:
|
|
162
179
|
data = _a.sent();
|
|
163
|
-
|
|
180
|
+
auth_1.updatePersistedMember(data.data);
|
|
164
181
|
return [2 /*return*/];
|
|
165
182
|
}
|
|
166
183
|
});
|
|
@@ -176,7 +193,7 @@ var initRequest = function (_a) {
|
|
|
176
193
|
// temp hacky solution
|
|
177
194
|
setMember();
|
|
178
195
|
if ((options === null || options === void 0 ? void 0 : options.useCache) === true) {
|
|
179
|
-
member =
|
|
196
|
+
member = auth_1.getPersistedMember();
|
|
180
197
|
return [2 /*return*/, { data: member }];
|
|
181
198
|
}
|
|
182
199
|
else {
|
|
@@ -227,10 +244,10 @@ var initRequest = function (_a) {
|
|
|
227
244
|
var queryParams;
|
|
228
245
|
return __generator(this, function (_a) {
|
|
229
246
|
queryParams = params &&
|
|
230
|
-
new URLSearchParams(__assign(__assign(__assign({}, (params.first && { first: ""
|
|
247
|
+
new URLSearchParams(__assign(__assign(__assign({}, (params.first && { first: "" + params.first })), (params.after && { after: params.after })), (params.order && { order: params.order })));
|
|
231
248
|
return [2 /*return*/, sendRequest({
|
|
232
249
|
method: requests_2.HttpMethod.GET,
|
|
233
|
-
url: "/member/invoices"
|
|
250
|
+
url: "/member/invoices" + ((queryParams === null || queryParams === void 0 ? void 0 : queryParams.toString().length) ? "?" + queryParams : ""),
|
|
234
251
|
headers: addHeaders(options),
|
|
235
252
|
})];
|
|
236
253
|
});
|
|
@@ -241,10 +258,10 @@ var initRequest = function (_a) {
|
|
|
241
258
|
var queryParams;
|
|
242
259
|
return __generator(this, function (_a) {
|
|
243
260
|
queryParams = params &&
|
|
244
|
-
new URLSearchParams(__assign(__assign(__assign({}, (params.first && { first: ""
|
|
261
|
+
new URLSearchParams(__assign(__assign(__assign({}, (params.first && { first: "" + params.first })), (params.after && { after: params.after })), (params.order && { order: params.order })));
|
|
245
262
|
return [2 /*return*/, sendRequest({
|
|
246
263
|
method: requests_2.HttpMethod.GET,
|
|
247
|
-
url: "/member/receipts"
|
|
264
|
+
url: "/member/receipts" + ((queryParams === null || queryParams === void 0 ? void 0 : queryParams.toString().length) ? "?" + queryParams : ""),
|
|
248
265
|
headers: addHeaders(options),
|
|
249
266
|
})];
|
|
250
267
|
});
|
|
@@ -255,7 +272,7 @@ var initRequest = function (_a) {
|
|
|
255
272
|
return __generator(this, function (_a) {
|
|
256
273
|
return [2 /*return*/, sendRequest({
|
|
257
274
|
method: requests_2.HttpMethod.GET,
|
|
258
|
-
url: "/member/planConnections/"
|
|
275
|
+
url: "/member/planConnections/" + params.planConnectionId + "/authentication-client-secret",
|
|
259
276
|
headers: addHeaders(options),
|
|
260
277
|
})];
|
|
261
278
|
});
|
|
@@ -505,8 +522,8 @@ var initRequest = function (_a) {
|
|
|
505
522
|
})];
|
|
506
523
|
case 1:
|
|
507
524
|
data = _a.sent();
|
|
508
|
-
|
|
509
|
-
|
|
525
|
+
auth_1.setPersistedMember(data.data.member);
|
|
526
|
+
cookies_1.setMemberCookie(data.data.tokens.accessToken, sessionDurationDays);
|
|
510
527
|
return [2 /*return*/, data];
|
|
511
528
|
}
|
|
512
529
|
});
|
|
@@ -572,7 +589,7 @@ var initRequest = function (_a) {
|
|
|
572
589
|
logout: function (options) {
|
|
573
590
|
return __awaiter(this, void 0, void 0, function () {
|
|
574
591
|
return __generator(this, function (_a) {
|
|
575
|
-
|
|
592
|
+
auth_1.unsetPersistedMember();
|
|
576
593
|
return [2 /*return*/, sendRequest({
|
|
577
594
|
method: requests_2.HttpMethod.POST,
|
|
578
595
|
url: "/member/logout",
|
|
@@ -605,11 +622,10 @@ var initRequest = function (_a) {
|
|
|
605
622
|
return __awaiter(this, void 0, void 0, function () {
|
|
606
623
|
var claims;
|
|
607
624
|
return __generator(this, function (_b) {
|
|
608
|
-
claims =
|
|
625
|
+
claims = jose_1.decodeJwt(token);
|
|
609
626
|
return [2 /*return*/, claims];
|
|
610
627
|
});
|
|
611
628
|
});
|
|
612
629
|
},
|
|
613
630
|
};
|
|
614
631
|
};
|
|
615
|
-
exports.initRequest = initRequest;
|
|
@@ -5,11 +5,13 @@ export declare enum HttpMethod {
|
|
|
5
5
|
export declare enum HttpHeaders {
|
|
6
6
|
AUTHORIZATION = "Authorization",
|
|
7
7
|
API_KEY = "X-API-Key",
|
|
8
|
+
APP_ID = "X-APP-ID",
|
|
8
9
|
API_VERSION = "X-API-Version",
|
|
9
10
|
USER_AGENT = "X-User-Agent"
|
|
10
11
|
}
|
|
11
|
-
export declare const createRequestHandler: ({ publicKey, token, customEndpoint, }: {
|
|
12
|
+
export declare const createRequestHandler: ({ publicKey, appId, token, customEndpoint, }: {
|
|
12
13
|
publicKey: any;
|
|
14
|
+
appId: any;
|
|
13
15
|
token: any;
|
|
14
16
|
customEndpoint: any;
|
|
15
17
|
}) => {
|
|
@@ -62,52 +62,52 @@ var HttpHeaders;
|
|
|
62
62
|
(function (HttpHeaders) {
|
|
63
63
|
HttpHeaders["AUTHORIZATION"] = "Authorization";
|
|
64
64
|
HttpHeaders["API_KEY"] = "X-API-Key";
|
|
65
|
+
HttpHeaders["APP_ID"] = "X-APP-ID";
|
|
65
66
|
HttpHeaders["API_VERSION"] = "X-API-Version";
|
|
66
67
|
HttpHeaders["USER_AGENT"] = "X-User-Agent";
|
|
67
68
|
})(HttpHeaders = exports.HttpHeaders || (exports.HttpHeaders = {}));
|
|
68
|
-
|
|
69
|
-
var publicKey = _a.publicKey, token = _a.token, customEndpoint = _a.customEndpoint;
|
|
69
|
+
exports.createRequestHandler = function (_a) {
|
|
70
|
+
var publicKey = _a.publicKey, appId = _a.appId, token = _a.token, customEndpoint = _a.customEndpoint;
|
|
70
71
|
return {
|
|
71
72
|
sendRequest: function (data, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
72
73
|
var url, authHeader, formattedUrl, res, e_1;
|
|
73
|
-
var _a;
|
|
74
|
-
var
|
|
75
|
-
return __generator(this, function (
|
|
76
|
-
switch (
|
|
74
|
+
var _a, _b, _c;
|
|
75
|
+
var _d, _e, _f, _g, _h, _j, _k, _l;
|
|
76
|
+
return __generator(this, function (_m) {
|
|
77
|
+
switch (_m.label) {
|
|
77
78
|
case 0:
|
|
78
|
-
|
|
79
|
+
_m.trys.push([0, 2, , 3]);
|
|
79
80
|
url = data.url;
|
|
80
81
|
authHeader = [
|
|
81
|
-
(
|
|
82
|
+
(_e = (_d = data.headers) === null || _d === void 0 ? void 0 : _d["Authorization"]) === null || _e === void 0 ? void 0 : _e.replace("Bearer ", ""),
|
|
82
83
|
token,
|
|
83
84
|
options === null || options === void 0 ? void 0 : options.token,
|
|
84
85
|
].find(function (x) { return x; });
|
|
85
|
-
formattedUrl = ""
|
|
86
|
-
return [4 /*yield*/,
|
|
86
|
+
formattedUrl = "" + (customEndpoint || endpoints_1.endpoints.API) + url;
|
|
87
|
+
return [4 /*yield*/, axios_1.default(__assign(__assign({}, data), { url: formattedUrl, headers: __assign(__assign(__assign(__assign({}, (authHeader && { authorization: "Bearer " + authHeader })), (publicKey && (_a = {}, _a[HttpHeaders.API_KEY] = publicKey, _a))), (appId && (_b = {}, _b[HttpHeaders.APP_ID] = appId, _b))), (_c = {}, _c[HttpHeaders.USER_AGENT] = "@memberstack/client@1.2.0", _c)), withCredentials: true }))];
|
|
87
88
|
case 1:
|
|
88
|
-
res =
|
|
89
|
-
if ((
|
|
89
|
+
res = _m.sent();
|
|
90
|
+
if ((_f = res === null || res === void 0 ? void 0 : res.headers) === null || _f === void 0 ? void 0 : _f["ms-mid"]) {
|
|
90
91
|
token = res.headers["ms-mid"];
|
|
91
92
|
}
|
|
92
|
-
if ((
|
|
93
|
+
if ((_g = res === null || res === void 0 ? void 0 : res.data) === null || _g === void 0 ? void 0 : _g.error) {
|
|
93
94
|
if (res.data.error.name === "JsonWebTokenError") {
|
|
94
95
|
throw {
|
|
95
96
|
code: "client/invalid-token",
|
|
96
97
|
message: "An invalid token has been provided. Please make sure the token is valid.",
|
|
97
98
|
};
|
|
98
99
|
}
|
|
99
|
-
throw (
|
|
100
|
+
throw (_h = res.data) === null || _h === void 0 ? void 0 : _h.error;
|
|
100
101
|
}
|
|
101
102
|
return [2 /*return*/, res === null || res === void 0 ? void 0 : res.data];
|
|
102
103
|
case 2:
|
|
103
|
-
e_1 =
|
|
104
|
+
e_1 = _m.sent();
|
|
104
105
|
if (!e_1.response)
|
|
105
106
|
throw e_1;
|
|
106
|
-
throw ((
|
|
107
|
+
throw ((_k = (_j = e_1.response) === null || _j === void 0 ? void 0 : _j.data) === null || _k === void 0 ? void 0 : _k.error) || ((_l = e_1.response) === null || _l === void 0 ? void 0 : _l.data);
|
|
107
108
|
case 3: return [2 /*return*/];
|
|
108
109
|
}
|
|
109
110
|
});
|
|
110
111
|
}); },
|
|
111
112
|
};
|
|
112
113
|
};
|
|
113
|
-
exports.createRequestHandler = createRequestHandler;
|
package/lib/types/index.js
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
9
5
|
}) : (function(o, m, k, k2) {
|
|
10
6
|
if (k2 === undefined) k2 = k;
|
|
11
7
|
o[k2] = m[k];
|
|
12
8
|
}));
|
|
13
9
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
15
11
|
};
|
|
16
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
13
|
__exportStar(require("./params"), exports);
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
declare type Domain = {
|
|
2
|
-
url: string;
|
|
3
|
-
verified: boolean;
|
|
4
|
-
};
|
|
5
1
|
export declare namespace Payload {
|
|
6
2
|
interface PaginatedResponse<T> {
|
|
7
3
|
hasNext: boolean;
|
|
@@ -18,14 +14,25 @@ export declare namespace Payload {
|
|
|
18
14
|
App: {
|
|
19
15
|
id: string;
|
|
20
16
|
name: string;
|
|
21
|
-
|
|
17
|
+
mode: "live" | "sandbox";
|
|
22
18
|
plans: Transforms["Plan"][];
|
|
23
|
-
|
|
19
|
+
contentGroups: Transforms["RestrictedUrlGroup"][];
|
|
20
|
+
customField: Transforms["CustomField"][];
|
|
21
|
+
branding: Transforms["Branding"];
|
|
22
|
+
};
|
|
23
|
+
Branding: {
|
|
24
|
+
logo: string;
|
|
25
|
+
colors: {
|
|
26
|
+
lightMode: {
|
|
27
|
+
primaryButton: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
24
30
|
};
|
|
25
31
|
RestrictedUrlGroup: {
|
|
26
32
|
id: string;
|
|
27
33
|
name: string;
|
|
28
34
|
key: string;
|
|
35
|
+
allowAllMembers: boolean;
|
|
29
36
|
redirect: string;
|
|
30
37
|
urls: {
|
|
31
38
|
url: string;
|
|
@@ -43,7 +50,6 @@ export declare namespace Payload {
|
|
|
43
50
|
};
|
|
44
51
|
member: Transforms["Member"];
|
|
45
52
|
redirect: string;
|
|
46
|
-
loginRedirect: string;
|
|
47
53
|
payment: {
|
|
48
54
|
requirePayment: string[];
|
|
49
55
|
requireAuthentication: string[];
|
|
@@ -57,6 +63,7 @@ export declare namespace Payload {
|
|
|
57
63
|
auth: {
|
|
58
64
|
email: string;
|
|
59
65
|
};
|
|
66
|
+
loginRedirect: string;
|
|
60
67
|
stripeCustomerId: string;
|
|
61
68
|
createdAt: string;
|
|
62
69
|
metaData: object;
|
|
@@ -148,10 +155,10 @@ export declare namespace Payload {
|
|
|
148
155
|
permissions: Transforms["Permission"][];
|
|
149
156
|
};
|
|
150
157
|
CustomField: {
|
|
151
|
-
|
|
158
|
+
order: number;
|
|
152
159
|
key: string;
|
|
153
160
|
label: string;
|
|
154
|
-
|
|
161
|
+
hidden: boolean;
|
|
155
162
|
};
|
|
156
163
|
MemberPlanConnection: {
|
|
157
164
|
id: string;
|
package/lib/utils/cookies.js
CHANGED
|
@@ -6,14 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getMemberCookie = exports.setMemberCookie = void 0;
|
|
7
7
|
var js_cookie_1 = __importDefault(require("js-cookie"));
|
|
8
8
|
var memberAuthCookie = "_ms-mid";
|
|
9
|
-
|
|
9
|
+
exports.setMemberCookie = function (token, expires) {
|
|
10
10
|
js_cookie_1.default.set(memberAuthCookie, token, {
|
|
11
|
-
expires: expires
|
|
11
|
+
expires: (expires && Number(expires)) || 3,
|
|
12
12
|
sameSite: "strict",
|
|
13
13
|
});
|
|
14
14
|
};
|
|
15
|
-
exports.
|
|
16
|
-
var getMemberCookie = function () {
|
|
15
|
+
exports.getMemberCookie = function () {
|
|
17
16
|
return js_cookie_1.default.get(memberAuthCookie);
|
|
18
17
|
};
|
|
19
|
-
exports.getMemberCookie = getMemberCookie;
|