@steedos/service-metadata-database 3.0.0-beta.8
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/LICENSE.txt +661 -0
- package/lib/actions/index.d.ts +0 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +1 -0
- package/lib/constants.d.ts +1 -0
- package/lib/constants.js +5 -0
- package/lib/constants.js.map +1 -0
- package/lib/handles/apps.d.ts +8 -0
- package/lib/handles/apps.js +37 -0
- package/lib/handles/apps.js.map +1 -0
- package/lib/handles/base.d.ts +13 -0
- package/lib/handles/base.js +49 -0
- package/lib/handles/base.js.map +1 -0
- package/lib/handles/index.d.ts +5 -0
- package/lib/handles/index.js +9 -0
- package/lib/handles/index.js.map +1 -0
- package/lib/handles/objects.d.ts +9 -0
- package/lib/handles/objects.js +89 -0
- package/lib/handles/objects.js.map +1 -0
- package/lib/handles/restriction_rules.d.ts +8 -0
- package/lib/handles/restriction_rules.js +37 -0
- package/lib/handles/restriction_rules.js.map +1 -0
- package/lib/handles/share_rules.d.ts +8 -0
- package/lib/handles/share_rules.js +37 -0
- package/lib/handles/share_rules.js.map +1 -0
- package/lib/handles/tabs.d.ts +8 -0
- package/lib/handles/tabs.js +37 -0
- package/lib/handles/tabs.js.map +1 -0
- package/lib/handles/triggers.d.ts +9 -0
- package/lib/handles/triggers.js +110 -0
- package/lib/handles/triggers.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +77 -0
- package/lib/index.js.map +1 -0
- package/lib/methods/index.d.ts +0 -0
- package/lib/methods/index.js +1 -0
- package/lib/methods/index.js.map +1 -0
- package/package.json +21 -0
- package/package.service.js +10 -0
- package/src/actions/index.ts +0 -0
- package/src/constants.ts +1 -0
- package/src/handles/apps.ts +28 -0
- package/src/handles/base.ts +48 -0
- package/src/handles/index.ts +5 -0
- package/src/handles/objects.ts +102 -0
- package/src/handles/restriction_rules.ts +40 -0
- package/src/handles/share_rules.ts +28 -0
- package/src/handles/tabs.ts +28 -0
- package/src/handles/triggers.ts +111 -0
- package/src/index.ts +120 -0
- package/src/methods/index.ts +0 -0
- package/tsconfig.json +34 -0
package/package.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@steedos/service-metadata-database",
|
|
3
|
+
"version": "3.0.0-beta.8",
|
|
4
|
+
"main": "package.service.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "rm -rf ./lib && tsc"
|
|
7
|
+
},
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@steedos/metadata-registrar": "3.0.0-beta.8",
|
|
10
|
+
"@steedos/objectql": "3.0.0-beta.8",
|
|
11
|
+
"lodash": "^4.17.21"
|
|
12
|
+
},
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"description": "",
|
|
16
|
+
"private": false,
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"gitHead": "723d92765db5342a374c7aacb5b835e69f77ca4b"
|
|
21
|
+
}
|
|
File without changes
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const DB_OBJECT_SERVICE_NAME = "~database-objects";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { addAppConfig, getObject, removeApp } from "@steedos/objectql";
|
|
2
|
+
import { BaseHandle } from "./base";
|
|
3
|
+
import { DB_OBJECT_SERVICE_NAME } from "../constants";
|
|
4
|
+
|
|
5
|
+
export class AppsHandle extends BaseHandle {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("apps");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async init() {
|
|
11
|
+
const dbApps = await getObject("apps").directFind();
|
|
12
|
+
for (const dbApp of dbApps) {
|
|
13
|
+
await this.inserted(dbApp);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async inserted(data) {
|
|
18
|
+
return addAppConfig(data, DB_OBJECT_SERVICE_NAME);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async updated(data) {
|
|
22
|
+
return addAppConfig(data, DB_OBJECT_SERVICE_NAME);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async deleted(data) {
|
|
26
|
+
return removeApp(data._id);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export type ActionData = {
|
|
2
|
+
name: string;
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export class BaseHandle {
|
|
7
|
+
type: string;
|
|
8
|
+
|
|
9
|
+
constructor(type: string) {
|
|
10
|
+
this.type = type;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
async init() {
|
|
14
|
+
console.log(`todo: ${this.type} init`);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async handleAction(
|
|
18
|
+
action: "inserted" | "updated" | "deleted",
|
|
19
|
+
data: ActionData,
|
|
20
|
+
) {
|
|
21
|
+
console.log("BaseHandle handleAction", action, JSON.stringify(data));
|
|
22
|
+
switch (action) {
|
|
23
|
+
case "inserted":
|
|
24
|
+
await this.inserted(data);
|
|
25
|
+
break;
|
|
26
|
+
case "updated":
|
|
27
|
+
await this.updated(data);
|
|
28
|
+
break;
|
|
29
|
+
case "deleted":
|
|
30
|
+
await this.deleted(data);
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
console.warn(`未知的操作类型: ${action}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async inserted(data: ActionData) {
|
|
38
|
+
console.log(`todo: ${this.type} inserted`, data);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
async updated(data: ActionData) {
|
|
42
|
+
console.log(`todo: ${this.type} updated`, data);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async deleted(data: ActionData) {
|
|
46
|
+
console.log(`todo: ${this.type} deleted`, data);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { getObject } from "@steedos/objectql";
|
|
2
|
+
import * as _ from "lodash";
|
|
3
|
+
import { MetadataRegister } from "@steedos/metadata-registrar";
|
|
4
|
+
import { DB_OBJECT_SERVICE_NAME } from "../constants";
|
|
5
|
+
import { BaseHandle } from "./base";
|
|
6
|
+
|
|
7
|
+
export class ObjectsHandle extends BaseHandle {
|
|
8
|
+
constructor() {
|
|
9
|
+
super("objects");
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
async init() {
|
|
13
|
+
const dbObjects = await getObject("objects").directFind({
|
|
14
|
+
fields: ["name"],
|
|
15
|
+
});
|
|
16
|
+
for (const dbObject of dbObjects) {
|
|
17
|
+
await this.handle(dbObject.name);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async inserted(data) {
|
|
22
|
+
return this.handle(data.name);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async updated(data) {
|
|
26
|
+
return this.handle(data.name);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
async deleted(data) {
|
|
30
|
+
broker.call("objects.removeConfig", {
|
|
31
|
+
objectName: data.name,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async handle(objectName) {
|
|
36
|
+
try {
|
|
37
|
+
console.log("ObjectHandle handle", objectName);
|
|
38
|
+
const records = await getObject("objects").directFind({
|
|
39
|
+
filters: ["name", "=", objectName],
|
|
40
|
+
});
|
|
41
|
+
if (!records || records.length === 0) {
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const record = records[0];
|
|
46
|
+
|
|
47
|
+
// 查询字段
|
|
48
|
+
const fieldRecords = await getObject("object_fields").directFind({
|
|
49
|
+
filters: ["object", "=", objectName],
|
|
50
|
+
});
|
|
51
|
+
const fields = {};
|
|
52
|
+
_.map(fieldRecords, (field) => {
|
|
53
|
+
fields[field.name] = field;
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
// 查询按钮
|
|
57
|
+
const btnRecords = await getObject("object_actions").directFind({
|
|
58
|
+
filters: ["object", "=", objectName],
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
const actions = {};
|
|
62
|
+
_.map(btnRecords, (action) => {
|
|
63
|
+
actions[action.name] = action;
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// 查询列表视图
|
|
67
|
+
const lvRecords = await getObject("object_listviews").directFind({
|
|
68
|
+
filters: ["object_name", "=", objectName],
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
const list_views = {};
|
|
72
|
+
_.map(lvRecords, (listview) => {
|
|
73
|
+
list_views[listview.name] = listview;
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
// console.log(
|
|
77
|
+
// `addObjectConfig record`,
|
|
78
|
+
// JSON.stringify(
|
|
79
|
+
// Object.assign({}, record, {
|
|
80
|
+
// isMain: true,
|
|
81
|
+
// fields,
|
|
82
|
+
// actions,
|
|
83
|
+
// list_views,
|
|
84
|
+
// }),
|
|
85
|
+
// ),
|
|
86
|
+
// );
|
|
87
|
+
await MetadataRegister.addObjectConfig(
|
|
88
|
+
DB_OBJECT_SERVICE_NAME,
|
|
89
|
+
Object.assign({}, record, {
|
|
90
|
+
isMain: true,
|
|
91
|
+
fields,
|
|
92
|
+
actions,
|
|
93
|
+
list_views,
|
|
94
|
+
}),
|
|
95
|
+
);
|
|
96
|
+
broker.broadcast("$packages.statisticsActivatedPackages", {});
|
|
97
|
+
} catch (error) {
|
|
98
|
+
console.error(error);
|
|
99
|
+
throw error;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { registerRestrictionRules, getObject } from "@steedos/objectql";
|
|
2
|
+
import { BaseHandle } from "./base";
|
|
3
|
+
import { DB_OBJECT_SERVICE_NAME } from "../constants";
|
|
4
|
+
|
|
5
|
+
export class RestrictionRulesHandle extends BaseHandle {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("restriction_rules");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async init() {
|
|
11
|
+
const dbRecords = await getObject("restriction_rules").directFind();
|
|
12
|
+
for (const dbRecord of dbRecords) {
|
|
13
|
+
await this.inserted(dbRecord);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async inserted(data) {
|
|
18
|
+
return registerRestrictionRules.register(
|
|
19
|
+
broker,
|
|
20
|
+
DB_OBJECT_SERVICE_NAME,
|
|
21
|
+
data,
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async updated(data) {
|
|
26
|
+
return registerRestrictionRules.register(
|
|
27
|
+
broker,
|
|
28
|
+
DB_OBJECT_SERVICE_NAME,
|
|
29
|
+
data,
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async deleted(data) {
|
|
34
|
+
return registerRestrictionRules.remove(
|
|
35
|
+
broker,
|
|
36
|
+
DB_OBJECT_SERVICE_NAME,
|
|
37
|
+
data,
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { registerShareRules, getObject } from "@steedos/objectql";
|
|
2
|
+
import { BaseHandle } from "./base";
|
|
3
|
+
import { DB_OBJECT_SERVICE_NAME } from "../constants";
|
|
4
|
+
|
|
5
|
+
export class ShareRulesHandle extends BaseHandle {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("share_rules");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async init() {
|
|
11
|
+
const dbRecords = await getObject("share_rules").directFind();
|
|
12
|
+
for (const dbRecord of dbRecords) {
|
|
13
|
+
await this.inserted(dbRecord);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async inserted(data) {
|
|
18
|
+
return registerShareRules.register(broker, DB_OBJECT_SERVICE_NAME, data);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async updated(data) {
|
|
22
|
+
return registerShareRules.register(broker, DB_OBJECT_SERVICE_NAME, data);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async deleted(data) {
|
|
26
|
+
return registerShareRules.remove(broker, DB_OBJECT_SERVICE_NAME, data);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { addTabConfig, getObject, removeTab } from "@steedos/objectql";
|
|
2
|
+
import { BaseHandle } from "./base";
|
|
3
|
+
import { DB_OBJECT_SERVICE_NAME } from "../constants";
|
|
4
|
+
|
|
5
|
+
export class TabsHandle extends BaseHandle {
|
|
6
|
+
constructor() {
|
|
7
|
+
super("tabs");
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
async init() {
|
|
11
|
+
const dbTabs = await getObject("tabs").directFind();
|
|
12
|
+
for (const dbTab of dbTabs) {
|
|
13
|
+
await this.inserted(dbTab);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async inserted(data) {
|
|
18
|
+
return addTabConfig(data, DB_OBJECT_SERVICE_NAME);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
async updated(data) {
|
|
22
|
+
return addTabConfig(data, DB_OBJECT_SERVICE_NAME);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
async deleted(data) {
|
|
26
|
+
return removeTab(data.name);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { getObject } from "@steedos/objectql";
|
|
2
|
+
import { BaseHandle } from "./base";
|
|
3
|
+
import { DB_OBJECT_SERVICE_NAME } from "../constants";
|
|
4
|
+
import * as _ from "lodash";
|
|
5
|
+
|
|
6
|
+
export class TriggersHandle extends BaseHandle {
|
|
7
|
+
constructor() {
|
|
8
|
+
super("object_triggers");
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
async init() {
|
|
12
|
+
const dbTriggers = await getObject("object_triggers").directFind();
|
|
13
|
+
for (const dbTrigger of dbTriggers) {
|
|
14
|
+
await this.inserted(dbTrigger);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async inserted(trigger) {
|
|
19
|
+
if (this.isPatternTrigger(trigger)) {
|
|
20
|
+
trigger.isPattern = true;
|
|
21
|
+
}
|
|
22
|
+
await broker.call(
|
|
23
|
+
`object_triggers.add`,
|
|
24
|
+
{ apiName: `${trigger.listenTo}.${trigger.name}`, data: trigger },
|
|
25
|
+
{
|
|
26
|
+
meta: {
|
|
27
|
+
metadataServiceName: DB_OBJECT_SERVICE_NAME,
|
|
28
|
+
caller: {
|
|
29
|
+
nodeID: broker.nodeID,
|
|
30
|
+
service: {
|
|
31
|
+
name: DB_OBJECT_SERVICE_NAME,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
);
|
|
37
|
+
broker.broadcast("metadata.object_triggers.change", {
|
|
38
|
+
apiName: `${trigger.listenTo}.${trigger.name}`,
|
|
39
|
+
listenTo: trigger.listenTo,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
async updated(trigger) {
|
|
44
|
+
if (this.isPatternTrigger(trigger)) {
|
|
45
|
+
trigger.isPattern = true;
|
|
46
|
+
}
|
|
47
|
+
await broker.call(
|
|
48
|
+
`object_triggers.add`,
|
|
49
|
+
{ apiName: `${trigger.listenTo}.${trigger.name}`, data: trigger },
|
|
50
|
+
{
|
|
51
|
+
meta: {
|
|
52
|
+
metadataServiceName: DB_OBJECT_SERVICE_NAME,
|
|
53
|
+
caller: {
|
|
54
|
+
nodeID: broker.nodeID,
|
|
55
|
+
service: {
|
|
56
|
+
name: DB_OBJECT_SERVICE_NAME,
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
);
|
|
62
|
+
broker.broadcast("metadata.object_triggers.change", {
|
|
63
|
+
apiName: `${trigger.listenTo}.${trigger.name}`,
|
|
64
|
+
listenTo: trigger.listenTo,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
async deleted(trigger) {
|
|
69
|
+
await broker.call(
|
|
70
|
+
`object_triggers.delete`,
|
|
71
|
+
{ apiName: `${trigger.listenTo}.${trigger.name}` },
|
|
72
|
+
{
|
|
73
|
+
meta: {
|
|
74
|
+
metadataServiceName: DB_OBJECT_SERVICE_NAME,
|
|
75
|
+
caller: {
|
|
76
|
+
nodeID: broker.nodeID,
|
|
77
|
+
service: {
|
|
78
|
+
name: DB_OBJECT_SERVICE_NAME,
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
);
|
|
84
|
+
broker.broadcast("metadata.object_triggers.change", {
|
|
85
|
+
apiName: `${trigger.listenTo}.${trigger.name}`,
|
|
86
|
+
listenTo: trigger.listenTo,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private isPatternTrigger(data) {
|
|
91
|
+
const { listenTo } = data;
|
|
92
|
+
if (listenTo === "*") {
|
|
93
|
+
return true;
|
|
94
|
+
} else if (_.isArray(listenTo)) {
|
|
95
|
+
return true;
|
|
96
|
+
} else if (_.isRegExp(listenTo)) {
|
|
97
|
+
return true;
|
|
98
|
+
} else if (_.isString(listenTo) && listenTo.startsWith("/")) {
|
|
99
|
+
try {
|
|
100
|
+
if (_.isRegExp(eval(listenTo))) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
104
|
+
} catch (error) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
/*
|
|
3
|
+
* @Author: sunhaolin@hotoa.com
|
|
4
|
+
* @Date: 2022-03-04 17:02:52
|
|
5
|
+
* @LastEditors: baozhoutao@steedos.com
|
|
6
|
+
* @LastEditTime: 2025-03-12 15:11:33
|
|
7
|
+
* @Description:
|
|
8
|
+
*/
|
|
9
|
+
"use strict";
|
|
10
|
+
// import * as actions from './actions';
|
|
11
|
+
// import * as methods from './methods';
|
|
12
|
+
import {
|
|
13
|
+
ObjectsHandle,
|
|
14
|
+
AppsHandle,
|
|
15
|
+
TabsHandle,
|
|
16
|
+
TriggersHandle,
|
|
17
|
+
ShareRulesHandle,
|
|
18
|
+
} from "./handles";
|
|
19
|
+
import { RestrictionRulesHandle } from "./handles/restriction_rules";
|
|
20
|
+
|
|
21
|
+
const project = require("../package.json");
|
|
22
|
+
const packageName = project.name;
|
|
23
|
+
|
|
24
|
+
module.exports = {
|
|
25
|
+
name: packageName,
|
|
26
|
+
namespace: "steedos",
|
|
27
|
+
mixins: [],
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Dependencies
|
|
31
|
+
*/
|
|
32
|
+
dependencies: ["@steedos/service-core-objects"],
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Actions
|
|
36
|
+
*/
|
|
37
|
+
actions: {
|
|
38
|
+
// ...actions
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Events
|
|
43
|
+
*/
|
|
44
|
+
events: {
|
|
45
|
+
"$metadata.*": function (payload, sender, event, ctx) {
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
47
|
+
const self = this;
|
|
48
|
+
// console.log(`Event '${event}' received from ${sender} node:`, payload);
|
|
49
|
+
const { type, action, data } = payload;
|
|
50
|
+
switch (type) {
|
|
51
|
+
case "apps":
|
|
52
|
+
self.appsHandle.handleAction(action, data);
|
|
53
|
+
break;
|
|
54
|
+
case "tabs":
|
|
55
|
+
self.tabsHandle.handleAction(action, data);
|
|
56
|
+
break;
|
|
57
|
+
case "object_listviews":
|
|
58
|
+
self.objectsHandle.handleAction(action, { name: data.object_name });
|
|
59
|
+
break;
|
|
60
|
+
case "object_fields":
|
|
61
|
+
self.objectsHandle.handleAction(action, { name: data.object });
|
|
62
|
+
break;
|
|
63
|
+
case "object_actions":
|
|
64
|
+
self.objectsHandle.handleAction(action, { name: data.object });
|
|
65
|
+
break;
|
|
66
|
+
case "objects":
|
|
67
|
+
self.objectsHandle.handleAction(action, data);
|
|
68
|
+
break;
|
|
69
|
+
case "object_triggers":
|
|
70
|
+
self.triggersHandle.handleAction(action, data);
|
|
71
|
+
break;
|
|
72
|
+
case "share_rules":
|
|
73
|
+
self.shareRulesHandle.handleAction(action, data);
|
|
74
|
+
break;
|
|
75
|
+
case "restriction_rules":
|
|
76
|
+
self.restrictionRulesHandle.handleAction(action, data);
|
|
77
|
+
break;
|
|
78
|
+
default:
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Methods
|
|
86
|
+
*/
|
|
87
|
+
methods: {
|
|
88
|
+
// ...methods
|
|
89
|
+
},
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Service created lifecycle event handler
|
|
93
|
+
*/
|
|
94
|
+
async created() {
|
|
95
|
+
this.objectsHandle = new ObjectsHandle();
|
|
96
|
+
this.appsHandle = new AppsHandle();
|
|
97
|
+
this.tabsHandle = new TabsHandle();
|
|
98
|
+
this.triggersHandle = new TriggersHandle();
|
|
99
|
+
this.shareRulesHandle = new ShareRulesHandle();
|
|
100
|
+
this.restrictionRulesHandle = new RestrictionRulesHandle();
|
|
101
|
+
},
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Service started lifecycle event handler
|
|
105
|
+
*/
|
|
106
|
+
async started() {
|
|
107
|
+
console.log(`Service ${packageName} started`);
|
|
108
|
+
await this.appsHandle.init();
|
|
109
|
+
await this.tabs;
|
|
110
|
+
await this.objectsHandle.init();
|
|
111
|
+
await this.triggersHandle.init();
|
|
112
|
+
await this.shareRulesHandle.init();
|
|
113
|
+
await this.restrictionRulesHandle.init();
|
|
114
|
+
},
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Service stopped lifecycle event handler
|
|
118
|
+
*/
|
|
119
|
+
async stopped() {},
|
|
120
|
+
};
|
|
File without changes
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"outDir": "./lib",
|
|
4
|
+
"target": "es6",
|
|
5
|
+
"module": "commonjs",
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"importHelpers": true,
|
|
8
|
+
"emitDecoratorMetadata": true,
|
|
9
|
+
"experimentalDecorators": true,
|
|
10
|
+
"sourceMap": true,
|
|
11
|
+
"noImplicitAny": false,
|
|
12
|
+
"declaration": true,
|
|
13
|
+
"noFallthroughCasesInSwitch": true,
|
|
14
|
+
//"noImplicitReturns": true,
|
|
15
|
+
"stripInternal": true,
|
|
16
|
+
"pretty": true,
|
|
17
|
+
"strictNullChecks": false,
|
|
18
|
+
"noUnusedLocals": true,
|
|
19
|
+
"downlevelIteration": true,
|
|
20
|
+
"skipLibCheck": true,
|
|
21
|
+
"lib": [
|
|
22
|
+
"es5",
|
|
23
|
+
"es6",
|
|
24
|
+
"es2015",
|
|
25
|
+
"es2016",
|
|
26
|
+
"es2017",
|
|
27
|
+
"esnext"
|
|
28
|
+
],
|
|
29
|
+
"removeComments": true
|
|
30
|
+
},
|
|
31
|
+
"include": [
|
|
32
|
+
"./src/**/*"
|
|
33
|
+
]
|
|
34
|
+
}
|