@abtnode/blocklet-services 1.16.8-beta-ca58a421 → 1.16.8-beta-0c0c5eb2
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/api/routes/user.js +32 -16
- package/api/validators/login.js +3 -3
- package/build/asset-manifest.json +5 -5
- package/build/index.html +1 -1
- package/build/static/js/343.0b145b64.chunk.js +2 -0
- package/build/static/js/{main.255c0179.js → main.0006cb61.js} +3 -3
- package/package.json +16 -16
- package/build/static/js/343.9ca4b069.chunk.js +0 -2
- /package/build/static/js/{main.255c0179.js.LICENSE.txt → main.0006cb61.js.LICENSE.txt} +0 -0
package/api/routes/user.js
CHANGED
|
@@ -12,6 +12,7 @@ const { getAvatarByUrl } = require('../libs/auth/utils');
|
|
|
12
12
|
const { ApiError } = require('../util/error');
|
|
13
13
|
const { loginWalletSchema, loginOAuthSchema } = require('../validators/login');
|
|
14
14
|
const verifySig = require('../middlewares/verify-sig');
|
|
15
|
+
const { getAvatarByEmail } = require('../libs/auth/utils');
|
|
15
16
|
|
|
16
17
|
const PREFIX = WELLKNOWN_SERVICE_PATH_PREFIX;
|
|
17
18
|
|
|
@@ -45,18 +46,31 @@ async function checkUserEnable(user, { locale }) {
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
async function composeProfileData({ avatar, fullName, email }, { node, req, teamDid }) {
|
|
49
|
+
async function composeProfileData({ avatar, fullName, email }, { node, req, teamDid, isCreate = false }) {
|
|
49
50
|
const profile = {};
|
|
51
|
+
let avatarLocal;
|
|
52
|
+
if (email) {
|
|
53
|
+
profile.email = email;
|
|
54
|
+
// 创建模式下,需要对 avatar 和 fullname 做一个 fallback,同时对 wallet 和 oauth 用户生效
|
|
55
|
+
if (isCreate) {
|
|
56
|
+
if (!avatar) {
|
|
57
|
+
avatarLocal = await getAvatarByEmail(email);
|
|
58
|
+
}
|
|
59
|
+
if (!fullName) {
|
|
60
|
+
profile.fullName = email;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
50
64
|
if (avatar) {
|
|
51
|
-
|
|
65
|
+
avatarLocal = await getAvatarByUrl(avatar);
|
|
66
|
+
}
|
|
67
|
+
if (avatarLocal) {
|
|
52
68
|
const nodeInfo = await req.getNodeInfo();
|
|
53
69
|
const { dataDir } = await getApplicationInfo({ node, nodeInfo, teamDid });
|
|
54
|
-
avatarLocal = await extractUserAvatar(
|
|
70
|
+
avatarLocal = await extractUserAvatar(avatarLocal, { dataDir });
|
|
55
71
|
profile.avatar = avatarLocal;
|
|
56
72
|
}
|
|
57
|
-
|
|
58
|
-
profile.email = email;
|
|
59
|
-
}
|
|
73
|
+
|
|
60
74
|
if (fullName) {
|
|
61
75
|
profile.fullName = fullName;
|
|
62
76
|
}
|
|
@@ -92,20 +106,21 @@ async function loginWallet(
|
|
|
92
106
|
},
|
|
93
107
|
});
|
|
94
108
|
|
|
109
|
+
let profile;
|
|
95
110
|
if (currentUser) {
|
|
96
111
|
await checkUserEnable(currentUser, { locale });
|
|
112
|
+
profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid });
|
|
97
113
|
} else {
|
|
98
|
-
await checkNeedInvite(req, node, teamDid, componentId, locale);
|
|
114
|
+
await checkNeedInvite({ req, node, teamDid, componentId, locale });
|
|
115
|
+
profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid, isCreate: true });
|
|
99
116
|
}
|
|
100
117
|
|
|
101
|
-
const profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid });
|
|
102
|
-
|
|
103
118
|
const lastLoginIp = req.get('x-real-ip');
|
|
104
119
|
const doc = await node.loginUser({
|
|
105
120
|
teamDid,
|
|
106
121
|
user: {
|
|
107
|
-
did: currentUser
|
|
108
|
-
pk: currentUser
|
|
122
|
+
did: currentUser?.did || pk,
|
|
123
|
+
pk: currentUser?.pk || did,
|
|
109
124
|
locale,
|
|
110
125
|
lastLoginIp,
|
|
111
126
|
connectedAccount: { provider, did, pk },
|
|
@@ -114,7 +129,6 @@ async function loginWallet(
|
|
|
114
129
|
});
|
|
115
130
|
|
|
116
131
|
// NOTICE: 使用 provider: wallet 登录的账号,其账号是由 wallet 产生的,所以不需要到链上 declare 了
|
|
117
|
-
|
|
118
132
|
return doc;
|
|
119
133
|
}
|
|
120
134
|
|
|
@@ -148,20 +162,22 @@ async function loginOAuth(
|
|
|
148
162
|
},
|
|
149
163
|
});
|
|
150
164
|
|
|
165
|
+
let profile;
|
|
151
166
|
if (currentUser) {
|
|
152
167
|
await checkUserEnable(currentUser, { locale });
|
|
168
|
+
profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid });
|
|
153
169
|
} else {
|
|
154
|
-
await checkNeedInvite(req, node, teamDid, componentId, locale);
|
|
170
|
+
await checkNeedInvite({ req, node, teamDid, componentId, locale });
|
|
171
|
+
profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid, isCreate: true });
|
|
155
172
|
}
|
|
156
|
-
const profile = await composeProfileData({ avatar, email, fullName }, { node, req, teamDid });
|
|
157
173
|
|
|
158
174
|
const lastLoginIp = req.get('x-real-ip');
|
|
159
175
|
|
|
160
176
|
const doc = await node.loginUser({
|
|
161
177
|
teamDid,
|
|
162
178
|
user: {
|
|
163
|
-
did: currentUser
|
|
164
|
-
pk: currentUser
|
|
179
|
+
did: currentUser?.did || userDid,
|
|
180
|
+
pk: currentUser?.pk || userPk,
|
|
165
181
|
locale,
|
|
166
182
|
lastLoginIp,
|
|
167
183
|
connectedAccount: { provider, id, did: userDid, pk: userPk },
|
package/api/validators/login.js
CHANGED
|
@@ -4,17 +4,17 @@ const loginWalletSchema = Joi.object({
|
|
|
4
4
|
provider: 'wallet',
|
|
5
5
|
did: Joi.DID().trim().required(),
|
|
6
6
|
pk: Joi.string().required(),
|
|
7
|
-
avatar: Joi.string().optional(),
|
|
8
7
|
email: Joi.string().optional(),
|
|
8
|
+
avatar: Joi.string().optional(),
|
|
9
9
|
fullName: Joi.string().optional(),
|
|
10
10
|
}).empty(null);
|
|
11
11
|
|
|
12
12
|
const loginOAuthSchema = Joi.object({
|
|
13
13
|
provider: Joi.string().allow('auth0'),
|
|
14
14
|
id: Joi.string().required(),
|
|
15
|
-
avatar: Joi.string().required(),
|
|
16
15
|
email: Joi.string().required(),
|
|
17
|
-
|
|
16
|
+
avatar: Joi.string().optional(),
|
|
17
|
+
fullName: Joi.string().optional(),
|
|
18
18
|
}).empty(null);
|
|
19
19
|
|
|
20
20
|
exports.loginWalletSchema = loginWalletSchema;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
3
|
"main.css": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css",
|
|
4
|
-
"main.js": "/.blocklet/proxy/blocklet-service/static/js/main.
|
|
4
|
+
"main.js": "/.blocklet/proxy/blocklet-service/static/js/main.0006cb61.js",
|
|
5
5
|
"static/js/716.0d2a2d32.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/716.0d2a2d32.chunk.js",
|
|
6
6
|
"static/js/359.c47779c2.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/359.c47779c2.chunk.js",
|
|
7
7
|
"static/js/255.279b1bca.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/255.279b1bca.chunk.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"static/js/460.4763afe0.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/460.4763afe0.chunk.js",
|
|
11
11
|
"static/js/868.ac8df3a0.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/868.ac8df3a0.chunk.js",
|
|
12
12
|
"static/js/547.03d5d719.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/547.03d5d719.chunk.js",
|
|
13
|
-
"static/js/343.
|
|
13
|
+
"static/js/343.0b145b64.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/343.0b145b64.chunk.js",
|
|
14
14
|
"static/js/682.a8bf723a.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/682.a8bf723a.chunk.js",
|
|
15
15
|
"static/js/711.56427a24.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/711.56427a24.chunk.js",
|
|
16
16
|
"static/js/437.075e8453.chunk.js": "/.blocklet/proxy/blocklet-service/static/js/437.075e8453.chunk.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"router-template-styles/styles.css": "/.blocklet/proxy/blocklet-service/router-template-styles/styles.css",
|
|
46
46
|
"index.html": "/.blocklet/proxy/blocklet-service/index.html",
|
|
47
47
|
"main.632501d5.css.map": "/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css.map",
|
|
48
|
-
"main.
|
|
48
|
+
"main.0006cb61.js.map": "/.blocklet/proxy/blocklet-service/static/js/main.0006cb61.js.map",
|
|
49
49
|
"716.0d2a2d32.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/716.0d2a2d32.chunk.js.map",
|
|
50
50
|
"359.c47779c2.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/359.c47779c2.chunk.js.map",
|
|
51
51
|
"255.279b1bca.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/255.279b1bca.chunk.js.map",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
"460.4763afe0.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/460.4763afe0.chunk.js.map",
|
|
55
55
|
"868.ac8df3a0.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/868.ac8df3a0.chunk.js.map",
|
|
56
56
|
"547.03d5d719.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/547.03d5d719.chunk.js.map",
|
|
57
|
-
"343.
|
|
57
|
+
"343.0b145b64.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/343.0b145b64.chunk.js.map",
|
|
58
58
|
"682.a8bf723a.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/682.a8bf723a.chunk.js.map",
|
|
59
59
|
"711.56427a24.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/711.56427a24.chunk.js.map",
|
|
60
60
|
"437.075e8453.chunk.js.map": "/.blocklet/proxy/blocklet-service/static/js/437.075e8453.chunk.js.map",
|
|
@@ -70,6 +70,6 @@
|
|
|
70
70
|
},
|
|
71
71
|
"entrypoints": [
|
|
72
72
|
"static/css/main.632501d5.css",
|
|
73
|
-
"static/js/main.
|
|
73
|
+
"static/js/main.0006cb61.js"
|
|
74
74
|
]
|
|
75
75
|
}
|
package/build/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src=".well-known/service/api/env"></script><script src="/__blocklet__.js"></script><script defer="defer" src="/.blocklet/proxy/blocklet-service/static/js/main.
|
|
1
|
+
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/><meta name="theme-color" content="#000000"/><title>Blocklet Service</title><script src=".well-known/service/api/env"></script><script src="/__blocklet__.js"></script><script defer="defer" src="/.blocklet/proxy/blocklet-service/static/js/main.0006cb61.js"></script><link href="/.blocklet/proxy/blocklet-service/static/css/main.632501d5.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
|