@steedos/service-metadata-server 3.0.0-beta.13 → 3.0.0-beta.132

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.
@@ -4,12 +4,12 @@ const tslib_1 = require("tslib");
4
4
  const _ = require("lodash");
5
5
  module.exports = {
6
6
  name: "#",
7
- dependencies: ['metadata'],
7
+ dependencies: ["metadata"],
8
8
  methods: {
9
9
  getMatadataCacherKey: {
10
10
  handler(metadataApiName) {
11
11
  return `$steedos.#${this.settings.metadataType}.${metadataApiName}`;
12
- }
12
+ },
13
13
  },
14
14
  getServiceConfig: {
15
15
  handler(serviceName, apiName, meta) {
@@ -18,37 +18,37 @@ module.exports = {
18
18
  const metadataConfig = yield this.broker.call(`metadata.getServiceMetadata`, {
19
19
  serviceName,
20
20
  metadataType,
21
- metadataApiName: apiName
21
+ metadataApiName: apiName,
22
22
  }, { meta: meta });
23
23
  return metadataConfig === null || metadataConfig === void 0 ? void 0 : metadataConfig.metadata;
24
24
  });
25
- }
25
+ },
26
26
  },
27
27
  getServicesConfigs: {
28
28
  handler(apiName_1, meta_1) {
29
29
  return tslib_1.__awaiter(this, arguments, void 0, function* (apiName, meta, pluck = true) {
30
- const serviceName = '*';
30
+ const serviceName = "*";
31
31
  const metadataType = this.settings.metadataType;
32
32
  const configs = yield this.broker.call(`metadata.getServiceMetadatas`, {
33
33
  serviceName,
34
34
  metadataType,
35
- metadataApiName: apiName
35
+ metadataApiName: apiName,
36
36
  }, { meta: meta });
37
37
  if (pluck) {
38
- return _.map(configs, 'metadata');
38
+ return _.map(configs, "metadata");
39
39
  }
40
40
  else {
41
41
  return configs;
42
42
  }
43
43
  });
44
- }
44
+ },
45
45
  },
46
46
  register: {
47
47
  handler(apiName, data, meta) {
48
48
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
49
- return yield this.broker.call('metadata.add', { key: this.getMatadataCacherKey(apiName), data: data }, { meta: meta });
49
+ return yield this.broker.call("metadata.add", { key: this.getMatadataCacherKey(apiName), data: data }, { meta: meta });
50
50
  });
51
- }
51
+ },
52
52
  },
53
53
  mregister: {
54
54
  handler(data, meta) {
@@ -60,11 +60,11 @@ module.exports = {
60
60
  _.map(data, (value, key) => {
61
61
  mdata[this.getMatadataCacherKey(key)] = value;
62
62
  });
63
- return yield this.broker.call('metadata.madd', {
64
- data: mdata
63
+ return yield this.broker.call("metadata.madd", {
64
+ data: mdata,
65
65
  }, { meta: meta });
66
66
  });
67
- }
67
+ },
68
68
  },
69
69
  refresh: {
70
70
  handler(apiName, meta) {
@@ -79,7 +79,7 @@ module.exports = {
79
79
  }), config);
80
80
  return config;
81
81
  });
82
- }
82
+ },
83
83
  },
84
84
  mrefresh: {
85
85
  handler(meta) {
@@ -89,9 +89,12 @@ module.exports = {
89
89
  return null;
90
90
  }
91
91
  let mconfig = {};
92
- _.map(_.groupBy(configs, 'metadataApiName'), (_configs, metadataApiName) => {
92
+ _.map(_.groupBy(configs, "metadataApiName"), (_configs, metadataApiName) => {
93
93
  let config = {};
94
- const __configs = _.map(_configs, 'metadata');
94
+ const __configs = _.map(_configs, "metadata");
95
+ _.sortBy(__configs, function (o) {
96
+ return -o.__timestamp;
97
+ });
95
98
  config = _.defaultsDeep({}, ..._.sortBy(__configs, function (o) {
96
99
  return o && o._id ? -1 : 1;
97
100
  }), config);
@@ -99,43 +102,43 @@ module.exports = {
99
102
  });
100
103
  return mconfig;
101
104
  });
102
- }
105
+ },
103
106
  },
104
107
  removeServiceMetadata: {
105
108
  handler(serviceName, apiName, meta) {
106
109
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
107
110
  const metadataType = this.settings.metadataType;
108
- return yield this.broker.call('metadata.removeServiceMetadata', {
111
+ return yield this.broker.call("metadata.removeServiceMetadata", {
109
112
  serviceName,
110
113
  metadataType,
111
- metadataApiName: apiName
114
+ metadataApiName: apiName,
112
115
  }, meta);
113
116
  });
114
- }
115
- }
117
+ },
118
+ },
116
119
  },
117
120
  actions: {
118
121
  get: {
119
122
  handler(ctx) {
120
123
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
121
- return yield ctx.broker.call('metadata.get', { key: this.getMatadataCacherKey(ctx.params.metadataApiName) }, { meta: ctx.meta });
124
+ return yield ctx.broker.call("metadata.get", { key: this.getMatadataCacherKey(ctx.params.metadataApiName) }, { meta: ctx.meta });
122
125
  });
123
- }
126
+ },
124
127
  },
125
128
  getAll: {
126
129
  handler(ctx) {
127
130
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
128
- return yield ctx.broker.call('metadata.filter', { key: this.getMatadataCacherKey("*") }, { meta: ctx.meta });
131
+ return yield ctx.broker.call("metadata.filter", { key: this.getMatadataCacherKey("*") }, { meta: ctx.meta });
129
132
  });
130
- }
133
+ },
131
134
  },
132
135
  filter: {
133
136
  handler(ctx) {
134
137
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
135
138
  let { pattern } = ctx.params;
136
- return yield ctx.broker.call('metadata.filter', { key: this.getMatadataCacherKey(pattern) }, { meta: ctx.meta });
139
+ return yield ctx.broker.call("metadata.filter", { key: this.getMatadataCacherKey(pattern) }, { meta: ctx.meta });
137
140
  });
138
- }
141
+ },
139
142
  },
140
143
  add: {
141
144
  handler(ctx) {
@@ -147,49 +150,65 @@ module.exports = {
147
150
  if (metadataConfig && metadataConfig.metadata) {
148
151
  config = _.defaultsDeep(config, metadataConfig.metadata);
149
152
  }
150
- yield ctx.broker.call('metadata.addServiceMetadata', { key: this.getMatadataCacherKey(metadataApiName), data: config }, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
153
+ yield ctx.broker.call("metadata.addServiceMetadata", { key: this.getMatadataCacherKey(metadataApiName), data: config }, {
154
+ meta: Object.assign({}, ctx.meta, {
155
+ metadataType: this.settings.metadataType,
156
+ metadataApiName: metadataApiName,
157
+ }),
158
+ });
151
159
  const newConfig = yield this.refresh(metadataApiName, ctx.meta);
152
160
  if (newConfig) {
153
161
  return yield this.register(metadataApiName, newConfig, ctx.meta);
154
162
  }
155
163
  });
156
- }
164
+ },
157
165
  },
158
166
  madd: {
159
167
  handler(ctx) {
160
168
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
161
169
  let data = ctx.params.data;
162
- yield ctx.broker.call('metadata.maddServiceMetadata', { data: data }, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType }) });
170
+ yield ctx.broker.call("metadata.maddServiceMetadata", { data: data }, {
171
+ meta: Object.assign({}, ctx.meta, {
172
+ metadataType: this.settings.metadataType,
173
+ }),
174
+ });
163
175
  const newmConfig = yield this.mrefresh(ctx.meta);
164
176
  if (newmConfig) {
165
177
  return yield this.mregister(newmConfig, ctx.meta);
166
178
  }
167
179
  });
168
- }
180
+ },
169
181
  },
170
182
  delete: {
171
183
  handler(ctx) {
172
184
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
173
185
  const metadataApiName = ctx.params.apiName;
174
186
  const serviceName = ctx.meta.metadataServiceName;
175
- yield this.removeServiceMetadata(serviceName, metadataApiName, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
187
+ yield this.removeServiceMetadata(serviceName, metadataApiName, {
188
+ meta: Object.assign({}, ctx.meta, {
189
+ metadataType: this.settings.metadataType,
190
+ metadataApiName: metadataApiName,
191
+ }),
192
+ });
176
193
  const config = yield this.refresh(metadataApiName, ctx.meta);
177
194
  if (!config) {
178
- yield ctx.broker.call('metadata.delete', { key: this.getMatadataCacherKey(metadataApiName) });
195
+ yield ctx.broker.call("metadata.delete", {
196
+ key: this.getMatadataCacherKey(metadataApiName),
197
+ });
179
198
  }
180
199
  else {
181
200
  yield this.register(metadataApiName, config, ctx.meta);
182
201
  }
183
202
  });
184
- }
203
+ },
185
204
  },
186
205
  verify: {
187
206
  handler(ctx) {
188
207
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
189
208
  return true;
190
209
  });
191
- }
192
- }
210
+ },
211
+ },
193
212
  },
194
213
  merged(schema) {
195
214
  if (!schema.events) {
@@ -207,10 +226,12 @@ module.exports = {
207
226
  const metadataApiName = _c;
208
227
  const config = yield this.refresh(metadataApiName, ctx.meta);
209
228
  if (!config) {
210
- yield ctx.broker.call('metadata.delete', { key: this.getMatadataCacherKey(metadataApiName) });
229
+ yield ctx.broker.call("metadata.delete", {
230
+ key: this.getMatadataCacherKey(metadataApiName),
231
+ });
211
232
  }
212
233
  else {
213
- yield this.register(ctx, metadataApiName, config, {});
234
+ yield this.register(metadataApiName, config, {});
214
235
  }
215
236
  }
216
237
  }
@@ -222,8 +243,8 @@ module.exports = {
222
243
  finally { if (e_1) throw e_1.error; }
223
244
  }
224
245
  }
225
- })
246
+ }),
226
247
  };
227
- }
248
+ },
228
249
  };
229
250
  //# sourceMappingURL=metadataService.js.map
@@ -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;IAKT,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;6EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI;oBACrC,MAAM,WAAW,GAAG,GAAG,CAAC;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;wBACnE,WAAW;wBACX,YAAY;wBACZ,eAAe,EAAE,OAAO;qBAC3B,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;oBAChB,IAAI,KAAK,EAAE,CAAC;wBACR,OAAO,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;oBACtC,CAAC;yBAAM,CAAC;wBACJ,OAAO,OAAO,CAAC;oBACnB,CAAC;gBACL,CAAC;aAAA;SACJ;QACD,QAAQ,EAAE;YACA,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI;;oBAC7B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3H,CAAC;aAAA;SACJ;QACD,SAAS,EAAE;YAID,OAAO,CAAC,IAAI,EAAE,IAAI;;oBACpB,MAAM,KAAK,GAAG,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3B,OAAO;oBACX,CAAC;oBACD,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBACvB,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;oBACjD,CAAC,CAAC,CAAA;oBACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;wBAC3C,IAAI,EAAE,KAAK;qBACd,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvB,CAAC;aAAA;SACJ;QACD,OAAO,EAAE;YACC,OAAO,CAAC,OAAO,EAAE,IAAI;;oBACvB,IAAI,MAAM,GAAQ,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC7D,IAAG,OAAO,CAAC,MAAM,IAAI,CAAC,EAAC,CAAC;wBACpB,OAAO,IAAI,CAAA;oBACf,CAAC;oBACD,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;wBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;oBACX,OAAO,MAAM,CAAC;gBAClB,CAAC;aAAA;SACJ;QACD,QAAQ,EAAE;YACA,OAAO,CAAC,IAAI;;oBACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;oBAChE,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;wBACtB,OAAO,IAAI,CAAA;oBACf,CAAC;oBACD,IAAI,OAAO,GAAQ,EAAE,CAAC;oBACtB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,EAAE,EAAE;wBACvE,IAAI,MAAM,GAAQ,EAAE,CAAC;wBACrB,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAC9C,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;4BAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;wBACX,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAAA;oBACrC,CAAC,CAAC,CAAA;oBACF,OAAO,OAAO,CAAC;gBACnB,CAAC;aAAA;SACJ;QACD,qBAAqB,EAAE;YACb,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI;;oBACpC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAChD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;wBAC5D,WAAW;wBACX,YAAY;wBACZ,eAAe,EAAE,OAAO;qBAC3B,EAAE,IAAI,CAAC,CAAC;gBACb,CAAC;aAAA;SACJ;KACJ;IAID,OAAO,EAAE;QAML,GAAG,EAAE;YACK,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,EAAC,EAAE,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAC,CAAC,CAAA;gBAChI,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAC,EAAE,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAC,CAAC,CAAA;gBAC5G,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;oBAC7B,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;gBACpH,CAAC;aAAA;SACJ;QACD,GAAG,EAAE;YACK,OAAO,CAAC,GAAG;;oBACb,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAA;oBAChD,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,eAAe,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;oBAC/F,IAAG,cAAc,IAAI,cAAc,CAAC,QAAQ,EAAC,CAAC;wBAC1C,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;oBAC7D,CAAC;oBACD,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAC,EAAE,EAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC,EAAC,CAAC,CAAA;oBACxO,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAChE,IAAI,SAAS,EAAE,CAAC;wBACZ,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;oBACpE,CAAC;gBACL,CAAC;aAAA;SACJ;QACD,IAAI,EAAE;YACI,OAAO,CAAC,GAAG;;oBAEb,IAAI,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC3B,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAA;oBAC1J,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjD,IAAI,UAAU,EAAE,CAAC;wBACb,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;oBACrD,CAAC;gBACL,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC3C,MAAM,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAA;oBAChD,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtL,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7D,IAAI,CAAC,MAAM,EAAE,CAAC;wBACV,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;oBACjG,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC3D,CAAC;gBACL,CAAC;aAAA;SACJ;QACD,MAAM,EAAE;YACE,OAAO,CAAC,GAAG;;oBACb,OAAO,IAAI,CAAC;gBAChB,CAAC;aAAA;SACJ;KACJ;IACD,MAAM,CAAC,MAAM;QACT,IAAG,CAAC,MAAM,CAAC,MAAM,EAAC,CAAC;YACf,MAAM,CAAC,MAAM,GAAG,EAAE,CAAA;QACtB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,GAAG;YAC3D,OAAO,EAAE,CAAO,GAAG,EAAE,EAAE;;gBACnB,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;gBAChD,IAAG,OAAO,EAAC,CAAC;;wBACR,KAAoC,eAAA,qBAAA,sBAAA,gBAAgB,CAAA,sBAAA,0GAAE,CAAC;4BAAnB,gCAAgB;4BAAhB,WAAgB;4BAAzC,MAAM,eAAe,KAAA,CAAA;4BAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;4BAC7D,IAAG,CAAC,MAAM,EAAC,CAAC;gCACR,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAC,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAC,CAAC,CAAA;4BAC/F,CAAC;iCAAI,CAAC;gCACF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;4BAC1D,CAAC;wBACL,CAAC;;;;;;;;;gBACL,CAAC;YACL,CAAC,CAAA;SACJ,CAAC;IACN,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"metadataService.js","sourceRoot":"","sources":["../src/metadataService.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,21 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const _ = require("lodash");
5
- const metadataService = require('./metadataService');
6
- const SERVICE_NAME = 'permission_fields';
7
- const METADATA_TYPE = 'permission_fields';
5
+ const metadataService = require("./metadataService");
6
+ const SERVICE_NAME = "permission_fields";
7
+ const METADATA_TYPE = "permission_fields";
8
8
  const objectql = require("@steedos/objectql");
9
- const systemFields = ['owner', 'created', 'created_by', 'modified', 'modified_by', 'locked', 'company_id', 'company_ids', 'instance_state'];
9
+ const systemFields = [
10
+ "owner",
11
+ "created",
12
+ "created_by",
13
+ "modified",
14
+ "modified_by",
15
+ "locked",
16
+ "company_id",
17
+ "company_ids",
18
+ "instance_state",
19
+ ];
10
20
  function getFieldPermission(apiName) {
11
21
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
12
22
  const schema = objectql.getSteedosSchema();
@@ -15,7 +25,8 @@ function getFieldPermission(apiName) {
15
25
  });
16
26
  }
17
27
  const getFieldDefaultEditable = (field) => {
18
- if (_.includes(systemFields, field.name) && (field.omit || field.hidden || field.readonly || field.disabled)) {
28
+ if (_.includes(systemFields, field.name) &&
29
+ (field.omit || field.hidden || field.readonly || field.disabled)) {
19
30
  return false;
20
31
  }
21
32
  if (field.omit || field.hidden || field.readonly || field.disabled) {
@@ -36,33 +47,53 @@ module.exports = {
36
47
  name: SERVICE_NAME,
37
48
  mixins: [metadataService],
38
49
  settings: {
39
- metadataType: METADATA_TYPE
50
+ metadataType: METADATA_TYPE,
40
51
  },
41
52
  methods: {
42
53
  resetFieldPermissions: {
43
54
  handler(permissionObjectId, userSession) {
44
55
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
- const record = yield objectql.getObject('permission_objects').findOne(permissionObjectId);
56
+ const record = yield objectql
57
+ .getObject("permission_objects")
58
+ .findOne(permissionObjectId);
46
59
  if (!record) {
47
60
  return;
48
61
  }
49
- const permissionSet = yield objectql.getObject('permission_set').findOne(record.permission_set_id);
50
- const fields = yield objectql.getObject('object_fields').find({ filters: [['object', '=', record.object_name]] });
62
+ const permissionSet = yield objectql
63
+ .getObject("permission_set")
64
+ .findOne(record.permission_set_id);
65
+ const fields = yield objectql
66
+ .getObject("object_fields")
67
+ .find({ filters: [["object", "=", record.object_name]] });
51
68
  const now = new Date();
52
69
  for (const field of fields) {
53
- const result = yield objectql.getObject('permission_fields').directFind({ filters: [['permission_set_id', '=', permissionSet.name], ['permission_object', '=', record.name], ['object_name', '=', record.object_name], ['field', '=', field.name], ['is_system', '!=', true]] });
70
+ const result = yield objectql
71
+ .getObject("permission_fields")
72
+ .directFind({
73
+ filters: [
74
+ ["permission_set_id", "=", permissionSet.name],
75
+ ["permission_object", "=", record.name],
76
+ ["object_name", "=", record.object_name],
77
+ ["field", "=", field.name],
78
+ ["is_system", "!=", true],
79
+ ],
80
+ });
54
81
  const count = result.length;
55
82
  if (count == 0) {
56
83
  const apiName = `${permissionSet.name}.${record.object_name}.${field.name}`;
57
84
  const fieldPermission = yield getFieldPermission(apiName);
58
- yield objectql.getObject('permission_fields').directInsert({
85
+ yield objectql.getObject("permission_fields").directInsert({
59
86
  name: apiName,
60
87
  permission_set_id: permissionSet.name,
61
88
  permission_object: record.name,
62
89
  object_name: record.object_name,
63
90
  field: field.name,
64
- editable: fieldPermission ? fieldPermission.editable : getFieldDefaultEditable(field),
65
- readable: fieldPermission ? fieldPermission.readable : getFieldDefaultReadable(field),
91
+ editable: fieldPermission
92
+ ? fieldPermission.editable
93
+ : getFieldDefaultEditable(field),
94
+ readable: fieldPermission
95
+ ? fieldPermission.readable
96
+ : getFieldDefaultReadable(field),
66
97
  owner: userSession.userId,
67
98
  space: userSession.spaceId,
68
99
  created: now,
@@ -70,23 +101,32 @@ module.exports = {
70
101
  created_by: userSession.userId,
71
102
  modified_by: userSession.userId,
72
103
  company_id: userSession.company_id,
73
- company_ids: userSession.company_ids
104
+ company_ids: userSession.company_ids,
74
105
  });
75
106
  }
76
107
  }
77
- const fieldsPermission = yield objectql.getObject('permission_fields').find({ filters: [['permission_set_id', '=', permissionSet.name], ['object_name', '=', record.object_name]] });
78
- const allFields = _.map(fieldsPermission, 'field');
79
- const objectFields = _.map(fields, 'name');
108
+ const fieldsPermission = yield objectql
109
+ .getObject("permission_fields")
110
+ .find({
111
+ filters: [
112
+ ["permission_set_id", "=", permissionSet.name],
113
+ ["object_name", "=", record.object_name],
114
+ ],
115
+ });
116
+ const allFields = _.map(fieldsPermission, "field");
117
+ const objectFields = _.map(fields, "name");
80
118
  const diffFields = _.difference(allFields, objectFields);
81
119
  for (const diffField of diffFields) {
82
120
  const fieldPermission = _.find(fieldsPermission, (fp) => {
83
121
  return fp.field == diffField;
84
122
  });
85
- yield objectql.getObject('permission_fields').delete(fieldPermission._id);
123
+ yield objectql
124
+ .getObject("permission_fields")
125
+ .delete(fieldPermission._id);
86
126
  }
87
127
  });
88
- }
89
- }
128
+ },
129
+ },
90
130
  },
91
131
  actions: {
92
132
  resetFieldPermissions: {
@@ -96,20 +136,22 @@ module.exports = {
96
136
  const { permissionObjectId } = ctx.params;
97
137
  return yield this.resetFieldPermissions(permissionObjectId, userSession);
98
138
  });
99
- }
139
+ },
100
140
  },
101
141
  resetAllPermissionSetFieldPermissions: {
102
142
  handler(ctx) {
103
143
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
104
144
  const userSession = ctx.meta.user;
105
145
  const { objectName } = ctx.params;
106
- const records = yield objectql.getObject('permission_objects').directFind({ filters: [['object_name', '=', objectName]] });
146
+ const records = yield objectql
147
+ .getObject("permission_objects")
148
+ .directFind({ filters: [["object_name", "=", objectName]] });
107
149
  for (const record of records) {
108
150
  yield this.resetFieldPermissions(record._id, userSession);
109
151
  }
110
152
  });
111
- }
112
- }
113
- }
153
+ },
154
+ },
155
+ },
114
156
  };
115
157
  //# sourceMappingURL=permissionFieldsService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"permissionFieldsService.js","sourceRoot":"","sources":["../src/permissionFieldsService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissionFieldsService.js","sourceRoot":"","sources":["../src/permissionFieldsService.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,31 +1,30 @@
1
1
  {
2
2
  "name": "@steedos/service-metadata-server",
3
- "version": "3.0.0-beta.13",
3
+ "version": "3.0.0-beta.132",
4
4
  "main": "index.js",
5
5
  "license": "MIT",
6
6
  "scripts": {
7
7
  "build": "rm -rf ./lib && tsc"
8
8
  },
9
9
  "dependencies": {
10
- "@steedos/objectql": "3.0.0-beta.13",
11
- "@steedos/service-metadata": "3.0.0-beta.13",
12
- "@steedos/service-metadata-apps": "3.0.0-beta.13",
13
- "@steedos/service-metadata-layouts": "3.0.0-beta.13",
14
- "@steedos/service-metadata-objects": "3.0.0-beta.13",
15
- "@steedos/service-metadata-permissionsets": "3.0.0-beta.13",
16
- "@steedos/service-metadata-tabs": "3.0.0-beta.13",
17
- "@steedos/service-metadata-translations": "3.0.0-beta.13",
18
- "@steedos/service-metadata-triggers": "3.0.0-beta.13",
19
- "@steedos/service-packages": "3.0.0-beta.13",
10
+ "@steedos/objectql": "3.0.0-beta.132",
11
+ "@steedos/service-metadata": "3.0.0-beta.132",
12
+ "@steedos/service-metadata-apps": "3.0.0-beta.132",
13
+ "@steedos/service-metadata-layouts": "3.0.0-beta.132",
14
+ "@steedos/service-metadata-objects": "3.0.0-beta.132",
15
+ "@steedos/service-metadata-permissionsets": "3.0.0-beta.132",
16
+ "@steedos/service-metadata-tabs": "3.0.0-beta.132",
17
+ "@steedos/service-metadata-translations": "3.0.0-beta.132",
18
+ "@steedos/service-metadata-triggers": "3.0.0-beta.132",
19
+ "@steedos/service-packages": "3.0.0-beta.132",
20
20
  "lodash": "^4.17.21",
21
21
  "underscore": "1.13.4"
22
22
  },
23
23
  "devDependencies": {
24
24
  "typescript": "5.7.3"
25
25
  },
26
- "private": false,
27
26
  "publishConfig": {
28
27
  "access": "public"
29
28
  },
30
- "gitHead": "156746559d0ad3804b2344a06b1bcda26a703213"
29
+ "gitHead": "05796ec397bb0d51fd437722d24e3821dba5da02"
31
30
  }
@@ -1,199 +1,275 @@
1
1
  import _ = require("lodash");
2
2
 
3
3
  module.exports = {
4
- name: "#",
4
+ name: "#",
5
5
 
6
- /**
7
- * Dependencies
8
- */
9
- dependencies: ['metadata'],
6
+ /**
7
+ * Dependencies
8
+ */
9
+ dependencies: ["metadata"],
10
10
 
11
- methods: {
12
- getMatadataCacherKey: {
13
- handler(metadataApiName: string) {
14
- return `$steedos.#${this.settings.metadataType}.${metadataApiName}`
15
- }
16
- },
17
- getServiceConfig: {
18
- async handler(serviceName, apiName, meta) {
19
- const metadataType = this.settings.metadataType;
20
- const metadataConfig = await this.broker.call(`metadata.getServiceMetadata`, {
21
- serviceName,
22
- metadataType,
23
- metadataApiName: apiName
24
- }, {meta: meta})
25
- return metadataConfig?.metadata;
26
- }
27
- },
28
- getServicesConfigs:{
29
- async handler(apiName, meta, pluck = true) {
30
- const serviceName = '*';
31
- const metadataType = this.settings.metadataType;
32
- const configs = await this.broker.call(`metadata.getServiceMetadatas`, {
33
- serviceName,
34
- metadataType,
35
- metadataApiName: apiName
36
- }, {meta: meta})
37
- if (pluck) {
38
- return _.map(configs, 'metadata');
39
- } else {
40
- return configs;
41
- }
42
- }
43
- },
44
- register: {
45
- async handler(apiName, data, 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 });
64
- }
65
- },
66
- refresh: {
67
- async handler(apiName, meta) {
68
- let config: any = {};
69
- const configs = await this.getServicesConfigs(apiName, meta);
70
- if(configs.length == 0){
71
- return null
72
- }
73
- config = _.defaultsDeep({}, ..._.sortBy(configs, function (o) {
74
- return o && o._id ? -1 : 1;
75
- }), config)
76
- return config;
77
- }
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
- },
97
- removeServiceMetadata: {
98
- async handler(serviceName, apiName, meta) {
99
- const metadataType = this.settings.metadataType;
100
- return await this.broker.call('metadata.removeServiceMetadata', {
101
- serviceName,
102
- metadataType,
103
- metadataApiName: apiName
104
- }, meta);
105
- }
11
+ methods: {
12
+ getMatadataCacherKey: {
13
+ handler(metadataApiName: string) {
14
+ return `$steedos.#${this.settings.metadataType}.${metadataApiName}`;
15
+ },
16
+ },
17
+ getServiceConfig: {
18
+ async handler(serviceName, apiName, meta) {
19
+ const metadataType = this.settings.metadataType;
20
+ const metadataConfig = await this.broker.call(
21
+ `metadata.getServiceMetadata`,
22
+ {
23
+ serviceName,
24
+ metadataType,
25
+ metadataApiName: apiName,
26
+ },
27
+ { meta: meta },
28
+ );
29
+ return metadataConfig?.metadata;
30
+ },
31
+ },
32
+ getServicesConfigs: {
33
+ async handler(apiName, meta, pluck = true) {
34
+ const serviceName = "*";
35
+ const metadataType = this.settings.metadataType;
36
+ const configs = await this.broker.call(
37
+ `metadata.getServiceMetadatas`,
38
+ {
39
+ serviceName,
40
+ metadataType,
41
+ metadataApiName: apiName,
42
+ },
43
+ { meta: meta },
44
+ );
45
+ if (pluck) {
46
+ return _.map(configs, "metadata");
47
+ } else {
48
+ return configs;
49
+ }
50
+ },
51
+ },
52
+ register: {
53
+ async handler(apiName, data, meta) {
54
+ return await this.broker.call(
55
+ "metadata.add",
56
+ { key: this.getMatadataCacherKey(apiName), data: data },
57
+ { meta: meta },
58
+ );
59
+ },
60
+ },
61
+ mregister: {
62
+ /**
63
+ * data: {apiName1: value1, apiName2: value2}
64
+ */
65
+ async handler(data, meta) {
66
+ const mdata = {};
67
+ if (!data || _.isEmpty(data)) {
68
+ return;
69
+ }
70
+ _.map(data, (value, key) => {
71
+ mdata[this.getMatadataCacherKey(key)] = value;
72
+ });
73
+ return await this.broker.call(
74
+ "metadata.madd",
75
+ {
76
+ data: mdata,
77
+ },
78
+ { meta: meta },
79
+ );
80
+ },
81
+ },
82
+ refresh: {
83
+ async handler(apiName, meta) {
84
+ let config: any = {};
85
+ const configs = await this.getServicesConfigs(apiName, meta);
86
+ if (configs.length == 0) {
87
+ return null;
88
+ }
89
+ config = _.defaultsDeep(
90
+ {},
91
+ ..._.sortBy(configs, function (o) {
92
+ return o && o._id ? -1 : 1;
93
+ }),
94
+ config,
95
+ );
96
+ return config;
97
+ },
98
+ },
99
+ mrefresh: {
100
+ async handler(meta) {
101
+ const configs = await this.getServicesConfigs("*", meta, false);
102
+ if (configs.length == 0) {
103
+ return null;
106
104
  }
105
+ let mconfig: any = {};
106
+ _.map(
107
+ _.groupBy(configs, "metadataApiName"),
108
+ (_configs, metadataApiName) => {
109
+ let config: any = {};
110
+ const __configs = _.map(_configs, "metadata");
111
+ _.sortBy(__configs, function (o) {
112
+ return -o.__timestamp;
113
+ });
114
+ config = _.defaultsDeep(
115
+ {},
116
+ ..._.sortBy(__configs, function (o) {
117
+ return o && o._id ? -1 : 1;
118
+ }),
119
+ config,
120
+ );
121
+ mconfig[metadataApiName] = config;
122
+ },
123
+ );
124
+ return mconfig;
125
+ },
107
126
  },
127
+ removeServiceMetadata: {
128
+ async handler(serviceName, apiName, meta) {
129
+ const metadataType = this.settings.metadataType;
130
+ return await this.broker.call(
131
+ "metadata.removeServiceMetadata",
132
+ {
133
+ serviceName,
134
+ metadataType,
135
+ metadataApiName: apiName,
136
+ },
137
+ meta,
138
+ );
139
+ },
140
+ },
141
+ },
142
+ /**
143
+ * Actions
144
+ */
145
+ actions: {
108
146
  /**
109
- * Actions
147
+ * Say a 'Hello' action.
148
+ *
149
+ * @returns
110
150
  */
111
- actions: {
112
- /**
113
- * Say a 'Hello' action.
114
- *
115
- * @returns
116
- */
117
- get: {
118
- async handler(ctx) {
119
- return await ctx.broker.call('metadata.get', {key: this.getMatadataCacherKey(ctx.params.metadataApiName)}, {meta: ctx.meta})
120
- }
121
- },
122
- getAll: {
123
- async handler(ctx) {
124
- return await ctx.broker.call('metadata.filter', {key: this.getMatadataCacherKey("*")}, {meta: ctx.meta})
125
- }
126
- },
127
- filter: {
128
- async handler(ctx) {
129
- let { pattern } = ctx.params;
130
- return await ctx.broker.call('metadata.filter', { key: this.getMatadataCacherKey(pattern) }, { meta: ctx.meta })
131
- }
132
- },
133
- add: {
134
- async handler(ctx) {
135
- let config = ctx.params.data;
136
- const serviceName = ctx.meta.metadataServiceName
137
- const metadataApiName = ctx.params.apiName;
138
- const metadataConfig = await this.getServiceConfig(serviceName, `${metadataApiName}`, ctx.meta)
139
- if(metadataConfig && metadataConfig.metadata){
140
- config = _.defaultsDeep(config, metadataConfig.metadata);
141
- }
142
- await ctx.broker.call('metadata.addServiceMetadata', {key: this.getMatadataCacherKey(metadataApiName), data: config}, {meta: Object.assign({}, ctx.meta, {metadataType: this.settings.metadataType, metadataApiName: metadataApiName})})
143
- const newConfig = await this.refresh(metadataApiName, ctx.meta);
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
- }
158
- }
159
- },
160
- delete: {
161
- async handler(ctx) {
162
- const metadataApiName = ctx.params.apiName;
163
- const serviceName = ctx.meta.metadataServiceName
164
- await this.removeServiceMetadata(serviceName, metadataApiName, { meta: Object.assign({}, ctx.meta, { metadataType: this.settings.metadataType, metadataApiName: metadataApiName }) });
165
- const config = await this.refresh(metadataApiName, ctx.meta);
166
- if (!config) {
167
- await ctx.broker.call('metadata.delete', { key: this.getMatadataCacherKey(metadataApiName) })
168
- } else {
169
- await this.register(metadataApiName, config, ctx.meta);
170
- }
171
- }
172
- },
173
- verify: {
174
- async handler(ctx) {
175
- return true;
176
- }
151
+ get: {
152
+ async handler(ctx) {
153
+ return await ctx.broker.call(
154
+ "metadata.get",
155
+ { key: this.getMatadataCacherKey(ctx.params.metadataApiName) },
156
+ { meta: ctx.meta },
157
+ );
158
+ },
159
+ },
160
+ getAll: {
161
+ async handler(ctx) {
162
+ return await ctx.broker.call(
163
+ "metadata.filter",
164
+ { key: this.getMatadataCacherKey("*") },
165
+ { meta: ctx.meta },
166
+ );
167
+ },
168
+ },
169
+ filter: {
170
+ async handler(ctx) {
171
+ let { pattern } = ctx.params;
172
+ return await ctx.broker.call(
173
+ "metadata.filter",
174
+ { key: this.getMatadataCacherKey(pattern) },
175
+ { meta: ctx.meta },
176
+ );
177
+ },
178
+ },
179
+ add: {
180
+ async handler(ctx) {
181
+ let config = ctx.params.data;
182
+ const serviceName = ctx.meta.metadataServiceName;
183
+ const metadataApiName = ctx.params.apiName;
184
+ const metadataConfig = await this.getServiceConfig(
185
+ serviceName,
186
+ `${metadataApiName}`,
187
+ ctx.meta,
188
+ );
189
+ if (metadataConfig && metadataConfig.metadata) {
190
+ config = _.defaultsDeep(config, metadataConfig.metadata);
191
+ }
192
+ await ctx.broker.call(
193
+ "metadata.addServiceMetadata",
194
+ { key: this.getMatadataCacherKey(metadataApiName), data: config },
195
+ {
196
+ meta: Object.assign({}, ctx.meta, {
197
+ metadataType: this.settings.metadataType,
198
+ metadataApiName: metadataApiName,
199
+ }),
200
+ },
201
+ );
202
+ const newConfig = await this.refresh(metadataApiName, ctx.meta);
203
+ if (newConfig) {
204
+ return await this.register(metadataApiName, newConfig, ctx.meta);
177
205
  }
206
+ },
178
207
  },
179
- merged(schema) {
180
- if(!schema.events){
181
- schema.events = {}
208
+ madd: {
209
+ async handler(ctx) {
210
+ // data : {k1:v1, k2:v2}
211
+ let data = ctx.params.data;
212
+ await ctx.broker.call(
213
+ "metadata.maddServiceMetadata",
214
+ { data: data },
215
+ {
216
+ meta: Object.assign({}, ctx.meta, {
217
+ metadataType: this.settings.metadataType,
218
+ }),
219
+ },
220
+ );
221
+ const newmConfig = await this.mrefresh(ctx.meta);
222
+ if (newmConfig) {
223
+ return await this.mregister(newmConfig, ctx.meta);
182
224
  }
183
- schema.events[`$METADATA.${schema.settings.metadataType}.*`] = {
184
- handler: async (ctx) =>{
185
- const { isClear, metadataApiNames } = ctx.params
186
- if(isClear){
187
- for await (const metadataApiName of metadataApiNames) {
188
- const config = await this.refresh(metadataApiName, ctx.meta);
189
- if(!config){
190
- await ctx.broker.call('metadata.delete', {key: this.getMatadataCacherKey(metadataApiName)})
191
- }else{
192
- await this.register(ctx, metadataApiName, config, {});
193
- }
194
- }
195
- }
196
- }
197
- };
225
+ },
226
+ },
227
+ delete: {
228
+ async handler(ctx) {
229
+ const metadataApiName = ctx.params.apiName;
230
+ const serviceName = ctx.meta.metadataServiceName;
231
+ await this.removeServiceMetadata(serviceName, metadataApiName, {
232
+ meta: Object.assign({}, ctx.meta, {
233
+ metadataType: this.settings.metadataType,
234
+ metadataApiName: metadataApiName,
235
+ }),
236
+ });
237
+ const config = await this.refresh(metadataApiName, ctx.meta);
238
+ if (!config) {
239
+ await ctx.broker.call("metadata.delete", {
240
+ key: this.getMatadataCacherKey(metadataApiName),
241
+ });
242
+ } else {
243
+ await this.register(metadataApiName, config, ctx.meta);
244
+ }
245
+ },
246
+ },
247
+ verify: {
248
+ async handler(ctx) {
249
+ return true;
250
+ },
251
+ },
252
+ },
253
+ merged(schema) {
254
+ if (!schema.events) {
255
+ schema.events = {};
198
256
  }
257
+ schema.events[`$METADATA.${schema.settings.metadataType}.*`] = {
258
+ handler: async (ctx) => {
259
+ const { isClear, metadataApiNames } = ctx.params;
260
+ if (isClear) {
261
+ for await (const metadataApiName of metadataApiNames) {
262
+ const config = await this.refresh(metadataApiName, ctx.meta);
263
+ if (!config) {
264
+ await ctx.broker.call("metadata.delete", {
265
+ key: this.getMatadataCacherKey(metadataApiName),
266
+ });
267
+ } else {
268
+ await this.register(metadataApiName, config, {});
269
+ }
270
+ }
271
+ }
272
+ },
273
+ };
274
+ },
199
275
  };
@@ -1,110 +1,160 @@
1
- import * as _ from 'lodash';
2
- const metadataService = require('./metadataService');
3
- const SERVICE_NAME = 'permission_fields';
4
- const METADATA_TYPE = 'permission_fields';
1
+ import * as _ from "lodash";
2
+ const metadataService = require("./metadataService");
3
+ const SERVICE_NAME = "permission_fields";
4
+ const METADATA_TYPE = "permission_fields";
5
5
  const objectql = require("@steedos/objectql");
6
6
 
7
- const systemFields = ['owner', 'created', 'created_by', 'modified', 'modified_by', 'locked', 'company_id', 'company_ids', 'instance_state'];
7
+ const systemFields = [
8
+ "owner",
9
+ "created",
10
+ "created_by",
11
+ "modified",
12
+ "modified_by",
13
+ "locked",
14
+ "company_id",
15
+ "company_ids",
16
+ "instance_state",
17
+ ];
8
18
 
9
19
  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;
20
+ const schema = objectql.getSteedosSchema();
21
+ const config = await objectql.registerPermissionFields.get(
22
+ schema.broker,
23
+ apiName,
24
+ );
25
+ return config ? config.metadata : null;
13
26
  }
14
27
 
15
28
  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
- }
29
+ if (
30
+ _.includes(systemFields, field.name) &&
31
+ (field.omit || field.hidden || field.readonly || field.disabled)
32
+ ) {
33
+ return false;
34
+ }
35
+ if (field.omit || field.hidden || field.readonly || field.disabled) {
36
+ return false;
37
+ }
38
+ return true;
39
+ };
24
40
 
25
41
  const getFieldDefaultReadable = (field) => {
26
- if (_.includes(systemFields, field.name) && !field.hidden) {
27
- return true;
28
- }
29
- if (field.hidden) {
30
- return false
31
- }
42
+ if (_.includes(systemFields, field.name) && !field.hidden) {
32
43
  return true;
33
- }
44
+ }
45
+ if (field.hidden) {
46
+ return false;
47
+ }
48
+ return true;
49
+ };
34
50
 
35
51
  module.exports = {
36
- name: SERVICE_NAME,
37
- mixins: [metadataService],
38
- settings: {
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
- if(!record){
46
- return ;
47
- }
48
- const permissionSet = await objectql.getObject('permission_set').findOne(record.permission_set_id)
49
- //获取对象所有字段
50
- const fields = await objectql.getObject('object_fields').find({ filters: [['object', '=', record.object_name]] });
51
- const now = new Date();
52
- for (const field of fields) {
53
- const result = await objectql.getObject('permission_fields').directFind({ filters: [['permission_set_id', '=', permissionSet.name], ['permission_object', '=', record.name], ['object_name', '=', record.object_name], ['field', '=', field.name], ['is_system', '!=', true]] });
54
- const count = result.length;
55
- if (count == 0) {
56
- const apiName = `${permissionSet.name}.${record.object_name}.${field.name}`
57
- const fieldPermission = await getFieldPermission(apiName)
58
- await objectql.getObject('permission_fields').directInsert({
59
- name: apiName,
60
- permission_set_id: permissionSet.name,
61
- permission_object: record.name,
62
- object_name: record.object_name,
63
- field: field.name,
64
- editable: fieldPermission ? fieldPermission.editable : getFieldDefaultEditable(field),
65
- readable: fieldPermission ? fieldPermission.readable : getFieldDefaultReadable(field),
66
- owner: userSession.userId,
67
- space: userSession.spaceId,
68
- created: now,
69
- modified: now,
70
- created_by: userSession.userId,
71
- modified_by: userSession.userId,
72
- company_id: userSession.company_id,
73
- company_ids: userSession.company_ids
74
- })
75
- }
76
- }
77
- //删除已删除、卸载的字段权限
78
- const fieldsPermission = await objectql.getObject('permission_fields').find({ filters: [['permission_set_id', '=', permissionSet.name], ['object_name', '=', record.object_name]] });
79
- const allFields = _.map(fieldsPermission, 'field');
80
- const objectFields = _.map(fields, 'name');
81
- const diffFields = _.difference(allFields, objectFields);
82
- for (const diffField of diffFields) {
83
- const fieldPermission = _.find(fieldsPermission, (fp) => {
84
- return fp.field == diffField
85
- })
86
- await objectql.getObject('permission_fields').delete(fieldPermission._id)
87
- }
88
- }
52
+ name: SERVICE_NAME,
53
+ mixins: [metadataService],
54
+ settings: {
55
+ metadataType: METADATA_TYPE,
56
+ },
57
+ methods: {
58
+ resetFieldPermissions: {
59
+ async handler(permissionObjectId: string, userSession: any) {
60
+ const record = await objectql
61
+ .getObject("permission_objects")
62
+ .findOne(permissionObjectId);
63
+ if (!record) {
64
+ return;
89
65
  }
66
+ const permissionSet = await objectql
67
+ .getObject("permission_set")
68
+ .findOne(record.permission_set_id);
69
+ //获取对象所有字段
70
+ const fields = await objectql
71
+ .getObject("object_fields")
72
+ .find({ filters: [["object", "=", record.object_name]] });
73
+ const now = new Date();
74
+ for (const field of fields) {
75
+ const result = await objectql
76
+ .getObject("permission_fields")
77
+ .directFind({
78
+ filters: [
79
+ ["permission_set_id", "=", permissionSet.name],
80
+ ["permission_object", "=", record.name],
81
+ ["object_name", "=", record.object_name],
82
+ ["field", "=", field.name],
83
+ ["is_system", "!=", true],
84
+ ],
85
+ });
86
+ const count = result.length;
87
+ if (count == 0) {
88
+ const apiName = `${permissionSet.name}.${record.object_name}.${field.name}`;
89
+ const fieldPermission = await getFieldPermission(apiName);
90
+ await objectql.getObject("permission_fields").directInsert({
91
+ name: apiName,
92
+ permission_set_id: permissionSet.name,
93
+ permission_object: record.name,
94
+ object_name: record.object_name,
95
+ field: field.name,
96
+ editable: fieldPermission
97
+ ? fieldPermission.editable
98
+ : getFieldDefaultEditable(field),
99
+ readable: fieldPermission
100
+ ? fieldPermission.readable
101
+ : getFieldDefaultReadable(field),
102
+ owner: userSession.userId,
103
+ space: userSession.spaceId,
104
+ created: now,
105
+ modified: now,
106
+ created_by: userSession.userId,
107
+ modified_by: userSession.userId,
108
+ company_id: userSession.company_id,
109
+ company_ids: userSession.company_ids,
110
+ });
111
+ }
112
+ }
113
+ //删除已删除、卸载的字段权限
114
+ const fieldsPermission = await objectql
115
+ .getObject("permission_fields")
116
+ .find({
117
+ filters: [
118
+ ["permission_set_id", "=", permissionSet.name],
119
+ ["object_name", "=", record.object_name],
120
+ ],
121
+ });
122
+ const allFields = _.map(fieldsPermission, "field");
123
+ const objectFields = _.map(fields, "name");
124
+ const diffFields = _.difference(allFields, objectFields);
125
+ for (const diffField of diffFields) {
126
+ const fieldPermission = _.find(fieldsPermission, (fp) => {
127
+ return fp.field == diffField;
128
+ });
129
+ await objectql
130
+ .getObject("permission_fields")
131
+ .delete(fieldPermission._id);
132
+ }
133
+ },
90
134
  },
91
- actions: {
92
- resetFieldPermissions: {
93
- async handler(ctx) {
94
- const userSession = ctx.meta.user;
95
- const { permissionObjectId } = ctx.params;
96
- return await this.resetFieldPermissions(permissionObjectId, userSession)
97
- }
98
- },
99
- resetAllPermissionSetFieldPermissions: {
100
- async handler(ctx) {
101
- const userSession = ctx.meta.user;
102
- const { objectName } = ctx.params;
103
- const records = await objectql.getObject('permission_objects').directFind({ filters: [['object_name', '=', objectName]] })
104
- for (const record of records) {
105
- await this.resetFieldPermissions(record._id, userSession)
106
- }
107
- }
135
+ },
136
+ actions: {
137
+ resetFieldPermissions: {
138
+ async handler(ctx) {
139
+ const userSession = ctx.meta.user;
140
+ const { permissionObjectId } = ctx.params;
141
+ return await this.resetFieldPermissions(
142
+ permissionObjectId,
143
+ userSession,
144
+ );
145
+ },
146
+ },
147
+ resetAllPermissionSetFieldPermissions: {
148
+ async handler(ctx) {
149
+ const userSession = ctx.meta.user;
150
+ const { objectName } = ctx.params;
151
+ const records = await objectql
152
+ .getObject("permission_objects")
153
+ .directFind({ filters: [["object_name", "=", objectName]] });
154
+ for (const record of records) {
155
+ await this.resetFieldPermissions(record._id, userSession);
108
156
  }
109
- }
110
- };
157
+ },
158
+ },
159
+ },
160
+ };