@abtnode/core 1.16.11-beta-0ae58a71 → 1.16.11-beta-f74663ac

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.
Files changed (53) hide show
  1. package/lib/api/node.js +1 -1
  2. package/lib/api/team.js +5 -5
  3. package/lib/blocklet/downloader/blocklet-downloader.js +34 -19
  4. package/lib/blocklet/downloader/bundle-downloader.js +2 -2
  5. package/lib/blocklet/hooks.js +1 -1
  6. package/lib/blocklet/manager/base.js +9 -9
  7. package/lib/blocklet/manager/disk.js +286 -172
  8. package/lib/blocklet/manager/helper/install-application-from-backup.js +1 -1
  9. package/lib/blocklet/manager/helper/install-application-from-general.js +18 -3
  10. package/lib/blocklet/manager/helper/install-component-from-dev.js +0 -1
  11. package/lib/blocklet/manager/helper/install-component-from-upload.js +8 -4
  12. package/lib/blocklet/manager/helper/install-component-from-url.js +4 -2
  13. package/lib/blocklet/manager/helper/upgrade-components.js +7 -7
  14. package/lib/blocklet/manager/pm2-events.js +3 -3
  15. package/lib/blocklet/migration.js +2 -2
  16. package/lib/blocklet/storage/backup/base.js +1 -0
  17. package/lib/blocklet/storage/backup/blocklet-extras.js +1 -1
  18. package/lib/blocklet/storage/backup/blocklet.js +1 -1
  19. package/lib/blocklet/storage/backup/disk.js +1 -0
  20. package/lib/blocklet/storage/restore/blocklet-extras.js +1 -1
  21. package/lib/blocklet/storage/restore/blocklet.js +1 -1
  22. package/lib/blocklet/storage/restore/disk.js +1 -1
  23. package/lib/blocklet/storage/restore/spaces.js +1 -1
  24. package/lib/cert.js +5 -5
  25. package/lib/crons/rotate-pm2-logs/index.js +1 -1
  26. package/lib/event.js +11 -1
  27. package/lib/index.js +8 -2
  28. package/lib/migrations/1.16.11-component-status.js +22 -0
  29. package/lib/migrations/index.js +3 -3
  30. package/lib/monitor/blocklet-runtime-monitor.js +7 -2
  31. package/lib/processes/updater.js +1 -1
  32. package/lib/router/helper.js +5 -5
  33. package/lib/states/audit-log.js +1 -1
  34. package/lib/states/backup.js +5 -4
  35. package/lib/states/blocklet-extras.js +11 -1
  36. package/lib/states/blocklet.js +46 -39
  37. package/lib/states/cache.js +1 -1
  38. package/lib/states/node.js +6 -2
  39. package/lib/states/notification.js +1 -1
  40. package/lib/states/routing-snapshot.js +1 -1
  41. package/lib/states/site.js +1 -1
  42. package/lib/states/user.js +12 -6
  43. package/lib/team/manager.js +6 -6
  44. package/lib/util/blocklet.js +130 -118
  45. package/lib/util/launcher.js +238 -0
  46. package/lib/util/reset-node.js +19 -16
  47. package/lib/util/rpc.js +1 -1
  48. package/lib/util/store.js +1 -1
  49. package/lib/validators/space-gateway.js +3 -0
  50. package/lib/validators/util.js +3 -0
  51. package/lib/webhook/sender/api/index.js +1 -1
  52. package/lib/webhook/sender/slack/index.js +1 -1
  53. package/package.json +17 -17
@@ -12,9 +12,13 @@ const resetOwner = async ({ teamManager }) => {
12
12
  const nodeInfo = await states.node.read();
13
13
  const teamDid = nodeInfo.did;
14
14
  const userState = await teamManager.getUserState(teamDid);
15
- const count = await userState.remove({ role: 'owner' });
15
+ const passportState = await teamManager.getPassportState(teamDid);
16
+ const connectedAccountState = await teamManager.getConnectedAccountState(teamDid);
17
+ await passportState.remove({ userDid: nodeInfo.nodeOwner.did });
18
+ await connectedAccountState.remove({ userDid: nodeInfo.nodeOwner.did });
19
+ await userState.remove({ did: nodeInfo.nodeOwner.did });
16
20
  await states.node.updateNodeInfo({ nodeOwner: null });
17
- logger.info('reset node owner', result, count);
21
+ logger.info('reset node owner', result);
18
22
  } catch (err) {
19
23
  // Do nothing
20
24
  }
@@ -69,22 +73,21 @@ const resetCertificates = async ({ certManager }) => {
69
73
  };
70
74
 
71
75
  const resetUsers = async ({ teamManager }) => {
72
- const nodeInfo = await states.node.read();
73
-
74
- const teamDid = nodeInfo.did;
75
- const userState = await teamManager.getUserState(teamDid);
76
- const users = await userState.find({});
76
+ try {
77
+ const nodeInfo = await states.node.read();
77
78
 
78
- let count = 0;
79
- for (const user of users) {
80
- if (nodeInfo.nodeOwner.did !== user.did) {
81
- // eslint-disable-next-line no-await-in-loop
82
- await userState.remove({ did: user.did });
83
- count++;
84
- }
79
+ const teamDid = nodeInfo.did;
80
+ const userState = await teamManager.getUserState(teamDid);
81
+ const passportState = await teamManager.getPassportState(teamDid);
82
+ const connectedAccountState = await teamManager.getConnectedAccountState(teamDid);
83
+ await passportState.remove({ userDid: { $ne: nodeInfo.nodeOwner.did } });
84
+ await connectedAccountState.remove({ userDid: { $ne: nodeInfo.nodeOwner.did } });
85
+ await userState.remove({ did: { $ne: nodeInfo.nodeOwner.did } });
86
+
87
+ logger.info('reset users');
88
+ } catch (error) {
89
+ logger.error('failed reset users', { error });
85
90
  }
86
-
87
- logger.info('reset users', { count });
88
91
  };
89
92
 
90
93
  const resetInvitations = async ({ teamManager }) => {
package/lib/util/rpc.js CHANGED
@@ -9,7 +9,7 @@ const logger = require('@abtnode/logger')('@abtnode/core:rpc');
9
9
  const host = '127.0.0.1';
10
10
  const port = Number(process.env.ABT_NODE_UPDATER_PORT || 40405);
11
11
 
12
- const doRpcCall = async (message) =>
12
+ const doRpcCall = (message) =>
13
13
  new Promise((resolve) => {
14
14
  logger.info('try send rpc request', message);
15
15
  const sock = axon.socket('req');
package/lib/util/store.js CHANGED
@@ -120,7 +120,7 @@ const parseSourceUrl = async (url) => {
120
120
  };
121
121
  };
122
122
 
123
- const resolveTarballURL = async ({ did, tarball = '', storeUrl = '' }) => {
123
+ const resolveTarballURL = ({ did, tarball = '', storeUrl = '' }) => {
124
124
  if (!tarball) {
125
125
  return '';
126
126
  }
@@ -1,6 +1,8 @@
1
1
  const { Joi } = require('@arcblock/validator');
2
2
 
3
3
  const validateAddSpaceGateway = Joi.object({
4
+ // 表示 space did
5
+ did: Joi.DID(),
4
6
  url: Joi.string()
5
7
  .uri({ scheme: ['http', 'https'] })
6
8
  .required(),
@@ -13,6 +15,7 @@ const validateAddSpaceGateway = Joi.object({
13
15
  });
14
16
 
15
17
  const validateUpdateSpaceGateway = Joi.object({
18
+ did: Joi.DID(),
16
19
  url: Joi.string()
17
20
  .uri({ scheme: ['http', 'https'] })
18
21
  .required(),
@@ -15,6 +15,9 @@ const blockletController = Joi.object({
15
15
  nftOwner: Joi.DID().required(),
16
16
  chainHost: Joi.string().uri().required(),
17
17
  appMaxCount: Joi.number().required().min(1),
18
+ launcherUrl: Joi.string().uri().optional(),
19
+ launcherSessionId: Joi.string().optional(),
20
+ ownerDid: Joi.DID().optional(),
18
21
  }).options({ stripUnknown: true });
19
22
 
20
23
  const createValidator = (schema) => (entity) => schema.validateAsync(entity);
@@ -20,7 +20,7 @@ class APISender extends BaseSender {
20
20
  }
21
21
  }
22
22
 
23
- async sendTestMessage(params, message) {
23
+ sendTestMessage(params, message) {
24
24
  return this.send(params, {
25
25
  description: message,
26
26
  status: 'info',
@@ -64,7 +64,7 @@ class SlackSender extends BaseSender {
64
64
  }
65
65
  }
66
66
 
67
- async sendTestMessage(params, message) {
67
+ sendTestMessage(params, message) {
68
68
  return this.send(
69
69
  params,
70
70
  {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.16.11-beta-0ae58a71",
6
+ "version": "1.16.11-beta-f74663ac",
7
7
  "description": "",
8
8
  "main": "lib/index.js",
9
9
  "files": [
@@ -19,18 +19,18 @@
19
19
  "author": "wangshijun <wangshijun2010@gmail.com> (http://github.com/wangshijun)",
20
20
  "license": "Apache-2.0",
21
21
  "dependencies": {
22
- "@abtnode/auth": "1.16.11-beta-0ae58a71",
23
- "@abtnode/certificate-manager": "1.16.11-beta-0ae58a71",
24
- "@abtnode/constant": "1.16.11-beta-0ae58a71",
25
- "@abtnode/cron": "1.16.11-beta-0ae58a71",
26
- "@abtnode/logger": "1.16.11-beta-0ae58a71",
27
- "@abtnode/models": "1.16.11-beta-0ae58a71",
28
- "@abtnode/queue": "1.16.11-beta-0ae58a71",
29
- "@abtnode/rbac": "1.16.11-beta-0ae58a71",
30
- "@abtnode/router-provider": "1.16.11-beta-0ae58a71",
31
- "@abtnode/static-server": "1.16.11-beta-0ae58a71",
32
- "@abtnode/timemachine": "1.16.11-beta-0ae58a71",
33
- "@abtnode/util": "1.16.11-beta-0ae58a71",
22
+ "@abtnode/auth": "1.16.11-beta-f74663ac",
23
+ "@abtnode/certificate-manager": "1.16.11-beta-f74663ac",
24
+ "@abtnode/constant": "1.16.11-beta-f74663ac",
25
+ "@abtnode/cron": "1.16.11-beta-f74663ac",
26
+ "@abtnode/logger": "1.16.11-beta-f74663ac",
27
+ "@abtnode/models": "1.16.11-beta-f74663ac",
28
+ "@abtnode/queue": "1.16.11-beta-f74663ac",
29
+ "@abtnode/rbac": "1.16.11-beta-f74663ac",
30
+ "@abtnode/router-provider": "1.16.11-beta-f74663ac",
31
+ "@abtnode/static-server": "1.16.11-beta-f74663ac",
32
+ "@abtnode/timemachine": "1.16.11-beta-f74663ac",
33
+ "@abtnode/util": "1.16.11-beta-f74663ac",
34
34
  "@arcblock/did": "1.18.80",
35
35
  "@arcblock/did-auth": "1.18.80",
36
36
  "@arcblock/did-ext": "^1.18.80",
@@ -41,9 +41,9 @@
41
41
  "@arcblock/pm2-events": "^0.0.5",
42
42
  "@arcblock/validator": "^1.18.80",
43
43
  "@arcblock/vc": "1.18.80",
44
- "@blocklet/constant": "1.16.11-beta-0ae58a71",
45
- "@blocklet/meta": "1.16.11-beta-0ae58a71",
46
- "@blocklet/sdk": "1.16.11-beta-0ae58a71",
44
+ "@blocklet/constant": "1.16.11-beta-f74663ac",
45
+ "@blocklet/meta": "1.16.11-beta-f74663ac",
46
+ "@blocklet/sdk": "1.16.11-beta-f74663ac",
47
47
  "@did-space/client": "^0.2.113",
48
48
  "@fidm/x509": "^1.2.1",
49
49
  "@ocap/mcrypto": "1.18.80",
@@ -96,5 +96,5 @@
96
96
  "express": "^4.18.2",
97
97
  "jest": "^27.5.1"
98
98
  },
99
- "gitHead": "5d044a08b4399eb855563e670af7cbd0d3851e94"
99
+ "gitHead": "c59bc852f73b9e216af9d806b9c9e24b2e37ae27"
100
100
  }