@steedos/data-import 2.5.19 → 2.5.20-beta.2
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/README.md +3 -9
- package/lib/index.d.ts +1 -0
- package/lib/index.js +7 -18
- package/lib/index.js.map +1 -1
- package/package.json +6 -6
- package/package.service.js +3 -14
- package/lib/importRecords.router.d.ts +0 -1
- package/lib/importRecords.router.js +0 -82
- package/lib/importRecords.router.js.map +0 -1
- package/server.js +0 -17
- package/steedos-config.yml +0 -21
package/README.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
* @Author: sunhaolin@hotoa.com
|
|
3
3
|
* @Date: 2021-10-21 09:57:01
|
|
4
4
|
* @LastEditors: 孙浩林 sunhaolin@steedos.com
|
|
5
|
-
* @LastEditTime: 2023-
|
|
5
|
+
* @LastEditTime: 2023-11-14 11:13:54
|
|
6
6
|
* @Description:
|
|
7
7
|
-->
|
|
8
8
|
## 功能说明
|
|
9
9
|
- 此包是系统设置中的数据导入功能,可通过excel导入对象数据
|
|
10
10
|
|
|
11
|
-
### 提供importData action 支持导入{objectname}.data.json、{objectname}.data.csv
|
|
11
|
+
### 提供importData action 支持导入{objectname}.data.json、{objectname}.data.csv数据
|
|
12
12
|
|
|
13
13
|
- 比如在自定义的软件包package.service.js中监听系统初始化事件调用importData导入软件包中的数据:
|
|
14
14
|
|
|
@@ -21,11 +21,10 @@ module.exports = {
|
|
|
21
21
|
events: {
|
|
22
22
|
// 系统初始化成功
|
|
23
23
|
'service-cloud-init.succeeded': async function (ctx) {
|
|
24
|
-
await this.broker.call("
|
|
24
|
+
await this.broker.call("@steedos/data-import.importData", {
|
|
25
25
|
data: {
|
|
26
26
|
"csv": csvData,
|
|
27
27
|
"json": jsonData,
|
|
28
|
-
"flow": flowData,
|
|
29
28
|
},
|
|
30
29
|
spaceId,
|
|
31
30
|
onlyInsert: true,
|
|
@@ -43,7 +42,6 @@ module.exports = {
|
|
|
43
42
|
data: {
|
|
44
43
|
"csv": [{ objectName: 'warehouse', records: [ [Object] ]],
|
|
45
44
|
"json": [{ objectName: 'house', records: [ [Object] ]],
|
|
46
|
-
"flow": { flowApiName1: {}, flowApiName2: {} },
|
|
47
45
|
},
|
|
48
46
|
spaceId,
|
|
49
47
|
onlyInsert: true,
|
|
@@ -76,10 +74,6 @@ module.exports = {
|
|
|
76
74
|
},
|
|
77
75
|
optional: true,
|
|
78
76
|
},
|
|
79
|
-
flow: {
|
|
80
|
-
type: "object",
|
|
81
|
-
optional: true,
|
|
82
|
-
},
|
|
83
77
|
}
|
|
84
78
|
},
|
|
85
79
|
spaceId: { type: "string" },
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { userSessionType } from './types';
|
|
2
|
+
export { importWithCmsFile } from './objectImport';
|
|
2
3
|
export declare function getUserSession(spaceId?: string): Promise<userSessionType | any>;
|
|
3
4
|
export declare function preCreateCollection(dbManager: any, results: readFileResult[]): Promise<void>;
|
|
4
5
|
export declare type readFileResult = {
|
package/lib/index.js
CHANGED
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.importData = exports.formatResults = exports.preCreateCollection = exports.getUserSession = void 0;
|
|
6
|
+
exports.importData = exports.formatResults = exports.preCreateCollection = exports.getUserSession = exports.importWithCmsFile = void 0;
|
|
7
7
|
const dbManager_1 = require("@steedos/metadata-api/lib/util/dbManager");
|
|
8
8
|
const lodash_1 = require("lodash");
|
|
9
9
|
const objectql_1 = require("@steedos/objectql");
|
|
10
10
|
const ImportJson_1 = __importDefault(require("./imports/ImportJson"));
|
|
11
11
|
const ImportCsv_1 = __importDefault(require("./imports/ImportCsv"));
|
|
12
|
-
const ImportFlow_1 = __importDefault(require("./imports/ImportFlow"));
|
|
13
12
|
const lodash_2 = __importDefault(require("lodash"));
|
|
13
|
+
var objectImport_1 = require("./objectImport");
|
|
14
|
+
Object.defineProperty(exports, "importWithCmsFile", { enumerable: true, get: function () { return objectImport_1.importWithCmsFile; } });
|
|
14
15
|
async function getUserSession(spaceId) {
|
|
15
16
|
var dbManager = new dbManager_1.DbManager({});
|
|
16
17
|
const now = new Date();
|
|
@@ -83,11 +84,9 @@ async function importData(data, onlyInsert = true, spaceId) {
|
|
|
83
84
|
const importer = {
|
|
84
85
|
csv: new ImportCsv_1.default(userSession),
|
|
85
86
|
json: new ImportJson_1.default(userSession),
|
|
86
|
-
flow: new ImportFlow_1.default(userSession)
|
|
87
87
|
};
|
|
88
88
|
const csvData = (data === null || data === void 0 ? void 0 : data.csv) || [];
|
|
89
89
|
const jsonData = (data === null || data === void 0 ? void 0 : data.json) || [];
|
|
90
|
-
const flowData = (data === null || data === void 0 ? void 0 : data.flow) || {};
|
|
91
90
|
if (onlyInsert) {
|
|
92
91
|
var dbManager = new dbManager_1.DbManager(userSession);
|
|
93
92
|
try {
|
|
@@ -100,7 +99,8 @@ async function importData(data, onlyInsert = true, spaceId) {
|
|
|
100
99
|
}
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
|
-
|
|
102
|
+
const jsonResult = formatResults(jsonData, userSession);
|
|
103
|
+
for (const result of jsonResult) {
|
|
104
104
|
const objectName = result.objectName;
|
|
105
105
|
const records = result.records;
|
|
106
106
|
const recordsIds = lodash_2.default.map(records, '_id');
|
|
@@ -109,16 +109,6 @@ async function importData(data, onlyInsert = true, spaceId) {
|
|
|
109
109
|
throw new Error(`停止导入数据:${result.objectName}对象已存在${dbRecords.length}条记录`);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
for (const formName in flowData) {
|
|
113
|
-
var form = flowData[formName];
|
|
114
|
-
let flowApiName = form.api_name;
|
|
115
|
-
if (flowApiName) {
|
|
116
|
-
let flow = await dbManager.findOneWithProjection('flows', { api_name: flowApiName }, { form: 1 });
|
|
117
|
-
if (flow) {
|
|
118
|
-
throw new Error(`停止导入数据:流程${flowApiName}已存在`);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
112
|
}
|
|
123
113
|
catch (error) {
|
|
124
114
|
console.info(error.message);
|
|
@@ -129,9 +119,8 @@ async function importData(data, onlyInsert = true, spaceId) {
|
|
|
129
119
|
await dbManager.close();
|
|
130
120
|
}
|
|
131
121
|
}
|
|
132
|
-
importer.csv.fileRecordsToDB(csvData);
|
|
133
|
-
importer.json.fileRecordsToDB(jsonData);
|
|
134
|
-
importer.flow.fileRecordsToDB(flowData);
|
|
122
|
+
await importer.csv.fileRecordsToDB(csvData);
|
|
123
|
+
await importer.json.fileRecordsToDB(jsonData);
|
|
135
124
|
}
|
|
136
125
|
exports.importData = importData;
|
|
137
126
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,wEAAoE;AACpE,mCAAuC;AACvC,gDAAoD;AACpD,sEAA6C;AAC7C,oEAA2C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/data-import",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.20-beta.2",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "rm -rf ./lib && tsc"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@steedos/core": "2.5.
|
|
11
|
-
"@steedos/metadata-api": "2.5.
|
|
12
|
-
"@steedos/metadata-core": "2.5.
|
|
13
|
-
"@steedos/objectql": "2.5.
|
|
10
|
+
"@steedos/core": "2.5.20-beta.2",
|
|
11
|
+
"@steedos/metadata-api": "2.5.20-beta.2",
|
|
12
|
+
"@steedos/metadata-core": "2.5.20-beta.2",
|
|
13
|
+
"@steedos/objectql": "2.5.20-beta.2",
|
|
14
14
|
"bson": "4.6.4",
|
|
15
15
|
"csvtojson": "~2.0.10",
|
|
16
16
|
"dotenv-flow": "^3.1.0",
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "b9fc3773ae163df5d0062113bf6b21635c898b13"
|
|
28
28
|
}
|
package/package.service.js
CHANGED
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
* @Author: baozhoutao@steedos.com
|
|
3
3
|
* @Date: 2022-03-28 09:35:34
|
|
4
4
|
* @LastEditors: 孙浩林 sunhaolin@steedos.com
|
|
5
|
-
* @LastEditTime: 2023-
|
|
5
|
+
* @LastEditTime: 2023-11-14 11:19:50
|
|
6
6
|
* @Description:
|
|
7
7
|
*/
|
|
8
8
|
"use strict";
|
|
9
9
|
const project = require('./package.json');
|
|
10
10
|
const packageName = project.name;
|
|
11
|
-
const packageLoader = require('@steedos/service-package-loader');
|
|
12
|
-
const path = require('path');
|
|
13
11
|
const objectql = require('@steedos/objectql');
|
|
14
12
|
const { importData } = require('./lib')
|
|
15
13
|
/**
|
|
@@ -19,16 +17,12 @@ const { importData } = require('./lib')
|
|
|
19
17
|
module.exports = {
|
|
20
18
|
name: packageName,
|
|
21
19
|
namespace: "steedos",
|
|
22
|
-
mixins: [
|
|
20
|
+
mixins: [],
|
|
23
21
|
/**
|
|
24
22
|
* Settings
|
|
25
23
|
*/
|
|
26
24
|
settings: {
|
|
27
|
-
|
|
28
|
-
path: path.join(__dirname, 'lib'),
|
|
29
|
-
name: packageName,
|
|
30
|
-
isPackage: false
|
|
31
|
-
}
|
|
25
|
+
|
|
32
26
|
},
|
|
33
27
|
|
|
34
28
|
/**
|
|
@@ -63,7 +57,6 @@ module.exports = {
|
|
|
63
57
|
data: {
|
|
64
58
|
"csv": [{ objectName: 'warehouse', records: [ [Object] ]],
|
|
65
59
|
"json": [{ objectName: 'house', records: [ [Object] ]],
|
|
66
|
-
"flow": { flowApiName1: {}, flowApiName2: {} },
|
|
67
60
|
},
|
|
68
61
|
spaceId,
|
|
69
62
|
onlyInsert: true,
|
|
@@ -96,10 +89,6 @@ module.exports = {
|
|
|
96
89
|
},
|
|
97
90
|
optional: true,
|
|
98
91
|
},
|
|
99
|
-
flow: {
|
|
100
|
-
type: "object",
|
|
101
|
-
optional: true,
|
|
102
|
-
},
|
|
103
92
|
}
|
|
104
93
|
},
|
|
105
94
|
spaceId: { type: "string" },
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const objectImport_1 = require("./objectImport");
|
|
7
|
-
const core_1 = require("@steedos/core");
|
|
8
|
-
const express = require('express');
|
|
9
|
-
const router = express.Router();
|
|
10
|
-
const Fiber = require('fibers');
|
|
11
|
-
const json2xls = require('json2xls');
|
|
12
|
-
const objectql_1 = require("@steedos/objectql");
|
|
13
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
14
|
-
const initiateImport = async function (req, res) {
|
|
15
|
-
try {
|
|
16
|
-
const userSession = req.user;
|
|
17
|
-
let { importObjId, importObjectHistoryId } = req.body;
|
|
18
|
-
let fileId = null;
|
|
19
|
-
const isSpaceAdmin = req.user.is_space_admin;
|
|
20
|
-
if (importObjId && !isSpaceAdmin) {
|
|
21
|
-
return res
|
|
22
|
-
.status(401)
|
|
23
|
-
.send({ status: "error", message: "Permission denied" });
|
|
24
|
-
}
|
|
25
|
-
if (importObjectHistoryId) {
|
|
26
|
-
const record = await (0, objectql_1.getObject)('queue_import_history').findOne(importObjectHistoryId);
|
|
27
|
-
if (!record) {
|
|
28
|
-
throw new Error(`can not find queue_import_history record with given id "${importObjectHistoryId}"`);
|
|
29
|
-
}
|
|
30
|
-
if (!record.file) {
|
|
31
|
-
throw new Error(`Upload excel file, please.`);
|
|
32
|
-
}
|
|
33
|
-
fileId = record.file;
|
|
34
|
-
importObjId = record.queue_import;
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
let result = await (0, objectImport_1.importWithCmsFile)(importObjId, userSession, importObjectHistoryId, fileId);
|
|
38
|
-
return res.status(200).send({ status: "success", result });
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
return res
|
|
42
|
-
.status(500)
|
|
43
|
-
.send({ status: "failed", message: error.message });
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
catch (error) {
|
|
47
|
-
return res.status(500).send({ status: "failed", error: error.message });
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
router.post('/api/data/initiateImport', core_1.requireAuthentication, function (req, res) {
|
|
51
|
-
return Fiber(function () {
|
|
52
|
-
return initiateImport(req, res);
|
|
53
|
-
}).run();
|
|
54
|
-
;
|
|
55
|
-
});
|
|
56
|
-
router.get('/api/data/download/template/:record_id', core_1.requireAuthentication, async function (req, res) {
|
|
57
|
-
try {
|
|
58
|
-
const { record_id } = req.params;
|
|
59
|
-
let queueImportDoc = await (0, objectql_1.getObject)("queue_import").findOne(record_id);
|
|
60
|
-
let fieldMaps = queueImportDoc.field_mappings;
|
|
61
|
-
if (lodash_1.default.isEmpty(fieldMaps)) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
let json = {};
|
|
65
|
-
for (const fMap of fieldMaps) {
|
|
66
|
-
json[fMap.header] = null;
|
|
67
|
-
}
|
|
68
|
-
let xls = json2xls([json]);
|
|
69
|
-
res.writeHead(200, {
|
|
70
|
-
'Content-Type': 'application/octet-stream',
|
|
71
|
-
'Content-Disposition': 'attachment;filename=' + encodeURI(queueImportDoc.description + '.xlsx'),
|
|
72
|
-
'Access-Control-Expose-Headers': 'Content-Disposition'
|
|
73
|
-
});
|
|
74
|
-
res.end(xls, 'binary');
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
console.error(error);
|
|
78
|
-
res.status(500).send({ error: error.message });
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
exports.default = router;
|
|
82
|
-
//# sourceMappingURL=importRecords.router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"importRecords.router.js","sourceRoot":"","sources":["../src/importRecords.router.ts"],"names":[],"mappings":"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"}
|
package/server.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require('dotenv-flow').config();
|
|
2
|
-
|
|
3
|
-
var server = require('@steedos/meteor-bundle-runner');
|
|
4
|
-
var steedos = require('@steedos/core')
|
|
5
|
-
|
|
6
|
-
server.Fiber(function () {
|
|
7
|
-
try {
|
|
8
|
-
server.Profile.run("Server startup", function () {
|
|
9
|
-
server.loadServerBundles();
|
|
10
|
-
steedos.init();
|
|
11
|
-
server.callStartupHooks();
|
|
12
|
-
server.runMain();
|
|
13
|
-
})
|
|
14
|
-
} catch (error) {
|
|
15
|
-
console.error(error.stack)
|
|
16
|
-
}
|
|
17
|
-
}).run()
|
package/steedos-config.yml
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
datasources:
|
|
2
|
-
default:
|
|
3
|
-
connection:
|
|
4
|
-
url: ${MONGO_URL}
|
|
5
|
-
objectFiles:
|
|
6
|
-
- "./lib/**"
|
|
7
|
-
appFiles:
|
|
8
|
-
- "./src/**"
|
|
9
|
-
public:
|
|
10
|
-
cfs:
|
|
11
|
-
store: "local"
|
|
12
|
-
local:
|
|
13
|
-
folder: "./storage"
|
|
14
|
-
plugins:
|
|
15
|
-
- "@steedos/accounts"
|
|
16
|
-
- "@steedos/plugin-company"
|
|
17
|
-
tenant:
|
|
18
|
-
enable_register: true
|
|
19
|
-
enable_forget_password: false
|
|
20
|
-
saas: false
|
|
21
|
-
enable_password_login: true
|