@steedos/standard-object-database 3.0.0-beta.2 → 3.0.0-beta.8

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 (434) hide show
  1. package/main/default/client/object_fields.client.js +14 -150
  2. package/main/default/routes/amis_button_design.router.js +5 -5
  3. package/main/default/routes/amis_listview_design.router.js +5 -5
  4. package/main/default/routes/listview.router.js +2 -2
  5. package/main/default/routes/object_fields_design.router.js +5 -5
  6. package/main/default/services/database-objects.service.js +29 -29
  7. package/main/default/triggers/datasources.trigger.js +4 -5
  8. package/main/default/triggers/object_actions.trigger.js +1 -85
  9. package/main/default/triggers/object_fields.trigger.js +31 -134
  10. package/main/default/triggers/object_layouts.trigger.js +2 -88
  11. package/main/default/triggers/object_listviews.trigger.js +8 -127
  12. package/main/default/triggers/object_validation_rules.trigger.js +2 -44
  13. package/main/default/triggers/objects.trigger.js +0 -86
  14. package/package.json +4 -6
  15. package/package.service.js +5 -477
  16. package/src/triggers/object_fields_trigger_create_index.js +5 -1
  17. package/main/default/client/datasources.client.js +0 -7
  18. package/main/default/client/object_layouts.client.js +0 -86
  19. package/main/default/objectTranslations/datasources.en/datasources.en.objectTranslation.yml +0 -121
  20. package/main/default/objectTranslations/datasources.zh-CN/datasources.zh-CN.objectTranslation.yml +0 -105
  21. package/main/default/objectTranslations/object_actions.en/object_actions.en.objectTranslation.yml +0 -80
  22. package/main/default/objectTranslations/object_actions.zh-CN/object_actions.zh-CN.objectTranslation.yml +0 -75
  23. package/main/default/objectTranslations/object_fields.en/object_fields.en.objectTranslation.yml +0 -419
  24. package/main/default/objectTranslations/object_fields.zh-CN/object_fields.zh-CN.objectTranslation.yml +0 -470
  25. package/main/default/objectTranslations/object_functions.en/object_functions.en.objectTranslation.yml +0 -47
  26. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +0 -44
  27. package/main/default/objectTranslations/object_layouts.en/object_layouts.en.objectTranslation.yml +0 -81
  28. package/main/default/objectTranslations/object_layouts.zh-CN/object_layouts.zh-CN.objectTranslation.yml +0 -129
  29. package/main/default/objectTranslations/object_listviews.en/object_listviews.en.objectTranslation.yml +0 -213
  30. package/main/default/objectTranslations/object_listviews.zh-CN/object_listviews.zh-CN.objectTranslation.yml +0 -206
  31. package/main/default/objectTranslations/object_related_list.en/object_related_list.en.objectTranslation.yml +0 -82
  32. package/main/default/objectTranslations/object_related_list.zh-CN/object_related_list.zh-CN.objectTranslation.yml +0 -82
  33. package/main/default/objectTranslations/object_triggers.en/object_triggers.en.objectTranslation.yml +0 -51
  34. package/main/default/objectTranslations/object_triggers.zh-CN/object_triggers.zh-CN.objectTranslation.yml +0 -48
  35. package/main/default/objectTranslations/object_validation_rules.en/object_validation_rules.en.objectTranslation.yml +0 -42
  36. package/main/default/objectTranslations/object_validation_rules.zh-CN/object_validation_rules.zh-CN.objectTranslation.yml +0 -40
  37. package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml +0 -46
  38. package/main/default/objectTranslations/object_webhooks.zh-CN/object_webhooks.zh-CN.objectTranslation.yml +0 -48
  39. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +0 -202
  40. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +0 -198
  41. package/main/default/objects/datasources/buttons/testConnection.button.js +0 -52
  42. package/main/default/objects/datasources/buttons/testConnection.button.yml +0 -4
  43. package/main/default/objects/datasources/datasources.object.yml +0 -6
  44. package/main/default/objects/datasources/fields/connectString.field.yml +0 -6
  45. package/main/default/objects/datasources/fields/database.field.yml +0 -5
  46. package/main/default/objects/datasources/fields/driver.field.yml +0 -9
  47. package/main/default/objects/datasources/fields/enable_space.field.yml +0 -6
  48. package/main/default/objects/datasources/fields/host.field.yml +0 -5
  49. package/main/default/objects/datasources/fields/is_enable.field.yml +0 -5
  50. package/main/default/objects/datasources/fields/is_system.field.yml +0 -7
  51. package/main/default/objects/datasources/fields/label.field.yml +0 -8
  52. package/main/default/objects/datasources/fields/locale.field.yml +0 -5
  53. package/main/default/objects/datasources/fields/logging.field.yml +0 -5
  54. package/main/default/objects/datasources/fields/mssql_options.field.yml +0 -6
  55. package/main/default/objects/datasources/fields/name.field.yml +0 -12
  56. package/main/default/objects/datasources/fields/options.field.yml +0 -5
  57. package/main/default/objects/datasources/fields/password.field.yml +0 -5
  58. package/main/default/objects/datasources/fields/port.field.yml +0 -6
  59. package/main/default/objects/datasources/fields/record_permissions.field.yml +0 -4
  60. package/main/default/objects/datasources/fields/timezone.field.yml +0 -5
  61. package/main/default/objects/datasources/fields/username.field.yml +0 -5
  62. package/main/default/objects/datasources/listviews/all.listview.yml +0 -9
  63. package/main/default/objects/datasources/permissions/admin.permission.yml +0 -7
  64. package/main/default/objects/datasources/permissions/user.permission.yml +0 -7
  65. package/main/default/objects/object_actions/buttons/customize.button.js +0 -33
  66. package/main/default/objects/object_actions/buttons/customize.button.yml +0 -3
  67. package/main/default/objects/object_actions/buttons/showDesign.button.js +0 -22
  68. package/main/default/objects/object_actions/buttons/showDesign.button.yml +0 -3
  69. package/main/default/objects/object_actions/fields/amis_schema.field.yml +0 -8
  70. package/main/default/objects/object_actions/fields/description.field.yml +0 -5
  71. package/main/default/objects/object_actions/fields/is_enable.field.yml +0 -5
  72. package/main/default/objects/object_actions/fields/is_system.field.yml +0 -7
  73. package/main/default/objects/object_actions/fields/label.field.yml +0 -6
  74. package/main/default/objects/object_actions/fields/name.field.yml +0 -11
  75. package/main/default/objects/object_actions/fields/object.field.yml +0 -9
  76. package/main/default/objects/object_actions/fields/on.field.yml +0 -26
  77. package/main/default/objects/object_actions/fields/type.field.yml +0 -10
  78. package/main/default/objects/object_actions/fields/visible.field.yml +0 -6
  79. package/main/default/objects/object_actions/listviews/all.listview.yml +0 -11
  80. package/main/default/objects/object_actions/listviews/customize.listview.yml +0 -15
  81. package/main/default/objects/object_actions/object_actions.object.yml +0 -8
  82. package/main/default/objects/object_actions/permissions/admin.permission.yml +0 -7
  83. package/main/default/objects/object_actions/permissions/user.permission.yml +0 -7
  84. package/main/default/objects/object_fields/buttons/recomputeFormulaValues.button.js +0 -63
  85. package/main/default/objects/object_fields/buttons/recomputeFormulaValues.button.yml +0 -4
  86. package/main/default/objects/object_fields/buttons/recomputeSummaryValues.button.js +0 -63
  87. package/main/default/objects/object_fields/buttons/recomputeSummaryValues.button.yml +0 -4
  88. package/main/default/objects/object_fields/buttons/standard_new.button.js +0 -15
  89. package/main/default/objects/object_fields/buttons/standard_new.button.yml +0 -4
  90. package/main/default/objects/object_fields/fields/_name.field.yml +0 -11
  91. package/main/default/objects/object_fields/fields/amis.field.yml +0 -12
  92. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.field.yml +0 -7
  93. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.from.field.yml +0 -28
  94. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +0 -77
  95. package/main/default/objects/object_fields/fields/auto_fill_mapping.field.yml +0 -16
  96. package/main/default/objects/object_fields/fields/autonumber_enable_modify.field.yml +0 -6
  97. package/main/default/objects/object_fields/fields/column_name.field.yml +0 -15
  98. package/main/default/objects/object_fields/fields/coordinatesType.field.yml +0 -9
  99. package/main/default/objects/object_fields/fields/create.field.yml +0 -10
  100. package/main/default/objects/object_fields/fields/data_type.field.yml +0 -23
  101. package/main/default/objects/object_fields/fields/defaultValue.field.yml +0 -42
  102. package/main/default/objects/object_fields/fields/deleted_lookup_record_behavior.field.yml +0 -19
  103. package/main/default/objects/object_fields/fields/depend_on.field.yml +0 -30
  104. package/main/default/objects/object_fields/fields/description.field.yml +0 -7
  105. package/main/default/objects/object_fields/fields/enable_enhanced_lookup.field.yml +0 -8
  106. package/main/default/objects/object_fields/fields/enable_thousands.field.yml +0 -8
  107. package/main/default/objects/object_fields/fields/filterable.field.yml +0 -6
  108. package/main/default/objects/object_fields/fields/filters.field.yml +0 -18
  109. package/main/default/objects/object_fields/fields/filtersFunction.field.yml +0 -15
  110. package/main/default/objects/object_fields/fields/formula.field.yml +0 -11
  111. package/main/default/objects/object_fields/fields/formula_blank_value.field.yml +0 -17
  112. package/main/default/objects/object_fields/fields/generated.field.yml +0 -12
  113. package/main/default/objects/object_fields/fields/group.field.yml +0 -7
  114. package/main/default/objects/object_fields/fields/hidden.field.yml +0 -6
  115. package/main/default/objects/object_fields/fields/index.field.yml +0 -9
  116. package/main/default/objects/object_fields/fields/inlineHelpText.field.yml +0 -8
  117. package/main/default/objects/object_fields/fields/is_customize.field.yml +0 -6
  118. package/main/default/objects/object_fields/fields/is_name.field.yml +0 -9
  119. package/main/default/objects/object_fields/fields/is_system.field.yml +0 -6
  120. package/main/default/objects/object_fields/fields/is_wide.field.yml +0 -6
  121. package/main/default/objects/object_fields/fields/label.field.yml +0 -7
  122. package/main/default/objects/object_fields/fields/language.field.yml +0 -88
  123. package/main/default/objects/object_fields/fields/multiple.field.yml +0 -13
  124. package/main/default/objects/object_fields/fields/name.field.yml +0 -15
  125. package/main/default/objects/object_fields/fields/object.field.yml +0 -18
  126. package/main/default/objects/object_fields/fields/options.$.color.field.yml +0 -6
  127. package/main/default/objects/object_fields/fields/options.$.description.field.yml +0 -6
  128. package/main/default/objects/object_fields/fields/options.$.field.yml +0 -6
  129. package/main/default/objects/object_fields/fields/options.$.label.field.yml +0 -6
  130. package/main/default/objects/object_fields/fields/options.$.value.field.yml +0 -6
  131. package/main/default/objects/object_fields/fields/options.field.yml +0 -22
  132. package/main/default/objects/object_fields/fields/precision.field.yml +0 -21
  133. package/main/default/objects/object_fields/fields/primary.field.yml +0 -12
  134. package/main/default/objects/object_fields/fields/readonly.field.yml +0 -9
  135. package/main/default/objects/object_fields/fields/reference_to.field.yml +0 -12
  136. package/main/default/objects/object_fields/fields/reference_to_field.field.yml +0 -31
  137. package/main/default/objects/object_fields/fields/required.field.yml +0 -8
  138. package/main/default/objects/object_fields/fields/rows.field.yml +0 -8
  139. package/main/default/objects/object_fields/fields/scale.field.yml +0 -26
  140. package/main/default/objects/object_fields/fields/searchable.field.yml +0 -6
  141. package/main/default/objects/object_fields/fields/show_as_qr.field.yml +0 -8
  142. package/main/default/objects/object_fields/fields/sort_no.field.yml +0 -10
  143. package/main/default/objects/object_fields/fields/sortable.field.yml +0 -7
  144. package/main/default/objects/object_fields/fields/static.field.yml +0 -9
  145. package/main/default/objects/object_fields/fields/summary_field.field.yml +0 -79
  146. package/main/default/objects/object_fields/fields/summary_filters.$.field.field.yml +0 -20
  147. package/main/default/objects/object_fields/fields/summary_filters.$.field.yml +0 -6
  148. package/main/default/objects/object_fields/fields/summary_filters.$.operation.field.yml +0 -42
  149. package/main/default/objects/object_fields/fields/summary_filters.$.value.field.yml +0 -5
  150. package/main/default/objects/object_fields/fields/summary_filters.field.yml +0 -16
  151. package/main/default/objects/object_fields/fields/summary_object.field.yml +0 -32
  152. package/main/default/objects/object_fields/fields/summary_type.field.yml +0 -21
  153. package/main/default/objects/object_fields/fields/type.field.yml +0 -62
  154. package/main/default/objects/object_fields/fields/unique.field.yml +0 -9
  155. package/main/default/objects/object_fields/fields/visible_on.field.yml +0 -11
  156. package/main/default/objects/object_fields/fields/write_requires_master_read.field.yml +0 -16
  157. package/main/default/objects/object_fields/listviews/all.listview.yml +0 -21
  158. package/main/default/objects/object_fields/listviews/customize.listview.yml +0 -20
  159. package/main/default/objects/object_fields/object_fields.object.yml +0 -40
  160. package/main/default/objects/object_fields/permissions/admin.permission.yml +0 -8
  161. package/main/default/objects/object_fields/permissions/user.permission.yml +0 -8
  162. package/main/default/objects/object_functions/buttons/standard_new.button.js +0 -16
  163. package/main/default/objects/object_functions/fields/_name.field.yml +0 -7
  164. package/main/default/objects/object_functions/fields/description.field.yml +0 -5
  165. package/main/default/objects/object_functions/fields/isEnabled.field.yml +0 -5
  166. package/main/default/objects/object_functions/fields/is_rest.field.yml +0 -5
  167. package/main/default/objects/object_functions/fields/is_system.field.yml +0 -7
  168. package/main/default/objects/object_functions/fields/name.field.yml +0 -8
  169. package/main/default/objects/object_functions/fields/objectApiName.field.yml +0 -7
  170. package/main/default/objects/object_functions/fields/record_permissions.field.yml +0 -4
  171. package/main/default/objects/object_functions/fields/script.field.yml +0 -24
  172. package/main/default/objects/object_functions/listviews/all.listview.yml +0 -9
  173. package/main/default/objects/object_functions/listviews/customize.listview.yml +0 -13
  174. package/main/default/objects/object_functions/object_functions.object.yml +0 -8
  175. package/main/default/objects/object_functions/permissions/admin.permission.yml +0 -7
  176. package/main/default/objects/object_functions/permissions/user.permission.yml +0 -7
  177. package/main/default/objects/object_layouts/buttons/createDefaultRecordView.button.js +0 -23
  178. package/main/default/objects/object_layouts/buttons/createDefaultRecordView.button.yml +0 -4
  179. package/main/default/objects/object_layouts/buttons/customize.button.js +0 -3
  180. package/main/default/objects/object_layouts/buttons/customize.button.yml +0 -3
  181. package/main/default/objects/object_layouts/fields/buttons.$.button_name.field.yml +0 -24
  182. package/main/default/objects/object_layouts/fields/buttons.$.visible_on.field.yml +0 -5
  183. package/main/default/objects/object_layouts/fields/buttons.field.yml +0 -8
  184. package/main/default/objects/object_layouts/fields/field_groups.$.collapsed.field.yml +0 -4
  185. package/main/default/objects/object_layouts/fields/field_groups.$.group_name.field.yml +0 -4
  186. package/main/default/objects/object_layouts/fields/field_groups.$.visible_on.field.yml +0 -4
  187. package/main/default/objects/object_layouts/fields/field_groups.field.yml +0 -7
  188. package/main/default/objects/object_layouts/fields/fields.$.field.yml +0 -5
  189. package/main/default/objects/object_layouts/fields/fields.$.field_name.field.yml +0 -11
  190. package/main/default/objects/object_layouts/fields/fields.$.group.field.yml +0 -4
  191. package/main/default/objects/object_layouts/fields/fields.$.is_readonly.field.yml +0 -4
  192. package/main/default/objects/object_layouts/fields/fields.$.is_required.field.yml +0 -4
  193. package/main/default/objects/object_layouts/fields/fields.$.visible_on.field.yml +0 -5
  194. package/main/default/objects/object_layouts/fields/fields.field.yml +0 -8
  195. package/main/default/objects/object_layouts/fields/is_system.field.yml +0 -7
  196. package/main/default/objects/object_layouts/fields/label.field.yml +0 -8
  197. package/main/default/objects/object_layouts/fields/name.field.yml +0 -7
  198. package/main/default/objects/object_layouts/fields/object_name.field.yml +0 -10
  199. package/main/default/objects/object_layouts/fields/profiles.field.yml +0 -30
  200. package/main/default/objects/object_layouts/fields/related_lists.$.field_names.field.yml +0 -29
  201. package/main/default/objects/object_layouts/fields/related_lists.$.filters.field.yml +0 -6
  202. package/main/default/objects/object_layouts/fields/related_lists.$.label.field.yml +0 -5
  203. package/main/default/objects/object_layouts/fields/related_lists.$.page_size.field.yml +0 -6
  204. package/main/default/objects/object_layouts/fields/related_lists.$.related_field_fullname.field.yml +0 -72
  205. package/main/default/objects/object_layouts/fields/related_lists.$.sort_field_name.field.yml +0 -30
  206. package/main/default/objects/object_layouts/fields/related_lists.$.sort_order.field.yml +0 -10
  207. package/main/default/objects/object_layouts/fields/related_lists.$.visible_on.field.yml +0 -5
  208. package/main/default/objects/object_layouts/fields/related_lists.field.yml +0 -8
  209. package/main/default/objects/object_layouts/fields/type.field.yml +0 -10
  210. package/main/default/objects/object_layouts/listviews/all.listview.yml +0 -8
  211. package/main/default/objects/object_layouts/listviews/customize.listview.yml +0 -12
  212. package/main/default/objects/object_layouts/object_layouts.object.yml +0 -16
  213. package/main/default/objects/object_layouts/permissions/admin.permission.yml +0 -7
  214. package/main/default/objects/object_layouts/permissions/user.permission.yml +0 -7
  215. package/main/default/objects/object_listviews/buttons/copy.button.js +0 -58
  216. package/main/default/objects/object_listviews/buttons/copy.button.yml +0 -3
  217. package/main/default/objects/object_listviews/buttons/customize.button.js +0 -31
  218. package/main/default/objects/object_listviews/buttons/customize.button.yml +0 -3
  219. package/main/default/objects/object_listviews/buttons/showDesign.button.js +0 -24
  220. package/main/default/objects/object_listviews/buttons/showDesign.button.yml +0 -3
  221. package/main/default/objects/object_listviews/fields/adaptor.field.yml +0 -8
  222. package/main/default/objects/object_listviews/fields/amis_schema.field.yml +0 -9
  223. package/main/default/objects/object_listviews/fields/columns.$.field.field.yml +0 -19
  224. package/main/default/objects/object_listviews/fields/columns.$.field.yml +0 -5
  225. package/main/default/objects/object_listviews/fields/columns.$.width.field.yml +0 -4
  226. package/main/default/objects/object_listviews/fields/columns.$.wrap.field.yml +0 -4
  227. package/main/default/objects/object_listviews/fields/columns.field.yml +0 -14
  228. package/main/default/objects/object_listviews/fields/crud_mode.field.yml +0 -10
  229. package/main/default/objects/object_listviews/fields/enable_amis_schema.field.yml +0 -6
  230. package/main/default/objects/object_listviews/fields/filter_fields.field.yml +0 -11
  231. package/main/default/objects/object_listviews/fields/filter_logic.field.yml +0 -7
  232. package/main/default/objects/object_listviews/fields/filter_scope.field.yml +0 -11
  233. package/main/default/objects/object_listviews/fields/filters.field.yml +0 -10
  234. package/main/default/objects/object_listviews/fields/is_enable.field.yml +0 -5
  235. package/main/default/objects/object_listviews/fields/is_system.field.yml +0 -7
  236. package/main/default/objects/object_listviews/fields/label.field.yml +0 -6
  237. package/main/default/objects/object_listviews/fields/mobile_columns.$.field.field.yml +0 -19
  238. package/main/default/objects/object_listviews/fields/mobile_columns.$.field.yml +0 -5
  239. package/main/default/objects/object_listviews/fields/mobile_columns.field.yml +0 -8
  240. package/main/default/objects/object_listviews/fields/name.field.yml +0 -12
  241. package/main/default/objects/object_listviews/fields/object_name.field.yml +0 -8
  242. package/main/default/objects/object_listviews/fields/requestAdaptor.field.yml +0 -8
  243. package/main/default/objects/object_listviews/fields/scrolling_mode.field.yml +0 -20
  244. package/main/default/objects/object_listviews/fields/searchable_fields.$.field.field.yml +0 -8
  245. package/main/default/objects/object_listviews/fields/searchable_fields.$.field.yml +0 -5
  246. package/main/default/objects/object_listviews/fields/searchable_fields.field.yml +0 -8
  247. package/main/default/objects/object_listviews/fields/shared.field.yml +0 -6
  248. package/main/default/objects/object_listviews/fields/shared_to.field.yml +0 -15
  249. package/main/default/objects/object_listviews/fields/shared_to_organizations.field.yml +0 -11
  250. package/main/default/objects/object_listviews/fields/show_count.field.yml +0 -4
  251. package/main/default/objects/object_listviews/fields/sort.$.field.yml +0 -5
  252. package/main/default/objects/object_listviews/fields/sort.$.field_name.field.yml +0 -6
  253. package/main/default/objects/object_listviews/fields/sort.$.order.field.yml +0 -10
  254. package/main/default/objects/object_listviews/fields/sort.field.yml +0 -8
  255. package/main/default/objects/object_listviews/fields/sort_no.field.yml +0 -6
  256. package/main/default/objects/object_listviews/fields/type.field.yml +0 -11
  257. package/main/default/objects/object_listviews/listviews/all.listview.yml +0 -15
  258. package/main/default/objects/object_listviews/listviews/customize.listview.yml +0 -14
  259. package/main/default/objects/object_listviews/object_listviews.object.yml +0 -8
  260. package/main/default/objects/object_listviews/permissions/admin.permission.yml +0 -7
  261. package/main/default/objects/object_listviews/permissions/user.permission.yml +0 -7
  262. package/main/default/objects/object_related_list/fields/columns.$.field.field.yml +0 -22
  263. package/main/default/objects/object_related_list/fields/columns.$.field.yml +0 -5
  264. package/main/default/objects/object_related_list/fields/columns.$.width.field.yml +0 -4
  265. package/main/default/objects/object_related_list/fields/columns.$.wrap.field.yml +0 -4
  266. package/main/default/objects/object_related_list/fields/columns.field.yml +0 -8
  267. package/main/default/objects/object_related_list/fields/filters.field.yml +0 -5
  268. package/main/default/objects/object_related_list/fields/mobile_columns.$.field.field.yml +0 -21
  269. package/main/default/objects/object_related_list/fields/mobile_columns.$.field.yml +0 -5
  270. package/main/default/objects/object_related_list/fields/mobile_columns.field.yml +0 -7
  271. package/main/default/objects/object_related_list/fields/objectName.field.yml +0 -41
  272. package/main/default/objects/object_related_list/fields/object_name.field.yml +0 -7
  273. package/main/default/objects/object_related_list/fields/sort.$.field.yml +0 -5
  274. package/main/default/objects/object_related_list/fields/sort.$.field_name.field.yml +0 -33
  275. package/main/default/objects/object_related_list/fields/sort.$.order.field.yml +0 -10
  276. package/main/default/objects/object_related_list/fields/sort.field.yml +0 -7
  277. package/main/default/objects/object_related_list/fields/sort_no.field.yml +0 -5
  278. package/main/default/objects/object_related_list/listviews/all.listview.yml +0 -10
  279. package/main/default/objects/object_related_list/object_related_list.object.yml +0 -7
  280. package/main/default/objects/object_related_list/permissions/admin.permission.yml +0 -7
  281. package/main/default/objects/object_related_list/permissions/user.permission.yml +0 -7
  282. package/main/default/objects/object_triggers/fields/_name.field.yml +0 -8
  283. package/main/default/objects/object_triggers/fields/authentication_header_key.field.yml +0 -10
  284. package/main/default/objects/object_triggers/fields/authentication_header_value.field.yml +0 -6
  285. package/main/default/objects/object_triggers/fields/authentication_type.field.yml +0 -12
  286. package/main/default/objects/object_triggers/fields/handler.field.yml +0 -26
  287. package/main/default/objects/object_triggers/fields/isEnabled.field.yml +0 -6
  288. package/main/default/objects/object_triggers/fields/is_system.field.yml +0 -7
  289. package/main/default/objects/object_triggers/fields/listenTo.field.yml +0 -8
  290. package/main/default/objects/object_triggers/fields/name.field.yml +0 -6
  291. package/main/default/objects/object_triggers/fields/record_permissions.field.yml +0 -4
  292. package/main/default/objects/object_triggers/fields/type.field.yml +0 -10
  293. package/main/default/objects/object_triggers/fields/url.field.yml +0 -6
  294. package/main/default/objects/object_triggers/fields/when.field.yml +0 -23
  295. package/main/default/objects/object_triggers/listviews/all.listview.yml +0 -9
  296. package/main/default/objects/object_triggers/listviews/customize.listview.yml +0 -13
  297. package/main/default/objects/object_triggers/object_triggers.object.yml +0 -8
  298. package/main/default/objects/object_triggers/permissions/admin.permission.yml +0 -7
  299. package/main/default/objects/object_triggers/permissions/user.permission.yml +0 -7
  300. package/main/default/objects/object_validation_rules/buttons/customize.button.js +0 -33
  301. package/main/default/objects/object_validation_rules/buttons/customize.button.yml +0 -3
  302. package/main/default/objects/object_validation_rules/fields/active.field.yml +0 -8
  303. package/main/default/objects/object_validation_rules/fields/description.field.yml +0 -6
  304. package/main/default/objects/object_validation_rules/fields/error_condition_formula.field.yml +0 -9
  305. package/main/default/objects/object_validation_rules/fields/error_message.field.yml +0 -8
  306. package/main/default/objects/object_validation_rules/fields/name.field.yml +0 -7
  307. package/main/default/objects/object_validation_rules/fields/object_name.field.yml +0 -9
  308. package/main/default/objects/object_validation_rules/listviews/all.listview.yml +0 -8
  309. package/main/default/objects/object_validation_rules/listviews/customize.listview.yml +0 -12
  310. package/main/default/objects/object_validation_rules/object_validation_rules.object.yml +0 -8
  311. package/main/default/objects/object_validation_rules/permissions/admin.permission.yml +0 -7
  312. package/main/default/objects/object_validation_rules/permissions/user.permission.yml +0 -7
  313. package/main/default/objects/object_webhooks/fields/active.field.yml +0 -5
  314. package/main/default/objects/object_webhooks/fields/condition.field.yml +0 -6
  315. package/main/default/objects/object_webhooks/fields/content_type.field.yml +0 -5
  316. package/main/default/objects/object_webhooks/fields/event.field.yml +0 -16
  317. package/main/default/objects/object_webhooks/fields/execute_when.field.yml +0 -13
  318. package/main/default/objects/object_webhooks/fields/fields.field.yml +0 -28
  319. package/main/default/objects/object_webhooks/fields/name.field.yml +0 -7
  320. package/main/default/objects/object_webhooks/fields/object_name.field.yml +0 -10
  321. package/main/default/objects/object_webhooks/fields/payload_url.field.yml +0 -9
  322. package/main/default/objects/object_webhooks/listviews/all.listview.yml +0 -9
  323. package/main/default/objects/object_webhooks/object_webhooks.object.yml +0 -5
  324. package/main/default/objects/object_webhooks/permissions/admin.permission.yml +0 -7
  325. package/main/default/objects/object_webhooks/permissions/user.permission.yml +0 -7
  326. package/main/default/objects/objects/buttons/custom.button.js +0 -45
  327. package/main/default/objects/objects/buttons/custom.button.yml +0 -5
  328. package/main/default/objects/objects/buttons/delete_object.button.js +0 -19
  329. package/main/default/objects/objects/buttons/delete_object.button.yml +0 -89
  330. package/main/default/objects/objects/buttons/design_field_layout.button.js +0 -28
  331. package/main/default/objects/objects/buttons/design_field_layout.button.yml +0 -5
  332. package/main/default/objects/objects/buttons/design_fields_layout.button.js +0 -35
  333. package/main/default/objects/objects/buttons/design_fields_layout.button.yml +0 -4
  334. package/main/default/objects/objects/buttons/reset.button.js +0 -11
  335. package/main/default/objects/objects/buttons/reset.button.yml +0 -78
  336. package/main/default/objects/objects/buttons/show_object.button.js +0 -59
  337. package/main/default/objects/objects/buttons/show_object.button.yml +0 -4
  338. package/main/default/objects/objects/buttons/standard_delete.button.js +0 -3
  339. package/main/default/objects/objects/buttons/standard_delete.button.yml +0 -4
  340. package/main/default/objects/objects/buttons/standard_delete_many.button.js +0 -3
  341. package/main/default/objects/objects/buttons/standard_delete_many.button.yml +0 -3
  342. package/main/default/objects/objects/fields/actions.field.yml +0 -8
  343. package/main/default/objects/objects/fields/app_unique_id.field.yml +0 -6
  344. package/main/default/objects/objects/fields/app_version.field.yml +0 -6
  345. package/main/default/objects/objects/fields/compactLayouts.field.yml +0 -26
  346. package/main/default/objects/objects/fields/custom.field.yml +0 -7
  347. package/main/default/objects/objects/fields/datasource.field.yml +0 -13
  348. package/main/default/objects/objects/fields/description.field.yml +0 -7
  349. package/main/default/objects/objects/fields/enable_api.field.yml +0 -7
  350. package/main/default/objects/objects/fields/enable_chatter.field.yml +0 -6
  351. package/main/default/objects/objects/fields/enable_dataloader.field.yml +0 -8
  352. package/main/default/objects/objects/fields/enable_enhanced_lookup.field.yml +0 -11
  353. package/main/default/objects/objects/fields/enable_events.field.yml +0 -6
  354. package/main/default/objects/objects/fields/enable_files.field.yml +0 -6
  355. package/main/default/objects/objects/fields/enable_form_tabs.field.yml +0 -7
  356. package/main/default/objects/objects/fields/enable_inline_edit.field.yml +0 -7
  357. package/main/default/objects/objects/fields/enable_instances.field.yml +0 -6
  358. package/main/default/objects/objects/fields/enable_lock_detail.field.yml +0 -9
  359. package/main/default/objects/objects/fields/enable_notes.field.yml +0 -6
  360. package/main/default/objects/objects/fields/enable_search.field.yml +0 -6
  361. package/main/default/objects/objects/fields/enable_share.field.yml +0 -7
  362. package/main/default/objects/objects/fields/enable_split.field.yml +0 -7
  363. package/main/default/objects/objects/fields/enable_tasks.field.yml +0 -6
  364. package/main/default/objects/objects/fields/enable_tree.field.yml +0 -7
  365. package/main/default/objects/objects/fields/enable_workflow.field.yml +0 -9
  366. package/main/default/objects/objects/fields/extend.field.yml +0 -6
  367. package/main/default/objects/objects/fields/field_groups.$.collapsed.field.yml +0 -5
  368. package/main/default/objects/objects/fields/field_groups.$.group_name.field.yml +0 -5
  369. package/main/default/objects/objects/fields/field_groups.$.visible_on.field.yml +0 -5
  370. package/main/default/objects/objects/fields/field_groups.field.yml +0 -13
  371. package/main/default/objects/objects/fields/fields.field.yml +0 -8
  372. package/main/default/objects/objects/fields/fields_serial_number.field.yml +0 -9
  373. package/main/default/objects/objects/fields/icon.field.yml +0 -29
  374. package/main/default/objects/objects/fields/in_development.field.yml +0 -17
  375. package/main/default/objects/objects/fields/is_customize.field.yml +0 -7
  376. package/main/default/objects/objects/fields/is_deleted.field.yml +0 -8
  377. package/main/default/objects/objects/fields/is_enable.field.yml +0 -11
  378. package/main/default/objects/objects/fields/is_system.field.yml +0 -9
  379. package/main/default/objects/objects/fields/label.field.yml +0 -9
  380. package/main/default/objects/objects/fields/list_views.field.yml +0 -8
  381. package/main/default/objects/objects/fields/name.field.yml +0 -15
  382. package/main/default/objects/objects/fields/owner.field.yml +0 -8
  383. package/main/default/objects/objects/fields/permission_set.field.yml +0 -8
  384. package/main/default/objects/objects/fields/relatedList.field.yml +0 -8
  385. package/main/default/objects/objects/fields/reload_time.field.yml +0 -9
  386. package/main/default/objects/objects/fields/sidebar.field.yml +0 -8
  387. package/main/default/objects/objects/fields/table_name.field.yml +0 -11
  388. package/main/default/objects/objects/fields/triggers.field.yml +0 -8
  389. package/main/default/objects/objects/fields/version.field.yml +0 -9
  390. package/main/default/objects/objects/listviews/all.listview.yml +0 -15
  391. package/main/default/objects/objects/listviews/customize.listview.yml +0 -19
  392. package/main/default/objects/objects/listviews/deleted.listview.yml +0 -21
  393. package/main/default/objects/objects/listviews/system.listview.yml +0 -19
  394. package/main/default/objects/objects/objects.object.yml +0 -12
  395. package/main/default/objects/objects/permissions/admin.permission.yml +0 -8
  396. package/main/default/objects/objects/permissions/user.permission.yml +0 -8
  397. package/main/default/pages/design_field_layout.page.amis.json +0 -552
  398. package/main/default/pages/design_field_layout.page.yml +0 -7
  399. package/main/default/pages/object_detail.page.amis.json +0 -238
  400. package/main/default/pages/object_detail.page.yml +0 -12
  401. package/main/default/pages/object_fields_form.page.amis.json +0 -241
  402. package/main/default/pages/object_fields_form.page.yml +0 -12
  403. package/main/default/pages/object_form.page.amis.json +0 -31
  404. package/main/default/pages/object_form.page.yml +0 -12
  405. package/main/default/pages/object_webhooks_form.page.amis.json +0 -51
  406. package/main/default/pages/object_webhooks_form.page.yml +0 -12
  407. package/main/default/pages/permission_objects_form.page.amis.json +0 -308
  408. package/main/default/pages/permission_objects_form.page.yml +0 -12
  409. package/main/default/server/0.datasources.observe.object.js +0 -83
  410. package/main/default/server/0.objects_reload.object.js +0 -33
  411. package/main/default/server/1.objects.observe.object.js +0 -64
  412. package/main/default/server/10.tabs.observe.object.js +0 -36
  413. package/main/default/server/11.restriction_rules.observe.object.js +0 -37
  414. package/main/default/server/12.share_rules.observe.object.js +0 -37
  415. package/main/default/server/13.permission_fields.observe.object.js +0 -40
  416. package/main/default/server/14.object_fields.observe.object.js +0 -55
  417. package/main/default/server/15.permission_objects.observe.object.js +0 -56
  418. package/main/default/server/16.permission_tabs.observe.object.js +0 -44
  419. package/main/default/server/2.object_triggers.observe.object.js +0 -43
  420. package/main/default/server/3.permission_objects.observe.object.js +0 -62
  421. package/main/default/server/4.permission_set.observe.object.js +0 -39
  422. package/main/default/server/5.holidays.observe.object.js +0 -30
  423. package/main/default/server/6.business_hours.observe.object.js +0 -33
  424. package/main/default/server/7.object_actions.observe.object.js +0 -63
  425. package/main/default/server/7.object_layouts.observe.object.js +0 -33
  426. package/main/default/server/9.apps.observe.object.js +0 -33
  427. package/main/default/server/datasources.object.js +0 -172
  428. package/main/default/server/object_actions.object.js +0 -154
  429. package/main/default/server/object_fields.function.js +0 -104
  430. package/main/default/server/object_fields.object.js +0 -519
  431. package/main/default/server/object_listviews.object.js +0 -116
  432. package/main/default/server/object_related_list.object.js +0 -110
  433. package/main/default/server/objects.erd.data.function.js +0 -85
  434. package/main/default/server/objects.object.js +0 -610
@@ -1,38 +1,8 @@
1
- const InternalData = require('@steedos/standard-objects').internalData;
2
1
  var _ = require("underscore");
3
- const odataMongodb = require("@steedos/odata-v4-mongodb");
4
2
  const clone = require('clone');
5
- var objectCore = require('../server/objects.core.js');
6
3
  const objectql = require('@steedos/objectql');
7
4
  const register = require('@steedos/metadata-registrar');
8
- const auth = require('@steedos/auth');
9
5
  const MAX_MASTER_DETAIL_LEAVE = objectql.MAX_MASTER_DETAIL_LEAVE;
10
- const validateOptionValue = (value)=>{
11
- let color = value && value.split(":")[2];
12
- if(color){
13
- const reg = /^(#)?[\da-f]{3}([\da-f]{3})?$/i;
14
- if(!reg.test(color)){
15
- throw new Error("object_fields_error_option_color_not_valid");
16
- }
17
- }
18
- }
19
-
20
- const validateOptionsValue = (value)=>{
21
- if(value){
22
- value.split("\n").forEach(function(option) {
23
- let options;
24
- if (option.indexOf(",")) {
25
- options = option.split(",");
26
- return options.forEach(function(_option) {
27
- validateOptionValue(_option);
28
- });
29
- } else {
30
- validateOptionValue(option);
31
- }
32
- });
33
- }
34
- }
35
-
36
6
  const validateOptionColorValue = (value)=>{
37
7
  if(value){
38
8
  const reg = /^(#)?[\da-f]{6}$/i;
@@ -58,12 +28,6 @@ const validateOptionsGridValue = (value)=>{
58
28
 
59
29
  const validateDoc = (doc)=>{
60
30
  validateOptionsGridValue(doc.options);
61
- // if(doc.type === "autonumber"){
62
- // let formula = doc.formula && doc.formula.trim();
63
- // if(!formula){
64
- // throw new Error("object_fields_error_formula_required");
65
- // }
66
- // }
67
31
  }
68
32
 
69
33
 
@@ -76,7 +40,7 @@ async function checkOwnerField(doc) {
76
40
  const obj = objectql.getObject(doc.object);
77
41
  const masters = await obj.getMasters();
78
42
  if (masters && masters.length) {
79
- throw new Meteor.Error(doc.name, "您无法取消勾选“新建、编辑时隐藏”属性,因为当前对象上有主表子表关系字段!");
43
+ throw new Error("您无法取消勾选“新建、编辑时隐藏”属性,因为当前对象上有主表子表关系字段!");
80
44
  }
81
45
  }
82
46
  }
@@ -87,7 +51,7 @@ function checkMasterDetailPathsRepeat(doc, masterPaths, detailPaths) {
87
51
  _.each(detailPaths, (detailPathItems) => {
88
52
  const repeatName = objectql.getRepeatObjectNameFromPaths([masterPathItems.concat(detailPathItems)]);
89
53
  if (repeatName) {
90
- throw new Meteor.Error(doc.name, "您无法创建此类字段,因为在主表子表关系链条中存在同名对象:" + repeatName);
54
+ throw new Error("您无法创建此类字段,因为在主表子表关系链条中存在同名对象:" + repeatName);
91
55
  }
92
56
  });
93
57
  });
@@ -98,16 +62,16 @@ async function checkMasterDetailTypeField(doc, oldReferenceTo) {
98
62
  return;
99
63
  }
100
64
  if (doc.reference_to === doc.object) {
101
- throw new Meteor.Error(doc.name, "您无法创建一个指向自身的[主表/子表]类型字段!");
65
+ throw new Error("您无法创建一个指向自身的[主表/子表]类型字段!");
102
66
  }
103
67
  const obj = objectql.getObject(doc.object);
104
68
  if (!obj) {
105
- throw new Meteor.Error(doc.name, `所属对象未加载!`);
69
+ throw new Error(`所属对象未加载!`);
106
70
  }
107
71
 
108
72
  const refObj = objectql.getObject(doc.reference_to);
109
73
  if (!refObj) {
110
- throw new Meteor.Error(doc.name, `引用对象未加载!`);
74
+ throw new Error(`引用对象未加载!`);
111
75
  }
112
76
 
113
77
  let currentMasters = await obj.getMasters();
@@ -120,17 +84,17 @@ async function checkMasterDetailTypeField(doc, oldReferenceTo) {
120
84
  }
121
85
 
122
86
  if (currentMasters.indexOf(doc.reference_to) > -1) {
123
- throw new Meteor.Error(doc.name, `该对象上已经存在指向相同“引用对象”的其它主表子表关系,无法创建该字段。`);
87
+ throw new Error(`该对象上已经存在指向相同“引用对象”的其它主表子表关系,无法创建该字段。`);
124
88
  }
125
89
 
126
90
  const mastersCount = currentMasters.length;
127
91
  const detailsCount = currentDetails.length;
128
92
  if (mastersCount > 5) {
129
- throw new Meteor.Error(doc.name, "您无法创建此类型的字段,因为此对象已有5种主表子表关系。");
93
+ throw new Error("您无法创建此类型的字段,因为此对象已有5种主表子表关系。");
130
94
  }
131
95
  // else if (mastersCount > 0) { // 当前对象已经有1个主子表字段
132
96
  // if (detailsCount > 0) { // 当前对象已经作为了其他对象的主子表字段的关联对象
133
- // throw new Meteor.Error(doc.name, "由于此对象上已经存在主表子表关系,同时是另一个主表子表关系的主对象,无法创建此类字段。");
97
+ // throw new Error("由于此对象上已经存在主表子表关系,同时是另一个主表子表关系的主对象,无法创建此类字段。");
134
98
  // }
135
99
  // }
136
100
 
@@ -143,19 +107,19 @@ async function checkMasterDetailTypeField(doc, oldReferenceTo) {
143
107
  const maxDetailLeave = await obj.getMaxDetailsLeave(detailPaths);
144
108
  // console.log("===maxDetailLeave===", maxDetailLeave);
145
109
  if (maxDetailLeave > MAX_MASTER_DETAIL_LEAVE - 1) {
146
- throw new Meteor.Error(doc.name, "您无法创建此类字段,因为这将超出主表子表关系的最大深度。");
110
+ throw new Error("您无法创建此类字段,因为这将超出主表子表关系的最大深度。");
147
111
  }
148
112
 
149
113
  // 新加主表子表关系后,当前对象作为子表往上和往下加起来最多允许有MAX_DETAIL_LEAVE层深度。
150
114
  const maxMasterLeave = await refObj.getMaxMastersLeave(masterPaths);
151
115
  // console.log("===maxMasterLeave===", maxMasterLeave);
152
116
  if (maxMasterLeave + maxDetailLeave > MAX_MASTER_DETAIL_LEAVE - 1) {
153
- throw new Meteor.Error(doc.name, "您无法创建此类字段,因为这将超出主表子表关系的最大深度。");
117
+ throw new Error("您无法创建此类字段,因为这将超出主表子表关系的最大深度。");
154
118
  }
155
119
  // let fields = await obj.getFields();
156
120
  // const ownerField = _.find(fields, (n) => { return n.name === "owner"; });
157
121
  // if (!ownerField.omit) {
158
- // throw new Meteor.Error(doc.name, "您无法创建此类字段,因为该对象上“所有者”字段未勾选“新建、编辑时隐藏”属性。");
122
+ // throw new Error("您无法创建此类字段,因为该对象上“所有者”字段未勾选“新建、编辑时隐藏”属性。");
159
123
  // }
160
124
  }
161
125
 
@@ -175,9 +139,7 @@ const checkFormulaInfiniteLoop = async function(_doc, oldFieldName){
175
139
  if(_doc.type === "formula"){
176
140
  doc = clone(_doc)
177
141
  delete doc._id
178
- const objectConfig = objectql.wrapAsync(async function(){
179
- return await objectql.getObject(doc.object).toConfig();
180
- })
142
+ const objectConfig = await objectql.getObject(doc.object).toConfig();
181
143
  // objectCore.loadDBObject(objectConfig)
182
144
  delete objectConfig._id;
183
145
  try {
@@ -216,53 +178,6 @@ const initSummaryDoc = async (doc) => {
216
178
  }
217
179
 
218
180
  module.exports = {
219
- afterFind: async function(){
220
-
221
-
222
- _.each(this.data.values, (item)=>{
223
- item.is_customize = true
224
- })
225
-
226
- let filters = InternalData.parserFilters(this.query.filters);
227
- let objectName = filters.object;
228
- if(!objectName && filters._id && filters._id.indexOf(".") > -1){
229
- objectName = filters._id.split('.')[0];
230
- }
231
- if(objectName){
232
- let fields = await InternalData.getObjectFields(objectName, this.userId, filters.name ? true : false);
233
- if(fields){
234
- const cloneValues = clone(this.data.values, false);
235
- _.each(fields, (field)=>{
236
- if(!_.find(this.data.values, (item)=>{
237
- return item.object == field.object && item.name == field.name
238
- })){
239
- cloneValues.push(Object.assign({_id: `${objectName}.${field.name}`}, field))
240
- }
241
- })
242
- // this.data.values = this.data.values.concat(fields)
243
- this.data.values = objectql.getSteedosSchema().metadataDriver.find(cloneValues, this.query, this.spaceId);
244
- }
245
- }
246
-
247
- const dbSystemField = _.find(this.data.values, (field)=>{return field.is_system && field._id && field._id.indexOf('.') == -1})
248
- if(dbSystemField){
249
- const obj = await InternalData.getObject(dbSystemField.object, this.userId)
250
- if(obj){
251
- this.data.values = _.map(this.data.values, (item)=>{
252
- if(item.is_system){
253
- const mField = _.find(obj.fields, (field)=>{return field.name === item.name})
254
- if(mField){
255
- return Object.assign(item, mField, mField?.override || {})
256
- }else{
257
- return item;
258
- }
259
- }else{
260
- return item;
261
- }
262
- })
263
- }
264
- }
265
- },
266
181
  beforeFind: async function(){
267
182
  const { query } = this;
268
183
  if(query.fields && _.isArray(query.fields) && !_.include(query.fields, 'object')){
@@ -274,37 +189,18 @@ module.exports = {
274
189
  if(query.fields && _.isArray(query.fields) && !_.include(query.fields, 'type')){
275
190
  query.fields.push('type')
276
191
  }
277
-
278
-
279
- let filters = InternalData.parserFilters(this.query.filters);
280
- if(filters._id && _.isString(filters._id) && filters._id.indexOf(".") > -1){
281
- const [objectName, fieldName] = filters._id.split('.');
282
- query.filters = [['object', '=', objectName], ['name', '=', fieldName]]
283
- }
284
-
285
-
286
- },
287
- afterCount: async function(){
288
- let result = await objectql.getObject('object_fields').find(this.query, await auth.getSessionByUserId(this.userId, this.spaceId))
289
- this.data.values = result.length;
290
- },
291
- afterFindOne: async function(){
292
- if(_.isEmpty(this.data.values)){
293
- let id = this.id
294
- let objectName = id.substr(0, id.indexOf("."));
295
- if(objectName){
296
- let field = await InternalData.getObjectField(objectName, this.userId, id);
297
- if(field){
298
- this.data.values = field;
299
- }
300
- }
301
- }else{
302
- this.data.values.is_customize = true
303
- }
304
192
  },
305
193
  beforeInsert: async function () {
306
194
  let doc = this.doc;
307
195
  delete doc.is_customize
196
+
197
+ if(['name','owner','parent','children'].indexOf(doc._name)>-1 || doc._name && doc.is_system){
198
+ doc.name = doc._name;
199
+ }else{
200
+ doc.name = getFieldName(doc.object,doc._name,doc.space);
201
+ }
202
+
203
+
308
204
  validateDoc(doc);
309
205
  await checkFormulaInfiniteLoop(doc);
310
206
  await checkMasterDetailTypeField(doc);
@@ -319,10 +215,10 @@ module.exports = {
319
215
  const value = item.value;
320
216
  const numberValue = Number(item.value);
321
217
  if( doc.data_type === 'number' && !(_.isNumber(numberValue) && !_.isNaN(numberValue)) ){
322
- throw new Meteor.Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入合法的数值。");
218
+ throw new Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入合法的数值。");
323
219
  }
324
220
  if( doc.data_type === 'boolean' && ['true','false'].indexOf(value) < 0){
325
- throw new Meteor.Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入 true 或 false。");
221
+ throw new Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入 true 或 false。");
326
222
  }
327
223
  })
328
224
  }
@@ -331,15 +227,16 @@ module.exports = {
331
227
  let { doc, object_name, id} = this;
332
228
  delete doc.is_customize
333
229
  validateDoc(doc);
334
- // const dbDoc = await objectql.getObject(object_name).findOne(id)
335
- const dbDoc = objectql.wrapAsync(async function(){
336
- return await objectql.getObject(object_name).findOne(id)
337
- })
230
+ const dbDoc = await objectql.getObject(object_name).findOne(id)
338
231
 
339
232
  if(doc && _.has(doc, 'multiple') && doc.multiple != dbDoc.multiple){
340
233
  throw new Error('禁止单选、多选切换')
341
234
  }
342
235
 
236
+ if(_.has(doc, "_name") && dbDoc._name != doc._name){
237
+ doc.name = getFieldName(doc.object, doc._name, doc.space, doc.name);
238
+ }
239
+
343
240
  let oldReferenceTo = dbDoc.type === "master_detail" && dbDoc.reference_to;
344
241
  await checkFormulaInfiniteLoop(doc, dbDoc.name);
345
242
  await checkMasterDetailTypeField(doc, oldReferenceTo);
@@ -359,7 +256,7 @@ module.exports = {
359
256
  isImportField = true;
360
257
  }
361
258
  if(isImportField){
362
- throw new Meteor.Error(500, "字段parent、children是启用树状结构显示记录的对象的内置字段,不能修改其”所属对象、字段名、字段类型、引用对象、多选、新建/编辑时隐藏”等属性");
259
+ throw new Error(500, "字段parent、children是启用树状结构显示记录的对象的内置字段,不能修改其”所属对象、字段名、字段类型、引用对象、多选、新建/编辑时隐藏”等属性");
363
260
  }
364
261
  }
365
262
 
@@ -369,11 +266,11 @@ module.exports = {
369
266
  const value = item.value;
370
267
  const numberValue = Number(item.value);
371
268
  if( doc.data_type === 'number' && !(_.isNumber(numberValue) && !_.isNaN(numberValue)) ){
372
- throw new Meteor.Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入合法的数值。");
269
+ throw new Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入合法的数值。");
373
270
  }
374
271
  // console.log('doc==>',doc.data_type , value)
375
272
  if( doc.data_type === 'boolean' && ['true','false'].indexOf(value) < 0){
376
- throw new Meteor.Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入 true 或 false。");
273
+ throw new Error(500, "选择项中的选项值类型应该与数据类型值一致, 请输入 true 或 false。");
377
274
  }
378
275
  })
379
276
  }
@@ -399,7 +296,7 @@ module.exports = {
399
296
  const field = await this.getObject(this.object_name).findOne(this.id,{fields:['name','object']});
400
297
  const enable_tree = await objectql.getObject(field.object).enable_tree;
401
298
  if( ["parent","children"].indexOf(field.name) > -1 && enable_tree ){
402
- throw new Meteor.Error(500, "启用树状结构显示记录的对象不能删除parent、children字段。");
299
+ throw new Error(500, "启用树状结构显示记录的对象不能删除parent、children字段。");
403
300
  }
404
301
  },
405
302
 
@@ -1,8 +1,5 @@
1
1
  const _ = require("underscore");
2
2
  const objectql = require('@steedos/objectql');
3
- const auth = require('@steedos/auth');
4
- const InternalData = require('@steedos/standard-objects').internalData;
5
- const util = require('@steedos/standard-objects').util
6
3
  function check(spaceId, objectName, profiles, id){
7
4
  let query = {
8
5
  object_name: objectName,
@@ -43,7 +40,7 @@ module.exports = {
43
40
  let doc = this.doc
44
41
  check(this.spaceId, doc.object_name, doc.profiles);
45
42
 
46
- await util.checkAPIName(this.object_name, 'name', this.doc.name, undefined, [['is_system','!=', true], ['object_name','=', doc.object_name]]);
43
+ await objectql.checkAPIName(this.object_name, 'name', this.doc.name, undefined, [['is_system','!=', true], ['object_name','=', doc.object_name]]);
47
44
 
48
45
  if(doc.fields){
49
46
  _.each(doc.fields, function(field){
@@ -59,7 +56,7 @@ module.exports = {
59
56
  let record = Creator.getCollection("object_layouts").findOne({_id: id}) || {};
60
57
  check(this.spaceId, doc.object_name || record.object_name, doc.profiles || record.profiles, id);
61
58
  if (_.has(doc, 'name')) {
62
- await util.checkAPIName(this.object_name, 'name', doc.name, this.id, [['is_system','!=', true], ['object_name','=', doc.object_name || record.object_name]]);
59
+ await objectql.checkAPIName(this.object_name, 'name', doc.name, this.id, [['is_system','!=', true], ['object_name','=', doc.object_name || record.object_name]]);
63
60
  }
64
61
 
65
62
  if(doc.fields){
@@ -69,88 +66,5 @@ module.exports = {
69
66
  }
70
67
  })
71
68
  }
72
- },
73
- afterFind: async function(){
74
- let filters = InternalData.parserFilters(this.query.filters)
75
- let layouts = []
76
- if(filters._id && !filters._id.$ne){
77
- let id = filters._id
78
- id = id.replace(/\\/g, '');
79
- let objectName = id.substr(0, id.indexOf("."));
80
- if(objectName){
81
- let layout = await InternalData.getObjectLayout(id);
82
- if(layout){
83
- layouts = [layout]
84
- }
85
- }
86
- }else if(filters.object_name){
87
- layouts = await InternalData.getObjectLayouts(filters.object_name, this.spaceId);
88
- }
89
-
90
- layouts = await getInternalLatouts(layouts, filters);
91
-
92
- if(layouts){
93
- this.data.values = this.data.values.concat(_.filter(layouts, function(layout){return layout._id && layout._id.indexOf('.') > 0 }))
94
- }
95
- },
96
- afterAggregate: async function(){
97
- let filters = InternalData.parserFilters(this.query.filters)
98
- let layouts = []
99
- if(filters._id && !filters._id.$ne){
100
- let id = filters._id
101
- id = id.replace(/\\/g, '');
102
- let objectName = id.substr(0, id.indexOf("."));
103
- if(objectName){
104
- let layout = await InternalData.getObjectLayout(id);
105
- if(layout){
106
- layouts = [layout]
107
- }
108
- }
109
- }else if(filters.object_name){
110
- layouts = await InternalData.getObjectLayouts(filters.object_name, this.spaceId);
111
- }
112
-
113
- layouts = await getInternalLatouts(layouts, filters);
114
-
115
- if(layouts){
116
- this.data.values = this.data.values.concat(_.filter(layouts, function(layout){return layout._id && layout._id.indexOf('.') > 0 }))
117
- }
118
- },
119
- afterCount: async function(){
120
- // let result = await objectql.getObject('object_layouts').find(this.query, await auth.getSessionByUserId(this.userId, this.spaceId))
121
- // this.data.values = result.length;
122
- let filters = InternalData.parserFilters(this.query.filters)
123
- let layouts = []
124
- if(filters._id && !filters._id.$ne){
125
- let id = filters._id
126
- id = id.replace(/\\/g, '');
127
- let objectName = id.substr(0, id.indexOf("."));
128
- if(objectName){
129
- let layout = await InternalData.getObjectLayout(id);
130
- if(layout){
131
- layouts = [layout]
132
- }
133
- }
134
- }else if(filters.object_name){
135
- layouts = await InternalData.getObjectLayouts(filters.object_name, this.spaceId);
136
- }
137
-
138
- layouts = await getInternalLatouts(layouts, filters);
139
-
140
- if(layouts){
141
- this.data.values = this.data.values + _.filter(layouts, function(layout){return layout._id && layout._id.indexOf('.') > 0 }).length
142
- }
143
- },
144
- afterFindOne: async function(){
145
- if(_.isEmpty(this.data.values)){
146
- let id = this.id
147
- let objectName = id.substr(0, id.indexOf("."));
148
- if(objectName){
149
- let layout = await InternalData.getObjectLayout(id);
150
- if(layout){
151
- this.data.values = layout;
152
- }
153
- }
154
- }
155
69
  }
156
70
  }
@@ -1,37 +1,22 @@
1
- const InternalData = require('@steedos/standard-objects').internalData;
2
- const util = require('@steedos/standard-objects').util;
3
1
  const objectql = require('@steedos/objectql');
4
2
  const auth = require("@steedos/auth");
5
-
6
- const getInternalListviews = async function(sourceListviews, filters, is_system){
7
- let collection = await objectql.getObject("object_listviews");
8
- let dbListviews = await collection.directFind({filters, fields:['_id', 'name']});
9
- let listviews = [];
10
-
11
- if(!is_system){
12
- _.forEach(sourceListviews, function(doc){
13
- if(!_.find(dbListviews, function(p){
14
- return p.name === doc.name
15
- })){
16
- listviews.push(doc);
17
- }
18
- })
19
- }
20
- return listviews;
21
- }
22
-
3
+ const _ = require('underscore');
23
4
  module.exports = {
24
5
  beforeInsert: async function () {
25
6
  const { userId, spaceId } = this;
7
+ const obj = objectql.getObject("object_listviews")
26
8
  if(userId && spaceId){
27
9
  const userSession = await auth.getSessionByUserId(userId, spaceId);
28
10
  if(userSession){
29
- const { allowCreateListViews } = await objectql.getObject("object_listviews").getUserObjectPermission(userSession, false);
11
+ const { allowCreateListViews } = await obj.getUserObjectPermission(userSession, false);
30
12
  if(!allowCreateListViews){
31
13
  throw new Error('没有权限创建视图')
32
14
  }
33
15
  }
34
16
  }
17
+ if(!this.doc._id){
18
+ this.doc._id = await obj._makeNewID()
19
+ }
35
20
  if (!this.doc.name) {
36
21
  this.doc.name = 'listview_' + this.doc._id.toLowerCase();
37
22
  }
@@ -43,7 +28,7 @@ module.exports = {
43
28
  }
44
29
  ]
45
30
  }
46
- await util.checkAPIName(this.object_name, 'name', this.doc.name, undefined, [['is_system','!=', true], ['object_name','=', this.doc.object_name]]);
31
+ await objectql.checkAPIName(this.object_name, 'name', this.doc.name, undefined, [['is_system','!=', true], ['object_name','=', this.doc.object_name]]);
47
32
  },
48
33
  beforeUpdate: async function () {
49
34
  const oldDoc = await objectql.getObject(this.object_name).findOne(this.id)
@@ -60,111 +45,7 @@ module.exports = {
60
45
  throw new Error('禁止修改「all」视图的API Name')
61
46
  }
62
47
 
63
- await util.checkAPIName(this.object_name, 'name', name, this.id, [['is_system','!=', true], ['object_name','=', object_name]]);
64
- },
65
- afterFind: async function(){
66
- let filters = InternalData.parserFilters(this.query.filters)
67
- let views = []
68
- if(filters._id && !filters._id.$ne){
69
- let id = filters._id
70
- if(_.isString(id)){
71
- id = id.replace(/\\/g, ''); // string类型才有replce方法
72
- let objectName = id.substr(0, id.indexOf("."));
73
- if(objectName){
74
- let view = await InternalData.getObjectListView(objectName, this.userId, id);
75
- if(view){
76
- views = [view];
77
- }
78
- }
79
- }
80
- else if (id.$in) {
81
- for (const _id of id.$in) {
82
- if(_.isString(_id) && _id.indexOf('.') > 0){
83
- let objectName = _id.split('.')[0];
84
- let view = await InternalData.getObjectListView(objectName, this.userId, _id);
85
- if(view){
86
- if (_.isArray(this.query.fields)) {
87
- const fields = ["_id"].concat(this.query.fields);
88
- view = _.pick(view, fields);
89
- }
90
- views.push(view);
91
- }
92
- }
93
- }
94
- }
95
- }else if(filters.object_name){
96
- views = await InternalData.getObjectListViews(filters.object_name, this.userId);
97
- }
98
-
99
- views = await getInternalListviews(views, this.query.filters, filters.is_system);
100
-
101
- if(views){
102
- this.data.values = this.data.values.concat(views)
103
- }
104
- },
105
- afterAggregate: async function(){
106
- let filters = InternalData.parserFilters(this.query.filters)
107
- let views = []
108
- if(filters._id && !filters._id.$ne){
109
- let id = filters._id
110
- id = id.replace(/\\/g, '');
111
- if(_.isString(id)){
112
- let objectName = id.substr(0, id.indexOf("."));
113
- if(objectName){
114
- let view = await InternalData.getObjectListView(objectName, this.userId, id);
115
- if(view){
116
- views = [view];
117
- }
118
- }
119
- }
120
- }else if(filters.object_name){
121
- views = await InternalData.getObjectListViews(filters.object_name, this.userId);
122
- }
123
-
124
- views = await getInternalListviews(views, this.query.filters, filters.is_system);
125
-
126
- if(views){
127
- this.data.values = this.data.values.concat(views)
128
- }
129
- },
130
- afterCount: async function(){
131
- let filters = InternalData.parserFilters(this.query.filters)
132
- let views = []
133
- if(filters._id && !filters._id.$ne){
134
- let id = filters._id
135
- id = id.replace(/\\/g, '');
136
- if(_.isString(id)){
137
- let objectName = id.substr(0, id.indexOf("."));
138
- if(objectName){
139
- let view = await InternalData.getObjectListView(objectName, this.userId, id);
140
- if(view){
141
- views = [view];
142
- }
143
- }
144
- }
145
- }else if(filters.object_name){
146
- views = await InternalData.getObjectListViews(filters.object_name, this.userId);
147
- }
148
-
149
- views = await getInternalListviews(views, this.query.filters, filters.is_system);
150
-
151
- if(views){
152
- this.data.values = this.data.values + views.length
153
- }
154
- },
155
- afterFindOne: async function(){
156
- if(_.isEmpty(this.data.values)){
157
- let id = this.id
158
- if(_.isString(id)){
159
- let objectName = id.substr(0, id.indexOf("."));
160
- if(objectName){
161
- let view = await InternalData.getObjectListView(objectName, this.userId, id);
162
- if(view){
163
- this.data.values = view;
164
- }
165
- }
166
- }
167
- }
48
+ await objectql.checkAPIName(this.object_name, 'name', name, this.id, [['is_system','!=', true], ['object_name','=', object_name]]);
168
49
  },
169
50
  beforeDelete: async function(){
170
51
  const { id } = this;
@@ -4,58 +4,16 @@
4
4
  * @Description:
5
5
  */
6
6
  const _ = require("underscore");
7
- const util = require('@steedos/standard-objects').util;
8
7
  const objectql = require("@steedos/objectql");
9
- const register = require('@steedos/metadata-registrar')
10
- const auth = require('@steedos/auth');
11
- const clone = require('clone');
12
8
 
13
9
  module.exports = {
14
- beforeFind: async function(){
15
- delete this.query.fields;
16
- },
17
- afterFind: async function(){
18
- const { spaceId } = this;
19
- let dataList = await register.getAllObjectValidationRules();
20
- if (!_.isEmpty(dataList)) {
21
- const cloneValues = clone(this.data.values, false);
22
- dataList.forEach((doc) => {
23
- if (!_.find(this.data.values, (value) => {
24
- return value.name === doc.name
25
- })) {
26
- cloneValues.push(doc);
27
- }
28
- })
29
- const records = objectql.getSteedosSchema().metadataDriver.find(cloneValues, this.query, spaceId);
30
- if (records.length > 0) {
31
- this.data.values = records;
32
- } else {
33
- this.data.values.length = 0;
34
- }
35
- }
36
-
37
- },
38
- afterCount: async function(){
39
- delete this.query.fields;
40
- let result = await objectql.getObject(this.object_name).find(this.query, await auth.getSessionByUserId(this.userId, this.spaceId))
41
- this.data.values = result.length;
42
- },
43
- afterFindOne: async function(){
44
- if (_.isEmpty(this.data.values)) {
45
- const all = await register.getAllObjectValidationRules();
46
- const id = this.id;
47
- this.data.values = _.find(all, function (item) {
48
- return item._id === id
49
- });
50
- }
51
- },
52
10
  beforeInsert: async function () {
53
- await util.checkAPIName(this.object_name, 'name', this.doc.name, undefined, [['is_system','!=', true]]);
11
+ await objectql.checkAPIName(this.object_name, 'name', this.doc.name, undefined, [['is_system','!=', true]]);
54
12
 
55
13
  },
56
14
  beforeUpdate: async function () {
57
15
  if (_.has(this.doc, 'name')) {
58
- await util.checkAPIName(this.object_name, 'name', this.doc.name, this.id, [['is_system','!=', true]]);
16
+ await objectql.checkAPIName(this.object_name, 'name', this.doc.name, this.id, [['is_system','!=', true]]);
59
17
  }
60
18
  }
61
19
  }