@abtnode/core 1.8.30 → 1.8.32
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/api/node.js +3 -3
- package/lib/api/team.js +22 -4
- package/lib/blocklet/manager/disk.js +312 -180
- package/lib/index.js +5 -7
- package/lib/states/README.md +3 -0
- package/lib/states/blocklet.js +29 -23
- package/lib/states/user.js +16 -0
- package/lib/team/manager.js +2 -2
- package/lib/util/blocklet.js +4 -4
- package/lib/util/requirement.js +26 -10
- package/lib/util/{registry.js → store.js} +51 -0
- package/lib/validators/blocklet.js +15 -0
- package/package.json +26 -26
- package/lib/blocklet/registry.js +0 -74
package/lib/api/node.js
CHANGED
|
@@ -13,8 +13,8 @@ const logger = require('@abtnode/logger')('@abtnode/core:api:node');
|
|
|
13
13
|
|
|
14
14
|
const IP = require('../util/ip');
|
|
15
15
|
const { validateNodeInfo, validateUpdateGateway } = require('../validators/node');
|
|
16
|
-
const BlockletRegistry = require('../blocklet/registry');
|
|
17
16
|
const { getAll } = require('../blocklet/manager/engine');
|
|
17
|
+
const StoreUtil = require('../util/store');
|
|
18
18
|
const { getDelegateState } = require('../util');
|
|
19
19
|
|
|
20
20
|
const sanitizeUrl = (url) => {
|
|
@@ -59,9 +59,9 @@ class NodeAPI {
|
|
|
59
59
|
throw new Error(`Blocklet registry already exist: ${sanitized}`);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
-
await
|
|
62
|
+
await StoreUtil.validateRegistryURL(sanitized);
|
|
63
63
|
|
|
64
|
-
const newBlockletRegistry = await
|
|
64
|
+
const newBlockletRegistry = await StoreUtil.getRegistryMeta(sanitized);
|
|
65
65
|
const newBlockletRegistryList = info.blockletRegistryList.map((x) => ({ ...x, selected: false }));
|
|
66
66
|
newBlockletRegistryList.push({ ...newBlockletRegistry, url: sanitized, selected: true, protected: false });
|
|
67
67
|
|
package/lib/api/team.js
CHANGED
|
@@ -10,6 +10,7 @@ const {
|
|
|
10
10
|
WHO_CAN_ACCESS,
|
|
11
11
|
PASSPORT_STATUS,
|
|
12
12
|
WELLKNOWN_SERVICE_PATH_PREFIX,
|
|
13
|
+
MAX_USER_PAGE_SIZE,
|
|
13
14
|
} = require('@abtnode/constant');
|
|
14
15
|
const { isValid: isValidDid } = require('@arcblock/did');
|
|
15
16
|
const { BlockletEvents } = require('@blocklet/constant');
|
|
@@ -30,8 +31,6 @@ const { validateCreatePermission, validateUpdatePermission } = require('../valid
|
|
|
30
31
|
|
|
31
32
|
const { getBlocklet } = require('../util/blocklet');
|
|
32
33
|
|
|
33
|
-
const MAX_USER_PAGE_SIZE = 100;
|
|
34
|
-
|
|
35
34
|
const validateReservedRole = (role) => {
|
|
36
35
|
if (Object.values(ROLES).includes(role)) {
|
|
37
36
|
throw new Error(`The role ${role} is reserved`);
|
|
@@ -126,14 +125,33 @@ class TeamAPI extends EventEmitter {
|
|
|
126
125
|
return doc;
|
|
127
126
|
}
|
|
128
127
|
|
|
129
|
-
async getUsers({ teamDid, query, paging: inputPaging, sort }) {
|
|
128
|
+
async getUsers({ teamDid, query, paging: inputPaging, sort, dids }) {
|
|
130
129
|
const state = await this.getUserState(teamDid);
|
|
131
130
|
|
|
132
131
|
if (inputPaging?.pageSize > MAX_USER_PAGE_SIZE) {
|
|
133
132
|
throw new Error(`Length of users should not exceed ${MAX_USER_PAGE_SIZE} per page`);
|
|
134
133
|
}
|
|
135
134
|
|
|
136
|
-
|
|
135
|
+
if (dids && dids.length > MAX_USER_PAGE_SIZE) {
|
|
136
|
+
throw new Error(`Length of users should not exceed ${MAX_USER_PAGE_SIZE}`);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
let list;
|
|
140
|
+
let paging;
|
|
141
|
+
|
|
142
|
+
if (dids) {
|
|
143
|
+
list = await state.getUsersByDids({ query, dids });
|
|
144
|
+
paging = {
|
|
145
|
+
total: list.length,
|
|
146
|
+
pageSize: dids.length,
|
|
147
|
+
pageCount: 1,
|
|
148
|
+
page: 1,
|
|
149
|
+
};
|
|
150
|
+
} else {
|
|
151
|
+
const doc = await state.getUsers({ query, sort, paging: { pageSize: 20, ...inputPaging } });
|
|
152
|
+
list = doc.list;
|
|
153
|
+
paging = doc.paging;
|
|
154
|
+
}
|
|
137
155
|
|
|
138
156
|
return {
|
|
139
157
|
users: list.map(
|