@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,610 +0,0 @@
1
- const { getObject, getObjectConfig } = require('@steedos/objectql');
2
- var objectql = require('@steedos/objectql');
3
- var yaml = require('js-yaml');
4
- const _ = require('underscore');
5
- var objectCore = require('./objects.core.js');
6
- var objectTree = require('./objects.tree.js');
7
- const internalBaseObjects = ['base', 'core'];
8
- const relationalDatabases = ['sqlserver','postgres','oracle','mysql','sqlite'];
9
- function isCodeObjects(name){
10
- if(_.include(internalBaseObjects, name)){
11
- return true;
12
- }
13
- let objMap = objectql.getSteedosSchema().getObjectMap(name);
14
- if(objMap && !objMap._id){
15
- return true;
16
- }
17
- return false;
18
- }
19
-
20
- function isRepeatedName(doc) {
21
- // let datasourceName = objectCore.getDataSourceName(doc);
22
- if(isCodeObjects(doc.name)){
23
- return true;
24
- }
25
-
26
- var other;
27
- other = Creator.getCollection("objects").find({
28
- _id: {
29
- $ne: doc._id
30
- },
31
- // space: doc.space,
32
- name: doc.name
33
- }, {
34
- fields: {
35
- _id: 1,
36
- is_deleted: 1
37
- }
38
- });
39
- if (other.count() > 0) {
40
- const otherObjects = other.fetch();
41
- if(_.find(otherObjects, function(item){
42
- return item.is_deleted
43
- })){
44
- throw new Error('已存在同名对象,请在「已删除」视图中查看')
45
- }else{
46
- return true;
47
- }
48
- }
49
- return false;
50
- };
51
-
52
- function checkName(name,spaceId){
53
- if(objectql.hasObjectSuffix(name, spaceId, true)){
54
- name = name.replace(objectql.getObjectSuffix(spaceId, true), '')
55
- }
56
- var reg = new RegExp('^[a-z]([a-z0-9]|_(?!_))*[a-z0-9]$');
57
- if(!reg.test(name)){
58
- throw new Error("API 名称只能包含小写字母、数字,必须以字母开头,不能以下划线字符结尾或包含两个连续的下划线字符");
59
- }
60
- if(name.length > 50){
61
- throw new Error("名称长度不能大于50个字符");
62
- }
63
- return true
64
- }
65
-
66
- function initObjectPermission(userId, doc){
67
- let lng = Steedos.locale(userId, true)
68
- let spaceId = doc.space;
69
- let psetsAdminId = null;
70
- let psetsAdminLabel = null;
71
- let psetsAdmin = Creator.getCollection("permission_set").findOne({space: spaceId, name: 'admin'});
72
- if(!psetsAdmin){
73
- psetsAdminLabel = TAPi18n.__(`permission_set_admin`, {}, lng)
74
- psetsAdminId = Creator.getCollection("permission_set").insert({space: spaceId, name: 'admin', type: 'profile', label: TAPi18n.__(`permission_set_admin`, {}, lng)});
75
- }else{
76
- psetsAdminLabel = psetsAdmin.label
77
- psetsAdminId = psetsAdmin._id
78
- }
79
- let psetsUserId = null;
80
- let psetsUserLabel = null;
81
- let psetsUserName = null;
82
- let psetsUser = Creator.getCollection("permission_set").findOne({space: spaceId, name: 'user'});
83
- if(!psetsUser){
84
- psetsUserLabel = TAPi18n.__(`permission_set_user`, {}, lng)
85
- psetsUserId = Creator.getCollection("permission_set").insert({space: spaceId, name: 'user', type: 'profile', label: TAPi18n.__(`permission_set_user`, {}, lng)});
86
- }else{
87
- psetsUserLabel = psetsUser.label
88
- psetsUserId = psetsUser._id;
89
- }
90
-
91
- Creator.getCollection("permission_objects").insert(Object.assign({}, Creator.getObject("base").permission_set.user, {
92
- name: doc.name + '.' + "user",
93
- permission_set_id : psetsUserId,
94
- object_name : doc.name,
95
- space: doc.space
96
- }));
97
-
98
- Creator.getCollection("permission_objects").insert(Object.assign({}, Creator.getObject("base").permission_set.admin, {
99
- name: doc.name + '.' + "admin",
100
- permission_set_id : psetsAdminId,
101
- object_name : doc.name,
102
- space: doc.space
103
- }));
104
- }
105
-
106
- function getObjectName(datasource, objectName, spaceId, oldObjectName){
107
- if(datasource && datasource != 'default'){
108
- return objectName;
109
- }else{
110
- if(objectql.hasObjectSuffix(objectName, spaceId)){
111
- return objectName;
112
- }else{
113
- return objectql._makeNewObjectName(objectName, spaceId, oldObjectName);
114
- }
115
- }
116
- }
117
-
118
- function isRelationalDatabase(object){
119
- var datasource = objectCore.getDataSource(object);
120
- if(datasource){
121
- return _.include(relationalDatabases, datasource.driver)
122
- }
123
- }
124
-
125
- function canEnable(object){
126
- if(isRelationalDatabase(object)){
127
- if(!object.fields || !_.isObject(object.fields)){
128
- return false
129
- }else{
130
- var hasPrimary = false;
131
- _.each(object.fields, function(field){
132
- if(field.primary){
133
- hasPrimary = true;
134
- }
135
- })
136
- // console.log('hasPrimary', hasPrimary);
137
- return hasPrimary
138
- }
139
- }
140
- return true;
141
- }
142
-
143
- // Creator.Objects.objects.actions = {
144
- // show_object: {
145
- // label: "Preview",
146
- // visible: true,
147
- // on: "record",
148
- // todo: function (object_name, record_id, item_element) {
149
- // var record = this.record || Creator.getObjectById(record_id);
150
- // if(!record){
151
- // return toastr.error("未找到记录");
152
- // }
153
-
154
- // if(record.is_enable === false){
155
- // return toastr.warning("请先启动对象");
156
- // }
157
-
158
- // if(record.datasource && record.datasource != 'default'){
159
- // var datasource = Creator.odata.get('datasources', record.datasource, 'is_enable');
160
- // if(!datasource){
161
- // return toastr.error("未找到数据源");
162
- // }
163
- // if(!datasource.is_enable){
164
- // return toastr.warning("请先启动数据源");
165
- // }
166
- // }
167
-
168
- // var allViews = Creator.odata.query('object_listviews', {$select: '_id', $filter: `(((contains(tolower(object_name),'${record.name}'))) and ((contains(tolower(name),'all'))))`}, true);
169
-
170
- // if(allViews && allViews.length > 0){
171
- // Steedos.openWindow(Creator.getRelativeUrl("/app/-/" + record.name + "/grid/" + allViews[0]._id))
172
- // }else{
173
- // Steedos.openWindow(Creator.getRelativeUrl("/app/-/" + record.name + "/grid/all"))
174
- // }
175
- // }
176
- // },
177
- // copy_odata: {
178
- // label: "Copy OData URL",
179
- // visible: true,
180
- // on: "record",
181
- // todo: function (object_name, record_id, item_element) {
182
- // var clipboard, o_name, path, record;
183
- // record = this.record || Creator.getObjectById(record_id);
184
- // //enable_api 属性未开放
185
- // if ((record != null ? record.enable_api : void 0) || true) {
186
- // o_name = record != null ? record.name : void 0;
187
- // path = SteedosOData.getODataPath(Session.get("spaceId"), o_name);
188
- // item_element.attr('data-clipboard-text', path);
189
- // if (!item_element.attr('data-clipboard-new')) {
190
- // clipboard = new Clipboard(item_element[0]);
191
- // item_element.attr('data-clipboard-new', true);
192
- // clipboard.on('success', function (e) {
193
- // return toastr.success('复制成功');
194
- // });
195
- // clipboard.on('error', function (e) {
196
- // toastr.error('复制失败');
197
- // return console.error("e");
198
- // });
199
- // if (item_element[0].tagName === 'LI' || item_element.hasClass('view-action')) {
200
- // return item_element.trigger("click");
201
- // }
202
- // }
203
- // } else {
204
- // return toastr.error('复制失败: 未启用API');
205
- // }
206
- // }
207
- // }
208
- // }
209
-
210
- function allowChangeObject(){
211
- var config = objectql.getSteedosConfig();
212
- if(config.tenant && config.tenant.saas){
213
- return false
214
- }else{
215
- return true;
216
- }
217
- }
218
-
219
- function onChangeObjectName(oldName, newDoc){
220
- //修改字段
221
- Creator.getCollection("object_fields").update({space: newDoc.space, object: oldName}, {$set: {object: newDoc.name}}, {
222
- multi: true
223
- });
224
- //修改视图
225
- Creator.getCollection("object_listviews").direct.update({space: newDoc.space, object_name: oldName}, {$set: {object_name: newDoc.name}}, {
226
- multi: true
227
- });
228
- //修改权限
229
- Creator.getCollection("permission_objects").direct.update({space: newDoc.space, object_name: oldName}, {$set: {object_name: newDoc.name}}, {
230
- multi: true
231
- });
232
- //修改action
233
- Creator.getCollection("object_actions").direct.update({space: newDoc.space, object: oldName}, {$set: {object: newDoc.name}}, {
234
- multi: true
235
- });
236
- //修改trigger
237
- Creator.getCollection("object_triggers").direct.update({space: newDoc.space, listenTo: oldName}, {$set: {listenTo: newDoc.name}}, {
238
- multi: true
239
- });
240
- //字段表中的reference_to
241
- Creator.getCollection("object_fields").update({space: newDoc.space, reference_to: oldName}, {$set: {reference_to: newDoc.name}}, {
242
- multi: true
243
- });
244
-
245
- // TODO 确认是否已处理所有相关子表
246
- }
247
-
248
- function beforeRemoveObject(doc){
249
- const objectName = doc.name;
250
- const obj = getObject(objectName);
251
- if(obj && obj.details && obj.details.length){
252
- throw new Meteor.Error(500, `不能删除该对象,因为在已知的主表子表关系中它是以下对象的主对象:${obj.details}`);
253
- }
254
- }
255
-
256
- function beforeRestoreObject(doc){
257
- let fields = Creator.getCollection("object_fields").find({
258
- object: doc.name,
259
- space: doc.space,
260
- type: "master_detail"
261
- }, {
262
- fields: {
263
- reference_to: 1
264
- }
265
- }).fetch();
266
- _.each(fields, (field)=>{
267
- if(field.reference_to && _.isString(field.reference_to)){
268
- let exist = false;
269
- try{
270
- exist = !!getObject(field.reference_to);
271
- }
272
- catch(ex){
273
- exist = false;
274
- }
275
- if(!exist){
276
- throw new Meteor.Error(500, `不能还原该对象,因为在已知的主表子表关系中以下主对象未还原:${field.reference_to}`);
277
- }
278
- }
279
- });
280
- }
281
-
282
- let objectTriggers = {
283
- "before.insert.server.objects": {
284
- on: "server",
285
- when: "before.insert",
286
- todo: function (userId, doc) {
287
- if(!allowChangeObject()){
288
- throw new Meteor.Error(500, "华炎云服务不包含自定义业务对象的功能,请部署私有云版本");
289
- }
290
- checkName(doc.name, doc.space);
291
- doc.name = getObjectName(doc.datasource, doc.name, doc.space);
292
- if (isRepeatedName(doc)) {
293
- throw new Meteor.Error(500, "对象名称不能重复");
294
- }
295
- doc.fields_serial_number = 100;
296
- // if(isRelationalDatabase(doc)){
297
- // doc.is_enable = false;
298
- // }
299
-
300
- doc.custom = true;
301
- }
302
- },
303
- "after.insert.server.objects": {
304
- on: "server",
305
- when: "after.insert",
306
- todo: function (userId, doc) {
307
- //新增object时,默认新建一个name字段
308
- Creator.getCollection("object_fields").insert({
309
- object: doc.name,
310
- owner: userId,
311
- _name: "name",
312
- label: "名称",
313
- space: doc.space,
314
- type: "text",
315
- required: true,
316
- index: true,
317
- searchable: true,
318
- filterable: true,
319
- sort_no: 10
320
- });
321
- Creator.getCollection("object_fields").insert({
322
- object: doc.name,
323
- owner: userId,
324
- _name: "created",
325
- name: "created",
326
- label: "创建时间",
327
- space: doc.space,
328
- type: "datetime",
329
- group: '',
330
- sort_no: 9999,
331
- readonly: true,
332
- disabled: true,
333
- sortable: true
334
- });
335
- Creator.getCollection("object_fields").insert({
336
- object: doc.name,
337
- owner: userId,
338
- _name: "created_by",
339
- name: "created_by",
340
- label: "创建人",
341
- space: doc.space,
342
- type: "lookup",
343
- reference_to: 'users',
344
- group: '',
345
- sort_no: 9999,
346
- readonly: true,
347
- disabled: true,
348
- });
349
- Creator.getCollection("object_fields").insert({
350
- object: doc.name,
351
- owner: userId,
352
- _name: "modified",
353
- name: "modified",
354
- label: "修改时间",
355
- space: doc.space,
356
- type: "datetime",
357
- group: '',
358
- sort_no: 9999,
359
- readonly: true,
360
- disabled: true,
361
- sortable: true
362
- });
363
- Creator.getCollection("object_fields").insert({
364
- object: doc.name,
365
- owner: userId,
366
- _name: "modified_by",
367
- name: "modified_by",
368
- label: "修改人",
369
- space: doc.space,
370
- type: "lookup",
371
- reference_to: 'users',
372
- group: '',
373
- sort_no: 9999,
374
- readonly: true,
375
- disabled: true,
376
- });
377
- // Creator.getCollection("object_fields").insert({
378
- // object: doc.name,
379
- // owner: userId,
380
- // _name: "owner",
381
- // label: "所有者",
382
- // space: doc.space,
383
- // type: "lookup",
384
- // reference_to: "users",
385
- // sortable: true,
386
- // index: true,
387
- // defaultValue: "{userId}",
388
- // omit: true,
389
- // hidden: true
390
- // });
391
- Creator.getCollection("object_listviews").insert({
392
- name: "all",
393
- label: "所有",
394
- space: doc.space,
395
- owner: userId,
396
- object_name: doc.name,
397
- shared_to: "space",
398
- filter_scope: "space",
399
- crud_mode: 'table',
400
- columns: [{field: 'name'}, {field: 'created_by'}, {field: 'created'}],
401
- "sort" : [
402
- {
403
- "field_name" : "created",
404
- "order" : "desc"
405
- }
406
- ]
407
- });
408
- Creator.getCollection("object_listviews").insert({
409
- name: "recent",
410
- label: "最近查看",
411
- space: doc.space,
412
- owner: userId,
413
- object_name: doc.name,
414
- shared_to: "space",
415
- filter_scope: "space",
416
- crud_mode: 'table',
417
- columns: [{field: 'name'}]
418
- });
419
-
420
- initObjectPermission(userId, doc);
421
- }
422
- },
423
- "before.update.server.objects": {
424
- on: "server",
425
- when: "before.update",
426
- todo: function (userId, doc, fieldNames, modifier, options) {
427
- if(!allowChangeObject()){
428
- throw new Meteor.Error(500, "华炎云服务不包含自定义业务对象的功能,请部署私有云版本");
429
- }
430
- modifier.$set = modifier.$set || {}
431
-
432
- if(!doc.is_deleted && modifier.$set.is_deleted){
433
- beforeRemoveObject(doc);
434
- }
435
- else if(doc.is_deleted && !modifier.$set.is_deleted){
436
- beforeRestoreObject(doc);
437
- }
438
- if(modifier.$set.is_enable){
439
- let fields = doc.fields;
440
- if (!fields) {
441
- fields = Creator.getCollection("object_fields").find({space: doc.space, object: doc.name}).fetch();
442
- }
443
- if(!canEnable({fields: fields, datasource: modifier.$set.datasource || doc.datasource})){
444
- // throw new Meteor.Error(500, "不能启用对象,请先配置主键字段");
445
- }
446
- }
447
-
448
- if ((modifier.$set.name && doc.name !== modifier.$set.name) || modifier.$set.datasource && doc.datasource !== modifier.$set.datasource) {
449
- checkName(modifier.$set.name || doc.name);
450
- modifier.$set.name = getObjectName(modifier.$set.datasource || doc.datasource, modifier.$set.name || doc.name, doc.space, doc.name);
451
- if (isRepeatedName({_id: doc._id, name: modifier.$set.name || doc.name, datasource: modifier.$set.datasource || doc.datasource})) {
452
- throw new Meteor.Error(500, "对象名称不能重复");
453
- }
454
- }
455
- if (modifier.$set) {
456
- modifier.$set.custom = true;
457
- }
458
- if (modifier.$unset && modifier.$unset.custom) {
459
- delete modifier.$unset.custom;
460
- }
461
- }
462
- },
463
- "after.update.server.objects": {
464
- on: "server",
465
- when: "after.update",
466
- todo: function (userId, doc, fieldNames, modifier, options) {
467
- var set = modifier.$set || {}
468
- if((set.name || set.datasource) && this.previous.name != doc.name){
469
- onChangeObjectName(this.previous.name, doc);
470
- }
471
- }
472
- },
473
- "before.remove.server.objects": {
474
- on: "server",
475
- when: "before.remove",
476
- todo: function (userId, doc) {
477
- if(!allowChangeObject()){
478
- throw new Meteor.Error(500, "华炎云服务不包含自定义业务对象的功能,请部署私有云版本");
479
- }
480
- beforeRemoveObject(doc);
481
- // var documents, object_collections;
482
- // if (doc.app_unique_id && doc.app_version) {
483
- // return;
484
- // }
485
- // object_collections = Creator.getCollection(doc.name, doc.space);
486
- // documents = object_collections.find({}, {
487
- // fields: {
488
- // _id: 1
489
- // }
490
- // });
491
- // if (documents.count() > 0) {
492
- // throw new Meteor.Error(500, `对象(${doc.name})中已经有记录,请先删除记录后, 再删除此对象`);
493
- // }
494
- }
495
- },
496
- "after.remove.server.objects": {
497
- on: "server",
498
- when: "after.remove",
499
- todo: function (userId, doc) {
500
-
501
- if(!objectql.hasObjectSuffix(doc.name, doc.space) && !doc.datasource){
502
- console.warn('warn: Not remove. Invalid custom object -> ', doc.name);
503
- return;
504
- }
505
-
506
- //删除object 后,自动删除fields、actions、triggers、permission_objects
507
- Creator.getCollection("object_fields").direct.remove({
508
- object: doc.name,
509
- space: doc.space
510
- });
511
-
512
- Creator.getCollection("object_listviews").direct.remove({
513
- object_name: doc.name,
514
- space: doc.space
515
- });
516
-
517
- Creator.getCollection("object_actions").direct.remove({
518
- object: doc.name,
519
- space: doc.space
520
- });
521
-
522
- Creator.getCollection("object_layouts").direct.remove({
523
- object_name: doc.name,
524
- space: doc.space
525
- });
526
-
527
- Creator.getCollection("object_triggers").direct.remove({
528
- object: doc.name,
529
- space: doc.space
530
- });
531
-
532
- Creator.getCollection("permission_objects").direct.remove({
533
- object_name: doc.name,
534
- space: doc.space
535
- });
536
-
537
- Creator.getCollection("permission_fields").direct.remove({
538
- object_name: doc.name,
539
- space: doc.space
540
- });
541
-
542
- Creator.getCollection("object_workflows").direct.remove({
543
- object_name: doc.name,
544
- space: doc.space
545
- });
546
-
547
- Creator.getCollection("object_validation_rules").direct.remove({
548
- object_name: doc.name,
549
- space: doc.space
550
- });
551
-
552
- Creator.getCollection("restriction_rules").direct.remove({
553
- object_name: doc.name,
554
- space: doc.space
555
- });
556
-
557
- Creator.getCollection("share_rules").direct.remove({
558
- object_name: doc.name,
559
- space: doc.space
560
- });
561
-
562
- if(Creator.getCollection("process")){
563
- Creator.getCollection("process").direct.remove({
564
- object_name: doc.name,
565
- space: doc.space
566
- });
567
- }
568
-
569
- Creator.getCollection("pages").direct.remove({
570
- object_name: doc.name,
571
- space: doc.space
572
- });
573
-
574
- Creator.getCollection("tabs").direct.remove({
575
- object: doc.name,
576
- space: doc.space
577
- });
578
- }
579
- },
580
- // "after.update.server.dynamic_load": {
581
- // on: "server",
582
- // when: "after.update",
583
- // todo: function (userId, doc, fieldNames, modifier, options) {
584
- // loadObject(doc);
585
- // }
586
- // }
587
-
588
- }
589
- _.each(Creator.Objects.objects.triggers, function(v, k){
590
- if(k.endsWith('_afterInsert')){
591
- objectTriggers[k] = v
592
- }
593
- })
594
-
595
- Creator.Objects.objects.triggers = Object.assign(Creator.Objects.objects.triggers || {}, objectTriggers);
596
-
597
- // Creator.Objects['objects'].methods = {
598
- // export_yml: async function (req, res) {
599
- // return Fiber(function () {
600
- // let { _id } = req.params
601
- // let obj = Creator.getCollection("objects").findOne({_id: _id})
602
- // let dataStr = yaml.safeDump(obj);
603
- // let fileName = obj.name;
604
- // res.setHeader('Content-type', 'application/x-msdownload');
605
- // res.setHeader('Content-Disposition', 'attachment;filename='+encodeURI(fileName)+'.object.yml');
606
- // res.end(dataStr);
607
- // }).run();
608
-
609
- // }
610
- // }