@steedos/service-package-registry 2.1.82 → 2.1.86

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 (2) hide show
  1. package/package.json +4 -3
  2. package/package.service.js +26 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-package-registry",
3
- "version": "2.1.82",
3
+ "version": "2.1.86",
4
4
  "description": "",
5
5
  "main": "package.service.js",
6
6
  "scripts": {
@@ -9,7 +9,8 @@
9
9
  "author": "",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "@steedos/service-package-loader": "2.1.82",
12
+ "@steedos/service-package-license": "2.1.86",
13
+ "@steedos/service-package-loader": "2.1.86",
13
14
  "fs-extra": "8.1.0",
14
15
  "i18next": "20.3.2",
15
16
  "json-stringify-safe": "5.0.1",
@@ -26,5 +27,5 @@
26
27
  "publishConfig": {
27
28
  "access": "public"
28
29
  },
29
- "gitHead": "37d20586b08a6f8c88d6d1b60ddb92228260fdde"
30
+ "gitHead": "0f5fecdba2bff4df5dfdd5b44dad43b1764eba5f"
30
31
  }
@@ -6,6 +6,7 @@ const loader = require('./main/default/manager/loader');
6
6
  const packages = require('./main/default/manager/packages');
7
7
  const registry = require('./main/default/manager/registry');
8
8
  const metadata = require('@steedos/metadata-core')
9
+ const packageLicense = require('@steedos/service-package-license');
9
10
  const axios = require('axios');
10
11
  const _ = require(`lodash`);
11
12
  const path = require(`path`);
@@ -65,7 +66,7 @@ module.exports = {
65
66
  */
66
67
  settings: {
67
68
  packageInfo: {
68
- path: __dirname,
69
+ path: path.join(__dirname, 'main'),
69
70
  name: this.name,
70
71
  isPackage: false
71
72
  },
@@ -78,7 +79,7 @@ module.exports = {
78
79
  /**
79
80
  * Dependencies
80
81
  */
81
- dependencies: [],
82
+ dependencies: ['@steedos/service-package-license'],
82
83
 
83
84
  /**
84
85
  * Actions
@@ -135,17 +136,25 @@ module.exports = {
135
136
  async handler(ctx) {
136
137
  const { module } = ctx.params
137
138
  const packages = loader.loadPackagesConfig();
138
- const spackage = _.find(packages, (_p, pname)=>{
139
+ const packageConfig = _.find(packages, (_p, pname) => {
139
140
  return pname === module;
140
141
  })
141
- if(spackage){
142
- if(spackage.enable){
143
- if(spackage.local){
144
- let packagePath = spackage.path;
142
+ if (packageConfig) {
143
+ if (packageConfig.enable) {
144
+ if (packageConfig.local) {
145
+ let packagePath = packageConfig.path;
145
146
  if(!path.isAbsolute(packagePath)){
146
147
  packagePath = path.resolve(process.cwd(), packagePath)
147
148
  }
148
149
  await loader.loadPackage(module, packagePath);
150
+ const metadata = await getPackageMetadata(util.getPackageRelativePath(process.cwd(), packageConfig.path));
151
+ await ctx.broker.call(`@steedos/service-packages.install`, {
152
+ serviceInfo: Object.assign({}, Object.assign({}, packageConfig, { name: module }), {
153
+ nodeID: ctx.broker.nodeID,
154
+ instanceID: ctx.broker.instanceID,
155
+ metadata: metadata
156
+ })
157
+ })
149
158
  }else{
150
159
  await loader.loadPackage(module);
151
160
  }
@@ -227,6 +236,8 @@ module.exports = {
227
236
  console.error(`login steedos registry fail: `, error.message);
228
237
  }
229
238
  const result = await this.getCloudSaasPurchasedPackages();
239
+ //同步软件包许可证
240
+ await this.broker.call(`@steedos/service-package-license.syncPackagesLicense`);
230
241
  for (const _package of result.packages) {
231
242
  try {
232
243
  const { name, version, label, description } = _package
@@ -260,6 +271,8 @@ module.exports = {
260
271
  upgradePackage: {
261
272
  async handler(ctx) {
262
273
  const { module, version } = ctx.params
274
+ //同步软件包许可证
275
+ await this.broker.call(`@steedos/service-package-license.syncPackagesLicense`);
263
276
  return await this.upgradePackage(module, version);
264
277
  }
265
278
  },
@@ -282,6 +295,8 @@ module.exports = {
282
295
  }
283
296
  let { module, version, url, auth, registry_url } = ctx.params
284
297
  const enable = true;
298
+ //同步软件包许可证
299
+ await this.broker.call(`@steedos/service-package-license.syncPackagesLicense`);
285
300
  return await this.installPackageFromUrl(module, version, url, auth, enable, registry_url, ctx.broker)
286
301
  } catch (error) {
287
302
  let errorInfo = error.message || '';
@@ -554,7 +569,7 @@ module.exports = {
554
569
  * Service created lifecycle event handler
555
570
  */
556
571
  async created() {
557
-
572
+ this.broker.createService(packageLicense);
558
573
  },
559
574
 
560
575
  /**
@@ -567,6 +582,9 @@ module.exports = {
567
582
  } catch (error) {
568
583
  console.error(`login steedos registry fail: `, error.message);
569
584
  }
585
+
586
+ await this.broker.call(`@steedos/service-package-license.syncPackagesLicense`);
587
+
570
588
  const PACKAGE_INSTALL_NODE = process.env.PACKAGE_INSTALL_NODE
571
589
  if(PACKAGE_INSTALL_NODE){
572
590
  await this.broker.call('metadata.add', {key: `#package_install_node.${this.broker.nodeID}`, data: {nodeID: PACKAGE_INSTALL_NODE}}, {meta: {}})