@abtnode/core 1.8.64 → 1.8.65-beta-5405baf2

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.
@@ -728,6 +728,7 @@ module.exports = function getRouterHelpers({ dataDirs, routingSnapshot, routerMa
728
728
  rules: [rule],
729
729
  },
730
730
  skipCheckDynamicBlacklist: true,
731
+ skipValidation: true,
731
732
  },
732
733
  context
733
734
  );
@@ -1070,10 +1071,15 @@ module.exports = function getRouterHelpers({ dataDirs, routingSnapshot, routerMa
1070
1071
  },
1071
1072
  });
1072
1073
 
1073
- certManager.on(EVENTS.CERT_ADDED, () => providers[providerName].reload());
1074
- certManager.on(EVENTS.CERT_REMOVED, () => providers[providerName].reload());
1075
- certManager.on(EVENTS.CERT_ISSUED, () => providers[providerName].reload());
1076
- certManager.on(EVENTS.CERT_UPDATED, () => providers[providerName].reload());
1074
+ [
1075
+ BlockletEvents.certIssued,
1076
+ EVENTS.CERT_ADDED,
1077
+ EVENTS.CERT_REMOVED,
1078
+ EVENTS.CERT_ISSUED,
1079
+ EVENTS.CERT_UPDATED,
1080
+ ].forEach((event) => {
1081
+ certManager.on(event, () => providers[providerName].reload());
1082
+ });
1077
1083
 
1078
1084
  await providers[providerName].start();
1079
1085
  }
@@ -8,6 +8,7 @@ const path = require('path');
8
8
  const os = require('os');
9
9
  const fse = require('fs-extra');
10
10
  const get = require('lodash/get');
11
+ const toLower = require('lodash/toLower');
11
12
  const { EventEmitter } = require('events');
12
13
  const uuid = require('uuid');
13
14
  const isUrl = require('is-url');
@@ -154,20 +155,20 @@ class RouterManager extends EventEmitter {
154
155
 
155
156
  // eslint-disable-next-line no-unused-vars
156
157
  async updateRoutingSite(params, context = {}) {
157
- await validateUpdateSite(params, context);
158
- const site = await states.site.findOne({ _id: params.id });
159
- if (!site) {
158
+ const site = await validateUpdateSite(params, context);
159
+ const existed = await states.site.findOne({ _id: site.id });
160
+ if (!existed) {
160
161
  throw new Error('Can not update non-existing site');
161
162
  }
162
163
 
163
164
  const updateSet = {};
164
165
 
165
- if (params.corsAllowedOrigins) {
166
- updateSet.corsAllowedOrigins = params.corsAllowedOrigins.filter((x) => x !== '__none__');
166
+ if (site.corsAllowedOrigins) {
167
+ updateSet.corsAllowedOrigins = site.corsAllowedOrigins.filter((x) => x !== '__none__');
167
168
  }
168
169
 
169
- if (params.domain) {
170
- const newDomain = params.domain;
170
+ if (site.domain) {
171
+ const newDomain = site.domain;
171
172
  const ruleCountInDB = await states.site.count({
172
173
  $or: [{ domain: newDomain }, { domainAliases: newDomain }, { 'domainAliases.value': newDomain }],
173
174
  });
@@ -179,18 +180,18 @@ class RouterManager extends EventEmitter {
179
180
  updateSet.domain = newDomain;
180
181
  }
181
182
 
182
- const updated = await states.site.update({ _id: params.id }, { $set: updateSet }, { multi: false, upsert: false });
183
+ const updated = await states.site.update({ _id: site.id }, { $set: updateSet }, { multi: false, upsert: false });
183
184
 
184
- logger.info('router.site.updated', { params, updated });
185
- this.emit('router.site.updated', params.id);
185
+ logger.info('router.site.updated', { site, updated });
186
+ this.emit('router.site.updated', site.id);
186
187
 
187
- const dbSite = await states.site.findOne({ _id: params.id });
188
+ const dbSite = await states.site.findOne({ _id: site.id });
188
189
  await attachRuntimeDomainAliases({ sites: dbSite, context, node: states.node });
189
190
  return dbSite;
190
191
  }
191
192
 
192
- async addDomainAlias({ id, domainAlias, force }, context = {}) {
193
- await validateAddDomainAlias(domainAlias, context);
193
+ async addDomainAlias({ id, domainAlias: tmpAlias, force }, context = {}) {
194
+ const domainAlias = await validateAddDomainAlias(tmpAlias, context);
194
195
  const dbSite = await states.site.findOne({ _id: id });
195
196
  if (!dbSite) {
196
197
  throw new Error(`site ${id} does not exist`);
@@ -222,10 +223,10 @@ class RouterManager extends EventEmitter {
222
223
  }
223
224
  }
224
225
 
225
- // let custom domain in front of protected domain
226
- const domainAliases = [{ value: domainAlias, isProtected: false }, ...(dbSite.domainAliases || [])];
227
-
228
- const updateResult = await states.site.update({ _id: id }, { $set: { domainAliases } });
226
+ const updateResult = await states.site.update(
227
+ { _id: id },
228
+ { $push: { domainAliases: { value: domainAlias, isProtected: false } } }
229
+ );
229
230
  logger.debug('add domain alias update result', { id, updateResult, domainAlias });
230
231
 
231
232
  const newSite = await states.site.findOne({ _id: id });
@@ -234,8 +235,8 @@ class RouterManager extends EventEmitter {
234
235
  return newSite;
235
236
  }
236
237
 
237
- async deleteDomainAlias({ id, domainAlias }, context = {}) {
238
- await validateAddDomainAlias(domainAlias, context);
238
+ async deleteDomainAlias({ id, domainAlias: tmpAlias }, context = {}) {
239
+ const domainAlias = await validateAddDomainAlias(tmpAlias, context);
239
240
  const dbSite = await states.site.findOne({ _id: id });
240
241
  if (!dbSite) {
241
242
  throw new Error(`site ${id} does not exist`);
@@ -243,10 +244,10 @@ class RouterManager extends EventEmitter {
243
244
 
244
245
  dbSite.domainAliases = dbSite.domainAliases.filter((x) => {
245
246
  if (typeof x === 'string') {
246
- return x !== domainAlias;
247
+ return toLower(x) !== domainAlias;
247
248
  }
248
249
 
249
- return x.value !== domainAlias;
250
+ return toLower(x.value) !== domainAlias;
250
251
  });
251
252
 
252
253
  const updateResult = await states.site.update({ _id: id }, { $set: { domainAliases: dbSite.domainAliases } });
@@ -77,6 +77,7 @@ class SiteState extends BaseState {
77
77
 
78
78
  async findOneByBlocklet(did) {
79
79
  const result = await this.findOne({ domain: getBlockletDomainGroupName(did) });
80
+
80
81
  return BaseState.renameIdFiledName(result);
81
82
  }
82
83
 
@@ -5,6 +5,8 @@ const { getMultipleLangParams } = require('./util');
5
5
 
6
6
  const WILDCARD_DOMAIN_REGEX = /^\*.(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/;
7
7
 
8
+ const DOMAIN_SCHEMA = Joi.string().domain({ minDomainSegments: 1, tlds: false }).lowercase();
9
+
8
10
  const domainMessages = {
9
11
  en: {
10
12
  'alternatives.match': 'Illegal domain, please enter a domain like arcblock, arcblock.io, *.arcblock.io',
@@ -79,11 +81,7 @@ const ruleSchema = {
79
81
  };
80
82
 
81
83
  const corsSchema = Joi.array()
82
- .items(
83
- Joi.string().domain({ minDomainSegments: 1, tlds: false }),
84
- Joi.string().valid(DOMAIN_FOR_DEFAULT_SITE, '__none__'),
85
- Joi.string().ip()
86
- )
84
+ .items(DOMAIN_SCHEMA, Joi.string().valid(DOMAIN_FOR_DEFAULT_SITE, '__none__'), Joi.string().ip())
87
85
  .min(1)
88
86
  .optional();
89
87
 
@@ -91,7 +89,7 @@ const ruleJoiSchema = Joi.object(ruleSchema);
91
89
 
92
90
  const addDomainAlias = Joi.alternatives()
93
91
  .try(
94
- Joi.string().domain({ minDomainSegments: 1, tlds: false }),
92
+ DOMAIN_SCHEMA,
95
93
  Joi.string().regex(WILDCARD_DOMAIN_REGEX) // 这种其实是一种特殊的 tld
96
94
  )
97
95
  .required();
@@ -108,7 +106,7 @@ const updateAliases = domainAliases.required();
108
106
  const addSiteSchema = Joi.object({
109
107
  domain: Joi.alternatives()
110
108
  .try(
111
- Joi.string().domain({ minDomainSegments: 1, tlds: false }),
109
+ DOMAIN_SCHEMA,
112
110
  Joi.string().valid('', DOMAIN_FOR_DEFAULT_SITE),
113
111
  Joi.string().regex(WILDCARD_DOMAIN_REGEX) // 这种其实是一种特殊的 tld
114
112
  )
@@ -125,7 +123,7 @@ const updateSite = Joi.object({
125
123
  corsAllowedOrigins: corsSchema,
126
124
  domain: Joi.alternatives()
127
125
  .try(
128
- Joi.string().domain({ minDomainSegments: 1, tlds: false }),
126
+ DOMAIN_SCHEMA,
129
127
  Joi.string().regex(WILDCARD_DOMAIN_REGEX) // 这种其实是一种特殊的 tld
130
128
  )
131
129
  .optional()
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.8.64",
6
+ "version": "1.8.65-beta-5405baf2",
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": "MIT",
21
21
  "dependencies": {
22
- "@abtnode/auth": "1.8.64",
23
- "@abtnode/certificate-manager": "1.8.64",
24
- "@abtnode/constant": "1.8.64",
25
- "@abtnode/cron": "1.8.64",
26
- "@abtnode/db": "1.8.64",
27
- "@abtnode/logger": "1.8.64",
28
- "@abtnode/queue": "1.8.64",
29
- "@abtnode/rbac": "1.8.64",
30
- "@abtnode/router-provider": "1.8.64",
31
- "@abtnode/static-server": "1.8.64",
32
- "@abtnode/timemachine": "1.8.64",
33
- "@abtnode/util": "1.8.64",
22
+ "@abtnode/auth": "1.8.65-beta-5405baf2",
23
+ "@abtnode/certificate-manager": "1.8.65-beta-5405baf2",
24
+ "@abtnode/constant": "1.8.65-beta-5405baf2",
25
+ "@abtnode/cron": "1.8.65-beta-5405baf2",
26
+ "@abtnode/db": "1.8.65-beta-5405baf2",
27
+ "@abtnode/logger": "1.8.65-beta-5405baf2",
28
+ "@abtnode/queue": "1.8.65-beta-5405baf2",
29
+ "@abtnode/rbac": "1.8.65-beta-5405baf2",
30
+ "@abtnode/router-provider": "1.8.65-beta-5405baf2",
31
+ "@abtnode/static-server": "1.8.65-beta-5405baf2",
32
+ "@abtnode/timemachine": "1.8.65-beta-5405baf2",
33
+ "@abtnode/util": "1.8.65-beta-5405baf2",
34
34
  "@arcblock/did": "1.18.37",
35
35
  "@arcblock/did-motif": "^1.1.10",
36
36
  "@arcblock/did-util": "1.18.37",
@@ -38,9 +38,9 @@
38
38
  "@arcblock/jwt": "^1.18.37",
39
39
  "@arcblock/pm2-events": "^0.0.5",
40
40
  "@arcblock/vc": "1.18.37",
41
- "@blocklet/constant": "1.8.64",
42
- "@blocklet/meta": "1.8.64",
43
- "@blocklet/sdk": "1.8.64",
41
+ "@blocklet/constant": "1.8.65-beta-5405baf2",
42
+ "@blocklet/meta": "1.8.65-beta-5405baf2",
43
+ "@blocklet/sdk": "1.8.65-beta-5405baf2",
44
44
  "@did-space/client": "^0.1.66",
45
45
  "@fidm/x509": "^1.2.1",
46
46
  "@ocap/mcrypto": "1.18.37",
@@ -88,5 +88,5 @@
88
88
  "express": "^4.18.2",
89
89
  "jest": "^27.5.1"
90
90
  },
91
- "gitHead": "2abf7d3078ae9251ddeb394b4f0d82de4d9ababe"
91
+ "gitHead": "e5dc838baded7031096118462a604fd70d78ff1c"
92
92
  }