@steedos/service-package-registry 2.5.18-beta.1 → 2.5.18-beta.3
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/main/default/manager/loader.js +19 -1
- package/main/default/manager/packages.js +5 -3
- package/main/default/manager/registry.js +25 -1
- package/main/default/objects/steedos_packages/fields/dependencies.field.yml +4 -0
- package/main/default/pages/steedos_package_detail.page.amis.json +31 -1
- package/main/default/pages/steedos_packages_list.page.amis.json +3 -3
- package/package.json +7 -7
- package/project.package.service.js +55 -4
- package/main/default/routes/nodes.router.js +0 -166
- package/main/default/routes/registry.router.js +0 -21
|
@@ -10,6 +10,21 @@ const packagesFilePath = path.join(userDir, 'steedos-packages.yml');
|
|
|
10
10
|
const metadataApi = require('@steedos/metadata-api');
|
|
11
11
|
const util = require('./util');
|
|
12
12
|
const metaDataCore = require('@steedos/metadata-core');
|
|
13
|
+
const npmRCFilePath = path.join(userDir, '.npmrc')
|
|
14
|
+
|
|
15
|
+
// 读取.steedos下的.npmrc文件内容
|
|
16
|
+
const getNpmrc = ()=>{
|
|
17
|
+
let npmrc = "";
|
|
18
|
+
if(fs.existsSync(npmRCFilePath)){
|
|
19
|
+
npmrc = fs.readFileSync(npmRCFilePath, 'utf8')
|
|
20
|
+
}
|
|
21
|
+
return npmrc;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// 写入.steedos下的.npmrc文件内容
|
|
25
|
+
const setNpmrc = (data)=>{
|
|
26
|
+
fs.writeFileSync(npmRCFilePath, data);
|
|
27
|
+
}
|
|
13
28
|
|
|
14
29
|
const getPackageYmlData = (packagePath)=>{
|
|
15
30
|
let packageYmlData = {};
|
|
@@ -405,5 +420,8 @@ module.exports = {
|
|
|
405
420
|
getPackageInfo,
|
|
406
421
|
getPackageMetadata,
|
|
407
422
|
installPackage,
|
|
408
|
-
getPackageYmlData
|
|
423
|
+
getPackageYmlData,
|
|
424
|
+
getNpmrc,
|
|
425
|
+
setNpmrc,
|
|
426
|
+
getPackageConfig
|
|
409
427
|
}
|
|
@@ -186,9 +186,11 @@ const scanPackageMetadatas = async (packagePath) => {
|
|
|
186
186
|
return packageMetadatas;
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
const checkDependencies = async (packagePath)=>{
|
|
190
|
-
|
|
191
|
-
|
|
189
|
+
const checkDependencies = async (packagePath, dependencies)=>{
|
|
190
|
+
if(!dependencies){
|
|
191
|
+
const packageServiceConfig = require(path.join(packagePath, 'package.service.js'));
|
|
192
|
+
dependencies = (packageServiceConfig && packageServiceConfig.dependencies) || [];
|
|
193
|
+
}
|
|
192
194
|
for(const item of dependencies){
|
|
193
195
|
const hasService = await objectql.getSteedosSchema().broker.registry.hasService(item);
|
|
194
196
|
if(!hasService){
|
|
@@ -14,6 +14,8 @@ let installDenyList = [];
|
|
|
14
14
|
let installAllAllowed = true;
|
|
15
15
|
let installVersionRestricted = false;
|
|
16
16
|
var activePromise = Promise.resolve();
|
|
17
|
+
const _ = require('lodash');
|
|
18
|
+
const npa = require("npm-package-arg");
|
|
17
19
|
|
|
18
20
|
log.init({});
|
|
19
21
|
|
|
@@ -268,6 +270,27 @@ async function installModule(module, version, url, registry_url) {
|
|
|
268
270
|
return activePromise;
|
|
269
271
|
}
|
|
270
272
|
|
|
273
|
+
async function yarnAddPackage(yarnPackage){
|
|
274
|
+
var installDir = settings.userDir || ".";
|
|
275
|
+
var yarnArgs = ['add', '-E', ...yarnPackage.split(' '), '--json'];
|
|
276
|
+
const data = await exec.run(yarnCommand, yarnArgs, {cwd: installDir}, true);
|
|
277
|
+
const formatData = JSON.parse(_.last(_.compact(data.stdout.split('\n'))))
|
|
278
|
+
// 解析 yarn add 返回的结果
|
|
279
|
+
const steedosPackages = [];
|
|
280
|
+
_.each(formatData.data.trees, (module)=>{
|
|
281
|
+
const parsed = npa(module.name);
|
|
282
|
+
const packagePath = path.dirname(require.resolve(`${parsed.name}/package.json`, {
|
|
283
|
+
paths: [path.join(installDir, 'node_modules')]
|
|
284
|
+
}))
|
|
285
|
+
steedosPackages.push({
|
|
286
|
+
name: parsed.name,
|
|
287
|
+
version: parsed.rawSpec,
|
|
288
|
+
path: packagePath
|
|
289
|
+
})
|
|
290
|
+
})
|
|
291
|
+
return steedosPackages;
|
|
292
|
+
}
|
|
293
|
+
|
|
271
294
|
|
|
272
295
|
async function uninstallModule(module){
|
|
273
296
|
if (Buffer.isBuffer(module)) {
|
|
@@ -326,5 +349,6 @@ const isPackageUrl = (url)=>{
|
|
|
326
349
|
module.exports = {
|
|
327
350
|
installModule,
|
|
328
351
|
uninstallModule,
|
|
329
|
-
isPackageUrl
|
|
352
|
+
isPackageUrl,
|
|
353
|
+
yarnAddPackage
|
|
330
354
|
}
|
|
@@ -68,12 +68,42 @@
|
|
|
68
68
|
"mode": "read",
|
|
69
69
|
"className": "mb-4",
|
|
70
70
|
"excludedFields": [
|
|
71
|
-
"metadata"
|
|
71
|
+
"metadata",
|
|
72
|
+
"dependencies"
|
|
72
73
|
]
|
|
73
74
|
}
|
|
74
75
|
],
|
|
75
76
|
"className": "p-0",
|
|
76
77
|
"id": "u:5d4e7e3f6ecc"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"title": "依赖服务",
|
|
81
|
+
"body": [
|
|
82
|
+
{
|
|
83
|
+
"type": "steedos-object-form",
|
|
84
|
+
"label": "对象表单",
|
|
85
|
+
"objectApiName": "${objectName}",
|
|
86
|
+
"recordId": "${recordId}",
|
|
87
|
+
"appId": "${appId}",
|
|
88
|
+
"id": "u:fec578db3278",
|
|
89
|
+
"mode": "read",
|
|
90
|
+
"className": "mb-4",
|
|
91
|
+
"fields": [
|
|
92
|
+
"dependencies"
|
|
93
|
+
],
|
|
94
|
+
"fieldsExtend": {
|
|
95
|
+
"dependencies": {
|
|
96
|
+
"label": false,
|
|
97
|
+
"amis": {
|
|
98
|
+
"type": "tpl",
|
|
99
|
+
"tpl": "${dependencies | join: }"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"className": "p-0",
|
|
106
|
+
"id": "u:5d4e7e3f6ecc"
|
|
77
107
|
}
|
|
78
108
|
],
|
|
79
109
|
"id": "u:148cf8e840eb"
|
|
@@ -26,13 +26,13 @@
|
|
|
26
26
|
"body": [
|
|
27
27
|
{
|
|
28
28
|
"type": "tpl",
|
|
29
|
-
"tpl": "<div class='antd-Card-heading bg-white'><span class='antd-Card-avtar pull-left thumb-md m-r slds-icon slds-icon_container slds-icon-${iconCategory}-${iconName} ${display === \"split\" && 'hidden'}'><img class='antd-Card-img'src='${icon}' /></span><div class='antd-Card-meta'><div class='antd-Card-title'><span class='antd-TplField'><span>${label}</span></span></div><div class='antd-Card-subTitle'><span class='antd-TplField'><span>${description}</span></span></div><div class='antd-Card-desc'><span class='antd-TplField'><span><span class='bg
|
|
29
|
+
"tpl": "<div class='antd-Card-heading bg-white'><span class='antd-Card-avtar pull-left thumb-md m-r slds-icon slds-icon_container slds-icon-${iconCategory}-${iconName} ${display === \"split\" && 'hidden'}'><img class='antd-Card-img'src='${icon}' /></span><div class='antd-Card-meta'><div class='antd-Card-title'><span class='antd-TplField' title='${label}'><span>${label}</span></span></div><div class='antd-Card-subTitle'><span class='antd-TplField' title='${description}'><span>${description}</span></span></div><div class='antd-Card-desc'><span class='antd-TplField'><span><span class='bg-${status === 'enable' ? 'green': 'gray'}-300 rounded-full px-2 py-0.5 mt-2 inline-block'>${_display.status}</span><span class='text-gray-600 px-2 py-0.5 mt-2 inline-block float-right'>${version}</span></span></span></div></div></div>"
|
|
30
30
|
}
|
|
31
31
|
],
|
|
32
32
|
"actions": [
|
|
33
33
|
{
|
|
34
34
|
"label": "${uiSchema.actions.enable.label}",
|
|
35
|
-
"disabledOn": "${status === 'enable'}",
|
|
35
|
+
"disabledOn": "${status === 'enable' || window:Meteor.settings.public.enable_saas}",
|
|
36
36
|
"className": "mr-4",
|
|
37
37
|
"onEvent": {
|
|
38
38
|
"click": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"label": "${uiSchema.actions.disable.label}",
|
|
51
|
-
"disabledOn": "${status !== 'enable'}",
|
|
51
|
+
"disabledOn": "${status !== 'enable' || window:Meteor.settings.public.enable_saas}",
|
|
52
52
|
"onEvent": {
|
|
53
53
|
"click": {
|
|
54
54
|
"actions": [
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-package-registry",
|
|
3
|
-
"version": "2.5.18-beta.
|
|
3
|
+
"version": "2.5.18-beta.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "package.service.js",
|
|
6
6
|
"scripts": {
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
"author": "",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@steedos/auth": "2.5.18-beta.
|
|
13
|
-
"@steedos/core": "2.5.18-beta.
|
|
14
|
-
"@steedos/metadata-core": "2.5.18-beta.
|
|
15
|
-
"@steedos/objectql": "2.5.18-beta.
|
|
16
|
-
"@steedos/service-package-loader": "2.5.18-beta.
|
|
12
|
+
"@steedos/auth": "2.5.18-beta.3",
|
|
13
|
+
"@steedos/core": "2.5.18-beta.3",
|
|
14
|
+
"@steedos/metadata-core": "2.5.18-beta.3",
|
|
15
|
+
"@steedos/objectql": "2.5.18-beta.3",
|
|
16
|
+
"@steedos/service-package-loader": "2.5.18-beta.3",
|
|
17
17
|
"fs-extra": "8.1.0",
|
|
18
18
|
"i18next": "20.3.2",
|
|
19
19
|
"json-stringify-safe": "5.0.1",
|
|
@@ -31,5 +31,5 @@
|
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "ad7085eedba341a58446a969102da5cdc3d691b2"
|
|
35
35
|
}
|
|
@@ -155,13 +155,20 @@ module.exports = {
|
|
|
155
155
|
enablePackage:{
|
|
156
156
|
async handler(ctx) {
|
|
157
157
|
const { module } = ctx.params
|
|
158
|
-
|
|
158
|
+
let packageConfig = await loader.getPackageConfig(module);
|
|
159
|
+
|
|
160
|
+
const packageYmlData = loader.getPackageYmlData(packageConfig.path);
|
|
161
|
+
|
|
162
|
+
if(packageYmlData.dependencies){
|
|
163
|
+
await packages.checkDependencies(path.resolve(packageConfig.path), packageYmlData.dependencies || [])
|
|
164
|
+
}
|
|
165
|
+
packageConfig = await loader.enablePackage(module);
|
|
166
|
+
|
|
159
167
|
if(packageConfig.static){
|
|
160
168
|
packageConfig = Object.assign({}, packageConfig, this.getStaticPackageInfo(packageConfig, packageConfig.name))
|
|
161
169
|
}
|
|
162
|
-
|
|
170
|
+
|
|
163
171
|
const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packageConfig.path));
|
|
164
|
-
const packageYmlData = loader.getPackageYmlData(packageConfig.path);
|
|
165
172
|
await ctx.broker.call(`@steedos/service-packages.install`, {
|
|
166
173
|
serviceInfo: Object.assign({}, packageConfig, {
|
|
167
174
|
packageYmlData,
|
|
@@ -225,8 +232,24 @@ module.exports = {
|
|
|
225
232
|
async handler(ctx) {
|
|
226
233
|
return await this.addPackages(ctx);
|
|
227
234
|
}
|
|
235
|
+
},
|
|
236
|
+
getNpmrc: {
|
|
237
|
+
async handler(ctx){
|
|
238
|
+
return await loader.getNpmrc()
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
setNpmrc: {
|
|
242
|
+
async handler(ctx){
|
|
243
|
+
const { npmrc } = ctx.params;
|
|
244
|
+
return await loader.setNpmrc(npmrc)
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
yarnAddPackage: {
|
|
248
|
+
async handler(ctx) {
|
|
249
|
+
const { yarnPackage } = ctx.params;
|
|
250
|
+
return await this.yarnAddPackage(yarnPackage);
|
|
251
|
+
}
|
|
228
252
|
}
|
|
229
|
-
|
|
230
253
|
},
|
|
231
254
|
|
|
232
255
|
/**
|
|
@@ -489,6 +512,34 @@ module.exports = {
|
|
|
489
512
|
}
|
|
490
513
|
}
|
|
491
514
|
}
|
|
515
|
+
},
|
|
516
|
+
yarnAddPackage: {
|
|
517
|
+
async handler(yarnPackage) {
|
|
518
|
+
const packages = await registry.yarnAddPackage(yarnPackage);
|
|
519
|
+
for (const packageInfo of packages) {
|
|
520
|
+
const packagePath = packageInfo.path;
|
|
521
|
+
loader.appendToPackagesConfig(packageInfo.name, {
|
|
522
|
+
version: packageInfo.version,
|
|
523
|
+
path: util.getPackageRelativePath(process.cwd(), packagePath),
|
|
524
|
+
enable: false
|
|
525
|
+
});
|
|
526
|
+
const metadata = await loader.getPackageMetadata(util.getPackageRelativePath(process.cwd(), packagePath));
|
|
527
|
+
const packageYmlData = loader.getPackageYmlData(packagePath);
|
|
528
|
+
await this.broker.call(`@steedos/service-packages.install`, {
|
|
529
|
+
serviceInfo: Object.assign({}, {
|
|
530
|
+
version: packageInfo.version,
|
|
531
|
+
path: packageInfo.path
|
|
532
|
+
}, {
|
|
533
|
+
packageYmlData: packageYmlData,
|
|
534
|
+
name: packageInfo.name,
|
|
535
|
+
enable: false,
|
|
536
|
+
nodeID: broker.nodeID,
|
|
537
|
+
instanceID: broker.instanceID,
|
|
538
|
+
metadata: metadata
|
|
539
|
+
})
|
|
540
|
+
})
|
|
541
|
+
}
|
|
542
|
+
}
|
|
492
543
|
}
|
|
493
544
|
},
|
|
494
545
|
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
const express = require('express');
|
|
2
|
-
const router = express.Router();
|
|
3
|
-
const core = require('@steedos/core');
|
|
4
|
-
const registry = require('../manager/registry');
|
|
5
|
-
const loader = require('../manager/loader');
|
|
6
|
-
const objectql = require('@steedos/objectql');
|
|
7
|
-
let schema = objectql.getSteedosSchema();
|
|
8
|
-
router.get('/api/nodes/install', core.requireAuthentication, async function (req, res) {
|
|
9
|
-
const userSession = req.user;
|
|
10
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
11
|
-
const body = JSON.parse(decodeURIComponent(Buffer.from(req.query.data, "base64").toString('utf8')));
|
|
12
|
-
if(!isSpaceAdmin){
|
|
13
|
-
return res.status(401).send({ message: 'No permission' });
|
|
14
|
-
}
|
|
15
|
-
try {
|
|
16
|
-
const { module, version, label, description, nodeID} = body || {};
|
|
17
|
-
let broker = schema.broker;
|
|
18
|
-
const result = await broker.call(`@steedos/service-project.installPackage`, {
|
|
19
|
-
module, version, label, description
|
|
20
|
-
},{
|
|
21
|
-
nodeID: nodeID
|
|
22
|
-
})
|
|
23
|
-
res.redirect(302, `/app/admin/steedos_packages/grid/all`);
|
|
24
|
-
// res.status(200).send(result); //TODO 完善返回信息
|
|
25
|
-
} catch (error) {
|
|
26
|
-
console.error(error);
|
|
27
|
-
res.status(500).send({error: error.message});
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
router.post('/api/nodes/uninstall', core.requireAuthentication, async function (req, res) {
|
|
32
|
-
const userSession = req.user;
|
|
33
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
34
|
-
const body = req.body;
|
|
35
|
-
if(!isSpaceAdmin){
|
|
36
|
-
return res.status(401).send({ message: 'No permission' });
|
|
37
|
-
}
|
|
38
|
-
try {
|
|
39
|
-
await loader.removePackage(body.module);
|
|
40
|
-
await registry.uninstallModule(body.module)
|
|
41
|
-
const { module, nodeID} = body || {};
|
|
42
|
-
let broker = schema.broker;
|
|
43
|
-
const result = await broker.call(`@steedos/service-project.uninstallPackage`, {
|
|
44
|
-
module
|
|
45
|
-
},{
|
|
46
|
-
nodeID: nodeID
|
|
47
|
-
})
|
|
48
|
-
res.status(200).send(result); //TODO 完善返回信息
|
|
49
|
-
} catch (error) {
|
|
50
|
-
console.error(error);
|
|
51
|
-
res.status(500).send({error: error.message});
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
router.post('/api/nodes/reload', core.requireAuthentication, async function (req, res) {
|
|
56
|
-
const userSession = req.user;
|
|
57
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
58
|
-
const body = req.body;
|
|
59
|
-
if(!isSpaceAdmin){
|
|
60
|
-
return res.status(401).send({ message: 'No permission' });
|
|
61
|
-
}
|
|
62
|
-
try {
|
|
63
|
-
const { module, nodeID} = body || {};
|
|
64
|
-
let broker = schema.broker;
|
|
65
|
-
const result = await broker.call(`@steedos/service-project.reloadPackage`, {
|
|
66
|
-
module
|
|
67
|
-
},{
|
|
68
|
-
nodeID: nodeID
|
|
69
|
-
})
|
|
70
|
-
res.status(200).send(result);
|
|
71
|
-
} catch (error) {
|
|
72
|
-
console.error(error);
|
|
73
|
-
res.status(500).send({error: error.message});
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
router.post('/api/nodes/disable', core.requireAuthentication, async function (req, res) {
|
|
78
|
-
const userSession = req.user;
|
|
79
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
80
|
-
const body = req.body;
|
|
81
|
-
if(!isSpaceAdmin){
|
|
82
|
-
return res.status(401).send({ message: 'No permission' });
|
|
83
|
-
}
|
|
84
|
-
try {
|
|
85
|
-
const { module, nodeID} = body || {};
|
|
86
|
-
let broker = schema.broker;
|
|
87
|
-
const result = await broker.call(`@steedos/service-project.disablePackage`, {
|
|
88
|
-
module
|
|
89
|
-
},{
|
|
90
|
-
nodeID: nodeID
|
|
91
|
-
})
|
|
92
|
-
res.status(200).send(result);
|
|
93
|
-
} catch (error) {
|
|
94
|
-
console.error(error);
|
|
95
|
-
res.status(500).send({error: error.message});
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
router.post('/api/nodes/enable', core.requireAuthentication, async function (req, res) {
|
|
100
|
-
const userSession = req.user;
|
|
101
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
102
|
-
const body = req.body;
|
|
103
|
-
if(!isSpaceAdmin){
|
|
104
|
-
return res.status(401).send({ message: 'No permission' });
|
|
105
|
-
}
|
|
106
|
-
try {
|
|
107
|
-
const { module, nodeID} = body || {};
|
|
108
|
-
let broker = schema.broker;
|
|
109
|
-
const result = await broker.call(`@steedos/service-project.enablePackage`, {
|
|
110
|
-
module
|
|
111
|
-
},{
|
|
112
|
-
nodeID: nodeID
|
|
113
|
-
})
|
|
114
|
-
res.status(200).send(result);
|
|
115
|
-
} catch (error) {
|
|
116
|
-
console.error(error);
|
|
117
|
-
res.status(500).send({error: error.message});
|
|
118
|
-
}
|
|
119
|
-
});
|
|
120
|
-
router.get('/api/nodes/versions', core.requireAuthentication, async function (req, res) {
|
|
121
|
-
const userSession = req.user;
|
|
122
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
123
|
-
// console.log(`req.query`, req.query)
|
|
124
|
-
const body = req.query;
|
|
125
|
-
const { module } = body || {};
|
|
126
|
-
if(!module){
|
|
127
|
-
return res.status(500).send({ message: 'Not find module' });
|
|
128
|
-
}
|
|
129
|
-
if(!isSpaceAdmin){
|
|
130
|
-
return res.status(401).send({ message: 'No permission' });
|
|
131
|
-
}
|
|
132
|
-
try {
|
|
133
|
-
|
|
134
|
-
let broker = schema.broker;
|
|
135
|
-
const result = await broker.call(`@steedos/service-project.getPackageVersions`, {
|
|
136
|
-
module
|
|
137
|
-
})
|
|
138
|
-
res.status(200).send(result); //TODO 完善返回信息
|
|
139
|
-
} catch (error) {
|
|
140
|
-
console.error(error);
|
|
141
|
-
res.status(500).send({error: error.message});
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
router.post('/api/nodes/upgrade', core.requireAuthentication, async function (req, res) {
|
|
146
|
-
const userSession = req.user;
|
|
147
|
-
const isSpaceAdmin = userSession.is_space_admin;
|
|
148
|
-
const body = req.body;
|
|
149
|
-
if(!isSpaceAdmin){
|
|
150
|
-
return res.status(401).send({ message: 'No permission' });
|
|
151
|
-
}
|
|
152
|
-
try {
|
|
153
|
-
const { module, version} = body || {};
|
|
154
|
-
let broker = schema.broker;
|
|
155
|
-
const result = await broker.call(`@steedos/service-project.upgradePackage`, {
|
|
156
|
-
module, version
|
|
157
|
-
})
|
|
158
|
-
res.status(200).send(result);
|
|
159
|
-
} catch (error) {
|
|
160
|
-
console.error(error);
|
|
161
|
-
res.status(500).send({error: error.message});
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
exports.default = router;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* @Author: baozhoutao@steedos.com
|
|
3
|
-
* @Date: 2022-11-17 16:29:17
|
|
4
|
-
* @LastEditors: baozhoutao@steedos.com
|
|
5
|
-
* @LastEditTime: 2022-11-28 18:01:04
|
|
6
|
-
* @Description:
|
|
7
|
-
*/
|
|
8
|
-
const express = require('express');
|
|
9
|
-
const router = express.Router();
|
|
10
|
-
const core = require("@steedos/core");
|
|
11
|
-
|
|
12
|
-
let STEEDOS_REGISTRY_URL = process.env.STEEDOS_REGISTRY_URL ? process.env.STEEDOS_REGISTRY_URL : 'https://registry.steedos.cn/';
|
|
13
|
-
|
|
14
|
-
router.get("/api/nodes/registry", core.requireAuthentication, async function (req, res) {
|
|
15
|
-
res.status(200).send([
|
|
16
|
-
{ label: "https://registry.npmjs.org/", value: "https://registry.npmjs.org/" },
|
|
17
|
-
{ label: "https://registry.npm.taobao.org/", value: "https://registry.npm.taobao.org/" },
|
|
18
|
-
{ label: STEEDOS_REGISTRY_URL, value: STEEDOS_REGISTRY_URL },
|
|
19
|
-
]);
|
|
20
|
-
});
|
|
21
|
-
exports.default = router;
|