@steedos/standard-object-database 2.7.1-beta.2 → 2.7.1-beta.21

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 (78) hide show
  1. package/main/default/objectTranslations/object_functions.en/object_functions.en.objectTranslation.yml +60 -0
  2. package/main/default/objectTranslations/object_functions.zh-CN/object_functions.zh-CN.objectTranslation.yml +57 -0
  3. package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml +46 -0
  4. package/main/default/objectTranslations/object_webhooks.zh-CN/object_webhooks.zh-CN.objectTranslation.yml +48 -0
  5. package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +4 -0
  6. package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +4 -0
  7. package/main/default/objects/datasources/fields/driver.field.yml +1 -0
  8. package/main/default/objects/datasources/fields/is_enable.field.yml +1 -0
  9. package/main/default/objects/datasources/fields/label.field.yml +2 -0
  10. package/main/default/objects/datasources/fields/name.field.yml +1 -0
  11. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.from.field.yml +8 -6
  12. package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +13 -0
  13. package/main/default/objects/object_fields/fields/auto_fill_mapping.field.yml +1 -1
  14. package/main/default/objects/object_fields/fields/is_name.field.yml +1 -0
  15. package/main/default/objects/object_fields/fields/sortable.field.yml +0 -1
  16. package/main/default/objects/object_fields/fields/summary_filters.field.yml +1 -1
  17. package/main/default/objects/object_functions/buttons/standard_new.button.js +16 -0
  18. package/main/default/objects/object_functions/fields/_name.field.yml +7 -0
  19. package/main/default/objects/object_functions/fields/description.field.yml +5 -0
  20. package/main/default/objects/object_functions/fields/isEnabled.field.yml +5 -0
  21. package/main/default/objects/object_functions/fields/is_rest.field.yml +5 -0
  22. package/main/default/objects/object_functions/fields/is_system.field.yml +7 -0
  23. package/main/default/objects/object_functions/fields/name.field.yml +8 -0
  24. package/main/default/objects/object_functions/fields/objectApiName.field.yml +7 -0
  25. package/main/default/objects/object_functions/fields/record_permissions.field.yml +4 -0
  26. package/main/default/objects/object_functions/fields/script.field.yml +24 -0
  27. package/main/default/objects/object_functions/listviews/all.listview.yml +9 -0
  28. package/main/default/objects/object_functions/listviews/customize.listview.yml +13 -0
  29. package/main/default/objects/object_functions/object_functions.object.yml +8 -0
  30. package/main/default/objects/object_functions/permissions/admin.permission.yml +7 -0
  31. package/main/default/objects/object_functions/permissions/user.permission.yml +7 -0
  32. package/main/default/objects/object_listviews/buttons/customize.button.js +1 -1
  33. package/main/default/objects/object_triggers/fields/_name.field.yml +1 -0
  34. package/main/default/objects/object_triggers/fields/isEnabled.field.yml +1 -0
  35. package/main/default/objects/object_triggers/fields/listenTo.field.yml +1 -0
  36. package/main/default/objects/object_triggers/fields/name.field.yml +1 -0
  37. package/main/default/objects/object_triggers/fields/when.field.yml +1 -0
  38. package/main/default/objects/object_validation_rules/fields/active.field.yml +1 -0
  39. package/main/default/objects/object_validation_rules/fields/description.field.yml +1 -0
  40. package/main/default/objects/object_validation_rules/fields/name.field.yml +2 -0
  41. package/main/default/objects/object_validation_rules/fields/object_name.field.yml +1 -0
  42. package/main/default/objects/object_webhooks/fields/active.field.yml +5 -0
  43. package/main/default/objects/object_webhooks/fields/condition.field.yml +6 -0
  44. package/main/default/objects/object_webhooks/fields/content_type.field.yml +5 -0
  45. package/main/default/objects/object_webhooks/fields/event.field.yml +16 -0
  46. package/main/default/objects/object_webhooks/fields/execute_when.field.yml +13 -0
  47. package/main/default/objects/object_webhooks/fields/fields.field.yml +28 -0
  48. package/main/default/objects/object_webhooks/fields/name.field.yml +7 -0
  49. package/main/default/objects/object_webhooks/fields/object_name.field.yml +10 -0
  50. package/main/default/objects/object_webhooks/fields/payload_url.field.yml +9 -0
  51. package/main/default/objects/object_webhooks/listviews/all.listview.yml +9 -0
  52. package/main/default/objects/object_webhooks/object_webhooks.object.yml +5 -0
  53. package/main/default/objects/object_webhooks/permissions/admin.permission.yml +7 -0
  54. package/main/default/objects/object_webhooks/permissions/user.permission.yml +7 -0
  55. package/main/default/objects/objects/fields/description.field.yml +1 -0
  56. package/main/default/objects/objects/fields/enable_form_tabs.field.yml +6 -0
  57. package/main/default/objects/objects/fields/in_development.field.yml +2 -0
  58. package/main/default/objects/objects/fields/is_customize.field.yml +1 -0
  59. package/main/default/objects/objects/fields/is_system.field.yml +1 -0
  60. package/main/default/objects/objects/listviews/customize.listview.yml +1 -1
  61. package/main/default/pages/design_field_layout.page.amis.json +285 -215
  62. package/main/default/pages/object_detail.page.amis.json +13 -0
  63. package/main/default/pages/object_fields_form.page.amis.json +38 -10
  64. package/main/default/pages/object_webhooks_form.page.amis.json +51 -0
  65. package/main/default/pages/object_webhooks_form.page.yml +12 -0
  66. package/main/default/server/object_fields.object.js +4 -2
  67. package/main/default/server/objects.object.js +2 -1
  68. package/main/default/services/object_webhooks.service.js +141 -0
  69. package/main/default/services/suggestions.service.js +92 -0
  70. package/main/default/triggers/datasources.trigger.js +9 -2
  71. package/main/default/triggers/object_actions.trigger.js +6 -4
  72. package/main/default/triggers/object_fields.trigger.js +3 -25
  73. package/main/default/triggers/object_functions.trigger.js +104 -0
  74. package/main/default/triggers/object_triggers.trigger.js +2 -2
  75. package/main/default/triggers/object_validation_rules.trigger.js +4 -5
  76. package/main/default/triggers/objects.trigger.js +20 -3
  77. package/package.json +8 -4
  78. package/package.service.js +3 -2
@@ -8,26 +8,25 @@ const util = require('@steedos/standard-objects').util;
8
8
  const objectql = require("@steedos/objectql");
9
9
  const register = require('@steedos/metadata-registrar')
10
10
  const auth = require('@steedos/auth');
11
+ const clone = require('clone');
11
12
 
12
13
  module.exports = {
13
14
  beforeFind: async function(){
14
15
  delete this.query.fields;
15
16
  },
16
- beforeAggregate: async function(){
17
- delete this.query.fields;
18
- },
19
17
  afterFind: async function(){
20
18
  const { spaceId } = this;
21
19
  let dataList = await register.getAllObjectValidationRules();
22
20
  if (!_.isEmpty(dataList)) {
21
+ const cloneValues = clone(this.data.values, false);
23
22
  dataList.forEach((doc) => {
24
23
  if (!_.find(this.data.values, (value) => {
25
24
  return value.name === doc.name
26
25
  })) {
27
- this.data.values.push(doc);
26
+ cloneValues.push(doc);
28
27
  }
29
28
  })
30
- const records = objectql.getSteedosSchema().metadataDriver.find(this.data.values, this.query, spaceId);
29
+ const records = objectql.getSteedosSchema().metadataDriver.find(cloneValues, this.query, spaceId);
31
30
  if (records.length > 0) {
32
31
  this.data.values = records;
33
32
  } else {
@@ -2,7 +2,7 @@ const InternalData = require('@steedos/standard-objects').internalData;
2
2
  const _ = require('underscore');
3
3
  const objectql = require('@steedos/objectql');
4
4
  const objectTree = require('../server/objects.tree.js');
5
-
5
+ const clone = require('clone');
6
6
  const sleep = async (ms) => new Promise(resolve => setTimeout(resolve, ms));
7
7
 
8
8
  module.exports = {
@@ -18,13 +18,25 @@ module.exports = {
18
18
  let userId = this.userId
19
19
  let spaceId = this.spaceId;
20
20
 
21
+ let filters = InternalData.parserFilters(this.query.filters);
22
+
21
23
  _.each(this.data.values, (item)=>{
22
24
  item.is_customize = true
23
25
  })
24
26
 
25
- this.data.values = this.data.values.concat(await InternalData.getObjects(userId));
27
+ let cloneValues = clone(this.data.values, false);
28
+
29
+ if(filters.is_customize){
30
+ const dbObjects = await objectql.getObject('objects').directFind({space: spaceId});
31
+ _.each(dbObjects, (item)=>{
32
+ item.is_customize = true
33
+ })
34
+ cloneValues = cloneValues.concat(dbObjects);
35
+ }
36
+
37
+ cloneValues = cloneValues.concat(await InternalData.getObjects(userId));
26
38
 
27
- this.data.values = objectql.getSteedosSchema().metadataDriver.find(this.data.values, this.query, spaceId);
39
+ this.data.values = objectql.getSteedosSchema().metadataDriver.find(cloneValues, this.query, spaceId);
28
40
 
29
41
  _.each(this.data.values, function(value){
30
42
  if(value){
@@ -39,6 +51,11 @@ module.exports = {
39
51
  afterCount: async function(){
40
52
  let userId = this.userId
41
53
  let spaceId = this.spaceId;
54
+ let filters = InternalData.parserFilters(this.query.filters);
55
+ if(filters.is_customize){
56
+ const dbObjects = await objectql.getObject('objects').directFind({space: spaceId});
57
+ return this.data.values = dbObjects.length;
58
+ }
42
59
  this.data.values = this.data.values + objectql.getSteedosSchema().metadataDriver.count(await InternalData.getObjects(userId), this.query, spaceId);
43
60
  },
44
61
  afterFindOne: async function(){
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/standard-object-database",
3
- "version": "2.7.1-beta.2",
3
+ "version": "2.7.1-beta.21",
4
4
  "main": "package.service.js",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -12,10 +12,14 @@
12
12
  "description": "steedos package",
13
13
  "dependencies": {
14
14
  "@steedos-widgets/amis-lib": "^1.0.22",
15
- "@steedos/metadata-core": "2.7.1-beta.2",
16
- "@steedos/standard-objects": "2.7.1-beta.2"
15
+ "@steedos/metadata-core": "2.7.1-beta.21",
16
+ "@steedos/service-object-mixin": "2.7.1-beta.21",
17
+ "@steedos/standard-objects": "2.7.1-beta.21",
18
+ "amis-formula": "~6.3.0",
19
+ "clone": "^2.1.2",
20
+ "moleculer-bullmq": "3.0.0"
17
21
  },
18
22
  "repository": {},
19
23
  "license": "MIT",
20
- "gitHead": "1d02bc68fd5dcb00731fffa27684f187c7448b57"
24
+ "gitHead": "ff50ac64e344991378c0d3148410a3c8290918f8"
21
25
  }
@@ -166,8 +166,9 @@ module.exports = {
166
166
  const dbRecord = await object.directFind({filters: ['_id','=',id]});
167
167
  if(dbRecord.length === 0){
168
168
  // const newId = await object._makeNewID();
169
- const objectConfig = await object.toConfig();
170
- let field_groups = objectConfig.field_groups || null;
169
+ const curentObject = await this.getObject(name);
170
+ const curentObjectConfig = await curentObject.toConfig();
171
+ let field_groups = curentObjectConfig.field_groups || null;
171
172
 
172
173
  const now = new Date();
173
174
  await object.directInsert(Object.assign({}, data, {