@steedos/service-metadata-server 2.1.82 → 2.1.86
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 +1 -1
- package/lib/metadataService.js +75 -16
- package/lib/metadataService.js.map +1 -1
- package/lib/permissionFieldsService.js +4 -4
- package/package.json +11 -11
- package/src/metadataService.ts +56 -4
package/index.js
CHANGED
|
@@ -41,6 +41,6 @@ module.exports = {
|
|
|
41
41
|
},
|
|
42
42
|
|
|
43
43
|
async started() {
|
|
44
|
-
await this.broker.waitForServices(['metadata','apps','objects','permissionsets','translations','triggers']);
|
|
44
|
+
await this.broker.waitForServices(['metadata', 'apps', 'objects', 'permissionsets', 'translations', 'triggers'], null, 10);
|
|
45
45
|
}
|
|
46
46
|
}
|
package/lib/metadataService.js
CHANGED
|
@@ -16,7 +16,7 @@ module.exports = {
|
|
|
16
16
|
},
|
|
17
17
|
getServiceConfig: {
|
|
18
18
|
handler(serviceName, apiName, meta) {
|
|
19
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
20
20
|
const metadataType = this.settings.metadataType;
|
|
21
21
|
const metadataConfig = yield this.broker.call(`metadata.getServiceMetadata`, {
|
|
22
22
|
serviceName,
|
|
@@ -28,8 +28,8 @@ module.exports = {
|
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
getServicesConfigs: {
|
|
31
|
-
handler(apiName, meta) {
|
|
32
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
handler(apiName, meta, pluck = true) {
|
|
32
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
33
33
|
const serviceName = '*';
|
|
34
34
|
const metadataType = this.settings.metadataType;
|
|
35
35
|
const configs = yield this.broker.call(`metadata.getServiceMetadatas`, {
|
|
@@ -37,20 +37,44 @@ module.exports = {
|
|
|
37
37
|
metadataType,
|
|
38
38
|
metadataApiName: apiName
|
|
39
39
|
}, { meta: meta });
|
|
40
|
-
|
|
40
|
+
if (pluck) {
|
|
41
|
+
return _.map(configs, 'metadata');
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return configs;
|
|
45
|
+
}
|
|
41
46
|
});
|
|
42
47
|
}
|
|
43
48
|
},
|
|
44
49
|
register: {
|
|
45
50
|
handler(apiName, data, meta) {
|
|
46
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
47
52
|
return yield this.broker.call('metadata.add', { key: this.getMatadataCacherKey(apiName), data: data }, { meta: meta });
|
|
48
53
|
});
|
|
49
54
|
}
|
|
50
55
|
},
|
|
56
|
+
mregister: {
|
|
57
|
+
/**
|
|
58
|
+
* data: {apiName1: value1, apiName2: value2}
|
|
59
|
+
*/
|
|
60
|
+
handler(data, meta) {
|
|
61
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
62
|
+
const mdata = {};
|
|
63
|
+
if (!data || _.isEmpty(data)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
_.map(data, (value, key) => {
|
|
67
|
+
mdata[this.getMatadataCacherKey(key)] = value;
|
|
68
|
+
});
|
|
69
|
+
return yield this.broker.call('metadata.madd', {
|
|
70
|
+
data: mdata
|
|
71
|
+
}, { meta: meta });
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
},
|
|
51
75
|
refresh: {
|
|
52
76
|
handler(apiName, meta) {
|
|
53
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
54
78
|
let config = {};
|
|
55
79
|
const configs = yield this.getServicesConfigs(apiName, meta);
|
|
56
80
|
if (configs.length == 0) {
|
|
@@ -63,9 +87,29 @@ module.exports = {
|
|
|
63
87
|
});
|
|
64
88
|
}
|
|
65
89
|
},
|
|
90
|
+
mrefresh: {
|
|
91
|
+
handler(meta) {
|
|
92
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
93
|
+
const configs = yield this.getServicesConfigs("*", meta, false);
|
|
94
|
+
if (configs.length == 0) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
let mconfig = {};
|
|
98
|
+
_.map(_.groupBy(configs, 'metadataApiName'), (_configs, metadataApiName) => {
|
|
99
|
+
let config = {};
|
|
100
|
+
const __configs = _.map(_configs, 'metadata');
|
|
101
|
+
config = _.defaultsDeep({}, ..._.sortBy(__configs, function (o) {
|
|
102
|
+
return o && o._id ? -1 : 1;
|
|
103
|
+
}), config);
|
|
104
|
+
mconfig[metadataApiName] = config;
|
|
105
|
+
});
|
|
106
|
+
return mconfig;
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
},
|
|
66
110
|
removeServiceMetadata: {
|
|
67
111
|
handler(serviceName, apiName, meta) {
|
|
68
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
112
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
69
113
|
const metadataType = this.settings.metadataType;
|
|
70
114
|
return yield this.broker.call('metadata.removeServiceMetadata', {
|
|
71
115
|
serviceName,
|
|
@@ -87,21 +131,21 @@ module.exports = {
|
|
|
87
131
|
*/
|
|
88
132
|
get: {
|
|
89
133
|
handler(ctx) {
|
|
90
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
134
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
91
135
|
return yield ctx.broker.call('metadata.get', { key: this.getMatadataCacherKey(ctx.params.metadataApiName) }, { meta: ctx.meta });
|
|
92
136
|
});
|
|
93
137
|
}
|
|
94
138
|
},
|
|
95
139
|
getAll: {
|
|
96
140
|
handler(ctx) {
|
|
97
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
98
142
|
return yield ctx.broker.call('metadata.filter', { key: this.getMatadataCacherKey("*") }, { meta: ctx.meta });
|
|
99
143
|
});
|
|
100
144
|
}
|
|
101
145
|
},
|
|
102
146
|
filter: {
|
|
103
147
|
handler(ctx) {
|
|
104
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
105
149
|
let { pattern } = ctx.params;
|
|
106
150
|
return yield ctx.broker.call('metadata.filter', { key: this.getMatadataCacherKey(pattern) }, { meta: ctx.meta });
|
|
107
151
|
});
|
|
@@ -109,7 +153,7 @@ module.exports = {
|
|
|
109
153
|
},
|
|
110
154
|
add: {
|
|
111
155
|
handler(ctx) {
|
|
112
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
156
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
113
157
|
let config = ctx.params.data;
|
|
114
158
|
const serviceName = ctx.meta.metadataServiceName;
|
|
115
159
|
const metadataApiName = ctx.params.apiName;
|
|
@@ -119,13 +163,28 @@ module.exports = {
|
|
|
119
163
|
}
|
|
120
164
|
yield ctx.broker.call('metadata.addServiceMetadata', { key: this.getMatadataCacherKey(metadataApiName), data: config }, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
|
|
121
165
|
const newConfig = yield this.refresh(metadataApiName, ctx.meta);
|
|
122
|
-
|
|
166
|
+
if (newConfig) {
|
|
167
|
+
return yield this.register(metadataApiName, newConfig, ctx.meta);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
madd: {
|
|
173
|
+
handler(ctx) {
|
|
174
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
175
|
+
// data : {k1:v1, k2:v2}
|
|
176
|
+
let data = ctx.params.data;
|
|
177
|
+
yield ctx.broker.call('metadata.maddServiceMetadata', { data: data }, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType }) });
|
|
178
|
+
const newmConfig = yield this.mrefresh(ctx.meta);
|
|
179
|
+
if (newmConfig) {
|
|
180
|
+
return yield this.mregister(newmConfig, ctx.meta);
|
|
181
|
+
}
|
|
123
182
|
});
|
|
124
183
|
}
|
|
125
184
|
},
|
|
126
185
|
delete: {
|
|
127
186
|
handler(ctx) {
|
|
128
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
187
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
129
188
|
const metadataApiName = ctx.params.apiName;
|
|
130
189
|
const serviceName = ctx.meta.metadataServiceName;
|
|
131
190
|
yield this.removeServiceMetadata(serviceName, metadataApiName, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
|
|
@@ -141,7 +200,7 @@ module.exports = {
|
|
|
141
200
|
},
|
|
142
201
|
verify: {
|
|
143
202
|
handler(ctx) {
|
|
144
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
203
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
145
204
|
return true;
|
|
146
205
|
});
|
|
147
206
|
}
|
|
@@ -152,12 +211,12 @@ module.exports = {
|
|
|
152
211
|
schema.events = {};
|
|
153
212
|
}
|
|
154
213
|
schema.events[`$METADATA.${schema.settings.metadataType}.*`] = {
|
|
155
|
-
handler: (ctx) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
214
|
+
handler: (ctx) => (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
156
215
|
var e_1, _a;
|
|
157
216
|
const { isClear, metadataApiNames } = ctx.params;
|
|
158
217
|
if (isClear) {
|
|
159
218
|
try {
|
|
160
|
-
for (var metadataApiNames_1 = tslib_1.__asyncValues(metadataApiNames), metadataApiNames_1_1; metadataApiNames_1_1 = yield metadataApiNames_1.next(), !metadataApiNames_1_1.done;) {
|
|
219
|
+
for (var metadataApiNames_1 = (0, tslib_1.__asyncValues)(metadataApiNames), metadataApiNames_1_1; metadataApiNames_1_1 = yield metadataApiNames_1.next(), !metadataApiNames_1_1.done;) {
|
|
161
220
|
const metadataApiName = metadataApiNames_1_1.value;
|
|
162
221
|
const config = yield this.refresh(metadataApiName, ctx.meta);
|
|
163
222
|
if (!config) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../src/metadataService.ts"],"names":[],"mappings":";;;AAAA,4BAA6B;AAE7B,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,GAAG;IAET;;OAEG;IACH,YAAY,EAAE,CAAC,UAAU,CAAC;IAE1B,OAAO,EAAE;QACL,oBAAoB,EAAE;YAClB,OAAO,CAAC,eAAuB;gBAC3B,OAAO,aAAa,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,eAAe,EAAE,CAAA;YACvE,CAAC;SACJ;QACD,gBAAgB,EAAE;YACR,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI;;oBACpC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAChD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE;wBACzE,WAAW;wBACX,YAAY;wBACZ,eAAe,EAAE,OAAO;qBAC3B,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;oBAChB,OAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC;gBACpC,CAAC;aAAA;SACJ;QACD,kBAAkB,EAAC;YACT,OAAO,CAAC,OAAO,EAAE,IAAI;;
|
|
1
|
+
{"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../src/metadataService.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const METADATA_TYPE = 'permission_fields';
|
|
|
8
8
|
const objectql = require("@steedos/objectql");
|
|
9
9
|
const systemFields = ['owner', 'created', 'created_by', 'modified', 'modified_by', 'locked', 'company_id', 'company_ids', 'instance_state'];
|
|
10
10
|
function getFieldPermission(apiName) {
|
|
11
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
11
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
12
12
|
const schema = objectql.getSteedosSchema();
|
|
13
13
|
const config = yield objectql.registerPermissionFields.get(schema.broker, apiName);
|
|
14
14
|
return config ? config.metadata : null;
|
|
@@ -41,7 +41,7 @@ module.exports = {
|
|
|
41
41
|
methods: {
|
|
42
42
|
resetFieldPermissions: {
|
|
43
43
|
handler(permissionObjectId, userSession) {
|
|
44
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
45
45
|
const record = yield objectql.getObject('permission_objects').findOne(permissionObjectId);
|
|
46
46
|
const permissionSet = yield objectql.getObject('permission_set').findOne(record.permission_set_id);
|
|
47
47
|
//获取对象所有字段
|
|
@@ -89,7 +89,7 @@ module.exports = {
|
|
|
89
89
|
actions: {
|
|
90
90
|
resetFieldPermissions: {
|
|
91
91
|
handler(ctx) {
|
|
92
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
93
93
|
const userSession = ctx.meta.user;
|
|
94
94
|
const { permissionObjectId } = ctx.params;
|
|
95
95
|
return yield this.resetFieldPermissions(permissionObjectId, userSession);
|
|
@@ -98,7 +98,7 @@ module.exports = {
|
|
|
98
98
|
},
|
|
99
99
|
resetAllPermissionSetFieldPermissions: {
|
|
100
100
|
handler(ctx) {
|
|
101
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
|
|
102
102
|
const userSession = ctx.meta.user;
|
|
103
103
|
const { objectName } = ctx.params;
|
|
104
104
|
const records = yield objectql.getObject('permission_objects').directFind({ filters: [['object_name', '=', objectName]] });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-metadata-server",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.86",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
"prepare": "tsc"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@steedos/service-metadata": "2.1.
|
|
12
|
-
"@steedos/service-metadata-apps": "2.1.
|
|
13
|
-
"@steedos/service-metadata-layouts": "2.1.
|
|
14
|
-
"@steedos/service-metadata-objects": "2.1.
|
|
15
|
-
"@steedos/service-metadata-permissionsets": "2.1.
|
|
16
|
-
"@steedos/service-metadata-tabs": "2.1.
|
|
17
|
-
"@steedos/service-metadata-translations": "2.1.
|
|
18
|
-
"@steedos/service-metadata-triggers": "2.1.
|
|
19
|
-
"@steedos/service-packages": "2.1.
|
|
11
|
+
"@steedos/service-metadata": "2.1.86",
|
|
12
|
+
"@steedos/service-metadata-apps": "2.1.86",
|
|
13
|
+
"@steedos/service-metadata-layouts": "2.1.86",
|
|
14
|
+
"@steedos/service-metadata-objects": "2.1.86",
|
|
15
|
+
"@steedos/service-metadata-permissionsets": "2.1.86",
|
|
16
|
+
"@steedos/service-metadata-tabs": "2.1.86",
|
|
17
|
+
"@steedos/service-metadata-translations": "2.1.86",
|
|
18
|
+
"@steedos/service-metadata-triggers": "2.1.86",
|
|
19
|
+
"@steedos/service-packages": "2.1.86"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"typescript": "3.5.3"
|
|
@@ -25,5 +25,5 @@
|
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "0f5fecdba2bff4df5dfdd5b44dad43b1764eba5f"
|
|
29
29
|
}
|
package/src/metadataService.ts
CHANGED
|
@@ -26,7 +26,7 @@ module.exports = {
|
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
28
|
getServicesConfigs:{
|
|
29
|
-
async handler(apiName, meta) {
|
|
29
|
+
async handler(apiName, meta, pluck = true) {
|
|
30
30
|
const serviceName = '*';
|
|
31
31
|
const metadataType = this.settings.metadataType;
|
|
32
32
|
const configs = await this.broker.call(`metadata.getServiceMetadatas`, {
|
|
@@ -34,12 +34,33 @@ module.exports = {
|
|
|
34
34
|
metadataType,
|
|
35
35
|
metadataApiName: apiName
|
|
36
36
|
}, {meta: meta})
|
|
37
|
-
|
|
37
|
+
if (pluck) {
|
|
38
|
+
return _.map(configs, 'metadata');
|
|
39
|
+
} else {
|
|
40
|
+
return configs;
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
},
|
|
40
44
|
register: {
|
|
41
45
|
async handler(apiName, data, meta) {
|
|
42
|
-
return await this.broker.call('metadata.add', {key: this.getMatadataCacherKey(apiName), data: data}, {meta: meta});
|
|
46
|
+
return await this.broker.call('metadata.add', { key: this.getMatadataCacherKey(apiName), data: data }, { meta: meta });
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
mregister: {
|
|
50
|
+
/**
|
|
51
|
+
* data: {apiName1: value1, apiName2: value2}
|
|
52
|
+
*/
|
|
53
|
+
async handler(data, meta) {
|
|
54
|
+
const mdata = {};
|
|
55
|
+
if (!data || _.isEmpty(data)) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
_.map(data, (value, key) => {
|
|
59
|
+
mdata[this.getMatadataCacherKey(key)] = value
|
|
60
|
+
})
|
|
61
|
+
return await this.broker.call('metadata.madd', {
|
|
62
|
+
data: mdata
|
|
63
|
+
}, { meta: meta });
|
|
43
64
|
}
|
|
44
65
|
},
|
|
45
66
|
refresh: {
|
|
@@ -55,6 +76,24 @@ module.exports = {
|
|
|
55
76
|
return config;
|
|
56
77
|
}
|
|
57
78
|
},
|
|
79
|
+
mrefresh: {
|
|
80
|
+
async handler(meta) {
|
|
81
|
+
const configs = await this.getServicesConfigs("*", meta, false);
|
|
82
|
+
if (configs.length == 0) {
|
|
83
|
+
return null
|
|
84
|
+
}
|
|
85
|
+
let mconfig: any = {};
|
|
86
|
+
_.map(_.groupBy(configs, 'metadataApiName'), (_configs, metadataApiName) => {
|
|
87
|
+
let config: any = {};
|
|
88
|
+
const __configs = _.map(_configs, 'metadata');
|
|
89
|
+
config = _.defaultsDeep({}, ..._.sortBy(__configs, function (o) {
|
|
90
|
+
return o && o._id ? -1 : 1;
|
|
91
|
+
}), config)
|
|
92
|
+
mconfig[metadataApiName] = config
|
|
93
|
+
})
|
|
94
|
+
return mconfig;
|
|
95
|
+
}
|
|
96
|
+
},
|
|
58
97
|
removeServiceMetadata: {
|
|
59
98
|
async handler(serviceName, apiName, meta) {
|
|
60
99
|
const metadataType = this.settings.metadataType;
|
|
@@ -102,7 +141,20 @@ module.exports = {
|
|
|
102
141
|
}
|
|
103
142
|
await ctx.broker.call('metadata.addServiceMetadata', {key: this.getMatadataCacherKey(metadataApiName), data: config}, {meta: Object.assign({}, ctx.meta, {metadataType: this.settings.metadataType, metadataApiName: metadataApiName})})
|
|
104
143
|
const newConfig = await this.refresh(metadataApiName, ctx.meta);
|
|
105
|
-
|
|
144
|
+
if (newConfig) {
|
|
145
|
+
return await this.register(metadataApiName, newConfig, ctx.meta)
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
madd: {
|
|
150
|
+
async handler(ctx) {
|
|
151
|
+
// data : {k1:v1, k2:v2}
|
|
152
|
+
let data = ctx.params.data;
|
|
153
|
+
await ctx.broker.call('metadata.maddServiceMetadata', { data: data }, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType }) })
|
|
154
|
+
const newmConfig = await this.mrefresh(ctx.meta);
|
|
155
|
+
if (newmConfig) {
|
|
156
|
+
return await this.mregister(newmConfig, ctx.meta)
|
|
157
|
+
}
|
|
106
158
|
}
|
|
107
159
|
},
|
|
108
160
|
delete: {
|