@steedos/objectql 2.1.82 → 2.1.84

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 (261) hide show
  1. package/lib/actions/field_updates.js +15 -15
  2. package/lib/actions/field_updates.js.map +1 -1
  3. package/lib/actions/index.js +3 -3
  4. package/lib/actions/index.js.map +1 -1
  5. package/lib/actions/workflow_notifications.js +10 -10
  6. package/lib/actions/workflow_notifications.js.map +1 -1
  7. package/lib/actions/workflow_rule.js +19 -19
  8. package/lib/actions/workflow_rule.js.map +1 -1
  9. package/lib/driver/index.js +1 -0
  10. package/lib/driver/index.js.map +1 -1
  11. package/lib/driver/metadata.js +3 -3
  12. package/lib/driver/metadata.js.map +1 -1
  13. package/lib/driver/meteorMongo.js +36 -36
  14. package/lib/driver/meteorMongo.js.map +1 -1
  15. package/lib/driver/mongo.js +43 -43
  16. package/lib/driver/mongo.js.map +1 -1
  17. package/lib/driver/mysql.js +2 -2
  18. package/lib/driver/mysql.js.map +1 -1
  19. package/lib/driver/oracle.js +5 -5
  20. package/lib/driver/oracle.js.map +1 -1
  21. package/lib/driver/postgres.js +2 -2
  22. package/lib/driver/postgres.js.map +1 -1
  23. package/lib/driver/sqlite3.js +2 -2
  24. package/lib/driver/sqlite3.js.map +1 -1
  25. package/lib/driver/sqlserver.js +4 -4
  26. package/lib/driver/sqlserver.js.map +1 -1
  27. package/lib/dynamic-load/actions.js +22 -18
  28. package/lib/dynamic-load/actions.js.map +1 -1
  29. package/lib/dynamic-load/approval_process.js +15 -10
  30. package/lib/dynamic-load/approval_process.js.map +1 -1
  31. package/lib/dynamic-load/button.js +25 -18
  32. package/lib/dynamic-load/button.js.map +1 -1
  33. package/lib/dynamic-load/chart.js +20 -23
  34. package/lib/dynamic-load/chart.js.map +1 -1
  35. package/lib/dynamic-load/field.js +21 -16
  36. package/lib/dynamic-load/field.js.map +1 -1
  37. package/lib/dynamic-load/flow_role.js +12 -8
  38. package/lib/dynamic-load/flow_role.js.map +1 -1
  39. package/lib/dynamic-load/index.d.ts +1 -0
  40. package/lib/dynamic-load/index.js +20 -19
  41. package/lib/dynamic-load/index.js.map +1 -1
  42. package/lib/dynamic-load/layout.js +19 -14
  43. package/lib/dynamic-load/layout.js.map +1 -1
  44. package/lib/dynamic-load/listview.js +14 -11
  45. package/lib/dynamic-load/listview.js.map +1 -1
  46. package/lib/dynamic-load/method.js +9 -6
  47. package/lib/dynamic-load/method.js.map +1 -1
  48. package/lib/dynamic-load/object_translations.js +29 -51
  49. package/lib/dynamic-load/object_translations.js.map +1 -1
  50. package/lib/dynamic-load/originalObject.js +1 -1
  51. package/lib/dynamic-load/originalObject.js.map +1 -1
  52. package/lib/dynamic-load/package.d.ts +9 -0
  53. package/lib/dynamic-load/package.js +507 -0
  54. package/lib/dynamic-load/package.js.map +1 -0
  55. package/lib/dynamic-load/page.js +20 -23
  56. package/lib/dynamic-load/page.js.map +1 -1
  57. package/lib/dynamic-load/permission.js +61 -65
  58. package/lib/dynamic-load/permission.js.map +1 -1
  59. package/lib/dynamic-load/permissionset.js +30 -25
  60. package/lib/dynamic-load/permissionset.js.map +1 -1
  61. package/lib/dynamic-load/preload_data.js +55 -74
  62. package/lib/dynamic-load/preload_data.js.map +1 -1
  63. package/lib/dynamic-load/profile.js +33 -28
  64. package/lib/dynamic-load/profile.js.map +1 -1
  65. package/lib/dynamic-load/query.js +20 -23
  66. package/lib/dynamic-load/query.js.map +1 -1
  67. package/lib/dynamic-load/restrictionRules.js +18 -23
  68. package/lib/dynamic-load/restrictionRules.js.map +1 -1
  69. package/lib/dynamic-load/role.js +12 -8
  70. package/lib/dynamic-load/role.js.map +1 -1
  71. package/lib/dynamic-load/shareRules.js +18 -23
  72. package/lib/dynamic-load/shareRules.js.map +1 -1
  73. package/lib/dynamic-load/tab.js +4 -3
  74. package/lib/dynamic-load/tab.js.map +1 -1
  75. package/lib/dynamic-load/tabs.js +9 -7
  76. package/lib/dynamic-load/tabs.js.map +1 -1
  77. package/lib/dynamic-load/translations.js +23 -17
  78. package/lib/dynamic-load/translations.js.map +1 -1
  79. package/lib/dynamic-load/trigger.js +14 -10
  80. package/lib/dynamic-load/trigger.js.map +1 -1
  81. package/lib/dynamic-load/validation_rule.js +13 -8
  82. package/lib/dynamic-load/validation_rule.js.map +1 -1
  83. package/lib/dynamic-load/workflow.js +38 -25
  84. package/lib/dynamic-load/workflow.js.map +1 -1
  85. package/lib/errors/index.js +2 -1
  86. package/lib/errors/index.js.map +1 -1
  87. package/lib/formula/core.js +105 -91
  88. package/lib/formula/core.js.map +1 -1
  89. package/lib/formula/field_formula.js +26 -20
  90. package/lib/formula/field_formula.js.map +1 -1
  91. package/lib/formula/index.js +26 -26
  92. package/lib/formula/index.js.map +1 -1
  93. package/lib/formula/params.js +1 -1
  94. package/lib/formula/params.js.map +1 -1
  95. package/lib/formula/recompute.js +27 -25
  96. package/lib/formula/recompute.js.map +1 -1
  97. package/lib/formula/simple_params.js +2 -2
  98. package/lib/formula/simple_params.js.map +1 -1
  99. package/lib/formula/util.js +33 -23
  100. package/lib/formula/util.js.map +1 -1
  101. package/lib/index.js +15 -15
  102. package/lib/index.js.map +1 -1
  103. package/lib/metadata-register/_base.d.ts +1 -0
  104. package/lib/metadata-register/_base.js +45 -15
  105. package/lib/metadata-register/_base.js.map +1 -1
  106. package/lib/metadata-register/app.js +8 -8
  107. package/lib/metadata-register/chart.js +1 -1
  108. package/lib/metadata-register/chart.js.map +1 -1
  109. package/lib/metadata-register/index.js +72 -72
  110. package/lib/metadata-register/index.js.map +1 -1
  111. package/lib/metadata-register/layout.js +18 -16
  112. package/lib/metadata-register/layout.js.map +1 -1
  113. package/lib/metadata-register/object.d.ts +0 -1
  114. package/lib/metadata-register/object.js +17 -35
  115. package/lib/metadata-register/object.js.map +1 -1
  116. package/lib/metadata-register/page.js +1 -1
  117. package/lib/metadata-register/page.js.map +1 -1
  118. package/lib/metadata-register/permissionFields.js +2 -2
  119. package/lib/metadata-register/permissionFields.js.map +1 -1
  120. package/lib/metadata-register/permissionset.js +6 -6
  121. package/lib/metadata-register/profile.js +6 -6
  122. package/lib/metadata-register/query.js +1 -1
  123. package/lib/metadata-register/query.js.map +1 -1
  124. package/lib/metadata-register/restrictionRules.js +2 -2
  125. package/lib/metadata-register/restrictionRules.js.map +1 -1
  126. package/lib/metadata-register/shareRules.js +2 -2
  127. package/lib/metadata-register/shareRules.js.map +1 -1
  128. package/lib/metadata-register/tab.js +1 -1
  129. package/lib/metadata-register/tab.js.map +1 -1
  130. package/lib/metadata-register/tabs.js +18 -16
  131. package/lib/metadata-register/tabs.js.map +1 -1
  132. package/lib/services/datasourceServiceFactory.d.ts +1 -0
  133. package/lib/services/datasourceServiceFactory.js +51 -0
  134. package/lib/services/datasourceServiceFactory.js.map +1 -0
  135. package/lib/services/helpers/graphql.js +86 -87
  136. package/lib/services/helpers/graphql.js.map +1 -1
  137. package/lib/services/helpers/index.js +2 -2
  138. package/lib/services/helpers/index.js.map +1 -1
  139. package/lib/services/helpers/rest.js +1 -1
  140. package/lib/services/helpers/rest.js.map +1 -1
  141. package/lib/services/index.d.ts +3 -0
  142. package/lib/services/index.js +10 -4
  143. package/lib/services/index.js.map +1 -1
  144. package/lib/services/objectService.js +143 -143
  145. package/lib/services/objectService.js.map +1 -1
  146. package/lib/services/objectServiceDispatcher.js +92 -92
  147. package/lib/services/objectServiceDispatcher.js.map +1 -1
  148. package/lib/{metadata-register/objectServiceManager.d.ts → services/objectServiceFactory.d.ts} +0 -0
  149. package/lib/{metadata-register/objectServiceManager.js → services/objectServiceFactory.js} +5 -5
  150. package/lib/services/objectServiceFactory.js.map +1 -0
  151. package/lib/summary/core.js +51 -44
  152. package/lib/summary/core.js.map +1 -1
  153. package/lib/summary/field_summary.js +21 -16
  154. package/lib/summary/field_summary.js.map +1 -1
  155. package/lib/summary/index.js +25 -22
  156. package/lib/summary/index.js.map +1 -1
  157. package/lib/summary/recompute.js +13 -11
  158. package/lib/summary/recompute.js.map +1 -1
  159. package/lib/ts-types/index.js +3 -3
  160. package/lib/ts-types/index.js.map +1 -1
  161. package/lib/typeorm/driver.js +58 -58
  162. package/lib/typeorm/driver.js.map +1 -1
  163. package/lib/typeorm/index.js +2 -1
  164. package/lib/typeorm/index.js.map +1 -1
  165. package/lib/typeorm/util.js +2 -2
  166. package/lib/typeorm/util.js.map +1 -1
  167. package/lib/types/app.js +41 -35
  168. package/lib/types/app.js.map +1 -1
  169. package/lib/types/config.js +52 -45
  170. package/lib/types/config.js.map +1 -1
  171. package/lib/types/connection.js +20 -18
  172. package/lib/types/connection.js.map +1 -1
  173. package/lib/types/dashboard.js +10 -7
  174. package/lib/types/dashboard.js.map +1 -1
  175. package/lib/types/datasource.d.ts +14 -1
  176. package/lib/types/datasource.js +205 -192
  177. package/lib/types/datasource.js.map +1 -1
  178. package/lib/types/field.d.ts +2 -2
  179. package/lib/types/field.js +6 -6
  180. package/lib/types/field.js.map +1 -1
  181. package/lib/types/field_permission.js +8 -8
  182. package/lib/types/field_permission.js.map +1 -1
  183. package/lib/types/index.js +11 -10
  184. package/lib/types/index.js.map +1 -1
  185. package/lib/types/list_view.d.ts +1 -1
  186. package/lib/types/list_view.js +1 -1
  187. package/lib/types/list_view.js.map +1 -1
  188. package/lib/types/object.d.ts +11 -11
  189. package/lib/types/object.js +208 -201
  190. package/lib/types/object.js.map +1 -1
  191. package/lib/types/object_dynamic_load.js +105 -155
  192. package/lib/types/object_dynamic_load.js.map +1 -1
  193. package/lib/types/object_events.js +5 -5
  194. package/lib/types/object_events.js.map +1 -1
  195. package/lib/types/object_layouts.js +7 -7
  196. package/lib/types/object_layouts.js.map +1 -1
  197. package/lib/types/object_permission.d.ts +1 -1
  198. package/lib/types/object_permission.js +1 -1
  199. package/lib/types/object_permission.js.map +1 -1
  200. package/lib/types/report.js +10 -7
  201. package/lib/types/report.js.map +1 -1
  202. package/lib/types/restrictionRule.js +11 -11
  203. package/lib/types/restrictionRule.js.map +1 -1
  204. package/lib/types/schema.d.ts +1 -1
  205. package/lib/types/schema.js +41 -19
  206. package/lib/types/schema.js.map +1 -1
  207. package/lib/types/shareRule.js +11 -11
  208. package/lib/types/shareRule.js.map +1 -1
  209. package/lib/types/trigger.js +2 -2
  210. package/lib/types/trigger.js.map +1 -1
  211. package/lib/types/validation_rules.js +5 -5
  212. package/lib/types/validation_rules.js.map +1 -1
  213. package/lib/util/convert.d.ts +2 -0
  214. package/lib/util/convert.js +130 -0
  215. package/lib/util/convert.js.map +1 -0
  216. package/lib/util/field.js +5 -3
  217. package/lib/util/field.js.map +1 -1
  218. package/lib/util/function_expression.js +5 -3
  219. package/lib/util/function_expression.js.map +1 -1
  220. package/lib/util/index.d.ts +2 -7
  221. package/lib/util/index.js +86 -166
  222. package/lib/util/index.js.map +1 -1
  223. package/lib/util/locale.js +5 -3
  224. package/lib/util/locale.js.map +1 -1
  225. package/lib/util/permission_shares.js +2 -2
  226. package/lib/util/permission_shares.js.map +1 -1
  227. package/lib/util/suffix.js +22 -16
  228. package/lib/util/suffix.js.map +1 -1
  229. package/lib/util/transform.js +11 -11
  230. package/lib/util/transform.js.map +1 -1
  231. package/lib/validators/index.js +3 -2
  232. package/lib/validators/index.js.map +1 -1
  233. package/package.json +13 -13
  234. package/src/dynamic-load/chart.ts +6 -1
  235. package/src/dynamic-load/index.ts +1 -0
  236. package/src/dynamic-load/object_translations.ts +19 -10
  237. package/src/dynamic-load/package.ts +303 -0
  238. package/src/dynamic-load/page.ts +7 -1
  239. package/src/dynamic-load/permission.ts +1 -5
  240. package/src/dynamic-load/preload_data.ts +2 -3
  241. package/src/dynamic-load/query.ts +6 -1
  242. package/src/dynamic-load/restrictionRules.ts +6 -2
  243. package/src/dynamic-load/shareRules.ts +5 -1
  244. package/src/dynamic-load/translations.ts +3 -1
  245. package/src/metadata-register/_base.ts +23 -0
  246. package/src/metadata-register/object.ts +1 -20
  247. package/src/services/datasourceServiceFactory.ts +37 -0
  248. package/src/services/helpers/graphql.ts +5 -3
  249. package/src/services/index.ts +7 -0
  250. package/src/services/objectService.ts +5 -4
  251. package/src/{metadata-register/objectServiceManager.ts → services/objectServiceFactory.ts} +4 -4
  252. package/src/types/datasource.ts +81 -72
  253. package/src/types/field.ts +2 -2
  254. package/src/types/list_view.ts +1 -1
  255. package/src/types/object.ts +11 -11
  256. package/src/types/object_dynamic_load.ts +5 -47
  257. package/src/types/object_permission.ts +1 -1
  258. package/src/types/schema.ts +11 -1
  259. package/src/util/convert.ts +130 -0
  260. package/src/util/index.ts +6 -120
  261. package/lib/metadata-register/objectServiceManager.js.map +0 -1
@@ -17,29 +17,31 @@ var simple_params_1 = require("./simple_params");
17
17
  * 根据公式内容,取出其中{}中的变量
18
18
  * @param formula
19
19
  */
20
- exports.pickFormulaVars = function (formula) {
21
- return formula_1.extract(formula);
20
+ var pickFormulaVars = function (formula) {
21
+ return (0, formula_1.extract)(formula);
22
22
  };
23
+ exports.pickFormulaVars = pickFormulaVars;
23
24
  /**
24
25
  * 根据公式内容,取出其中{}中的变量,并进一步取出这些变量中引用了当前对象的哪些字段
25
26
  * @param fieldFormulaConfig
26
27
  */
27
- exports.pickFieldFormulaVarFields = function (fieldFormulaConfigs) {
28
+ var pickFieldFormulaVarFields = function (fieldFormulaConfigs) {
28
29
  if (!_.isArray(fieldFormulaConfigs)) {
29
30
  fieldFormulaConfigs = [fieldFormulaConfigs];
30
31
  }
31
32
  var result = ["space"]; //space字段作为基础字段不能少
32
33
  fieldFormulaConfigs.forEach(function (fieldFormulaConfig) {
33
34
  var vars = fieldFormulaConfig.vars;
34
- result = _.union(result, exports.pickFormulaVarFields(vars));
35
+ result = _.union(result, (0, exports.pickFormulaVarFields)(vars));
35
36
  });
36
37
  return _.uniq(result);
37
38
  };
39
+ exports.pickFieldFormulaVarFields = pickFieldFormulaVarFields;
38
40
  /**
39
41
  * 根据公式内容已取出的{}中的变量,进一步取出这些变量中引用了当前对象的哪些字段
40
42
  * @param vars
41
43
  */
42
- exports.pickFormulaVarFields = function (vars) {
44
+ var pickFormulaVarFields = function (vars) {
43
45
  var result = ["space"]; //space字段作为基础字段不能少
44
46
  vars.forEach(function (varItem) {
45
47
  if (varItem.paths.length) {
@@ -51,16 +53,17 @@ exports.pickFormulaVarFields = function (vars) {
51
53
  });
52
54
  return _.uniq(result);
53
55
  };
56
+ exports.pickFormulaVarFields = pickFormulaVarFields;
54
57
  /**
55
58
  * 根据公式中的变量值,计算出跨对象引用的记录对应的字段值,作为公式运算的参数返回
56
59
  * @param doc
57
60
  * @param vars
58
61
  * return Array<SteedosFormulaParamTypeConfig>
59
62
  */
60
- exports.computeFormulaParams = function (doc, vars, currentUserId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
63
+ var computeFormulaParams = function (doc, vars, currentUserId) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
61
64
  var params, spaceId, _loop_1, vars_1, vars_1_1, _a, key, paths, isUserVar, isSimpleVar;
62
65
  var e_1, _b;
63
- return tslib_1.__generator(this, function (_c) {
66
+ return (0, tslib_1.__generator)(this, function (_c) {
64
67
  params = [];
65
68
  spaceId = doc.space;
66
69
  if (vars && vars.length) {
@@ -70,10 +73,10 @@ exports.computeFormulaParams = function (doc, vars, currentUserId) { return tsli
70
73
  var tempValue = void 0;
71
74
  if (isUserVar) {
72
75
  if (!currentUserId) {
73
- throw new Error("computeFormulaParams:The param 'currentUserId' is required for the formula var key " + key + " while running");
76
+ throw new Error("computeFormulaParams:The param 'currentUserId' is required for the formula var key ".concat(key, " while running"));
74
77
  }
75
78
  if (!spaceId) {
76
- throw new Error("computeFormulaParams:The 'space' property is required for the doc of the formula var key " + key + " while running");
79
+ throw new Error("computeFormulaParams:The 'space' property is required for the doc of the formula var key ".concat(key, " while running"));
77
80
  }
78
81
  // if (!currentUserId) {
79
82
  // throw new Error(`computeFormulaParams:The param 'currentUserId' is required for the formula var key ${key}`);
@@ -98,8 +101,8 @@ exports.computeFormulaParams = function (doc, vars, currentUserId) { return tsli
98
101
  if (index === 0) {
99
102
  if (isUserVar) {
100
103
  // $user变量也要按查相关表记录的方式取值,第一个path为根据id取出对应的space_users记录
101
- var sus = util_2.wrapAsync(function () {
102
- return index_1.getSteedosSchema().getObject("space_users").find({
104
+ var sus = (0, util_2.wrapAsync)(function () {
105
+ return (0, index_1.getSteedosSchema)().getObject("space_users").find({
103
106
  filters: [["user", "=", currentUserId], ["space", "=", spaceId]],
104
107
  fields: [next.field_name]
105
108
  });
@@ -121,8 +124,8 @@ exports.computeFormulaParams = function (doc, vars, currentUserId) { return tsli
121
124
  // 当上一轮返回空值或0时,直接返回
122
125
  return reslut;
123
126
  }
124
- reslut = util_2.wrapAsync(function () {
125
- return index_1.getSteedosSchema().getObject(next.reference_from).findOne(reslut, { fields: [next.field_name] });
127
+ reslut = (0, util_2.wrapAsync)(function () {
128
+ return (0, index_1.getSteedosSchema)().getObject(next.reference_from).findOne(reslut, { fields: [next.field_name] });
126
129
  }, {});
127
130
  if (reslut) {
128
131
  return reslut[next.field_name];
@@ -139,7 +142,7 @@ exports.computeFormulaParams = function (doc, vars, currentUserId) { return tsli
139
142
  });
140
143
  };
141
144
  try {
142
- for (vars_1 = tslib_1.__values(vars), vars_1_1 = vars_1.next(); !vars_1_1.done; vars_1_1 = vars_1.next()) {
145
+ for (vars_1 = (0, tslib_1.__values)(vars), vars_1_1 = vars_1.next(); !vars_1_1.done; vars_1_1 = vars_1.next()) {
143
146
  _a = vars_1_1.value, key = _a.key, paths = _a.paths, isUserVar = _a.is_user_var, isSimpleVar = _a.is_simple_var;
144
147
  _loop_1(key, paths, isUserVar, isSimpleVar);
145
148
  }
@@ -155,38 +158,41 @@ exports.computeFormulaParams = function (doc, vars, currentUserId) { return tsli
155
158
  return [2 /*return*/, params];
156
159
  });
157
160
  }); };
158
- exports.computeFieldFormulaValue = function (doc, fieldFormulaConfig, currentUserId) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
161
+ exports.computeFormulaParams = computeFormulaParams;
162
+ var computeFieldFormulaValue = function (doc, fieldFormulaConfig, currentUserId) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
159
163
  var formula, vars, data_type, formula_blank_value, params;
160
- return tslib_1.__generator(this, function (_a) {
164
+ return (0, tslib_1.__generator)(this, function (_a) {
161
165
  switch (_a.label) {
162
166
  case 0:
163
167
  if (!currentUserId) {
164
- util_1.checkCurrentUserIdNotRequiredForFieldFormulas(fieldFormulaConfig);
168
+ (0, util_1.checkCurrentUserIdNotRequiredForFieldFormulas)(fieldFormulaConfig);
165
169
  }
166
170
  formula = fieldFormulaConfig.formula, vars = fieldFormulaConfig.vars, data_type = fieldFormulaConfig.data_type, formula_blank_value = fieldFormulaConfig.formula_blank_value;
167
- return [4 /*yield*/, exports.computeFormulaParams(doc, vars, currentUserId)];
171
+ return [4 /*yield*/, (0, exports.computeFormulaParams)(doc, vars, currentUserId)];
168
172
  case 1:
169
173
  params = _a.sent();
170
- return [2 /*return*/, exports.runFormula(formula, params, {
174
+ return [2 /*return*/, (0, exports.runFormula)(formula, params, {
171
175
  returnType: data_type,
172
176
  blankValue: formula_blank_value
173
177
  }, fieldFormulaConfig)];
174
178
  }
175
179
  });
176
180
  }); };
177
- exports.evalFieldFormula = function (formula, formulaParams) {
181
+ exports.computeFieldFormulaValue = computeFieldFormulaValue;
182
+ var evalFieldFormula = function (formula, formulaParams) {
178
183
  try {
179
184
  // let formulaFun = `module.exports = function (__params) { ${formula} }`;
180
185
  // console.log("==evalFieldFormula==formulaFun===", formulaFun);
181
186
  // console.log("==evalFieldFormula==formulaParams===", formulaParams);
182
187
  // return _eval(formulaFun)(formulaParams);
183
- return formula_1.parse(formula, formulaParams);
188
+ return (0, formula_1.parse)(formula, formulaParams);
184
189
  }
185
190
  catch (ex) {
186
191
  formulaParams[type_1.FormulaUserKey] = "{...}"; //$user简化,打出的日志看得清楚点
187
- throw new Error("evalFieldFormula:Catch an error \"" + ex + "\" while eval formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\"");
192
+ throw new Error("evalFieldFormula:Catch an error \"".concat(ex, "\" while eval formula \"").concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\""));
188
193
  }
189
194
  };
195
+ exports.evalFieldFormula = evalFieldFormula;
190
196
  /**
191
197
  * 运行公式
192
198
  * @param formula 公式脚本内容
@@ -194,7 +200,7 @@ exports.evalFieldFormula = function (formula, formulaParams) {
194
200
  * @param options 公式返回类型,及空值配置
195
201
  * @param messageTag 用于显示错误日志的标识信息,可以是一个json对象
196
202
  */
197
- exports.runFormula = function (formula, params, options, messageTag) {
203
+ var runFormula = function (formula, params, options, messageTag) {
198
204
  if (!options) {
199
205
  options = {};
200
206
  }
@@ -208,22 +214,22 @@ exports.runFormula = function (formula, params, options, messageTag) {
208
214
  // 把{}括起来的变量替换为计算得到的变量值
209
215
  // formula = formula.replace(`{${key}}`, `__params["${key}"]`);
210
216
  if (path) {
211
- formulaParams[key] = params_1.getFieldSubstitution(path.reference_from, path.field_name, value, blankValue);
217
+ formulaParams[key] = (0, params_1.getFieldSubstitution)(path.reference_from, path.field_name, value, blankValue);
212
218
  }
213
219
  else {
214
220
  // 变量中没有path属性说明是普通变量
215
- formulaParams[key] = simple_params_1.getSimpleParamSubstitution(value, blankValue);
221
+ formulaParams[key] = (0, simple_params_1.getSimpleParamSubstitution)(value, blankValue);
216
222
  }
217
223
  });
218
224
  // console.log("===runFormula===formula====", formula);
219
225
  // console.log("===runFormula===formulaParams====", formulaParams);
220
- var result = exports.evalFieldFormula(formula, formulaParams);
226
+ var result = (0, exports.evalFieldFormula)(formula, formulaParams);
221
227
  // console.log("===runFormula===result====", result);
222
228
  var formulaValue = result.value;
223
229
  var formulaValueType = result.dataType;
224
230
  if (result.type === 'error') {
225
231
  console.error(formula, formulaParams);
226
- throw new Error("runFormula:Catch an error \"" + result.message + "\" while eval formula \"" + formula + "\" with params: \"" + JSON.stringify(formulaParams) + "\" for \"" + JSON.stringify(messageTag) + "\"");
232
+ throw new Error("runFormula:Catch an error \"".concat(result.message, "\" while eval formula \"").concat(formula, "\" with params: \"").concat(JSON.stringify(formulaParams), "\" for \"").concat(JSON.stringify(messageTag), "\""));
227
233
  // if(blankValue === SteedosFormulaBlankValue.blanks && result.errorType === "ArgumentError"){
228
234
  // // 配置了空参数视为空值时会直接返回空值类型,这里就会报错,直接返回空值,而不是抛错
229
235
  // // TODO:result.errorType === "ArgumentError"不够细化,下一版本应该视错误情况优化返回空值的条件
@@ -241,39 +247,39 @@ exports.runFormula = function (formula, params, options, messageTag) {
241
247
  switch (returnType) {
242
248
  case "boolean":
243
249
  if (formulaValueType !== "checkbox" /* Checkbox */) {
244
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a boolean type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
250
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a boolean type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
245
251
  }
246
252
  break;
247
253
  case "number":
248
254
  if (formulaValueType !== "number" /* Number */) {
249
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a number type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
255
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a number type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
250
256
  }
251
257
  break;
252
258
  case "currency":
253
259
  if (formulaValueType !== "number" /* Number */) {
254
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a number type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
260
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a number type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
255
261
  }
256
262
  break;
257
263
  case "percent":
258
264
  if (formulaValueType !== "number" /* Number */) {
259
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a number type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
265
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a number type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
260
266
  }
261
267
  break;
262
268
  case "text":
263
269
  if (formulaValueType !== "text" /* Text */) {
264
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a string type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
270
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a string type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
265
271
  }
266
272
  break;
267
273
  case "date":
268
274
  if (formulaValueType !== "date" /* Date */) {
269
275
  // 这里不可以直接用result.constructor == Date或result instanceof Date,因为eval后的同一个基础类型的构造函数指向的不是同一个
270
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a date type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
276
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a date type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
271
277
  }
272
278
  break;
273
279
  case "datetime":
274
280
  if (formulaValueType !== "datetime" /* Datetime */) {
275
281
  // 这里不可以直接用result.constructor == Date或result instanceof Date,因为eval后的同一个基础类型的构造函数指向的不是同一个
276
- throw new Error("runFormula:The field formula \"" + formula + "\" with params \"" + JSON.stringify(formulaParams) + "\" should return a date type result but got a " + formulaValueType + " type value '" + formulaValue + "'.");
282
+ throw new Error("runFormula:The field formula \"".concat(formula, "\" with params \"").concat(JSON.stringify(formulaParams), "\" should return a date type result but got a ").concat(formulaValueType, " type value '").concat(formulaValue, "'."));
277
283
  }
278
284
  break;
279
285
  }
@@ -281,6 +287,7 @@ exports.runFormula = function (formula, params, options, messageTag) {
281
287
  // console.log("===runFormula===formulaValue====", formulaValue);
282
288
  return formulaValue;
283
289
  };
290
+ exports.runFormula = runFormula;
284
291
  var addToAggregatePaths = function (varItemToAggregatePaths, toAggregatePaths) {
285
292
  // 当引用了同一个对象的不同属性时,只需要记录其中一个,因为一个公式里面引用的字段变更后,只需要重算一次,比如以下两个都将只有第一条会加入到toAggregatePaths中
286
293
  // [{"key":"account.website","paths":[{"field_name":"account","reference_from":"contacts"},{"field_name":"website","reference_from":"accounts"}]}]
@@ -303,18 +310,18 @@ var addToAggregatePaths = function (varItemToAggregatePaths, toAggregatePaths) {
303
310
  * @param options.escapeConfigs 传入该参数时,将额外跳过这些公式字段配置的运算,提高性能
304
311
  * @param options.quotedByConfigs 如果已经根据objectName和fieldNames查过相关配置了,请直接传入,可以避免重复查找,提高性能
305
312
  */
306
- exports.runQuotedByObjectFieldFormulas = function (objectName, recordId, userSession, options) {
313
+ var runQuotedByObjectFieldFormulas = function (objectName, recordId, userSession, options) {
307
314
  if (options === void 0) { options = {}; }
308
- return tslib_1.__awaiter(this, void 0, void 0, function () {
315
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
309
316
  var currentUserId, fieldNames, escapeConfigs, quotedByConfigs, _a, _b, config, e_2_1;
310
317
  var e_2, _c;
311
- return tslib_1.__generator(this, function (_d) {
318
+ return (0, tslib_1.__generator)(this, function (_d) {
312
319
  switch (_d.label) {
313
320
  case 0:
314
321
  currentUserId = userSession ? userSession.userId : undefined;
315
322
  fieldNames = options.fieldNames, escapeConfigs = options.escapeConfigs, quotedByConfigs = options.quotedByConfigs;
316
323
  if (!!quotedByConfigs) return [3 /*break*/, 2];
317
- return [4 /*yield*/, field_formula_1.getObjectQuotedByFieldFormulaConfigs(objectName, fieldNames, escapeConfigs)];
324
+ return [4 /*yield*/, (0, field_formula_1.getObjectQuotedByFieldFormulaConfigs)(objectName, fieldNames, escapeConfigs)];
318
325
  case 1:
319
326
  quotedByConfigs = _d.sent();
320
327
  _d.label = 2;
@@ -323,17 +330,17 @@ exports.runQuotedByObjectFieldFormulas = function (objectName, recordId, userSes
323
330
  return [2 /*return*/];
324
331
  }
325
332
  if (!currentUserId) {
326
- util_1.checkCurrentUserIdNotRequiredForFieldFormulas(quotedByConfigs.allConfigs);
333
+ (0, util_1.checkCurrentUserIdNotRequiredForFieldFormulas)(quotedByConfigs.allConfigs);
327
334
  }
328
335
  _d.label = 3;
329
336
  case 3:
330
337
  _d.trys.push([3, 8, 9, 10]);
331
- _a = tslib_1.__values(quotedByConfigs.allConfigs), _b = _a.next();
338
+ _a = (0, tslib_1.__values)(quotedByConfigs.allConfigs), _b = _a.next();
332
339
  _d.label = 4;
333
340
  case 4:
334
341
  if (!!_b.done) return [3 /*break*/, 7];
335
342
  config = _b.value;
336
- return [4 /*yield*/, exports.updateQuotedByObjectFieldFormulaValue(objectName, recordId, config, userSession, quotedByConfigs.ownConfigs)];
343
+ return [4 /*yield*/, (0, exports.updateQuotedByObjectFieldFormulaValue)(objectName, recordId, config, userSession, quotedByConfigs.ownConfigs)];
337
344
  case 5:
338
345
  _d.sent();
339
346
  _d.label = 6;
@@ -356,6 +363,7 @@ exports.runQuotedByObjectFieldFormulas = function (objectName, recordId, userSes
356
363
  });
357
364
  });
358
365
  };
366
+ exports.runQuotedByObjectFieldFormulas = runQuotedByObjectFieldFormulas;
359
367
  /**
360
368
  * 找到当前正在insert/update的对象中的公式字段并更新其字段值
361
369
  * @param objectName
@@ -365,15 +373,15 @@ exports.runQuotedByObjectFieldFormulas = function (objectName, recordId, userSes
365
373
  * @param needRefetchDoc 当doc不可信赖时,需要从数据库中重新抓取doc,请传入true值
366
374
  * @param configs 如果已经根据objectName查过相关配置了,请直接传入,可以避免重复查找,提高性能
367
375
  */
368
- exports.runCurrentObjectFieldFormulas = function (objectName, recordId, doc, currentUserId, needRefetchDoc, configs) {
369
- return tslib_1.__awaiter(this, void 0, void 0, function () {
376
+ var runCurrentObjectFieldFormulas = function (objectName, recordId, doc, currentUserId, needRefetchDoc, configs) {
377
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
370
378
  var formulaVarFields, setDoc, configs_1, configs_1_1, config, _a, _b, e_3_1;
371
379
  var e_3, _c;
372
- return tslib_1.__generator(this, function (_d) {
380
+ return (0, tslib_1.__generator)(this, function (_d) {
373
381
  switch (_d.label) {
374
382
  case 0:
375
383
  if (!!configs) return [3 /*break*/, 2];
376
- return [4 /*yield*/, field_formula_1.getObjectFieldFormulaConfigs(objectName)];
384
+ return [4 /*yield*/, (0, field_formula_1.getObjectFieldFormulaConfigs)(objectName)];
377
385
  case 1:
378
386
  configs = _d.sent();
379
387
  _d.label = 2;
@@ -382,11 +390,11 @@ exports.runCurrentObjectFieldFormulas = function (objectName, recordId, doc, cur
382
390
  return [2 /*return*/];
383
391
  }
384
392
  if (!currentUserId) {
385
- util_1.checkCurrentUserIdNotRequiredForFieldFormulas(configs);
393
+ (0, util_1.checkCurrentUserIdNotRequiredForFieldFormulas)(configs);
386
394
  }
387
395
  if (!(needRefetchDoc !== false)) return [3 /*break*/, 4];
388
- formulaVarFields = exports.pickFieldFormulaVarFields(configs);
389
- return [4 /*yield*/, index_1.getSteedosSchema().getObject(objectName).findOne(recordId, { fields: formulaVarFields })];
396
+ formulaVarFields = (0, exports.pickFieldFormulaVarFields)(configs);
397
+ return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(objectName).findOne(recordId, { fields: formulaVarFields })];
390
398
  case 3:
391
399
  doc = _d.sent();
392
400
  _d.label = 4;
@@ -395,7 +403,7 @@ exports.runCurrentObjectFieldFormulas = function (objectName, recordId, doc, cur
395
403
  _d.label = 5;
396
404
  case 5:
397
405
  _d.trys.push([5, 10, 11, 12]);
398
- configs_1 = tslib_1.__values(configs), configs_1_1 = configs_1.next();
406
+ configs_1 = (0, tslib_1.__values)(configs), configs_1_1 = configs_1.next();
399
407
  _d.label = 6;
400
408
  case 6:
401
409
  if (!!configs_1_1.done) return [3 /*break*/, 9];
@@ -403,7 +411,7 @@ exports.runCurrentObjectFieldFormulas = function (objectName, recordId, doc, cur
403
411
  doc = Object.assign({}, doc, setDoc); //setDoc中计算得到的结果应该重新并到doc中支持计算
404
412
  _a = setDoc;
405
413
  _b = config.field_name;
406
- return [4 /*yield*/, exports.computeFieldFormulaValue(doc, config, currentUserId)];
414
+ return [4 /*yield*/, (0, exports.computeFieldFormulaValue)(doc, config, currentUserId)];
407
415
  case 7:
408
416
  _a[_b] = _d.sent();
409
417
  _d.label = 8;
@@ -421,7 +429,7 @@ exports.runCurrentObjectFieldFormulas = function (objectName, recordId, doc, cur
421
429
  }
422
430
  finally { if (e_3) throw e_3.error; }
423
431
  return [7 /*endfinally*/];
424
- case 12: return [4 /*yield*/, index_1.getSteedosSchema().getObject(objectName).directUpdate(recordId, setDoc)];
432
+ case 12: return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(objectName).directUpdate(recordId, setDoc)];
425
433
  case 13:
426
434
  _d.sent();
427
435
  return [2 /*return*/];
@@ -429,40 +437,41 @@ exports.runCurrentObjectFieldFormulas = function (objectName, recordId, doc, cur
429
437
  });
430
438
  });
431
439
  };
440
+ exports.runCurrentObjectFieldFormulas = runCurrentObjectFieldFormulas;
432
441
  /**
433
442
  * 找到当前正在update的对象多条记录的公式字段并更新其字段值
434
443
  * @param objectName
435
444
  * @param filters
436
445
  * @param currentUserId
437
446
  */
438
- exports.runManyCurrentObjectFieldFormulas = function (objectName, filters, currentUserId) {
439
- return tslib_1.__awaiter(this, void 0, void 0, function () {
447
+ var runManyCurrentObjectFieldFormulas = function (objectName, filters, currentUserId) {
448
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
440
449
  var configs, formulaVarFields, docs, docs_1, docs_1_1, doc, e_4_1;
441
450
  var e_4, _a;
442
- return tslib_1.__generator(this, function (_b) {
451
+ return (0, tslib_1.__generator)(this, function (_b) {
443
452
  switch (_b.label) {
444
- case 0: return [4 /*yield*/, field_formula_1.getObjectFieldFormulaConfigs(objectName)];
453
+ case 0: return [4 /*yield*/, (0, field_formula_1.getObjectFieldFormulaConfigs)(objectName)];
445
454
  case 1:
446
455
  configs = _b.sent();
447
456
  if (!configs.length) {
448
457
  return [2 /*return*/];
449
458
  }
450
459
  if (!currentUserId) {
451
- util_1.checkCurrentUserIdNotRequiredForFieldFormulas(configs);
460
+ (0, util_1.checkCurrentUserIdNotRequiredForFieldFormulas)(configs);
452
461
  }
453
- formulaVarFields = exports.pickFieldFormulaVarFields(configs);
454
- return [4 /*yield*/, index_1.getSteedosSchema().getObject(objectName).find({ filters: filters, fields: formulaVarFields })];
462
+ formulaVarFields = (0, exports.pickFieldFormulaVarFields)(configs);
463
+ return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(objectName).find({ filters: filters, fields: formulaVarFields })];
455
464
  case 2:
456
465
  docs = _b.sent();
457
466
  _b.label = 3;
458
467
  case 3:
459
468
  _b.trys.push([3, 8, 9, 10]);
460
- docs_1 = tslib_1.__values(docs), docs_1_1 = docs_1.next();
469
+ docs_1 = (0, tslib_1.__values)(docs), docs_1_1 = docs_1.next();
461
470
  _b.label = 4;
462
471
  case 4:
463
472
  if (!!docs_1_1.done) return [3 /*break*/, 7];
464
473
  doc = docs_1_1.value;
465
- return [4 /*yield*/, exports.runCurrentObjectFieldFormulas(objectName, doc._id, doc, currentUserId, false, configs)];
474
+ return [4 /*yield*/, (0, exports.runCurrentObjectFieldFormulas)(objectName, doc._id, doc, currentUserId, false, configs)];
466
475
  case 5:
467
476
  _b.sent();
468
477
  _b.label = 6;
@@ -485,28 +494,29 @@ exports.runManyCurrentObjectFieldFormulas = function (objectName, filters, curre
485
494
  });
486
495
  });
487
496
  };
497
+ exports.runManyCurrentObjectFieldFormulas = runManyCurrentObjectFieldFormulas;
488
498
  /**
489
499
  * 修改记录时,根据查到的引用了该记录相关字段公式配置,重新计算字段公式,并把计算结果更新到数据库相关记录中
490
500
  * @param objectName 当前修改的记录所属对象名称
491
501
  * @param recordId 当前修改的记录ID
492
502
  * @param fieldFormulaConfig 查到的引用了该记录所属对象的相关字段公式配置之一
493
503
  */
494
- exports.updateQuotedByObjectFieldFormulaValue = function (objectName, recordId, fieldFormulaConfig, userSession, escapeConfigs) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
504
+ var updateQuotedByObjectFieldFormulaValue = function (objectName, recordId, fieldFormulaConfig, userSession, escapeConfigs) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
495
505
  var vars, fieldFormulaObjectName, toAggregatePaths, vars_2, vars_2_1, varItem, paths, isInPaths, varItemToAggregatePaths, paths_1, paths_1_1, pathItem, formulaVarFields, toAggregatePaths_1, toAggregatePaths_1_1, toAggregatePathsItem, tempPath, doc, docs, aggregateLookups, lastLookupAs, aggregateFilters, docs, e_5_1;
496
506
  var e_6, _a, e_7, _b, e_5, _c;
497
- return tslib_1.__generator(this, function (_d) {
507
+ return (0, tslib_1.__generator)(this, function (_d) {
498
508
  switch (_d.label) {
499
509
  case 0:
500
510
  vars = fieldFormulaConfig.vars, fieldFormulaObjectName = fieldFormulaConfig.object_name;
501
511
  toAggregatePaths = [];
502
512
  try {
503
- for (vars_2 = tslib_1.__values(vars), vars_2_1 = vars_2.next(); !vars_2_1.done; vars_2_1 = vars_2.next()) {
513
+ for (vars_2 = (0, tslib_1.__values)(vars), vars_2_1 = vars_2.next(); !vars_2_1.done; vars_2_1 = vars_2.next()) {
504
514
  varItem = vars_2_1.value;
505
515
  paths = varItem.paths;
506
516
  isInPaths = false;
507
517
  varItemToAggregatePaths = [];
508
518
  try {
509
- for (paths_1 = (e_7 = void 0, tslib_1.__values(paths)), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {
519
+ for (paths_1 = (e_7 = void 0, (0, tslib_1.__values)(paths)), paths_1_1 = paths_1.next(); !paths_1_1.done; paths_1_1 = paths_1.next()) {
510
520
  pathItem = paths_1_1.value;
511
521
  varItemToAggregatePaths.push(pathItem);
512
522
  if (pathItem.reference_from === objectName) {
@@ -535,11 +545,11 @@ exports.updateQuotedByObjectFieldFormulaValue = function (objectName, recordId,
535
545
  }
536
546
  finally { if (e_6) throw e_6.error; }
537
547
  }
538
- formulaVarFields = exports.pickFieldFormulaVarFields(fieldFormulaConfig);
548
+ formulaVarFields = (0, exports.pickFieldFormulaVarFields)(fieldFormulaConfig);
539
549
  _d.label = 1;
540
550
  case 1:
541
551
  _d.trys.push([1, 14, 15, 16]);
542
- toAggregatePaths_1 = tslib_1.__values(toAggregatePaths), toAggregatePaths_1_1 = toAggregatePaths_1.next();
552
+ toAggregatePaths_1 = (0, tslib_1.__values)(toAggregatePaths), toAggregatePaths_1_1 = toAggregatePaths_1.next();
543
553
  _d.label = 2;
544
554
  case 2:
545
555
  if (!!toAggregatePaths_1_1.done) return [3 /*break*/, 13];
@@ -547,32 +557,32 @@ exports.updateQuotedByObjectFieldFormulaValue = function (objectName, recordId,
547
557
  if (!(toAggregatePathsItem.length < 3)) return [3 /*break*/, 9];
548
558
  tempPath = toAggregatePathsItem[0];
549
559
  if (!(fieldFormulaObjectName === objectName && tempPath.reference_from === objectName)) return [3 /*break*/, 5];
550
- return [4 /*yield*/, index_1.getSteedosSchema().getObject(fieldFormulaObjectName).findOne(recordId, { fields: formulaVarFields })];
560
+ return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(fieldFormulaObjectName).findOne(recordId, { fields: formulaVarFields })];
551
561
  case 3:
552
562
  doc = _d.sent();
553
- return [4 /*yield*/, exports.updateDocsFieldFormulaValue(doc, fieldFormulaConfig, userSession, escapeConfigs)];
563
+ return [4 /*yield*/, (0, exports.updateDocsFieldFormulaValue)(doc, fieldFormulaConfig, userSession, escapeConfigs)];
554
564
  case 4:
555
565
  _d.sent();
556
566
  return [3 /*break*/, 8];
557
- case 5: return [4 /*yield*/, index_1.getSteedosSchema().getObject(fieldFormulaObjectName).find({ filters: [[tempPath.field_name, "=", recordId]], fields: formulaVarFields })];
567
+ case 5: return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(fieldFormulaObjectName).find({ filters: [[tempPath.field_name, "=", recordId]], fields: formulaVarFields })];
558
568
  case 6:
559
569
  docs = _d.sent();
560
- return [4 /*yield*/, exports.updateDocsFieldFormulaValue(docs, fieldFormulaConfig, userSession, escapeConfigs)];
570
+ return [4 /*yield*/, (0, exports.updateDocsFieldFormulaValue)(docs, fieldFormulaConfig, userSession, escapeConfigs)];
561
571
  case 7:
562
572
  _d.sent();
563
573
  _d.label = 8;
564
574
  case 8: return [3 /*break*/, 12];
565
575
  case 9:
566
- aggregateLookups = util_1.getFormulaVarPathsAggregateLookups(toAggregatePathsItem);
576
+ aggregateLookups = (0, util_1.getFormulaVarPathsAggregateLookups)(toAggregatePathsItem);
567
577
  lastLookupAs = aggregateLookups[aggregateLookups.length - 1]["$lookup"].as;
568
- aggregateFilters = [[lastLookupAs + "._id", "=", recordId]];
569
- return [4 /*yield*/, index_1.getSteedosSchema().getObject(fieldFormulaObjectName).directAggregatePrefixalPipeline({
578
+ aggregateFilters = [["".concat(lastLookupAs, "._id"), "=", recordId]];
579
+ return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(fieldFormulaObjectName).directAggregatePrefixalPipeline({
570
580
  filters: aggregateFilters,
571
581
  fields: formulaVarFields
572
582
  }, aggregateLookups)];
573
583
  case 10:
574
584
  docs = _d.sent();
575
- return [4 /*yield*/, exports.updateDocsFieldFormulaValue(docs, fieldFormulaConfig, userSession, escapeConfigs)];
585
+ return [4 /*yield*/, (0, exports.updateDocsFieldFormulaValue)(docs, fieldFormulaConfig, userSession, escapeConfigs)];
576
586
  case 11:
577
587
  _d.sent();
578
588
  _d.label = 12;
@@ -594,10 +604,11 @@ exports.updateQuotedByObjectFieldFormulaValue = function (objectName, recordId,
594
604
  }
595
605
  });
596
606
  }); };
597
- exports.updateDocsFieldFormulaValue = function (docs, fieldFormulaConfig, userSession, escapeConfigs) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
607
+ exports.updateQuotedByObjectFieldFormulaValue = updateQuotedByObjectFieldFormulaValue;
608
+ var updateDocsFieldFormulaValue = function (docs, fieldFormulaConfig, userSession, escapeConfigs) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
598
609
  var fieldFormulaObjectName, currentUserId, docs_2, docs_2_1, doc, value, setDoc, e_8_1;
599
610
  var e_8, _a;
600
- return tslib_1.__generator(this, function (_b) {
611
+ return (0, tslib_1.__generator)(this, function (_b) {
601
612
  switch (_b.label) {
602
613
  case 0:
603
614
  fieldFormulaObjectName = fieldFormulaConfig.object_name;
@@ -608,17 +619,17 @@ exports.updateDocsFieldFormulaValue = function (docs, fieldFormulaConfig, userSe
608
619
  _b.label = 1;
609
620
  case 1:
610
621
  _b.trys.push([1, 7, 8, 9]);
611
- docs_2 = tslib_1.__values(docs), docs_2_1 = docs_2.next();
622
+ docs_2 = (0, tslib_1.__values)(docs), docs_2_1 = docs_2.next();
612
623
  _b.label = 2;
613
624
  case 2:
614
625
  if (!!docs_2_1.done) return [3 /*break*/, 6];
615
626
  doc = docs_2_1.value;
616
- return [4 /*yield*/, exports.computeFieldFormulaValue(doc, fieldFormulaConfig, currentUserId)];
627
+ return [4 /*yield*/, (0, exports.computeFieldFormulaValue)(doc, fieldFormulaConfig, currentUserId)];
617
628
  case 3:
618
629
  value = _b.sent();
619
630
  setDoc = {};
620
631
  setDoc[fieldFormulaConfig.field_name] = value;
621
- return [4 /*yield*/, index_1.getSteedosSchema().getObject(fieldFormulaObjectName).directUpdate(doc._id, setDoc)];
632
+ return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(fieldFormulaObjectName).directUpdate(doc._id, setDoc)];
622
633
  case 4:
623
634
  _b.sent();
624
635
  _b.label = 5;
@@ -638,7 +649,7 @@ exports.updateDocsFieldFormulaValue = function (docs, fieldFormulaConfig, userSe
638
649
  return [7 /*endfinally*/];
639
650
  case 9:
640
651
  // 这里特意重新遍历一次docs而不是直接在当前函数中每次更新一条记录后立即处理被引用字段的级联变更,见:公式或汇总触发级联重算时,数据类型变更可能会造成无法重算 #965
641
- return [4 /*yield*/, exports.updateQuotedByDocsForFormulaType(docs, fieldFormulaConfig, userSession, escapeConfigs)];
652
+ return [4 /*yield*/, (0, exports.updateQuotedByDocsForFormulaType)(docs, fieldFormulaConfig, userSession, escapeConfigs)];
642
653
  case 10:
643
654
  // 这里特意重新遍历一次docs而不是直接在当前函数中每次更新一条记录后立即处理被引用字段的级联变更,见:公式或汇总触发级联重算时,数据类型变更可能会造成无法重算 #965
644
655
  _b.sent();
@@ -646,10 +657,11 @@ exports.updateDocsFieldFormulaValue = function (docs, fieldFormulaConfig, userSe
646
657
  }
647
658
  });
648
659
  }); };
649
- exports.updateQuotedByDocsForFormulaType = function (docs, fieldFormulaConfig, userSession, escapeConfigs) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
660
+ exports.updateDocsFieldFormulaValue = updateDocsFieldFormulaValue;
661
+ var updateQuotedByDocsForFormulaType = function (docs, fieldFormulaConfig, userSession, escapeConfigs) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
650
662
  var fieldFormulaObjectName, fieldNames, formulaQuotedByConfigs, summaryQuotedByConfigs, docs_3, docs_3_1, doc, e_9_1;
651
663
  var e_9, _a;
652
- return tslib_1.__generator(this, function (_b) {
664
+ return (0, tslib_1.__generator)(this, function (_b) {
653
665
  switch (_b.label) {
654
666
  case 0:
655
667
  fieldFormulaObjectName = fieldFormulaConfig.object_name;
@@ -657,22 +669,22 @@ exports.updateQuotedByDocsForFormulaType = function (docs, fieldFormulaConfig, u
657
669
  docs = [docs];
658
670
  }
659
671
  fieldNames = [fieldFormulaConfig.field_name];
660
- return [4 /*yield*/, field_formula_1.getObjectQuotedByFieldFormulaConfigs(fieldFormulaObjectName, fieldNames, escapeConfigs)];
672
+ return [4 /*yield*/, (0, field_formula_1.getObjectQuotedByFieldFormulaConfigs)(fieldFormulaObjectName, fieldNames, escapeConfigs)];
661
673
  case 1:
662
674
  formulaQuotedByConfigs = _b.sent();
663
- return [4 /*yield*/, summary_1.getObjectQuotedByFieldSummaryConfigs(fieldFormulaObjectName, fieldNames)];
675
+ return [4 /*yield*/, (0, summary_1.getObjectQuotedByFieldSummaryConfigs)(fieldFormulaObjectName, fieldNames)];
664
676
  case 2:
665
677
  summaryQuotedByConfigs = _b.sent();
666
678
  _b.label = 3;
667
679
  case 3:
668
680
  _b.trys.push([3, 9, 10, 11]);
669
- docs_3 = tslib_1.__values(docs), docs_3_1 = docs_3.next();
681
+ docs_3 = (0, tslib_1.__values)(docs), docs_3_1 = docs_3.next();
670
682
  _b.label = 4;
671
683
  case 4:
672
684
  if (!!docs_3_1.done) return [3 /*break*/, 8];
673
685
  doc = docs_3_1.value;
674
686
  // 公式字段修改后,需要找到引用了该公式字段的其他公式字段并更新其值
675
- return [4 /*yield*/, exports.runQuotedByObjectFieldFormulas(fieldFormulaObjectName, doc._id, userSession, {
687
+ return [4 /*yield*/, (0, exports.runQuotedByObjectFieldFormulas)(fieldFormulaObjectName, doc._id, userSession, {
676
688
  fieldNames: fieldNames,
677
689
  quotedByConfigs: formulaQuotedByConfigs,
678
690
  escapeConfigs: escapeConfigs
@@ -683,7 +695,7 @@ exports.updateQuotedByDocsForFormulaType = function (docs, fieldFormulaConfig, u
683
695
  // 公式字段修改后,需要找到引用了该公式字段的其他公式字段并更新其值
684
696
  _b.sent();
685
697
  // 公式字段修改后,需要找到引用了该公式字段的其他汇总字段并更新其值
686
- return [4 /*yield*/, summary_1.runQuotedByObjectFieldSummaries(fieldFormulaObjectName, doc._id, null, userSession, {
698
+ return [4 /*yield*/, (0, summary_1.runQuotedByObjectFieldSummaries)(fieldFormulaObjectName, doc._id, null, userSession, {
687
699
  fieldNames: fieldNames,
688
700
  quotedByConfigs: summaryQuotedByConfigs
689
701
  })];
@@ -709,6 +721,7 @@ exports.updateQuotedByDocsForFormulaType = function (docs, fieldFormulaConfig, u
709
721
  }
710
722
  });
711
723
  }); };
724
+ exports.updateQuotedByDocsForFormulaType = updateQuotedByDocsForFormulaType;
712
725
  /**
713
726
  * 某个对象上的公式字段是否引用了某个对象和字段
714
727
  * @param formulaObjectName 公式字段在所在对象名称
@@ -716,15 +729,15 @@ exports.updateQuotedByDocsForFormulaType = function (docs, fieldFormulaConfig, u
716
729
  * @param object_name 是否引用了该对象
717
730
  * @param field_name 是否引用了该字段
718
731
  */
719
- exports.isFormulaFieldQuotingObjectAndFields = function (formulaObjectName, formulaFieldName, objectName, fieldNames) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
732
+ var isFormulaFieldQuotingObjectAndFields = function (formulaObjectName, formulaFieldName, objectName, fieldNames) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
720
733
  var configs;
721
- return tslib_1.__generator(this, function (_a) {
734
+ return (0, tslib_1.__generator)(this, function (_a) {
722
735
  switch (_a.label) {
723
- case 0: return [4 /*yield*/, field_formula_1.getObjectFieldFormulaConfigs(formulaObjectName, formulaFieldName)];
736
+ case 0: return [4 /*yield*/, (0, field_formula_1.getObjectFieldFormulaConfigs)(formulaObjectName, formulaFieldName)];
724
737
  case 1:
725
738
  configs = _a.sent();
726
739
  if (configs && configs.length) {
727
- return [2 /*return*/, util_1.isFieldFormulaConfigQuotingObjectAndFields(configs[0], objectName, fieldNames)];
740
+ return [2 /*return*/, (0, util_1.isFieldFormulaConfigQuotingObjectAndFields)(configs[0], objectName, fieldNames)];
728
741
  }
729
742
  else {
730
743
  // 没找到公式字段配置说明传入的参数不是公式字段
@@ -734,4 +747,5 @@ exports.isFormulaFieldQuotingObjectAndFields = function (formulaObjectName, form
734
747
  }
735
748
  });
736
749
  }); };
750
+ exports.isFormulaFieldQuotingObjectAndFields = isFormulaFieldQuotingObjectAndFields;
737
751
  //# sourceMappingURL=core.js.map