@steedos/service-package-loader 2.5.8-beta.2 → 2.5.8-beta.4
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/index.js +2 -0
- package/lib/consts.d.ts +8 -0
- package/lib/consts.js +12 -0
- package/lib/consts.js.map +1 -0
- package/lib/importLoader/index.d.ts +1 -0
- package/lib/importLoader/index.js +29 -0
- package/lib/importLoader/index.js.map +1 -0
- package/lib/importLoader/types/import.d.ts +17 -0
- package/lib/importLoader/types/import.js +3 -0
- package/lib/importLoader/types/import.js.map +1 -0
- package/lib/importLoader/types/index.d.ts +1 -0
- package/lib/importLoader/types/index.js +5 -0
- package/lib/importLoader/types/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/package.json +5 -5
- package/src/consts.ts +17 -0
- package/src/importLoader/index.ts +36 -0
- package/src/importLoader/types/import.ts +26 -0
- package/src/importLoader/types/index.ts +1 -0
- package/src/index.ts +4 -3
package/index.js
CHANGED
|
@@ -4,6 +4,7 @@ const triggerLoader = require('./lib').triggerLoader;
|
|
|
4
4
|
const processLoader = require('./lib').processLoader;
|
|
5
5
|
const processTriggerLoader = require('./lib').processTriggerLoader;
|
|
6
6
|
const triggerYmlLoader = require('./lib').triggerYmlLoader;
|
|
7
|
+
const importLoader = require('./lib').importLoader;
|
|
7
8
|
const path = require('path');
|
|
8
9
|
const _ = require('lodash');
|
|
9
10
|
const fs = require("fs");
|
|
@@ -149,6 +150,7 @@ module.exports = {
|
|
|
149
150
|
await triggerLoader.load(this.broker, packagePath, name);
|
|
150
151
|
await processTriggerLoader.load(this.broker, packagePath, name);
|
|
151
152
|
await triggerYmlLoader.load(this.broker, packagePath, name);
|
|
153
|
+
await importLoader.load(this.broker, packagePath, name);
|
|
152
154
|
if(this.core){
|
|
153
155
|
this.core.loadClientScripts();
|
|
154
156
|
const routersInfo = await this.loadPackageRouters(packagePath, name);
|
package/lib/consts.d.ts
ADDED
package/lib/consts.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.METADATA_SYSTEM_PERMISSION = void 0;
|
|
4
|
+
exports.METADATA_SYSTEM_PERMISSION = {
|
|
5
|
+
is_system: true,
|
|
6
|
+
record_permissions: {
|
|
7
|
+
allowEdit: false,
|
|
8
|
+
allowDelete: false,
|
|
9
|
+
allowRead: true,
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=consts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":";;;AASa,QAAA,0BAA0B,GAAG;IACtC,SAAS,EAAE,IAAI;IACf,kBAAkB,EAAE;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;QAClB,SAAS,EAAE,IAAI;KAClB;CACJ,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function load(broker: any, packagePath: string, packageServiceName: string): Promise<void>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.load = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const metadata_core_1 = require("@steedos/metadata-core");
|
|
6
|
+
const metadata_registrar_1 = require("@steedos/metadata-registrar");
|
|
7
|
+
const path = require("path");
|
|
8
|
+
const _ = require("lodash");
|
|
9
|
+
const consts_1 = require("../consts");
|
|
10
|
+
const loadImportFile = new metadata_core_1.LoadImportFile();
|
|
11
|
+
function load(broker, packagePath, packageServiceName) {
|
|
12
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
let filePath = path.join(packagePath, "**");
|
|
14
|
+
const metadatasJSON = loadImportFile.load(filePath);
|
|
15
|
+
if (_.isEmpty(metadatasJSON)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const data = [];
|
|
19
|
+
for (const apiName in metadatasJSON) {
|
|
20
|
+
const doc = metadatasJSON[apiName];
|
|
21
|
+
data.push(Object.assign(doc, consts_1.METADATA_SYSTEM_PERMISSION));
|
|
22
|
+
}
|
|
23
|
+
if (data.length > 0) {
|
|
24
|
+
yield metadata_registrar_1.registerImport.mregister(broker, packageServiceName, data);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
exports.load = load;
|
|
29
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/importLoader/index.ts"],"names":[],"mappings":";;;;AASA,0DAAuD;AACvD,oEAA4D;AAC5D,6BAA8B;AAC9B,4BAA6B;AAE7B,sCAAuD;AAEvD,MAAM,cAAc,GAAG,IAAI,8BAAc,EAAE,CAAC;AAE5C,SAAsB,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,kBAA0B;;QACnF,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YAC1B,OAAO;SACV;QAGD,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;YACjC,MAAM,GAAG,GAAW,aAAa,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,mCAA0B,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,MAAM,mCAAc,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAA;SACnE;IAEL,CAAC;CAAA;AAjBD,oBAiBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
declare type FieldMapping = {
|
|
2
|
+
header: string;
|
|
3
|
+
api_name?: string;
|
|
4
|
+
matched_by?: string;
|
|
5
|
+
save_key_while_fail?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare type Import = {
|
|
8
|
+
name: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
object_name: string;
|
|
11
|
+
encoding?: string;
|
|
12
|
+
value_separator?: string;
|
|
13
|
+
operation: 'insert' | 'update' | 'upsert';
|
|
14
|
+
field_mappings: [FieldMapping];
|
|
15
|
+
external_id_name?: string;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../../src/importLoader/types/import.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './import';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/importLoader/types/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB"}
|
package/lib/index.d.ts
CHANGED
|
@@ -2,3 +2,4 @@ export * as triggerLoader from "./triggerLoader";
|
|
|
2
2
|
export * as processLoader from "./processLoader";
|
|
3
3
|
export * as processTriggerLoader from "./processTriggerLoader";
|
|
4
4
|
export * as triggerYmlLoader from './loader/triggerYmlLoader';
|
|
5
|
+
export * as importLoader from './importLoader';
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.triggerYmlLoader = exports.processTriggerLoader = exports.processLoader = exports.triggerLoader = void 0;
|
|
3
|
+
exports.importLoader = exports.triggerYmlLoader = exports.processTriggerLoader = exports.processLoader = exports.triggerLoader = void 0;
|
|
4
4
|
exports.triggerLoader = require("./triggerLoader");
|
|
5
5
|
exports.processLoader = require("./processLoader");
|
|
6
6
|
exports.processTriggerLoader = require("./processTriggerLoader");
|
|
7
7
|
exports.triggerYmlLoader = require("./loader/triggerYmlLoader");
|
|
8
|
+
exports.importLoader = require("./importLoader");
|
|
8
9
|
//# 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":";;;AAOA,mDAAgD;AAChD,mDAAgD;AAChD,iEAA8D;AAC9D,gEAA8D"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,mDAAgD;AAChD,mDAAgD;AAChD,iEAA8D;AAC9D,gEAA8D;AAC9D,iDAA8C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-package-loader",
|
|
3
|
-
"version": "2.5.8-beta.
|
|
3
|
+
"version": "2.5.8-beta.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"author": "",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@steedos/metadata-core": "2.5.8-beta.
|
|
14
|
-
"@steedos/metadata-registrar": "2.5.8-beta.
|
|
15
|
-
"@steedos/router": "2.5.8-beta.
|
|
13
|
+
"@steedos/metadata-core": "2.5.8-beta.4",
|
|
14
|
+
"@steedos/metadata-registrar": "2.5.8-beta.4",
|
|
15
|
+
"@steedos/router": "2.5.8-beta.4",
|
|
16
16
|
"clone": "^2.1.2",
|
|
17
17
|
"moleculer": "^0.14.25",
|
|
18
18
|
"underscore": "^1.12.0"
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "20c42d74f05012c94e87088ce1239bf03c260819"
|
|
28
28
|
}
|
package/src/consts.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: 孙浩林 sunhaolin@steedos.com
|
|
3
|
+
* @Date: 2023-07-10 13:54:16
|
|
4
|
+
* @LastEditors: 孙浩林 sunhaolin@steedos.com
|
|
5
|
+
* @LastEditTime: 2023-07-10 13:59:34
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
// 加载元数据文件时给的默认权限
|
|
10
|
+
export const METADATA_SYSTEM_PERMISSION = {
|
|
11
|
+
is_system: true,
|
|
12
|
+
record_permissions: {
|
|
13
|
+
allowEdit: false,
|
|
14
|
+
allowDelete: false,
|
|
15
|
+
allowRead: true,
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: 孙浩林 sunhaolin@steedos.com
|
|
3
|
+
* @Date: 2023-07-10 13:49:21
|
|
4
|
+
* @LastEditors: 孙浩林 sunhaolin@steedos.com
|
|
5
|
+
* @LastEditTime: 2023-07-10 14:05:05
|
|
6
|
+
* @FilePath: /project-template/Users/sunhaolin/Documents/GitHub/steedos-platform-2.3/services/service-package-loader/src/importLoader/index.ts
|
|
7
|
+
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { LoadImportFile } from '@steedos/metadata-core'
|
|
11
|
+
import { registerImport } from '@steedos/metadata-registrar'
|
|
12
|
+
import path = require('path');
|
|
13
|
+
import _ = require('lodash');
|
|
14
|
+
import { Import } from './types';
|
|
15
|
+
import { METADATA_SYSTEM_PERMISSION } from '../consts';
|
|
16
|
+
|
|
17
|
+
const loadImportFile = new LoadImportFile();
|
|
18
|
+
|
|
19
|
+
export async function load(broker: any, packagePath: string, packageServiceName: string) {
|
|
20
|
+
let filePath = path.join(packagePath, "**");
|
|
21
|
+
const metadatasJSON = loadImportFile.load(filePath);
|
|
22
|
+
if (_.isEmpty(metadatasJSON)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// 注册到元数据中心
|
|
27
|
+
const data = [];
|
|
28
|
+
for (const apiName in metadatasJSON) {
|
|
29
|
+
const doc: Import = metadatasJSON[apiName];
|
|
30
|
+
data.push(Object.assign(doc, METADATA_SYSTEM_PERMISSION));
|
|
31
|
+
}
|
|
32
|
+
if (data.length > 0) {
|
|
33
|
+
await registerImport.mregister(broker, packageServiceName, data)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @Author: 孙浩林 sunhaolin@steedos.com
|
|
3
|
+
* @Date: 2023-07-10 13:50:03
|
|
4
|
+
* @LastEditors: 孙浩林 sunhaolin@steedos.com
|
|
5
|
+
* @LastEditTime: 2023-07-10 15:06:59
|
|
6
|
+
* @Description:
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
type FieldMapping = {
|
|
10
|
+
header: string, // 表头
|
|
11
|
+
api_name?: string, // 导入对象的字段
|
|
12
|
+
matched_by?: string, // 关联对象的key
|
|
13
|
+
save_key_while_fail?: boolean // 关联失败时保存key
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type Import = {
|
|
17
|
+
name: string, // API Name
|
|
18
|
+
description?: string, // 导入描述
|
|
19
|
+
object_name: string, // 导入对象
|
|
20
|
+
encoding?: string, // 字符代码 UTF8
|
|
21
|
+
value_separator?: string, // 值分隔符 ','
|
|
22
|
+
operation: 'insert' | 'update' | 'upsert', // 导入操作
|
|
23
|
+
field_mappings: [FieldMapping], // 映射关系
|
|
24
|
+
external_id_name?: string, // 表示数据唯一性字段(重复执行导入时根据此字段更新记录)
|
|
25
|
+
}
|
|
26
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './import';
|
package/src/index.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* @Author: sunhaolin@hotoa.com
|
|
3
3
|
* @Date: 2022-05-14 10:16:03
|
|
4
|
-
* @LastEditors:
|
|
5
|
-
* @LastEditTime: 2023-
|
|
4
|
+
* @LastEditors: 孙浩林 sunhaolin@steedos.com
|
|
5
|
+
* @LastEditTime: 2023-07-10 14:02:11
|
|
6
6
|
* @Description:
|
|
7
7
|
*/
|
|
8
8
|
export * as triggerLoader from "./triggerLoader"
|
|
9
9
|
export * as processLoader from "./processLoader"
|
|
10
10
|
export * as processTriggerLoader from "./processTriggerLoader"
|
|
11
|
-
export * as triggerYmlLoader from './loader/triggerYmlLoader';
|
|
11
|
+
export * as triggerYmlLoader from './loader/triggerYmlLoader';
|
|
12
|
+
export * as importLoader from './importLoader'
|