@steedos/metadata-api 3.0.0-beta.9 → 3.0.0-beta.92
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/metadata/collection/_base.js +8 -6
- package/lib/metadata/collection/_base.js.map +1 -1
- package/lib/metadata/collection/dashboard.d.ts +3 -2
- package/lib/metadata/collection/dashboard.js +24 -6
- package/lib/metadata/collection/dashboard.js.map +1 -1
- package/lib/metadata/collection/question.d.ts +3 -1
- package/lib/metadata/collection/question.js +22 -0
- package/lib/metadata/collection/question.js.map +1 -1
- package/lib/metadata/deploy/deploy.router.js +34 -12
- package/lib/metadata/deploy/deploy.router.js.map +1 -1
- package/lib/util/check_name_equals.js +8 -1
- package/lib/util/check_name_equals.js.map +1 -1
- package/lib/util/dbManager.d.ts +4 -1
- package/lib/util/dbManager.js +28 -17
- package/lib/util/dbManager.js.map +1 -1
- package/package.json +40 -40
- package/package.service.js +73 -5
|
@@ -9,7 +9,7 @@ const metadata_core_1 = require("@steedos/metadata-core");
|
|
|
9
9
|
const underscore_1 = __importDefault(require("underscore"));
|
|
10
10
|
class MetadataBaseCollection {
|
|
11
11
|
getIdKey() {
|
|
12
|
-
return
|
|
12
|
+
return "name";
|
|
13
13
|
}
|
|
14
14
|
formatDataOnRetrieve(metadata, dbManager) {
|
|
15
15
|
return metadata;
|
|
@@ -25,7 +25,7 @@ class MetadataBaseCollection {
|
|
|
25
25
|
async retrieve(dbManager, metadataApiNames, steedosPackage) {
|
|
26
26
|
steedosPackage[this.metadataName] = {};
|
|
27
27
|
var packageMetadata = steedosPackage[this.metadataName];
|
|
28
|
-
if (metadataApiNames.length == 1 && metadataApiNames[0] ==
|
|
28
|
+
if (metadataApiNames.length == 1 && metadataApiNames[0] == "*") {
|
|
29
29
|
var metadataList = await this.getAll(dbManager);
|
|
30
30
|
for (var i = 0; i < metadataList.length; i++) {
|
|
31
31
|
var metadataItem = metadataList[i];
|
|
@@ -70,12 +70,14 @@ class MetadataBaseCollection {
|
|
|
70
70
|
return await dbManager.find(this.collectionName, {});
|
|
71
71
|
}
|
|
72
72
|
async findOne(dbManager, metadataApiName) {
|
|
73
|
-
return await dbManager.findOne(this.collectionName, {
|
|
73
|
+
return await dbManager.findOne(this.collectionName, {
|
|
74
|
+
name: metadataApiName,
|
|
75
|
+
});
|
|
74
76
|
}
|
|
75
77
|
async save(dbManager, data) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
const idKey = this.getIdKey();
|
|
79
|
+
const filter = { [idKey]: data[idKey] };
|
|
80
|
+
let record = await dbManager.findOne(this.collectionName, filter);
|
|
79
81
|
if (record == null) {
|
|
80
82
|
record = await dbManager.findOne(this.collectionName, filter, false);
|
|
81
83
|
if (record) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_base.js","sourceRoot":"","sources":["../../../src/metadata/collection/_base.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"_base.js","sourceRoot":"","sources":["../../../src/metadata/collection/_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { MetadataBaseCollection } from
|
|
1
|
+
import { MetadataBaseCollection } from "./_base";
|
|
2
2
|
export declare class DashboardCollection extends MetadataBaseCollection {
|
|
3
3
|
constructor();
|
|
4
4
|
getIdKey(): string;
|
|
5
5
|
formatDataOnRetrieve(metadata: any, dbManager: any): Promise<any>;
|
|
6
|
-
formatDataOnDeploy(metadata: any, dbManager: any): Promise<
|
|
6
|
+
formatDataOnDeploy(metadata: any, dbManager: any): Promise<any>;
|
|
7
7
|
saveDashboardCard(dbManager: any, data: any): Promise<any>;
|
|
8
|
+
protected save(dbManager: any, data: any): Promise<any>;
|
|
8
9
|
}
|
|
@@ -18,7 +18,7 @@ class DashboardCollection extends _base_1.MetadataBaseCollection {
|
|
|
18
18
|
}
|
|
19
19
|
async formatDataOnRetrieve(metadata, dbManager) {
|
|
20
20
|
metadata.cards = await dbManager.find("analytics_dashboard_card", {
|
|
21
|
-
dashboard_id: metadata._id
|
|
21
|
+
dashboard_id: metadata._id,
|
|
22
22
|
});
|
|
23
23
|
delete metadata.created_at;
|
|
24
24
|
delete metadata.updated_at;
|
|
@@ -45,23 +45,41 @@ class DashboardCollection extends _base_1.MetadataBaseCollection {
|
|
|
45
45
|
await this.saveDashboardCard(dbManager, card);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
return metadata;
|
|
48
49
|
}
|
|
49
50
|
async saveDashboardCard(dbManager, data) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
const idKey = this.getIdKey();
|
|
52
|
+
const filter = { [idKey]: data[idKey] };
|
|
53
|
+
const collectionName = "analytics_dashboard_card";
|
|
54
|
+
let record = await dbManager.findOne(collectionName, filter);
|
|
54
55
|
if (record == null) {
|
|
55
56
|
record = await dbManager.findOne(collectionName, filter, false);
|
|
56
57
|
if (record) {
|
|
57
58
|
throw new Error(`process api_name already exists: ${data.name}`);
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
+
const autoGenerateId = data._id ? false : true;
|
|
61
|
+
return await dbManager.insert(collectionName, data, autoGenerateId);
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
64
|
return await dbManager.update(collectionName, filter, data);
|
|
63
65
|
}
|
|
64
66
|
}
|
|
67
|
+
async save(dbManager, data) {
|
|
68
|
+
const idKey = this.getIdKey();
|
|
69
|
+
const filter = { [idKey]: data[idKey] };
|
|
70
|
+
let record = await dbManager.findOne(this.collectionName, filter);
|
|
71
|
+
if (record == null) {
|
|
72
|
+
record = await dbManager.findOne(this.collectionName, filter, false);
|
|
73
|
+
if (record) {
|
|
74
|
+
throw new Error(`process api_name already exists: ${data.name}`);
|
|
75
|
+
}
|
|
76
|
+
const autoGenerateId = data._id ? false : true;
|
|
77
|
+
return await dbManager.insert(this.collectionName, data, autoGenerateId);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return await dbManager.update(this.collectionName, filter, data);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
65
83
|
}
|
|
66
84
|
exports.DashboardCollection = DashboardCollection;
|
|
67
85
|
//# sourceMappingURL=dashboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../src/metadata/collection/dashboard.ts"],"names":[],"mappings":";;;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../src/metadata/collection/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { MetadataBaseCollection } from
|
|
1
|
+
import { MetadataBaseCollection } from "./_base";
|
|
2
2
|
export declare class QuestionCollection extends MetadataBaseCollection {
|
|
3
3
|
constructor();
|
|
4
4
|
getIdKey(): string;
|
|
5
|
+
formatDataOnDeploy(metadata: any, dbManager: any): Promise<any>;
|
|
6
|
+
protected save(dbManager: any, data: any): Promise<any>;
|
|
5
7
|
}
|
|
@@ -11,6 +11,28 @@ class QuestionCollection extends _base_1.MetadataBaseCollection {
|
|
|
11
11
|
getIdKey() {
|
|
12
12
|
return "id";
|
|
13
13
|
}
|
|
14
|
+
async formatDataOnDeploy(metadata, dbManager) {
|
|
15
|
+
if (metadata.id) {
|
|
16
|
+
metadata._id = metadata.id;
|
|
17
|
+
}
|
|
18
|
+
return metadata;
|
|
19
|
+
}
|
|
20
|
+
async save(dbManager, data) {
|
|
21
|
+
const idKey = this.getIdKey();
|
|
22
|
+
const filter = { [idKey]: data[idKey] };
|
|
23
|
+
let record = await dbManager.findOne(this.collectionName, filter);
|
|
24
|
+
if (record == null) {
|
|
25
|
+
record = await dbManager.findOne(this.collectionName, filter, false);
|
|
26
|
+
if (record) {
|
|
27
|
+
throw new Error(`process api_name already exists: ${data.name}`);
|
|
28
|
+
}
|
|
29
|
+
const autoGenerateId = data._id ? false : true;
|
|
30
|
+
return await dbManager.insert(this.collectionName, data, autoGenerateId);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
return await dbManager.update(this.collectionName, filter, data);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
14
36
|
}
|
|
15
37
|
exports.QuestionCollection = QuestionCollection;
|
|
16
38
|
//# sourceMappingURL=question.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"question.js","sourceRoot":"","sources":["../../../src/metadata/collection/question.ts"],"names":[],"mappings":";;;AAAA,0DAAqF;AAErF,
|
|
1
|
+
{"version":3,"file":"question.js","sourceRoot":"","sources":["../../../src/metadata/collection/question.ts"],"names":[],"mappings":";;;AAAA,0DAAqF;AAErF,mCAAiD;AAEjD,MAAM,YAAY,GAAG,2CAAY,CAAC,QAAQ,CAAC;AAE3C,MAAa,kBAAmB,SAAQ,8BAAsB;IAC5D;QACE,KAAK,CAAC,YAAY,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS;QAC1C,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,QAAQ,CAAC,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,IAAI,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAElE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACrE,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;YAC/C,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;CACF;AAhCD,gDAgCC"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const express = require("express");
|
|
4
4
|
const router = express.Router();
|
|
5
|
-
const fs = require(
|
|
6
|
-
const os = require(
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const os = require("os");
|
|
7
7
|
const path = require("path");
|
|
8
8
|
const chalk = require("chalk");
|
|
9
9
|
const dbManager_1 = require("../../util/dbManager");
|
|
@@ -16,19 +16,21 @@ const uploadMetadata = async function (req, res) {
|
|
|
16
16
|
const isSpaceAdmin = req.user.is_space_admin;
|
|
17
17
|
const spaceId = userSession.spaceId;
|
|
18
18
|
if (!isSpaceAdmin) {
|
|
19
|
-
return res
|
|
19
|
+
return res
|
|
20
|
+
.status(401)
|
|
21
|
+
.send({ status: "error", message: "Permission denied" });
|
|
20
22
|
}
|
|
21
|
-
const dataBuffer = Buffer.from(req.body.file,
|
|
23
|
+
const dataBuffer = Buffer.from(req.body.file, "base64");
|
|
22
24
|
var tempDFolder = path.join(os.tmpdir(), "steedos-dx");
|
|
23
25
|
if (!fs.existsSync(tempDFolder)) {
|
|
24
26
|
fs.mkdirSync(tempDFolder);
|
|
25
27
|
}
|
|
26
|
-
var tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "steedos-dx",
|
|
27
|
-
var zipDir = path.join(tempDir,
|
|
28
|
+
var tempDir = fs.mkdtempSync(path.join(os.tmpdir(), "steedos-dx", "upload-"));
|
|
29
|
+
var zipDir = path.join(tempDir, "deploy.zip");
|
|
28
30
|
fs.writeFileSync(zipDir, dataBuffer);
|
|
29
31
|
var resMsg = {
|
|
30
32
|
status: 200,
|
|
31
|
-
msg:
|
|
33
|
+
msg: "",
|
|
32
34
|
};
|
|
33
35
|
var dbManager = new dbManager_1.DbManager(userSession);
|
|
34
36
|
try {
|
|
@@ -44,9 +46,9 @@ const uploadMetadata = async function (req, res) {
|
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
if (isEmptyPackage) {
|
|
47
|
-
throw new Error(
|
|
49
|
+
throw new Error("data not found in package");
|
|
48
50
|
}
|
|
49
|
-
const masterDetailLimit =
|
|
51
|
+
const masterDetailLimit = 5;
|
|
50
52
|
for (const metadataName in SteedosPackage) {
|
|
51
53
|
if (metadataName == metadata_core_1.SteedosMetadataTypeInfoKeys.Object) {
|
|
52
54
|
const objects = SteedosPackage[metadataName];
|
|
@@ -56,9 +58,12 @@ const uploadMetadata = async function (req, res) {
|
|
|
56
58
|
let masterDetailCount = 0;
|
|
57
59
|
for (const FieldName in fields) {
|
|
58
60
|
const field = fields[FieldName];
|
|
59
|
-
if (field[
|
|
61
|
+
if (field["type"] == "master_detail") {
|
|
60
62
|
if (++masterDetailCount > masterDetailLimit) {
|
|
61
|
-
throw new Error(
|
|
63
|
+
throw new Error("Field type [master_detail] over limit in Object: " +
|
|
64
|
+
objectName +
|
|
65
|
+
", max:" +
|
|
66
|
+
masterDetailLimit);
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
}
|
|
@@ -68,6 +73,23 @@ const uploadMetadata = async function (req, res) {
|
|
|
68
73
|
await dbManager.connect();
|
|
69
74
|
var session = await dbManager.startSession();
|
|
70
75
|
await (0, jsonToDb_1.jsonToDb)(SteedosPackage, dbManager, session);
|
|
76
|
+
for (const metadataName in SteedosPackage) {
|
|
77
|
+
const metadataItems = SteedosPackage[metadataName];
|
|
78
|
+
for (const metadataItemName in metadataItems) {
|
|
79
|
+
const metadataTypeInfo = (0, metadata_core_1.getMetadataTypeInfo)(metadataName);
|
|
80
|
+
const metadataItem = metadataItems[metadataItemName];
|
|
81
|
+
console.log(`deploy broker.call b6-metadata.updated`, !!global, {
|
|
82
|
+
type: metadataTypeInfo.tableName,
|
|
83
|
+
id: metadataItemName,
|
|
84
|
+
data: metadataItem,
|
|
85
|
+
});
|
|
86
|
+
await (global === null || global === void 0 ? void 0 : global.broker.call(`b6-metadata.updated`, {
|
|
87
|
+
type: metadataTypeInfo.tableName,
|
|
88
|
+
id: metadataItemName,
|
|
89
|
+
data: metadataItem,
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
71
93
|
resMsg.status = 200;
|
|
72
94
|
resMsg.msg = "deploy success!";
|
|
73
95
|
}
|
|
@@ -82,6 +104,6 @@ const uploadMetadata = async function (req, res) {
|
|
|
82
104
|
(0, metadata_core_1.deleteFolderRecursive)(tempDir);
|
|
83
105
|
return res.status(resMsg.status).send(resMsg.msg);
|
|
84
106
|
};
|
|
85
|
-
router.post(
|
|
107
|
+
router.post("/api/metadata/deploy", auth_1.requireAuthentication, uploadMetadata);
|
|
86
108
|
exports.default = router;
|
|
87
109
|
//# sourceMappingURL=deploy.router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.router.js","sourceRoot":"","sources":["../../../src/metadata/deploy/deploy.router.ts"],"names":[],"mappings":";;AAAA,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;AAChC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAE/B,
|
|
1
|
+
{"version":3,"file":"deploy.router.js","sourceRoot":"","sources":["../../../src/metadata/deploy/deploy.router.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,15 @@ const path = require("path");
|
|
|
5
5
|
const metadata_core_1 = require("@steedos/metadata-core");
|
|
6
6
|
function checkNameEquals(json, name, filepath, metadataName) {
|
|
7
7
|
var fullName = (0, metadata_core_1.getFullName)(metadataName, json);
|
|
8
|
+
if (!fullName && json.extend) {
|
|
9
|
+
fullName = json.extend;
|
|
10
|
+
}
|
|
8
11
|
if (fullName != name) {
|
|
9
|
-
throw new Error('The attribute "name" in the file does not match its filename.\nName:"' +
|
|
12
|
+
throw new Error('The attribute "name" in the file does not match its filename.\nName:"' +
|
|
13
|
+
json["name"] +
|
|
14
|
+
'" Filename:"' +
|
|
15
|
+
path.basename(filepath) +
|
|
16
|
+
'"');
|
|
10
17
|
}
|
|
11
18
|
}
|
|
12
19
|
//# sourceMappingURL=check_name_equals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_name_equals.js","sourceRoot":"","sources":["../../src/util/check_name_equals.ts"],"names":[],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"check_name_equals.js","sourceRoot":"","sources":["../../src/util/check_name_equals.ts"],"names":[],"mappings":";;AAGA,0CAgBC;AAnBD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,0DAAqD;AAErD,SAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY;IAChE,IAAI,QAAQ,GAAG,IAAA,2BAAW,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAE/C,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,uEAAuE;YACrE,IAAI,CAAC,MAAM,CAAC;YACZ,cAAc;YACd,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvB,GAAG,CACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/lib/util/dbManager.d.ts
CHANGED
|
@@ -6,7 +6,10 @@ export declare class DbManager {
|
|
|
6
6
|
connected: boolean;
|
|
7
7
|
private url;
|
|
8
8
|
private userSession;
|
|
9
|
-
|
|
9
|
+
private packageInfo;
|
|
10
|
+
constructor(userSession?: any, packageInfo?: any);
|
|
11
|
+
setPackageInfo(packageInfo: any): void;
|
|
12
|
+
getPackageInfo(): any;
|
|
10
13
|
setUserSession(userSession: any): void;
|
|
11
14
|
getUserSession(): any;
|
|
12
15
|
connect(): Promise<void>;
|
package/lib/util/dbManager.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.DbManager = void 0;
|
|
|
4
4
|
const mongodb_1 = require("mongodb");
|
|
5
5
|
const objectql_1 = require("@steedos/objectql");
|
|
6
6
|
class DbManager {
|
|
7
|
-
constructor(userSession) {
|
|
7
|
+
constructor(userSession, packageInfo) {
|
|
8
8
|
this.connected = false;
|
|
9
9
|
this.url = (0, objectql_1.getSteedosConfig)().datasources.default.connection.url;
|
|
10
10
|
this.client = new mongodb_1.MongoClient(this.url, {
|
|
@@ -12,6 +12,13 @@ class DbManager {
|
|
|
12
12
|
useUnifiedTopology: true,
|
|
13
13
|
});
|
|
14
14
|
this.setUserSession(userSession);
|
|
15
|
+
this.setPackageInfo(packageInfo);
|
|
16
|
+
}
|
|
17
|
+
setPackageInfo(packageInfo) {
|
|
18
|
+
this.packageInfo = packageInfo;
|
|
19
|
+
}
|
|
20
|
+
getPackageInfo() {
|
|
21
|
+
return this.packageInfo;
|
|
15
22
|
}
|
|
16
23
|
setUserSession(userSession) {
|
|
17
24
|
this.userSession = userSession;
|
|
@@ -29,33 +36,36 @@ class DbManager {
|
|
|
29
36
|
await this.client.close();
|
|
30
37
|
}
|
|
31
38
|
async insert(collectionName, doc, autoGenerateId = true) {
|
|
39
|
+
var _a;
|
|
32
40
|
if (autoGenerateId) {
|
|
33
41
|
doc["_id"] = new mongodb_1.ObjectId().toHexString();
|
|
34
|
-
doc["space"] = this.userSession.spaceId;
|
|
35
|
-
const now = new Date();
|
|
36
|
-
doc["owner"] = this.userSession.userId;
|
|
37
|
-
doc["created"] = now;
|
|
38
|
-
doc["created_by"] = this.userSession.userId;
|
|
39
|
-
doc["modified"] = now;
|
|
40
|
-
doc["modified_by"] = this.userSession.userId;
|
|
41
42
|
}
|
|
43
|
+
doc["space"] = this.userSession.spaceId;
|
|
44
|
+
const now = new Date();
|
|
45
|
+
doc["owner"] = this.userSession.userId;
|
|
46
|
+
doc["created"] = now;
|
|
47
|
+
doc["created_by"] = this.userSession.userId;
|
|
48
|
+
doc["modified"] = now;
|
|
49
|
+
doc["modified_by"] = this.userSession.userId;
|
|
50
|
+
doc["package_name"] = (_a = this.packageInfo) === null || _a === void 0 ? void 0 : _a.name;
|
|
42
51
|
return await this.client
|
|
43
52
|
.db()
|
|
44
53
|
.collection(collectionName)
|
|
45
54
|
.insertOne(doc, { session: this.session });
|
|
46
55
|
}
|
|
47
56
|
async insertMany(collectionName, docs, autoGenerateId = true) {
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
for (var i = 0; i < docs.length; i++) {
|
|
58
|
+
if (autoGenerateId) {
|
|
50
59
|
docs[i]["_id"] = new mongodb_1.ObjectId().toHexString();
|
|
51
|
-
docs[i]["space"] = this.userSession.spaceId;
|
|
52
|
-
const now = new Date();
|
|
53
|
-
docs[i]["owner"] = this.userSession.userId;
|
|
54
|
-
docs[i]["created"] = now;
|
|
55
|
-
docs[i]["created_by"] = this.userSession.userId;
|
|
56
|
-
docs[i]["modified"] = now;
|
|
57
|
-
docs[i]["modified_by"] = this.userSession.userId;
|
|
58
60
|
}
|
|
61
|
+
docs[i]["space"] = this.userSession.spaceId;
|
|
62
|
+
const now = new Date();
|
|
63
|
+
docs[i]["owner"] = this.userSession.userId;
|
|
64
|
+
docs[i]["created"] = now;
|
|
65
|
+
docs[i]["created_by"] = this.userSession.userId;
|
|
66
|
+
docs[i]["modified"] = now;
|
|
67
|
+
docs[i]["modified_by"] = this.userSession.userId;
|
|
68
|
+
docs[i]["_packageInfo"] = this.packageInfo;
|
|
59
69
|
}
|
|
60
70
|
return await this.client
|
|
61
71
|
.db()
|
|
@@ -93,6 +103,7 @@ class DbManager {
|
|
|
93
103
|
filter["space"] = space;
|
|
94
104
|
update["modified"] = new Date();
|
|
95
105
|
update["modified_by"] = this.userSession.userId;
|
|
106
|
+
delete update._id;
|
|
96
107
|
return await this.client
|
|
97
108
|
.db()
|
|
98
109
|
.collection(collectionName)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dbManager.js","sourceRoot":"","sources":["../../src/util/dbManager.ts"],"names":[],"mappings":";;;AAGA,qCAAgD;AAChD,gDAAqD;AAErD,MAAa,SAAS;
|
|
1
|
+
{"version":3,"file":"dbManager.js","sourceRoot":"","sources":["../../src/util/dbManager.ts"],"names":[],"mappings":";;;AAGA,qCAAgD;AAChD,gDAAqD;AAErD,MAAa,SAAS;IAWpB,YAAY,WAAY,EAAE,WAAY;QANtC,cAAS,GAAY,KAAK,CAAC;QAOzB,IAAI,CAAC,GAAG,GAAG,IAAA,2BAAgB,GAAE,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QACjE,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAW,CAAC,IAAI,CAAC,GAAG,EAAE;YACtC,eAAe,EAAE,IAAI;YACrB,kBAAkB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IAED,cAAc,CAAC,WAAW;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,cAAc,CAAC,WAAW;QACxB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,cAAsB,EAAE,GAAQ,EAAE,cAAc,GAAG,IAAI;;QAClE,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAExC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACvC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC5C,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;QACtB,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAC7C,GAAG,CAAC,cAAc,CAAC,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,IAAI,CAAC;QAC7C,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,IAAW,EAAE,cAAc,GAAG,IAAI;QACzE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,kBAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;YAChD,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAE5C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAC3C,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YAChD,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7C,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,cAAsB,EAAE,MAAc;QACjD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,SAAS,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,cAAsB,EAAE,MAAc;QACrD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,UAAU,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,cAAsB,EAAE,MAAc,EAAE,MAAW;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACrD,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,cAAsB,EAAE,MAAc,EAAE,MAAc;QACjE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAExB,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAEhD,OAAQ,MAAc,CAAC,GAAG,CAAC;QAC3B,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,cAAsB,EAAE,MAAc,EAAE,MAAc;QAChE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,SAAS,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,cAAsB,EACtB,MAAc,EACd,QAAQ,GAAG,IAAI,EACf,KAAM,EACN,OAAO,GAAG,EAAE;QAEZ,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,UAAU,mCACT,OAAO,KACV,OAAO,EAAE,IAAI,CAAC,OAAO,GACtB,CAAC;QACF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,IAAI,CAAC,MAAM;iBACrB,EAAE,EAAE;iBACJ,UAAU,CAAC,cAAc,CAAC;iBAC1B,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;iBACxB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,IAAI,CAAC,MAAM;iBACrB,EAAE,EAAE;iBACJ,UAAU,CAAC,cAAc,CAAC;iBAC1B,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;iBACxB,OAAO,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CACX,cAAsB,EACtB,MAAc,EACd,QAAQ,GAAG,IAAI,EACf,OAAO,GAAG,EAAE;QAEZ,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,UAAU,mCACT,OAAO,KACV,OAAO,EAAE,IAAI,CAAC,OAAO,GACtB,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,cAAsB,EACtB,MAAc,EACd,UAAmB,EACnB,QAAQ,GAAG,IAAI,EACf,KAAM;QAEN,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,IAAI,CAAC,MAAM;iBACrB,EAAE,EAAE;iBACJ,UAAU,CAAC,cAAc,CAAC;iBAC1B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;iBACrB,KAAK,CAAC,KAAK,CAAC;iBACZ,OAAO,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,IAAI,CAAC,MAAM;iBACrB,EAAE,EAAE;iBACJ,UAAU,CAAC,cAAc,CAAC;iBAC1B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;iBACrB,OAAO,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,cAAsB,EACtB,MAAc,EACd,UAAmB,EACnB,QAAQ,GAAG,IAAI;QAEf,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QACrC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,cAAsB,EAAE,QAAkB;QACxD,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAErC,QAAQ,CAAC,IAAI,CAAC;YACZ,MAAM,EAAE,EAAE,KAAK,EAAE;SAClB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM;aACrB,EAAE,EAAE;aACJ,UAAU,CAAC,cAAc,CAAC;aAC1B,SAAS,CAAC,QAAQ,CAAC;aACnB,OAAO,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;CACF;AAhRD,8BAgRC"}
|
package/package.json
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
2
|
+
"name": "@steedos/metadata-api",
|
|
3
|
+
"version": "3.0.0-beta.92",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"files": [
|
|
7
|
+
"lib/**",
|
|
8
|
+
"plugin.config.yml",
|
|
9
|
+
"package.service.js"
|
|
10
|
+
],
|
|
11
|
+
"scripts": {
|
|
12
|
+
"start": "node server.js",
|
|
13
|
+
"watch": "tsc --watch",
|
|
14
|
+
"build": "tsc",
|
|
15
|
+
"uploadZip": "mocha test/unit/uploadfiles.ts --opts test/mocha.opts",
|
|
16
|
+
"test": "mocha test/unit/*.js"
|
|
17
|
+
},
|
|
18
|
+
"author": "",
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"private": false,
|
|
21
|
+
"publishConfig": {
|
|
22
|
+
"access": "public"
|
|
23
|
+
},
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"@steedos/auth": "3.0.0-beta.92",
|
|
26
|
+
"@steedos/metadata-core": "3.0.0-beta.92",
|
|
27
|
+
"@steedos/objectql": "3.0.0-beta.92",
|
|
28
|
+
"chalk": "^4.1.0",
|
|
29
|
+
"clone": "2.1.2",
|
|
30
|
+
"compressing": "^1.5.1",
|
|
31
|
+
"dotenv-flow": "^3.1.0",
|
|
32
|
+
"form-data": "^3.0.0",
|
|
33
|
+
"js-yaml": "^3.14.1",
|
|
34
|
+
"mongodb": "^3.7.3",
|
|
35
|
+
"node-fetch": "^2.6.7",
|
|
36
|
+
"underscore": "^1.11.0"
|
|
37
|
+
},
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"typescript": "5.7.3"
|
|
40
|
+
},
|
|
41
|
+
"gitHead": "16a684ff645d0a9b745e4b49309f2c63d6a41395"
|
|
42
42
|
}
|
package/package.service.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/* eslint-disable no-undef */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-require-imports */
|
|
1
3
|
/*
|
|
2
4
|
* @Author: baozhoutao@steedos.com
|
|
3
5
|
* @Date: 2022-03-28 09:35:34
|
|
@@ -16,6 +18,9 @@ const { DbManager } = require('./lib/util/dbManager')
|
|
|
16
18
|
const { jsonToDb } = require('./lib/metadata/deploy/jsonToDb')
|
|
17
19
|
const { deleteFolderRecursive } = require('@steedos/metadata-core')
|
|
18
20
|
const { loadFileToJson } = require('./lib/metadata/deploy/fileToJson')
|
|
21
|
+
const {
|
|
22
|
+
getMetadataTypeInfo, getMetadataTypeInfos
|
|
23
|
+
} = require("@steedos/metadata-core");
|
|
19
24
|
/**
|
|
20
25
|
* @typedef {import('moleculer').Context} Context Moleculer's Context
|
|
21
26
|
* 软件包服务启动后也需要抛出事件。
|
|
@@ -45,9 +50,16 @@ module.exports = {
|
|
|
45
50
|
|
|
46
51
|
deploy: {
|
|
47
52
|
async handler(ctx) {
|
|
48
|
-
const { fileBase64 } = ctx.params
|
|
53
|
+
const { fileBase64, packageInfo = {} } = ctx.params
|
|
49
54
|
const userSession = ctx.meta.user
|
|
50
|
-
return await this.deploy(fileBase64, userSession)
|
|
55
|
+
return await this.deploy(fileBase64, userSession, packageInfo)
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
remove: {
|
|
59
|
+
async handler(ctx) {
|
|
60
|
+
const { name } = ctx.params
|
|
61
|
+
const userSession = ctx.meta.user
|
|
62
|
+
return await this.remove(name, userSession)
|
|
51
63
|
}
|
|
52
64
|
}
|
|
53
65
|
|
|
@@ -65,7 +77,7 @@ module.exports = {
|
|
|
65
77
|
*/
|
|
66
78
|
methods: {
|
|
67
79
|
|
|
68
|
-
deploy: async function (fileBase64, userSession) {
|
|
80
|
+
deploy: async function (fileBase64, userSession, packageInfo) {
|
|
69
81
|
const dataBuffer = Buffer.from(fileBase64, 'base64');
|
|
70
82
|
|
|
71
83
|
var tempDFolder = path.join(os.tmpdir(), "steedos-dx");
|
|
@@ -84,7 +96,7 @@ module.exports = {
|
|
|
84
96
|
msg: '',
|
|
85
97
|
};
|
|
86
98
|
|
|
87
|
-
var dbManager = new DbManager(userSession);
|
|
99
|
+
var dbManager = new DbManager(userSession, packageInfo);
|
|
88
100
|
try {
|
|
89
101
|
let SteedosPackage = await loadFileToJson(tempDir);
|
|
90
102
|
|
|
@@ -106,6 +118,28 @@ module.exports = {
|
|
|
106
118
|
var session = await dbManager.startSession();
|
|
107
119
|
await jsonToDb(SteedosPackage, dbManager, session);
|
|
108
120
|
|
|
121
|
+
for (const metadataName in SteedosPackage) {
|
|
122
|
+
const metadataItems = SteedosPackage[metadataName];
|
|
123
|
+
for (const metadataItemName in metadataItems) {
|
|
124
|
+
const metadataTypeInfo = getMetadataTypeInfo(metadataName);
|
|
125
|
+
const metadataItem = metadataItems[metadataItemName];
|
|
126
|
+
await global?.broker.call(`b6-metadata.updated`, {
|
|
127
|
+
type: metadataTypeInfo.tableName,
|
|
128
|
+
id: metadataItemName,
|
|
129
|
+
data: metadataItem,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
if(packageInfo && packageInfo.name){
|
|
135
|
+
const dbPackage = await dbManager.findOne('steedos_packages', { name: packageInfo.name });
|
|
136
|
+
if(dbPackage){
|
|
137
|
+
await dbManager.update('steedos_packages', dbPackage._id, packageInfo);
|
|
138
|
+
}else{
|
|
139
|
+
await dbManager.insert('steedos_packages', packageInfo);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
109
143
|
resMsg.status = 0;
|
|
110
144
|
resMsg.msg = "deploy success!";
|
|
111
145
|
|
|
@@ -120,8 +154,42 @@ module.exports = {
|
|
|
120
154
|
deleteFolderRecursive(tempDir);
|
|
121
155
|
|
|
122
156
|
return resMsg;
|
|
123
|
-
}
|
|
157
|
+
},
|
|
158
|
+
remove: async function (packageName, userSession) {
|
|
159
|
+
const transactionOptions = {
|
|
160
|
+
readPreference: 'primary',
|
|
161
|
+
readConcern: { level: 'majority' },
|
|
162
|
+
writeConcern: { w: 'majority' }
|
|
163
|
+
};
|
|
164
|
+
const dbManager = new DbManager(userSession);
|
|
165
|
+
try {
|
|
166
|
+
await dbManager.connect();
|
|
167
|
+
var session = await dbManager.startSession();
|
|
168
|
+
await session.withTransaction(async () => {
|
|
169
|
+
const typeInfos = getMetadataTypeInfos();
|
|
170
|
+
for (const tName in typeInfos) {
|
|
171
|
+
const typeInfo = typeInfos[tName];
|
|
172
|
+
// console.log('deleteMany', tName, typeInfo.tableName, {package_name: packageName})
|
|
173
|
+
if(typeInfo.tableName){
|
|
174
|
+
await dbManager.deleteMany(typeInfo.tableName, {package_name: packageName});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
for(const tName of ['process_definition', 'action_field_updates', 'workflow_notifications', 'process_instance', 'process_node', 'flow_roles', 'roles']){
|
|
179
|
+
await dbManager.deleteMany(tName, {package_name: packageName});
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
await dbManager.delete('steedos_packages', { name: packageName });
|
|
124
183
|
|
|
184
|
+
}, transactionOptions)
|
|
185
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
186
|
+
} catch (err) {
|
|
187
|
+
console.log(err)
|
|
188
|
+
} finally {
|
|
189
|
+
await dbManager.endSession();
|
|
190
|
+
await dbManager.close();
|
|
191
|
+
}
|
|
192
|
+
}
|
|
125
193
|
},
|
|
126
194
|
|
|
127
195
|
/**
|