@steedos/service-metadata-objects 2.2.55-beta.7 → 2.3.0-beta.3

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.
Files changed (40) hide show
  1. package/lib/actionsHandler.js +1 -37
  2. package/lib/actionsHandler.js.map +1 -1
  3. package/lib/formula/core.d.ts +0 -11
  4. package/lib/formula/core.js +0 -12
  5. package/lib/formula/core.js.map +1 -1
  6. package/lib/formula/field_formula.d.ts +0 -23
  7. package/lib/formula/field_formula.js +1 -34
  8. package/lib/formula/field_formula.js.map +1 -1
  9. package/lib/formula/formulaActionHandler.d.ts +0 -13
  10. package/lib/formula/formulaActionHandler.js +1 -58
  11. package/lib/formula/formulaActionHandler.js.map +1 -1
  12. package/lib/formula/type.d.ts +0 -52
  13. package/lib/formula/type.js +0 -4
  14. package/lib/formula/type.js.map +1 -1
  15. package/lib/formula/util.d.ts +0 -38
  16. package/lib/formula/util.js +0 -39
  17. package/lib/formula/util.js.map +1 -1
  18. package/lib/lookup/LookupActionHandler.js +0 -13
  19. package/lib/lookup/LookupActionHandler.js.map +1 -1
  20. package/lib/master-detail/masterDetailActionHandler.d.ts +0 -18
  21. package/lib/master-detail/masterDetailActionHandler.js +2 -78
  22. package/lib/master-detail/masterDetailActionHandler.js.map +1 -1
  23. package/lib/objects/fields/index.js +7 -42
  24. package/lib/objects/fields/index.js.map +1 -1
  25. package/lib/objects/index.js +0 -16
  26. package/lib/objects/index.js.map +1 -1
  27. package/lib/objects/translationTemplate.js +0 -7
  28. package/lib/objects/translationTemplate.js.map +1 -1
  29. package/lib/objects.service.js +1 -41
  30. package/lib/objects.service.js.map +1 -1
  31. package/lib/summary/summaryActionHandler.d.ts +0 -5
  32. package/lib/summary/summaryActionHandler.js +0 -25
  33. package/lib/summary/summaryActionHandler.js.map +1 -1
  34. package/lib/summary/type.d.ts +0 -17
  35. package/lib/summary/type.js +0 -13
  36. package/lib/summary/type.js.map +1 -1
  37. package/package.json +5 -5
  38. package/src/master-detail/masterDetailActionHandler.ts +12 -10
  39. package/src/objects/fields/index.ts +9 -11
  40. package/tsconfig.json +1 -0
@@ -9,7 +9,7 @@ const objects_1 = require("./objects");
9
9
  function cacherKey(objectApiName) {
10
10
  return `$steedos.#${_1.METADATA_TYPE}.${objectApiName}`;
11
11
  }
12
- const DELAY_MESSAGE_OF_OBJECT_CHANGED = 10; // 延迟通知对象事件的时间,单位:毫秒
12
+ const DELAY_MESSAGE_OF_OBJECT_CHANGED = 10;
13
13
  class ActionHandlers {
14
14
  constructor(onRegister, onDestroy, onRegistered) {
15
15
  this.onRegister = null;
@@ -26,13 +26,11 @@ class ActionHandlers {
26
26
  objectApiName != objects_1.SQL_BASE_OBJECT && this.onRegister && _.isFunction(this.onRegister)) {
27
27
  yield this.onRegister(data);
28
28
  }
29
- // await ctx.broker.call('metadata.add', {key: cacherKey(objectApiName), data: data}, {meta: meta});
30
29
  yield metadata_registrar_1.Register.add(ctx.broker, { key: cacherKey(objectApiName), data: data }, meta);
31
30
  if (objectApiName != objects_1.MONGO_BASE_OBJECT &&
32
31
  objectApiName != objects_1.SQL_BASE_OBJECT && this.onRegistered && _.isFunction(this.onRegistered)) {
33
32
  yield this.onRegistered(data);
34
33
  }
35
- // 为每个对象 setTimeout 延时执行
36
34
  const registerObjectMemEntry = this.registerObjectMemEntry;
37
35
  let timeoutId = registerObjectMemEntry.get(objectApiName);
38
36
  if (timeoutId) {
@@ -55,7 +53,6 @@ class ActionHandlers {
55
53
  getAll(ctx) {
56
54
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
55
  const datasource = ctx.params.datasource;
58
- // const objects = await ctx.broker.call('metadata.filter', {key: cacherKey("*")}, {meta: ctx.meta});
59
56
  const objects = yield metadata_registrar_1.Register.filter(ctx.broker, cacherKey("*"));
60
57
  if (datasource) {
61
58
  return _.filter(objects, (object) => {
@@ -85,11 +82,6 @@ class ActionHandlers {
85
82
  }
86
83
  const metadataApiName = config.name;
87
84
  if (!config.isMain) {
88
- // const metadataConfig = await ctx.broker.call('metadata.getServiceMetadata', {
89
- // serviceName: ctx.meta.metadataServiceName,
90
- // metadataType: METADATA_TYPE,
91
- // metadataApiName: metadataApiName,
92
- // }, {meta: ctx.meta});
93
85
  const metadataConfig = yield metadata_registrar_1.Register.getServiceMetadata(ctx.broker, {
94
86
  serviceName: ctx.meta.metadataServiceName,
95
87
  metadataType: _1.METADATA_TYPE,
@@ -100,7 +92,6 @@ class ActionHandlers {
100
92
  config = _.defaultsDeep(config, metadataConfig.metadata);
101
93
  }
102
94
  }
103
- // await ctx.broker.call('metadata.addServiceMetadata', { key: cacherKey(metadataApiName), data: config }, { meta: Object.assign({}, ctx.meta, { metadataType: METADATA_TYPE, metadataApiName: metadataApiName }) })
104
95
  yield metadata_registrar_1.Register.addServiceMetadata(ctx.broker, { key: cacherKey(metadataApiName), data: config }, Object.assign({}, ctx.meta, { metadataType: _1.METADATA_TYPE, metadataApiName: metadataApiName }));
105
96
  const objectConfig = yield (0, objects_1.refreshObject)(ctx, metadataApiName);
106
97
  if (!objectConfig) {
@@ -109,11 +100,8 @@ class ActionHandlers {
109
100
  const objectServiceName = (0, objects_1.getObjectServiceName)(metadataApiName);
110
101
  const result = yield this.registerObject(ctx, metadataApiName, objectConfig, {
111
102
  caller: {
112
- // nodeID: broker.nodeID,
113
103
  service: {
114
104
  name: objectServiceName,
115
- // version: broker.service.version, TODO
116
- // fullName: broker.service.fullName, TODO
117
105
  }
118
106
  }
119
107
  });
@@ -129,11 +117,6 @@ class ActionHandlers {
129
117
  }
130
118
  const metadataApiName = config.name;
131
119
  if (!config.isMain) {
132
- // const metadataConfig = await ctx.broker.call('metadata.getServiceMetadata', {
133
- // serviceName: ctx.meta.metadataServiceName,
134
- // metadataType: METADATA_TYPE,
135
- // metadataApiName: metadataApiName,
136
- // }, { meta: ctx.meta });
137
120
  const metadataConfig = yield metadata_registrar_1.Register.getServiceMetadata(ctx.broker, {
138
121
  serviceName: ctx.meta.metadataServiceName,
139
122
  metadataType: _1.METADATA_TYPE,
@@ -144,7 +127,6 @@ class ActionHandlers {
144
127
  config = _.defaultsDeep(config, metadataConfig.metadata);
145
128
  }
146
129
  }
147
- // await ctx.broker.call('metadata.addServiceMetadata', { key: cacherKey(metadataApiName), data: config }, { meta: Object.assign({}, ctx.meta, { metadataType: METADATA_TYPE, metadataApiName: metadataApiName }) })
148
130
  yield metadata_registrar_1.Register.addServiceMetadata(ctx.broker, {
149
131
  key: cacherKey(metadataApiName),
150
132
  data: config
@@ -157,11 +139,8 @@ class ActionHandlers {
157
139
  const objectServiceName = (0, objects_1.getObjectServiceName)(metadataApiName);
158
140
  yield this.registerObject(ctx, metadataApiName, objectConfig, {
159
141
  caller: {
160
- // nodeID: broker.nodeID,
161
142
  service: {
162
143
  name: objectServiceName,
163
- // version: broker.service.version, TODO
164
- // fullName: broker.service.fullName, TODO
165
144
  }
166
145
  }
167
146
  });
@@ -173,10 +152,8 @@ class ActionHandlers {
173
152
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
174
153
  const { data, oldData } = ctx.params;
175
154
  if (oldData.name != data.name) {
176
- // console.log(`change==================`, oldData.name, data.name);
177
155
  yield this.deleteObject(ctx, oldData.name);
178
156
  }
179
- // await ctx.broker.call('metadata.add', {key: cacherKey(data.name), data: data}, {meta: ctx.meta})
180
157
  yield metadata_registrar_1.Register.add(ctx.broker, { key: cacherKey(data.name), data: data }, ctx.meta);
181
158
  ctx.broker.emit("metadata.objects.updated", { objectApiName: data.name, oldObjectApiName: oldData.name, isUpdate: true });
182
159
  return true;
@@ -184,7 +161,6 @@ class ActionHandlers {
184
161
  }
185
162
  delete(ctx) {
186
163
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
187
- // console.log(`delete==================`, ctx.params.objectApiName);
188
164
  return yield this.deleteObject(ctx, ctx.params.objectApiName);
189
165
  });
190
166
  }
@@ -209,18 +185,14 @@ class ActionHandlers {
209
185
  const metadataApiName = metadataApiNames_1_1.value;
210
186
  const objectConfig = yield (0, objects_1.refreshObject)(ctx, metadataApiName);
211
187
  if (!objectConfig) {
212
- // console.log(`refresh deleteObject==================`, metadataApiName);
213
188
  yield this.deleteObject(ctx, metadataApiName);
214
189
  }
215
190
  else {
216
191
  const objectServiceName = (0, objects_1.getObjectServiceName)(metadataApiName);
217
192
  yield this.registerObject(ctx, metadataApiName, objectConfig, {
218
193
  caller: {
219
- // nodeID: broker.nodeID,
220
194
  service: {
221
195
  name: objectServiceName,
222
- // version: broker.service.version, TODO
223
- // fullName: broker.service.fullName, TODO
224
196
  }
225
197
  }
226
198
  });
@@ -245,17 +217,9 @@ class ActionHandlers {
245
217
  }
246
218
  handleDeleteObject(ctx, objectApiName) {
247
219
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
248
- // const { metadata } = (await ctx.broker.call("metadata.get", { key: cacherKey(objectApiName) }, { meta: ctx.meta })) || {};
249
220
  const { metadata } = (yield metadata_registrar_1.Register.get(ctx.broker, cacherKey(objectApiName))) || {};
250
- // await ctx.broker.call('metadata.delete', {key: cacherKey(objectApiName)}, {meta: ctx.meta})
251
221
  yield metadata_registrar_1.Register.delete(ctx.broker, cacherKey(objectApiName));
252
222
  try {
253
- // await ctx.broker.call('metadata.deleteServiceMetadata', {
254
- // nodeID: ctx.broker.nodeID,
255
- // serviceName: '~database-objects',
256
- // metadataType: METADATA_TYPE,
257
- // metadataApiName: objectApiName
258
- // }, {meta: ctx.meta})
259
223
  yield metadata_registrar_1.Register.deleteServiceMetadata(ctx.broker, {
260
224
  nodeID: ctx.broker.nodeID,
261
225
  serviceName: '~database-objects',
@@ -1 +1 @@
1
- {"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actionsHandler.js","sourceRoot":"","sources":["../src/actionsHandler.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,2 @@
1
- /**
2
- * 根据公式内容,取出其中{}中的变量
3
- * @param formula
4
- */
5
1
  export declare const pickFormulaVars: (formula: string) => Array<string>;
6
- /**
7
- * 某个对象上的公式字段是否引用了某个对象和字段
8
- * @param formulaObjectName 公式字段在所在对象名称
9
- * @param formulaFieldName 公式字段名称
10
- * @param object_name 是否引用了该对象
11
- * @param field_name 是否引用了该字段
12
- */
13
2
  export declare const isFormulaFieldQuotingObjectAndFields: (formulaObjectName: string, formulaFieldName: string, objectName: string, fieldNames?: Array<string>) => Promise<boolean>;
@@ -5,28 +5,16 @@ const tslib_1 = require("tslib");
5
5
  const formula_1 = require("@steedos/formula");
6
6
  const field_formula_1 = require("./field_formula");
7
7
  const util_1 = require("./util");
8
- /**
9
- * 根据公式内容,取出其中{}中的变量
10
- * @param formula
11
- */
12
8
  const pickFormulaVars = (formula) => {
13
9
  return (0, formula_1.extract)(formula);
14
10
  };
15
11
  exports.pickFormulaVars = pickFormulaVars;
16
- /**
17
- * 某个对象上的公式字段是否引用了某个对象和字段
18
- * @param formulaObjectName 公式字段在所在对象名称
19
- * @param formulaFieldName 公式字段名称
20
- * @param object_name 是否引用了该对象
21
- * @param field_name 是否引用了该字段
22
- */
23
12
  const isFormulaFieldQuotingObjectAndFields = (formulaObjectName, formulaFieldName, objectName, fieldNames) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
24
13
  const configs = yield (0, field_formula_1.getObjectFieldFormulaConfigs)(formulaObjectName, formulaFieldName);
25
14
  if (configs && configs.length) {
26
15
  return (0, util_1.isFieldFormulaConfigQuotingObjectAndFields)(configs[0], objectName, fieldNames);
27
16
  }
28
17
  else {
29
- // 没找到公式字段配置说明传入的参数不是公式字段
30
18
  return false;
31
19
  }
32
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/formula/core.ts"],"names":[],"mappings":";;;;AACA,8CAA2C;AAC3C,mDAA+D;AAC/D,iCAAoE;AAEpE;;;GAGG;AACI,MAAM,eAAe,GAAG,CAAC,OAAe,EAAiB,EAAE;IAC9D,OAAO,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAGD;;;;;;GAMG;AACI,MAAM,oCAAoC,GAAG,CAAO,iBAAyB,EAAE,gBAAwB,EAAE,UAAkB,EAAE,UAA0B,EAAoB,EAAE;IAChL,MAAM,OAAO,GAAyC,MAAM,IAAA,4CAA4B,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC9H,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;QAC3B,OAAO,IAAA,iDAA0C,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;KACzF;SACI;QACD,yBAAyB;QACzB,OAAO,KAAK,CAAC;KAChB;AACL,CAAC,CAAA,CAAA;AATY,QAAA,oCAAoC,wCAShD"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/formula/core.ts"],"names":[],"mappings":";;;;AACA,8CAA2C;AAC3C,mDAA+D;AAC/D,iCAAoE;AAM7D,MAAM,eAAe,GAAG,CAAC,OAAe,EAAiB,EAAE;IAC9D,OAAO,IAAA,iBAAO,EAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B;AAUM,MAAM,oCAAoC,GAAG,CAAO,iBAAyB,EAAE,gBAAwB,EAAE,UAAkB,EAAE,UAA0B,EAAoB,EAAE;IAChL,MAAM,OAAO,GAAyC,MAAM,IAAA,4CAA4B,EAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC9H,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;QAC3B,OAAO,IAAA,iDAA0C,EAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;KACzF;SACI;QAED,OAAO,KAAK,CAAC;KAChB;AACL,CAAC,CAAA,CAAA;AATY,QAAA,oCAAoC,wCAShD"}
@@ -2,29 +2,6 @@ import { SteedosFieldFormulaTypeConfig, SteedosQuotedByFieldFormulasTypeConfig }
2
2
  import { JsonMap } from '@salesforce/ts-types';
3
3
  export declare const getFieldFormulaConfigs: () => Array<SteedosFieldFormulaTypeConfig>;
4
4
  export declare const getFieldFormulaConfig: (_id: string) => SteedosFieldFormulaTypeConfig;
5
- /**
6
- * 获取对象本身的字段公式配置
7
- * 不传入fieldName时取objectName关联的所有字段公式配置
8
- * @param objectName
9
- * @param fieldName
10
- */
11
5
  export declare const getObjectFieldFormulaConfigs: (objectName: string, fieldName?: string) => Array<SteedosFieldFormulaTypeConfig>;
12
- /**
13
- * 获取对象在哪些字段公式中被引用
14
- * 不传入fieldNames时取objectName关联的所有字段公式配置
15
- * @param objectName
16
- * @param fieldNames
17
- * @param escapeConfigs 要跳过的字段公式
18
- * @param options.onlyForOwn 要跳过其他对象上的字段公式,只检测当前对象上的字段公式,
19
- * 新建记录的时候传入true可以提高性能,避免不必要的公式计算
20
- * 见issue: a公式字段,其中应用了b公式字段,记录保存后a字段没计算,编辑后再保存字段计算 #2946
21
- * @param options.withoutCurrent 要跳过当前对象上配置的所有字段公式,只检测其他对象上的字段公式,
22
- * 删除记录的时候传入true可以解决因为记录被删除doc为null运行公式报错的问题,同时避免不必要的公式计算
23
- * 见issue: 删除包含公式字段的记录时报错 #3427
24
- */
25
6
  export declare const getObjectQuotedByFieldFormulaConfigs: (objectName: string, fieldNames?: Array<string>, escapeConfigs?: Array<SteedosFieldFormulaTypeConfig> | Array<string>, options?: JsonMap) => SteedosQuotedByFieldFormulasTypeConfig;
26
- /**
27
- * 获取参数config在哪些字段公式中被引用
28
- * @param config
29
- */
30
7
  export declare const getQuotedByFieldFormulaConfigs: (config: SteedosFieldFormulaTypeConfig) => SteedosQuotedByFieldFormulasTypeConfig;
@@ -3,28 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getQuotedByFieldFormulaConfigs = exports.getObjectQuotedByFieldFormulaConfigs = exports.getObjectFieldFormulaConfigs = exports.getFieldFormulaConfig = exports.getFieldFormulaConfigs = void 0;
4
4
  const util_1 = require("./util");
5
5
  const _ = require("lodash");
6
- // export const addFieldFormulaConfig = (config: SteedosFieldFormulaTypeConfig) => {
7
- // addConfig('field_formula', config);
8
- // }
9
- // export const clearFieldFormulaConfigs = (query?: object) => {
10
- // removeManyConfigs('field_formula', query);
11
- // }
12
6
  const getFieldFormulaConfigs = () => {
13
7
  return [];
14
- // return getConfigs('field_formula');
15
8
  };
16
9
  exports.getFieldFormulaConfigs = getFieldFormulaConfigs;
17
10
  const getFieldFormulaConfig = (_id) => {
18
11
  return null;
19
- // return getConfig('field_formula', _id);
20
12
  };
21
13
  exports.getFieldFormulaConfig = getFieldFormulaConfig;
22
- /**
23
- * 获取对象本身的字段公式配置
24
- * 不传入fieldName时取objectName关联的所有字段公式配置
25
- * @param objectName
26
- * @param fieldName
27
- */
28
14
  const getObjectFieldFormulaConfigs = (objectName, fieldName) => {
29
15
  const configs = (0, exports.getFieldFormulaConfigs)();
30
16
  let result = configs.filter((config) => {
@@ -38,19 +24,6 @@ const getObjectFieldFormulaConfigs = (objectName, fieldName) => {
38
24
  return (0, util_1.sortFieldFormulaConfigs)(result);
39
25
  };
40
26
  exports.getObjectFieldFormulaConfigs = getObjectFieldFormulaConfigs;
41
- /**
42
- * 获取对象在哪些字段公式中被引用
43
- * 不传入fieldNames时取objectName关联的所有字段公式配置
44
- * @param objectName
45
- * @param fieldNames
46
- * @param escapeConfigs 要跳过的字段公式
47
- * @param options.onlyForOwn 要跳过其他对象上的字段公式,只检测当前对象上的字段公式,
48
- * 新建记录的时候传入true可以提高性能,避免不必要的公式计算
49
- * 见issue: a公式字段,其中应用了b公式字段,记录保存后a字段没计算,编辑后再保存字段计算 #2946
50
- * @param options.withoutCurrent 要跳过当前对象上配置的所有字段公式,只检测其他对象上的字段公式,
51
- * 删除记录的时候传入true可以解决因为记录被删除doc为null运行公式报错的问题,同时避免不必要的公式计算
52
- * 见issue: 删除包含公式字段的记录时报错 #3427
53
- */
54
27
  const getObjectQuotedByFieldFormulaConfigs = (objectName, fieldNames, escapeConfigs, options) => {
55
28
  const { onlyForOwn, withoutCurrent } = options || {};
56
29
  const configs = (0, exports.getFieldFormulaConfigs)();
@@ -68,7 +41,6 @@ const getObjectQuotedByFieldFormulaConfigs = (objectName, fieldNames, escapeConf
68
41
  let isCurrent = config.object_name === objectName;
69
42
  let isOwn = isCurrent;
70
43
  if (isCurrent) {
71
- // 要进一步确定其引用关系中有引用自身才算是引用自身的公式字段
72
44
  isOwn = !!config.quotes.find((quote) => {
73
45
  return quote.is_own;
74
46
  });
@@ -85,17 +57,12 @@ const getObjectQuotedByFieldFormulaConfigs = (objectName, fieldNames, escapeConf
85
57
  }
86
58
  }
87
59
  });
88
- // 当前对象上的字段一定要做排序
89
60
  const ownConfigs = (0, util_1.sortFieldFormulaConfigs)(configsOnCurrentObject);
90
- const otherConfigs = configsOnOtherObjects; //注意otherConfigs其实也包括当前对象上的公式字段,只是不包含引用自身字段的公式字段
61
+ const otherConfigs = configsOnOtherObjects;
91
62
  const allConfigs = ownConfigs.concat(otherConfigs);
92
63
  return { ownConfigs, otherConfigs, allConfigs };
93
64
  };
94
65
  exports.getObjectQuotedByFieldFormulaConfigs = getObjectQuotedByFieldFormulaConfigs;
95
- /**
96
- * 获取参数config在哪些字段公式中被引用
97
- * @param config
98
- */
99
66
  const getQuotedByFieldFormulaConfigs = (config) => {
100
67
  return (0, exports.getObjectQuotedByFieldFormulaConfigs)(config.object_name, [config.field_name]);
101
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"field_formula.js","sourceRoot":"","sources":["../../src/formula/field_formula.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"field_formula.js","sourceRoot":"","sources":["../../src/formula/field_formula.ts"],"names":[],"mappings":"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"}
@@ -5,20 +5,7 @@ export declare class FormulaActionHandler {
5
5
  deleteAll(objectConfig: any): Promise<boolean>;
6
6
  getObjectConfig(objectApiName: string): Promise<any>;
7
7
  addFieldFormulaQuotesConfig(quote: SteedosFieldFormulaQuoteTypeConfig, quotes: Array<SteedosFieldFormulaQuoteTypeConfig>): void;
8
- /**
9
- * 把公式中a.b.c,比如account.website这样的变量转为SteedosFieldFormulaQuoteTypeConfig和SteedosFieldFormulaVarTypeConfig追加到quotes和vars中
10
- * 因为getObjectConfigs拿到的对象肯定不包括被禁用和假删除的对象,所以不需要额外判断相关状态
11
- * @param formulaVar 公式中的单个变量,比如account.website
12
- * @param fieldConfig
13
- * @param objectConfigs
14
- * @param quotes
15
- */
16
8
  computeFormulaVarAndQuotes(formulaVar: string, objectConfig: any, quotes: Array<SteedosFieldFormulaQuoteTypeConfig>, vars: Array<SteedosFormulaVarTypeConfig>): Promise<void>;
17
- /**
18
- * 根据公式内容,取出其中{}中的变量,返回计算后的公式引用集合
19
- * @param formula
20
- * @param fieldConfig
21
- */
22
9
  computeFormulaVarsAndQuotes(formula: string, objectConfig: any): Promise<{
23
10
  quotes: SteedosFieldFormulaQuoteTypeConfig[];
24
11
  vars: SteedosFormulaVarTypeConfig[];
@@ -4,11 +4,9 @@ exports.FormulaActionHandler = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const type_1 = require("./type");
6
6
  const core_1 = require("./core");
7
- // import { isCodeObject } from '../util'; TODO
8
7
  const metadata_registrar_1 = require("@steedos/metadata-registrar");
9
8
  const _ = require("lodash");
10
9
  const clone = require('clone');
11
- // TODO
12
10
  const isCodeObject = (objectApiName) => {
13
11
  return objectApiName ? false : true;
14
12
  };
@@ -27,8 +25,6 @@ class FormulaActionHandler {
27
25
  if (!objectConfig) {
28
26
  return;
29
27
  }
30
- // console.log(`deleteAll formula`, `${this.cacherKey(objectConfig.name)}.*`)
31
- // await this.broker.call('metadata.fuzzyDelete', {key: `${this.cacherKey(objectConfig.name)}.*`}, {meta: {}})
32
28
  yield metadata_registrar_1.Register.fuzzyDelete(this.broker, `${this.cacherKey(objectConfig.name)}.*`);
33
29
  return true;
34
30
  }
@@ -46,7 +42,6 @@ class FormulaActionHandler {
46
42
  }
47
43
  addFieldFormulaQuotesConfig(quote, quotes) {
48
44
  if (quote.field_name === "_id") {
49
- // _id字段不记为引用关系,因为其值不会变化,相关记录属性变更时不需要重算被引用的字段公式
50
45
  return;
51
46
  }
52
47
  let existQuote = quotes.find((item) => {
@@ -56,19 +51,10 @@ class FormulaActionHandler {
56
51
  quotes.push(quote);
57
52
  }
58
53
  }
59
- /**
60
- * 把公式中a.b.c,比如account.website这样的变量转为SteedosFieldFormulaQuoteTypeConfig和SteedosFieldFormulaVarTypeConfig追加到quotes和vars中
61
- * 因为getObjectConfigs拿到的对象肯定不包括被禁用和假删除的对象,所以不需要额外判断相关状态
62
- * @param formulaVar 公式中的单个变量,比如account.website
63
- * @param fieldConfig
64
- * @param objectConfigs
65
- * @param quotes
66
- */
67
54
  computeFormulaVarAndQuotes(formulaVar, objectConfig, quotes, vars) {
68
55
  var e_1, _a;
69
56
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
70
- let isSimpleVar = objectConfig === null; //明确传入null时表示要计算的是普通变量。
71
- // 公式变量以FormulaUserSessionKey(即$user)值开头,说明是userSession变量
57
+ let isSimpleVar = objectConfig === null;
72
58
  let isUserVar = new RegExp(`^${type_1.FormulaUserKey.replace("$", "\\$")}\\b`).test(formulaVar);
73
59
  let varItems = formulaVar.split(".");
74
60
  let paths = [];
@@ -77,30 +63,22 @@ class FormulaActionHandler {
77
63
  paths: paths
78
64
  };
79
65
  if (isUserVar) {
80
- // user var不可以按普通变量处理,因为其变量值依赖paths属性
81
66
  isSimpleVar = false;
82
67
  objectConfig = "space_users";
83
68
  }
84
69
  if (isSimpleVar) {
85
- // 只要不是user var则标记为普通变量,后续取参数值时直接通过key取值,而不用走变量上的paths属性。
86
- // 普通变量直接跳后后面所有代码即可,因为不需要处理paths和公式关系链等逻辑。
87
- // 注意普通公式也是支持$user全局变量的,但是isSimpleVar是false,所以下面所有逻辑
88
70
  formulaVarItem.is_simple_var = true;
89
71
  vars.push(formulaVarItem);
90
72
  return;
91
73
  }
92
74
  if (isUserVar) {
93
- // 如果是userSession变量,则不需要计算quotes引用,但是其paths值需要正常记录下来
94
75
  formulaVarItem.is_user_var = true;
95
- // vars.push(formulaVarItem);
96
- // return;
97
76
  }
98
77
  else {
99
78
  if (formulaVar.startsWith("$")) {
100
79
  throw new Error(`computeFormulaVarAndQuotes:The formula var '${formulaVar}' is starts with '$' but not a user session var that starts with $user.`);
101
80
  }
102
81
  if (!objectConfig) {
103
- // 不是$user变量时,需要传入objectConfig参数
104
82
  throw new Error(`computeFormulaVarAndQuotes:The 'objectConfig' is required for the formula var '${formulaVar}'`);
105
83
  }
106
84
  }
@@ -110,19 +88,15 @@ class FormulaActionHandler {
110
88
  for (var varItems_1 = tslib_1.__asyncValues(varItems), varItems_1_1; varItems_1_1 = yield varItems_1.next(), !varItems_1_1.done;) {
111
89
  let varItem = varItems_1_1.value;
112
90
  i++;
113
- // let i:number = _index as unknown as number;
114
- // let varItem = varItems[i];
115
91
  let tempFieldConfig;
116
92
  const isUserKey = varItem === type_1.FormulaUserKey;
117
93
  if (varItem === "_id") {
118
- // 支持_id属性
119
94
  tempFieldConfig = {
120
95
  name: varItem,
121
96
  type: "text"
122
97
  };
123
98
  }
124
99
  else if (isUserKey) {
125
- // 如果是$user变量,则特殊处理下
126
100
  tempFieldConfig = {
127
101
  name: varItem,
128
102
  type: "lookup",
@@ -133,8 +107,6 @@ class FormulaActionHandler {
133
107
  tempFieldConfig = tempObjectConfig.fields[varItem];
134
108
  }
135
109
  if (!tempFieldConfig) {
136
- // 不是对象上的字段,则直接退出,这里注意公式中引用零代码中的字段的话,公式中字段名需要手动加上__c后缀(因为用户填写的api名称不带__c,是内核会自动加后缀),否则会找不到
137
- // throw new Error(`computeFormulaVarAndQuotes:Can't find the field '${varItem}' on the object '${tempObjectConfig.name}' for the formula var '${formulaVar}'`);
138
110
  return;
139
111
  }
140
112
  let isFormulaType = tempFieldConfig.type === "formula";
@@ -146,18 +118,14 @@ class FormulaActionHandler {
146
118
  if (isFormulaType) {
147
119
  tempFieldFormulaVarPath.is_formula = true;
148
120
  }
149
- // 当是$user时,不需要把第一个path记录下来,只需要记录其后续的路径即可
150
121
  paths.push(tempFieldFormulaVarPath);
151
122
  }
152
123
  if (!isUserVar) {
153
- // $user变量不需要记录引用关系,因为没法确定每条record当时对应的当前用户ID是多少
154
- // 自己可以引用自己,i大于0就是其他对象上的引用
155
124
  let tempFieldFormulaQuote = {
156
125
  object_name: tempObjectConfig.name,
157
126
  field_name: tempFieldConfig.name
158
127
  };
159
128
  if (i === 0 && i === varItems.length - 1) {
160
- // 是引用的本对象上自身的字段,即自己引用自己
161
129
  tempFieldFormulaQuote.is_own = true;
162
130
  }
163
131
  if (isFormulaType) {
@@ -166,13 +134,10 @@ class FormulaActionHandler {
166
134
  this.addFieldFormulaQuotesConfig(tempFieldFormulaQuote, quotes);
167
135
  }
168
136
  if (tempFieldConfig.type === "lookup" || tempFieldConfig.type === "master_detail") {
169
- // 引用类型字段
170
137
  if (tempFieldConfig.multiple) {
171
- // TODO:暂时不支持数组的解析,见:公式字段中要实现lookup关联到数组字段的情况 #783
172
138
  throw new Error(`computeFormulaVarAndQuotes:The field '${tempFieldConfig.name}' for the formula var '${formulaVar}' is a multiple ${tempFieldConfig.type} type, it is not supported yet.`);
173
139
  }
174
140
  if (i === varItems.length - 1) {
175
- // 引用类型字段后面必须继续引用该字段的相关属性,否则直接报错
176
141
  throw new Error(`computeFormulaVarAndQuotes:The field '${tempFieldConfig.name}' for the formula var '${formulaVar}' is a ${tempFieldConfig.type} type, so you must add more property after it.`);
177
142
  }
178
143
  if (tempFieldConfig.reference_to_field && paths.length) {
@@ -180,26 +145,20 @@ class FormulaActionHandler {
180
145
  }
181
146
  }
182
147
  else {
183
- // 不是引用类型字段,则直接退出
184
148
  if (i < varItems.length - 1) {
185
- // 提前找到非跨对象字段,说明varItems中后面没计算的变量是多余错误的,因为.后面肯定是跨对象引用出来的字段(除非是$user等全局变量)
186
149
  throw new Error(`computeFormulaVarAndQuotes:The field '${tempFieldConfig.name}' for the formula var '${formulaVar}' is not a lookup/master_detail type, so you can't get more property for it.`);
187
150
  }
188
151
  break;
189
152
  }
190
153
  if (typeof tempFieldConfig.reference_to !== "string") {
191
- // 暂时只支持reference_to为字符的情况,其他类型直接跳过
192
154
  throw new Error(`Field ${tempFieldConfig.name} in formula ${formulaVar} does not define the "Reference Object" property or its "Reference Object" property is a function.`);
193
155
  }
194
156
  tempObjectConfig = yield this.getObjectConfig(tempFieldConfig.reference_to);
195
157
  if (!tempObjectConfig) {
196
- // 没找到相关引用对象,直接退出
197
- // 如果不是零代码对象,直接报错,否则直接返回,待相关零代码对象加载进来时,会再进入该函数
198
158
  if (isCodeObject(tempFieldConfig.reference_to)) {
199
159
  throw new Error(`computeFormulaVarAndQuotes:Can't find the object reference_to '${tempFieldConfig.reference_to}' by the field '${tempFieldConfig.name}' for the formula var '${formulaVar}'`);
200
160
  }
201
161
  else {
202
- // await this.broker.call('metadata.add', {key: this.cacherKey(getDynamicCalcMapCacherKey(tempFieldConfig.reference_to, objectConfig.name)), data: {objectApiName: objectConfig.name}}, {meta: {}})
203
162
  yield metadata_registrar_1.Register.add(this.broker, { key: this.cacherKey(getDynamicCalcMapCacherKey(tempFieldConfig.reference_to, objectConfig.name)), data: { objectApiName: objectConfig.name } }, {});
204
163
  return;
205
164
  }
@@ -216,11 +175,6 @@ class FormulaActionHandler {
216
175
  vars.push(formulaVarItem);
217
176
  });
218
177
  }
219
- /**
220
- * 根据公式内容,取出其中{}中的变量,返回计算后的公式引用集合
221
- * @param formula
222
- * @param fieldConfig
223
- */
224
178
  computeFormulaVarsAndQuotes(formula, objectConfig) {
225
179
  var e_2, _a;
226
180
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
@@ -276,14 +230,11 @@ class FormulaActionHandler {
276
230
  try {
277
231
  for (var _b = tslib_1.__asyncValues(_.values(config.fields)), _c; _c = yield _b.next(), !_c.done;) {
278
232
  const field = _c.value;
279
- // console.log('key', key);
280
- // const field = config.fields[key]
281
233
  if (field.type === "formula") {
282
234
  if (datasource !== "meteor" && datasource !== "default") {
283
235
  throw new Error(`The type of the field '${field.name}' on the object '${config.name}' can't be 'formula', because it is not in the default datasource.`);
284
236
  }
285
237
  try {
286
- // 这里一定要加try catch,否则某个字段报错后,后续其他字段及其他对象就再也没有正常加载了
287
238
  const fieldFormulaConfig = yield this.getObjectFieldFormulaConfig(clone(field), config);
288
239
  objectFieldsFormulaConfig.push(fieldFormulaConfig);
289
240
  }
@@ -322,7 +273,6 @@ class FormulaActionHandler {
322
273
  var e_4, _a;
323
274
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
324
275
  const maps = [];
325
- // let records = (await broker.call('metadata.filter', { key: this.cacherKey(`${refMapName}.*`) }, { meta: {} })) || {};
326
276
  let records = (yield metadata_registrar_1.Register.filter(this.broker, this.cacherKey(`${refMapName}.*`))) || {};
327
277
  try {
328
278
  for (var records_1 = tslib_1.__asyncValues(records), records_1_1; records_1_1 = yield records_1.next(), !records_1_1.done;) {
@@ -354,11 +304,8 @@ class FormulaActionHandler {
354
304
  key: key,
355
305
  value: value
356
306
  };
357
- // //checkData
358
307
  this.checkRefMapData(maps, data);
359
- // maps.push(data);
360
308
  yield metadata_registrar_1.Register.add(this.broker, { key: this.cacherKey(`${refMapName}.${key}.${value}`), data: data }, {});
361
- // await broker.call('metadata.add', {key: this.cacherKey(`${refMapName}.${key}.${value}`), data: data}, {meta: {}})
362
309
  });
363
310
  }
364
311
  addFormulaMetadata(config, datasource) {
@@ -397,7 +344,6 @@ class FormulaActionHandler {
397
344
  getObjectDynamicCalcFormulaMap(objectApiName) {
398
345
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
399
346
  return yield metadata_registrar_1.Register.filter(this.broker, this.cacherKey(getDynamicCalcMapCacherKey(objectApiName, '*')));
400
- // return await this.broker.call('metadata.filter', {key: this.cacherKey(getDynamicCalcMapCacherKey(objectApiName, '*'))}, {meta: {}});
401
347
  });
402
348
  }
403
349
  recalcObjectsFormulaMap(objectConfig) {
@@ -430,7 +376,6 @@ class FormulaActionHandler {
430
376
  const recalcObjectConfig = recalcObjects[objectName];
431
377
  yield this.addFormulaMetadata(recalcObjectConfig, recalcObjectConfig.datasource);
432
378
  yield metadata_registrar_1.Register.delete(this.broker, this.cacherKey(getDynamicCalcMapCacherKey(objectConfig.name, objectName)));
433
- // await this.broker.call('metadata.delete', {key: this.cacherKey(getDynamicCalcMapCacherKey(objectConfig.name, objectName))}, {meta: {}})
434
379
  }
435
380
  }
436
381
  });
@@ -458,7 +403,6 @@ class FormulaActionHandler {
458
403
  }
459
404
  const key = this.cacherKey(`${objectApiName}.${fieldApiName}`);
460
405
  const configs = [];
461
- // const res = await this.broker.call('metadata.filter', {key: key}, {meta: {}})
462
406
  const res = yield metadata_registrar_1.Register.filter(this.broker, key);
463
407
  _.forEach(res, (item) => {
464
408
  configs.push(item === null || item === void 0 ? void 0 : item.metadata);
@@ -470,7 +414,6 @@ class FormulaActionHandler {
470
414
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
471
415
  let { fieldApiFullName } = ctx.params;
472
416
  const key = this.cacherKey(fieldApiFullName);
473
- // const res = await this.broker.call('metadata.get', {key: key}, {meta: {}});
474
417
  const res = yield metadata_registrar_1.Register.get(this.broker, key);
475
418
  return res === null || res === void 0 ? void 0 : res.metadata;
476
419
  });