@steedos/service-metadata-server 2.1.60 → 2.1.64

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 CHANGED
@@ -1,2 +1,2 @@
1
1
  ## 功能说明
2
- - 用于管理报表相关微服务
2
+ - 管理内核微服务之间的加载、依赖关系
@@ -56,10 +56,24 @@ module.exports = {
56
56
  if (configs.length == 0) {
57
57
  return null;
58
58
  }
59
- config = _.defaultsDeep({}, ..._.reverse(configs), config);
59
+ config = _.defaultsDeep({}, ..._.sortBy(configs, function (o) {
60
+ return o && o._id ? -1 : 1;
61
+ }), config);
60
62
  return config;
61
63
  });
62
64
  }
65
+ },
66
+ removeServiceMetadata: {
67
+ handler(serviceName, apiName, meta) {
68
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
69
+ const metadataType = this.settings.metadataType;
70
+ return yield this.broker.call('metadata.removeServiceMetadata', {
71
+ serviceName,
72
+ metadataType,
73
+ metadataApiName: apiName
74
+ }, meta);
75
+ });
76
+ }
63
77
  }
64
78
  },
65
79
  /**
@@ -112,7 +126,16 @@ module.exports = {
112
126
  delete: {
113
127
  handler(ctx) {
114
128
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
115
- return yield ctx.broker.call('metadata.delete', { key: this.getMatadataCacherKey(ctx.params.metadataApiName) }, { meta: ctx.meta });
129
+ const metadataApiName = ctx.params.apiName;
130
+ const serviceName = ctx.meta.metadataServiceName;
131
+ yield this.removeServiceMetadata(serviceName, metadataApiName, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
132
+ const config = yield this.refresh(metadataApiName, ctx.meta);
133
+ if (!config) {
134
+ yield ctx.broker.call('metadata.delete', { key: this.getMatadataCacherKey(metadataApiName) });
135
+ }
136
+ else {
137
+ yield this.register(metadataApiName, config, ctx.meta);
138
+ }
116
139
  });
117
140
  }
118
141
  },
@@ -1 +1 @@
1
- {"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../src/metadataService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../src/metadataService.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,113 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const _ = require("lodash");
3
5
  const metadataService = require('./metadataService');
4
6
  const SERVICE_NAME = 'permission_fields';
5
7
  const METADATA_TYPE = 'permission_fields';
8
+ const objectql = require("@steedos/objectql");
9
+ const systemFields = ['owner', 'created', 'created_by', 'modified', 'modified_by', 'locked', 'company_id', 'company_ids', 'instance_state'];
10
+ function getFieldPermission(apiName) {
11
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
+ const schema = objectql.getSteedosSchema();
13
+ const config = yield objectql.registerPermissionFields.get(schema.broker, apiName);
14
+ return config ? config.metadata : null;
15
+ });
16
+ }
17
+ const getFieldDefaultEditable = (field) => {
18
+ if (_.includes(systemFields, field.name) && (field.omit || field.hidden || field.readonly || field.disabled)) {
19
+ return false;
20
+ }
21
+ if (field.omit || field.hidden || field.readonly || field.disabled) {
22
+ return false;
23
+ }
24
+ return true;
25
+ };
26
+ const getFieldDefaultReadable = (field) => {
27
+ if (_.includes(systemFields, field.name) && !field.hidden) {
28
+ return true;
29
+ }
30
+ if (field.hidden) {
31
+ return false;
32
+ }
33
+ return true;
34
+ };
6
35
  module.exports = {
7
36
  name: SERVICE_NAME,
8
37
  mixins: [metadataService],
9
38
  settings: {
10
39
  metadataType: METADATA_TYPE
40
+ },
41
+ methods: {
42
+ resetFieldPermissions: {
43
+ handler(permissionObjectId, userSession) {
44
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
+ const record = yield objectql.getObject('permission_objects').findOne(permissionObjectId);
46
+ const permissionSet = yield objectql.getObject('permission_set').findOne(record.permission_set_id);
47
+ //获取对象所有字段
48
+ const fields = yield objectql.getObject('object_fields').find({ filters: [['object', '=', record.object_name]] });
49
+ const now = new Date();
50
+ for (const field of fields) {
51
+ const count = yield objectql.getObject('permission_fields').count({ filters: [['permission_set_id', '=', permissionSet.name], ['permission_object', '=', record.name], ['object_name', '=', record.object_name], ['field', '=', field.name], ['is_system', '!=', true]] });
52
+ if (count == 0) {
53
+ const apiName = `${permissionSet.name}.${record.object_name}.${field.name}`;
54
+ const fieldPermission = yield getFieldPermission(apiName);
55
+ yield objectql.getObject('permission_fields').directInsert({
56
+ name: apiName,
57
+ permission_set_id: permissionSet.name,
58
+ permission_object: record.name,
59
+ object_name: record.object_name,
60
+ field: field.name,
61
+ editable: fieldPermission ? fieldPermission.editable : getFieldDefaultEditable(field),
62
+ readable: fieldPermission ? fieldPermission.readable : getFieldDefaultReadable(field),
63
+ owner: userSession.userId,
64
+ space: userSession.spaceId,
65
+ created: now,
66
+ modified: now,
67
+ created_by: userSession.userId,
68
+ modified_by: userSession.userId,
69
+ company_id: userSession.company_id,
70
+ company_ids: userSession.company_ids
71
+ });
72
+ }
73
+ }
74
+ //删除已删除、卸载的字段权限
75
+ const fieldsPermission = yield objectql.getObject('permission_fields').find({ filters: [['permission_set_id', '=', permissionSet.name], ['object_name', '=', record.object_name]] });
76
+ const allFields = _.map(fieldsPermission, 'field');
77
+ const objectFields = _.map(fields, 'name');
78
+ const diffFields = _.difference(allFields, objectFields);
79
+ for (const diffField of diffFields) {
80
+ const fieldPermission = _.find(fieldsPermission, (fp) => {
81
+ return fp.field == diffField;
82
+ });
83
+ yield objectql.getObject('permission_fields').delete(fieldPermission._id);
84
+ }
85
+ });
86
+ }
87
+ }
88
+ },
89
+ actions: {
90
+ resetFieldPermissions: {
91
+ handler(ctx) {
92
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
93
+ const userSession = ctx.meta.user;
94
+ const { permissionObjectId } = ctx.params;
95
+ return yield this.resetFieldPermissions(permissionObjectId, userSession);
96
+ });
97
+ }
98
+ },
99
+ resetAllPermissionSetFieldPermissions: {
100
+ handler(ctx) {
101
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
102
+ const userSession = ctx.meta.user;
103
+ const { objectName } = ctx.params;
104
+ const records = yield objectql.getObject('permission_objects').directFind({ filters: [['object_name', '=', objectName]] });
105
+ for (const record of records) {
106
+ yield this.resetFieldPermissions(record._id, userSession);
107
+ }
108
+ });
109
+ }
110
+ }
11
111
  }
12
112
  };
13
113
  //# sourceMappingURL=permissionFieldsService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissionFieldsService.js","sourceRoot":"","sources":["../src/permissionFieldsService.ts"],"names":[],"mappings":";;AACA,MAAM,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AACrD,MAAM,YAAY,GAAG,mBAAmB,CAAC;AACzC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,CAAC,OAAO,GAAG;IACb,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,CAAC,eAAe,CAAC;IACzB,QAAQ,EAAE;QACN,YAAY,EAAE,aAAa;KAC9B;CACJ,CAAC"}
1
+ {"version":3,"file":"permissionFieldsService.js","sourceRoot":"","sources":["../src/permissionFieldsService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-server",
3
- "version": "2.1.60",
3
+ "version": "2.1.64",
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.60",
12
- "@steedos/service-metadata-apps": "2.1.60",
13
- "@steedos/service-metadata-layouts": "2.1.60",
14
- "@steedos/service-metadata-objects": "2.1.60",
15
- "@steedos/service-metadata-permissionsets": "2.1.60",
16
- "@steedos/service-metadata-tabs": "2.1.60",
17
- "@steedos/service-metadata-translations": "2.1.60",
18
- "@steedos/service-metadata-triggers": "2.1.60",
19
- "@steedos/service-packages": "2.1.60"
11
+ "@steedos/service-metadata": "2.1.64",
12
+ "@steedos/service-metadata-apps": "2.1.64",
13
+ "@steedos/service-metadata-layouts": "2.1.64",
14
+ "@steedos/service-metadata-objects": "2.1.64",
15
+ "@steedos/service-metadata-permissionsets": "2.1.64",
16
+ "@steedos/service-metadata-tabs": "2.1.64",
17
+ "@steedos/service-metadata-translations": "2.1.64",
18
+ "@steedos/service-metadata-triggers": "2.1.64",
19
+ "@steedos/service-packages": "2.1.64"
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": "3b8634d6eca4edc89e991b9dfa130b16493aa30d"
28
+ "gitHead": "c5b63dd483aa29bd9c179e8d59a73c675b3a0ba1"
29
29
  }
@@ -49,9 +49,21 @@ module.exports = {
49
49
  if(configs.length == 0){
50
50
  return null
51
51
  }
52
- config = _.defaultsDeep({}, ..._.reverse(configs), config)
52
+ config = _.defaultsDeep({}, ..._.sortBy(configs, function (o) {
53
+ return o && o._id ? -1 : 1;
54
+ }), config)
53
55
  return config;
54
56
  }
57
+ },
58
+ removeServiceMetadata: {
59
+ async handler(serviceName, apiName, meta) {
60
+ const metadataType = this.settings.metadataType;
61
+ return await this.broker.call('metadata.removeServiceMetadata', {
62
+ serviceName,
63
+ metadataType,
64
+ metadataApiName: apiName
65
+ }, meta);
66
+ }
55
67
  }
56
68
  },
57
69
  /**
@@ -95,7 +107,15 @@ module.exports = {
95
107
  },
96
108
  delete: {
97
109
  async handler(ctx) {
98
- return await ctx.broker.call('metadata.delete', {key: this.getMatadataCacherKey(ctx.params.metadataApiName)}, {meta: ctx.meta})
110
+ const metadataApiName = ctx.params.apiName;
111
+ const serviceName = ctx.meta.metadataServiceName
112
+ await this.removeServiceMetadata(serviceName, metadataApiName, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
113
+ const config = await this.refresh(metadataApiName, ctx.meta);
114
+ if (!config) {
115
+ await ctx.broker.call('metadata.delete', { key: this.getMatadataCacherKey(metadataApiName) })
116
+ } else {
117
+ await this.register(metadataApiName, config, ctx.meta);
118
+ }
99
119
  }
100
120
  },
101
121
  verify: {
@@ -1,11 +1,106 @@
1
- import * as _ from 'underscore';
1
+ import * as _ from 'lodash';
2
2
  const metadataService = require('./metadataService');
3
3
  const SERVICE_NAME = 'permission_fields';
4
4
  const METADATA_TYPE = 'permission_fields';
5
+ const objectql = require("@steedos/objectql");
6
+
7
+ const systemFields = ['owner', 'created', 'created_by', 'modified', 'modified_by', 'locked', 'company_id', 'company_ids', 'instance_state'];
8
+
9
+ async function getFieldPermission(apiName) {
10
+ const schema = objectql.getSteedosSchema();
11
+ const config = await objectql.registerPermissionFields.get(schema.broker, apiName)
12
+ return config ? config.metadata : null;
13
+ }
14
+
15
+ const getFieldDefaultEditable = (field) => {
16
+ if (_.includes(systemFields, field.name) && (field.omit || field.hidden || field.readonly || field.disabled)) {
17
+ return false;
18
+ }
19
+ if (field.omit || field.hidden || field.readonly || field.disabled) {
20
+ return false;
21
+ }
22
+ return true;
23
+ }
24
+
25
+ const getFieldDefaultReadable = (field) => {
26
+ if (_.includes(systemFields, field.name) && !field.hidden) {
27
+ return true;
28
+ }
29
+ if (field.hidden) {
30
+ return false
31
+ }
32
+ return true;
33
+ }
34
+
5
35
  module.exports = {
6
36
  name: SERVICE_NAME,
7
37
  mixins: [metadataService],
8
38
  settings: {
9
39
  metadataType: METADATA_TYPE
40
+ },
41
+ methods: {
42
+ resetFieldPermissions: {
43
+ async handler(permissionObjectId: string, userSession: any) {
44
+ const record = await objectql.getObject('permission_objects').findOne(permissionObjectId)
45
+ const permissionSet = await objectql.getObject('permission_set').findOne(record.permission_set_id)
46
+ //获取对象所有字段
47
+ const fields = await objectql.getObject('object_fields').find({ filters: [['object', '=', record.object_name]] });
48
+ const now = new Date();
49
+ for (const field of fields) {
50
+ const count = await objectql.getObject('permission_fields').count({ filters: [['permission_set_id', '=', permissionSet.name], ['permission_object', '=', record.name], ['object_name', '=', record.object_name], ['field', '=', field.name], ['is_system', '!=', true]] });
51
+ if (count == 0) {
52
+ const apiName = `${permissionSet.name}.${record.object_name}.${field.name}`
53
+ const fieldPermission = await getFieldPermission(apiName)
54
+ await objectql.getObject('permission_fields').directInsert({
55
+ name: apiName,
56
+ permission_set_id: permissionSet.name,
57
+ permission_object: record.name,
58
+ object_name: record.object_name,
59
+ field: field.name,
60
+ editable: fieldPermission ? fieldPermission.editable : getFieldDefaultEditable(field),
61
+ readable: fieldPermission ? fieldPermission.readable : getFieldDefaultReadable(field),
62
+ owner: userSession.userId,
63
+ space: userSession.spaceId,
64
+ created: now,
65
+ modified: now,
66
+ created_by: userSession.userId,
67
+ modified_by: userSession.userId,
68
+ company_id: userSession.company_id,
69
+ company_ids: userSession.company_ids
70
+ })
71
+ }
72
+ }
73
+ //删除已删除、卸载的字段权限
74
+ const fieldsPermission = await objectql.getObject('permission_fields').find({ filters: [['permission_set_id', '=', permissionSet.name], ['object_name', '=', record.object_name]] });
75
+ const allFields = _.map(fieldsPermission, 'field');
76
+ const objectFields = _.map(fields, 'name');
77
+ const diffFields = _.difference(allFields, objectFields);
78
+ for (const diffField of diffFields) {
79
+ const fieldPermission = _.find(fieldsPermission, (fp) => {
80
+ return fp.field == diffField
81
+ })
82
+ await objectql.getObject('permission_fields').delete(fieldPermission._id)
83
+ }
84
+ }
85
+ }
86
+ },
87
+ actions: {
88
+ resetFieldPermissions: {
89
+ async handler(ctx) {
90
+ const userSession = ctx.meta.user;
91
+ const { permissionObjectId } = ctx.params;
92
+ return await this.resetFieldPermissions(permissionObjectId, userSession)
93
+ }
94
+ },
95
+ resetAllPermissionSetFieldPermissions: {
96
+ async handler(ctx) {
97
+ const userSession = ctx.meta.user;
98
+ const { objectName } = ctx.params;
99
+ const records = await objectql.getObject('permission_objects').directFind({ filters: [['object_name', '=', objectName]] })
100
+ for (const record of records) {
101
+ await this.resetFieldPermissions(record._id, userSession)
102
+ }
103
+ }
104
+ }
10
105
  }
11
106
  };