@abtnode/util 1.16.13 → 1.16.14-beta-0c29907f
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/user.js +70 -1
- package/package.json +9 -9
package/lib/user.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
const path = require('path');
|
|
2
2
|
const fs = require('fs-extra');
|
|
3
|
+
const joinUrl = require('url-join');
|
|
3
4
|
const cloneDeep = require('lodash/cloneDeep');
|
|
4
5
|
|
|
5
|
-
const {
|
|
6
|
+
const {
|
|
7
|
+
USER_AVATAR_DIR,
|
|
8
|
+
WELLKNOWN_SERVICE_PATH_PREFIX,
|
|
9
|
+
USER_AVATAR_PATH_PREFIX,
|
|
10
|
+
USER_AVATAR_URL_PREFIX,
|
|
11
|
+
} = require('@abtnode/constant');
|
|
6
12
|
|
|
7
13
|
const md5 = require('./md5');
|
|
8
14
|
const axios = require('./axios');
|
|
@@ -10,6 +16,66 @@ const axios = require('./axios');
|
|
|
10
16
|
const getAvatarFile = (dataDir, fileName) =>
|
|
11
17
|
path.join(dataDir, USER_AVATAR_DIR, fileName.substring(0, 2), fileName.substring(2));
|
|
12
18
|
|
|
19
|
+
const getServerAvatarUrl = (baseUrl, info) => {
|
|
20
|
+
if (!baseUrl) {
|
|
21
|
+
return '';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let origin = baseUrl;
|
|
25
|
+
try {
|
|
26
|
+
origin = new URL(baseUrl).origin;
|
|
27
|
+
} catch {
|
|
28
|
+
// Do nothing;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return joinUrl(
|
|
32
|
+
origin,
|
|
33
|
+
process.env.NODE_ENV === 'production' ? info.routing.adminPath : '',
|
|
34
|
+
`/images/node.png?v=${info.version}`
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const getAppAvatarUrl = (baseUrl) => {
|
|
39
|
+
if (!baseUrl) {
|
|
40
|
+
return '';
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
let origin = baseUrl;
|
|
44
|
+
try {
|
|
45
|
+
origin = new URL(baseUrl).origin;
|
|
46
|
+
} catch {
|
|
47
|
+
// Do nothing;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return joinUrl(origin, WELLKNOWN_SERVICE_PATH_PREFIX, `/blocklet/logo?t=${Date.now()}`);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const getUserAvatarUrl = (baseUrl, avatar, info = {}, isServer = false) => {
|
|
54
|
+
if (!avatar) {
|
|
55
|
+
return '';
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (!avatar.startsWith(USER_AVATAR_URL_PREFIX)) {
|
|
59
|
+
throw new Error('User avatar is not persisted on disk');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const filename = avatar.split('/').pop();
|
|
63
|
+
|
|
64
|
+
let origin = baseUrl;
|
|
65
|
+
try {
|
|
66
|
+
origin = new URL(baseUrl).origin;
|
|
67
|
+
} catch {
|
|
68
|
+
// Do nothing;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (isServer) {
|
|
72
|
+
const prefix = process.env.NODE_ENV !== 'development' ? info.routing.adminPath : '';
|
|
73
|
+
return joinUrl(origin, prefix, USER_AVATAR_PATH_PREFIX, info.did, filename);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return joinUrl(origin, WELLKNOWN_SERVICE_PATH_PREFIX, USER_AVATAR_PATH_PREFIX, filename);
|
|
77
|
+
};
|
|
78
|
+
|
|
13
79
|
/**
|
|
14
80
|
* save base64 avatar data to storage and return url
|
|
15
81
|
*/
|
|
@@ -127,4 +193,7 @@ module.exports = {
|
|
|
127
193
|
getAvatarByUrl,
|
|
128
194
|
getAvatarByEmail,
|
|
129
195
|
getEmailHash,
|
|
196
|
+
getUserAvatarUrl,
|
|
197
|
+
getAppAvatarUrl,
|
|
198
|
+
getServerAvatarUrl,
|
|
130
199
|
};
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.16.
|
|
6
|
+
"version": "1.16.14-beta-0c29907f",
|
|
7
7
|
"description": "ArcBlock's JavaScript utility",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"files": [
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"author": "polunzh <polunzh@gmail.com> (http://github.com/polunzh)",
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@abtnode/constant": "1.16.
|
|
22
|
-
"@abtnode/logger": "1.16.
|
|
23
|
-
"@blocklet/constant": "1.16.
|
|
24
|
-
"@ocap/client": "1.18.
|
|
25
|
-
"@ocap/mcrypto": "1.18.
|
|
26
|
-
"@ocap/util": "1.18.
|
|
27
|
-
"@ocap/wallet": "1.18.
|
|
21
|
+
"@abtnode/constant": "1.16.14-beta-0c29907f",
|
|
22
|
+
"@abtnode/logger": "1.16.14-beta-0c29907f",
|
|
23
|
+
"@blocklet/constant": "1.16.14-beta-0c29907f",
|
|
24
|
+
"@ocap/client": "1.18.87",
|
|
25
|
+
"@ocap/mcrypto": "1.18.87",
|
|
26
|
+
"@ocap/util": "1.18.87",
|
|
27
|
+
"@ocap/wallet": "1.18.87",
|
|
28
28
|
"archiver": "^5.3.1",
|
|
29
29
|
"axios": "^0.27.2",
|
|
30
30
|
"axios-mock-adapter": "^1.21.2",
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"jest": "^27.5.1",
|
|
75
75
|
"unzipper": "^0.10.11"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "1f02851a71861dbf09bfedfa9df6d9fc6d2355a3"
|
|
78
78
|
}
|