@steedos/standard-object-database 2.7.1-beta.1 → 2.7.1-beta.10
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.
- package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml +46 -0
- package/main/default/objectTranslations/object_webhooks.zh-CN/object_webhooks.zh-CN.objectTranslation.yml +48 -0
- package/main/default/objectTranslations/objects.en/objects.en.objectTranslation.yml +4 -0
- package/main/default/objectTranslations/objects.zh-CN/objects.zh-CN.objectTranslation.yml +4 -0
- package/main/default/objects/object_fields/fields/auto_fill_mapping.$.from.field.yml +8 -6
- package/main/default/objects/object_fields/fields/auto_fill_mapping.$.to.field.yml +13 -0
- package/main/default/objects/object_fields/fields/auto_fill_mapping.field.yml +1 -1
- package/main/default/objects/object_fields/fields/is_name.field.yml +1 -0
- package/main/default/objects/object_fields/fields/sortable.field.yml +0 -1
- package/main/default/objects/object_webhooks/fields/active.field.yml +5 -0
- package/main/default/objects/object_webhooks/fields/condition.field.yml +6 -0
- package/main/default/objects/object_webhooks/fields/content_type.field.yml +5 -0
- package/main/default/objects/object_webhooks/fields/event.field.yml +15 -0
- package/main/default/objects/object_webhooks/fields/execute_when.field.yml +12 -0
- package/main/default/objects/object_webhooks/fields/fields.field.yml +28 -0
- package/main/default/objects/object_webhooks/fields/name.field.yml +5 -0
- package/main/default/objects/object_webhooks/fields/object_name.field.yml +8 -0
- package/main/default/objects/object_webhooks/fields/payload_url.field.yml +7 -0
- package/main/default/objects/object_webhooks/listviews/all.listview.yml +9 -0
- package/main/default/objects/object_webhooks/object_webhooks.object.yml +5 -0
- package/main/default/objects/object_webhooks/permissions/admin.permission.yml +7 -0
- package/main/default/objects/object_webhooks/permissions/user.permission.yml +7 -0
- package/main/default/objects/objects/fields/enable_form_tabs.field.yml +6 -0
- package/main/default/pages/design_field_layout.page.amis.json +285 -215
- package/main/default/pages/object_fields_form.page.amis.json +38 -10
- package/main/default/pages/object_webhooks_form.page.amis.json +51 -0
- package/main/default/pages/object_webhooks_form.page.yml +12 -0
- package/main/default/server/object_fields.object.js +4 -2
- package/main/default/services/object_webhooks.service.js +141 -0
- package/main/default/triggers/datasources.trigger.js +4 -2
- package/main/default/triggers/object_actions.trigger.js +6 -4
- package/main/default/triggers/object_fields.trigger.js +3 -25
- package/main/default/triggers/object_validation_rules.trigger.js +4 -5
- package/package.json +8 -4
- package/package.service.js +3 -2
package/main/default/objectTranslations/object_webhooks.en/object_webhooks.en.objectTranslation.yml
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: object_webhooks
|
|
2
|
+
label: Object Webhook
|
|
3
|
+
description:
|
|
4
|
+
fields:
|
|
5
|
+
name:
|
|
6
|
+
label: Name
|
|
7
|
+
help:
|
|
8
|
+
description:
|
|
9
|
+
object_name:
|
|
10
|
+
label: Object
|
|
11
|
+
help:
|
|
12
|
+
description:
|
|
13
|
+
events:
|
|
14
|
+
label: Events
|
|
15
|
+
help:
|
|
16
|
+
options:
|
|
17
|
+
- label: create
|
|
18
|
+
value: create
|
|
19
|
+
- label: update
|
|
20
|
+
value: update
|
|
21
|
+
- label: delete
|
|
22
|
+
value: delete
|
|
23
|
+
description:
|
|
24
|
+
fields:
|
|
25
|
+
label: Fields
|
|
26
|
+
help:
|
|
27
|
+
description:
|
|
28
|
+
payload_url:
|
|
29
|
+
label: Payload URL
|
|
30
|
+
help:
|
|
31
|
+
description:
|
|
32
|
+
content_type:
|
|
33
|
+
label: Format of Request
|
|
34
|
+
help:
|
|
35
|
+
description:
|
|
36
|
+
active:
|
|
37
|
+
label: Active
|
|
38
|
+
help:
|
|
39
|
+
description:
|
|
40
|
+
space:
|
|
41
|
+
label: Company
|
|
42
|
+
help:
|
|
43
|
+
description:
|
|
44
|
+
listviews:
|
|
45
|
+
all:
|
|
46
|
+
label: All Object Webhooks
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
name: object_webhooks
|
|
2
|
+
label: WebHooks
|
|
3
|
+
description:
|
|
4
|
+
fields:
|
|
5
|
+
name:
|
|
6
|
+
label: 名称
|
|
7
|
+
help:
|
|
8
|
+
description:
|
|
9
|
+
object_name:
|
|
10
|
+
label: 对象
|
|
11
|
+
help:
|
|
12
|
+
description:
|
|
13
|
+
events:
|
|
14
|
+
label: 何时触发
|
|
15
|
+
help:
|
|
16
|
+
options:
|
|
17
|
+
- label: 记录已创建
|
|
18
|
+
value: create
|
|
19
|
+
- label: 记录已更新
|
|
20
|
+
value: update
|
|
21
|
+
- label: 记录已创建或已更新
|
|
22
|
+
value: createAndUpdate
|
|
23
|
+
- label: 记录已删除
|
|
24
|
+
value: delete
|
|
25
|
+
description:
|
|
26
|
+
fields:
|
|
27
|
+
label: 推送字段
|
|
28
|
+
help:
|
|
29
|
+
description:
|
|
30
|
+
payload_url:
|
|
31
|
+
label: URL
|
|
32
|
+
help:
|
|
33
|
+
description:
|
|
34
|
+
content_type:
|
|
35
|
+
label: 请求数据格式
|
|
36
|
+
help:
|
|
37
|
+
description:
|
|
38
|
+
active:
|
|
39
|
+
label: 激活
|
|
40
|
+
help:
|
|
41
|
+
description:
|
|
42
|
+
space:
|
|
43
|
+
label: 所属工作区
|
|
44
|
+
help:
|
|
45
|
+
description:
|
|
46
|
+
listviews:
|
|
47
|
+
all:
|
|
48
|
+
label: 所有
|
|
@@ -54,6 +54,10 @@ fields:
|
|
|
54
54
|
label: Enable Notes
|
|
55
55
|
help:
|
|
56
56
|
description:
|
|
57
|
+
enable_form_tabs:
|
|
58
|
+
label: Enable Form Tabs
|
|
59
|
+
help: This feature exclusively affects the editable pages, with precedence given to configurations specified on the components.
|
|
60
|
+
description:
|
|
57
61
|
enable_events:
|
|
58
62
|
label: Enable Events
|
|
59
63
|
help:
|
|
@@ -4,17 +4,19 @@ depend_on:
|
|
|
4
4
|
filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
5
5
|
function(filters,values
|
|
6
6
|
) {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var currentFilter = [];
|
|
8
|
+
//当前字段为多选时,from的字段不能选择multiple为true的
|
|
9
|
+
if (values.multiple) {
|
|
10
|
+
currentFilter.push(['multiple', '!=', true]);
|
|
11
|
+
}
|
|
9
12
|
|
|
10
13
|
if(values && values.reference_to){
|
|
11
|
-
|
|
14
|
+
currentFilter.push(['object', '=', values.reference_to]);
|
|
12
15
|
}else{
|
|
13
|
-
|
|
16
|
+
currentFilter.push(['_id', '=', 'no']);
|
|
14
17
|
}
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
return currentFilter;
|
|
18
20
|
}
|
|
19
21
|
group: auto_fill
|
|
20
22
|
hidden: false
|
|
@@ -24,6 +24,19 @@ filtersFunction: !<tag:yaml.org,2002:js/function> |-
|
|
|
24
24
|
var referenceObject = BuilderAmisObject && BuilderAmisObject.AmisLib && BuilderAmisObject.AmisLib.getUISchemaSync(values.reference_to);
|
|
25
25
|
var fromField = referenceObject && referenceObject.fields[values.from];
|
|
26
26
|
|
|
27
|
+
if (values.multiple) {
|
|
28
|
+
//当前字段为多选时,若from的字段类型为lookup、master_detail、select时,to的字段则必须选择multiple为true的
|
|
29
|
+
if (_.includes(["lookup","master_detail","select"], fromField.type)) {
|
|
30
|
+
currentFilter.push(['multiple', '=', true]);
|
|
31
|
+
}
|
|
32
|
+
}else {
|
|
33
|
+
//当前字段为单选时,若from的字段多选,to的字段则也必须多选;若from不是多选,则to也不能是多选
|
|
34
|
+
if (fromField.multiple){
|
|
35
|
+
currentFilter.push(['multiple', '=', true]);
|
|
36
|
+
} else {
|
|
37
|
+
currentFilter.push(['multiple', '!=', true]);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
27
40
|
if (fromField && fromField.data_type) {
|
|
28
41
|
currentFilter.push(['type', 'in', fieldFilters[fromField.data_type] || fromField.data_type.split()]);
|
|
29
42
|
}else if (fromField) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: event
|
|
2
|
+
type: select
|
|
3
|
+
label: 何时触发
|
|
4
|
+
required: true
|
|
5
|
+
multiple: false
|
|
6
|
+
sort_no: 30
|
|
7
|
+
options:
|
|
8
|
+
- label: 记录已创建
|
|
9
|
+
value: create
|
|
10
|
+
- label: 记录已更新
|
|
11
|
+
value: update
|
|
12
|
+
- label: 记录已创建或已更新
|
|
13
|
+
value: createAndUpdate
|
|
14
|
+
- label: 记录已删除
|
|
15
|
+
value: delete
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
name: execute_when
|
|
2
|
+
label: 何时运行更新记录的webhook
|
|
3
|
+
type: select
|
|
4
|
+
inlineHelpText: 您可能希望仅在将触发记录从不满足条件要求更改为满足条件要求时运行。在出现此情况时,选择第二个选项。
|
|
5
|
+
visible_on: ${!!condition && (event === 'update' || event === 'createAndUpdate')}
|
|
6
|
+
sort_no: 50
|
|
7
|
+
is_wide: true
|
|
8
|
+
options:
|
|
9
|
+
- label: 每次更新记录并满足条件要求
|
|
10
|
+
value: trueEveryTime
|
|
11
|
+
- label: 仅在更新记录以满足条件要求时
|
|
12
|
+
value: trueOnChangeOnly
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
name: fields
|
|
2
|
+
type: lookup
|
|
3
|
+
label: Fields
|
|
4
|
+
multiple: true
|
|
5
|
+
is_wide: true
|
|
6
|
+
sort_no: 60
|
|
7
|
+
description: 如果未配置, 则推送所有字段
|
|
8
|
+
depend_on:
|
|
9
|
+
- object_name
|
|
10
|
+
optionsFunction: !!js/function |
|
|
11
|
+
function(values) {
|
|
12
|
+
var _object, _options, fields, icon, object_name;
|
|
13
|
+
object_name = values.object_name;
|
|
14
|
+
if (!object_name) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
_options = [];
|
|
18
|
+
_object = Creator.getObject(object_name);
|
|
19
|
+
fields = _object.fields;
|
|
20
|
+
icon = _object.icon;
|
|
21
|
+
_.forEach(fields, function(f, k) {
|
|
22
|
+
return _options.push({
|
|
23
|
+
label: f.label || k,
|
|
24
|
+
value: k
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
return _options;
|
|
28
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
name: payload_url
|
|
2
|
+
label: Payload URL
|
|
3
|
+
type: text
|
|
4
|
+
is_wide: true
|
|
5
|
+
# regEx: /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/i
|
|
6
|
+
required: true
|
|
7
|
+
sort_no: 70
|